Science Score: 77.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 8 DOI reference(s) in README -
✓Academic publication links
Links to: wiley.com -
✓Committers with academic emails
12 of 37 committers (32.4%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.6%) to scientific vocabulary
Keywords from Contributors
Repository
C library for finding and handling crystal symmetries
Basic Info
- Host: GitHub
- Owner: spglib
- License: bsd-3-clause
- Language: C
- Default Branch: develop
- Homepage: https://spglib.readthedocs.io/en/latest/
- Size: 15 MB
Statistics
- Stars: 328
- Watchers: 18
- Forks: 116
- Open Issues: 74
- Releases: 9
Metadata Files
README.md
Spglib
C library for finding and handling crystal symmetries
What does Spglib do?
A crystal structure is given to a spglib function to obtain symmetry
information. spg_get_dataset is the function that returns most fruitful
space group information. This returns the result in the C-structure
SpglibDataset. We don't know the length of symmetry operations to be returned,
the memory spaces are allocated dynamically, which means we have to free them.
by spg_free_dataset. To tolerate tiny distortion of crystal structure,
it has to be specified when calling symmetry search function. The following
pages show the details.
```C
include
include "spglib.h"
int main(void) { SpglibDataset *dataset; // Wurtzite structure (P63mc) double lattice[3][3] = { {3.111, -1.5555, 0}, {0, 2.6942050311733885, 0}, {0, 0, 4.988}}; double position[4][3] = { {1.0 / 3, 2.0 / 3, 0.0}, {2.0 / 3, 1.0 / 3, 0.5}, {1.0 / 3, 2.0 / 3, 0.6181}, {2.0 / 3, 1.0 / 3, 0.1181}, }; int types[4] = {1, 1, 2, 2}; int numatom = 4; double symprec = 1e-5;
// SplibDataset has to be freed after use.
dataset = spg_get_dataset(lattice, position, types, num_atom, symprec);
// Obtain data in SpglibDataset.
// The space group number 186 corresponds to the wurtzite-type (P6_3mc).
// See https://www.cryst.ehu.es/cgi-bin/cryst/programs/nph-table
assert(dataset->spacegroup_number == 186);
// Deallocate SpglibDataset, otherwise induce memory leak.
spg_free_dataset(dataset);
} ```
Requirements
- C standard: As of version 2.1.0, Spglib explicitly enforces a minimum standard of C11
How to use Spglib
We currently only officially support conda and pip packaging of spglib, with plans to expand to FedoraProject in the near future. We are looking for additional contributors to package on other linux distributions. For the systems that are not yet officially supported please look at the instructions for manual compilation
The main interface for spglib is the C api, but we also officially support Fortran and Python interfaces. For a minimal example of how to use this library please check the provided examples
How install the python library
Spglib is available on PyPi, so it can be installed as:
console
$ pip install spglib
Alternatively you can install the conda package that bundles the C and Fortran libraries
console
$ conda install -c conda-forge spglib
This python library will default to the system installed Spglib library detected,
specified via LD_LIBRARY_PATH on Linux or DYLD_LIBRARY_PATH on MacOS, otherwise
defaulting to a bundled version.
For more details and how to build the python project from source, see the python documentation.
How to manually compile
The minimum configuration, build and install instructions are as follows:
console
$ cmake . -B ./build
$ cmake --build ./build
$ cmake --install ./build
For more details on configuration options and how to link your project check the cmake documentation. A minimal example project using spglib is available at example.
How to run test
The C library tests are incorporated in the CMake projects and enabled by default. To execute these tests, run the following command with the appropriate path to the build directory
console
$ ctest --test-dir ./build
Additionally, there are python tests that cover more use-cases. See the README in the python folder for more details
How to cite Spglib
If you use spglib in your research, please consider citing the following work:
@article{spglib,
author = {Atsushi Togo, Kohei Shinohara and Isao Tanaka},
title = {Spglib: a software library for crystal symmetry search},
journal = {Sci. Technol. Adv. Mater., Meth.},
volume = {4},
number = {1},
pages = {2384822--2384836},
year = {2024},
doi = {10.1080/27660400.2024.2384822},
url = {https://doi.org/10.1080/27660400.2024.2384822},
}
If you use functions to search for magnetic symmetry operations in spglib, please also consider citing the following work:
@article{spglibv2,
author = "Shinohara, Kohei and Togo, Atsushi and Tanaka, Isao",
title = "{Algorithms for magnetic symmetry operation search and identification of magnetic space group from magnetic crystal structure}",
journal = "Acta Cryst. A",
year = "2023",
volume = "79",
number = "5",
pages = "390--398",
month = "Sep",
doi = {10.1107/S2053273323005016},
url = {https://doi.org/10.1107/S2053273323005016},
}
Contributing
We welcome any contribution from the core development of the library to documentation improvements. See Contributing.md for more details.
Documentation
See https://spglib.readthedocs.io/ for further documentation. See the documentation for more information on how to contribute to the documentation.
Owner
- Name: spglib
- Login: spglib
- Kind: organization
- Repositories: 5
- Profile: https://github.com/spglib
Citation (CITATION.cff)
cff-version: 1.2.0
message: >-
If you use this software, please cite it using the
metadata from this file.
repository-code: 'https://github.com/spglib/spglib'
preferred-citation:
title: >-
$\texttt{Spglib}$: a software library for crystal symmetry
search
authors:
- given-names: Atsushi
family-names: Togo
- given-names: Isao
family-names: Tanaka
type: misc
doi: 10.48550/arXiv.1808.01590
year: 2018
archivePrefix: arXiv
primaryClass: cond-mat.mtrl-sci
references:
- authors:
- given-names: Kohei
family-names: Shinohara
- given-names: Atsushi
family-names: Togo
- given-names: Isao
family-names: Tanaka
type: article
title: Algorithms for magnetic symmetry operation search and identification of magnetic space group from magnetic crystal structure
journal: Acta Cryst. A
year: 2023
volume: 79
number: 5
pages: 390--398
month: Sep
doi: 10.1107/S2053273323005016
url: https://doi.org/10.1107/S2053273323005016
GitHub Events
Total
- Create event: 3
- Release event: 1
- Issues event: 42
- Watch event: 41
- Delete event: 2
- Issue comment event: 199
- Push event: 118
- Pull request review comment event: 30
- Pull request review event: 57
- Pull request event: 68
- Fork event: 6
Last Year
- Create event: 3
- Release event: 1
- Issues event: 42
- Watch event: 41
- Delete event: 2
- Issue comment event: 199
- Push event: 118
- Pull request review comment event: 30
- Pull request review event: 57
- Pull request event: 68
- Fork event: 6
Committers
Last synced: over 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Atsushi Togo | a****o@g****m | 868 |
| Cristian Le | c****e@m****e | 143 |
| lan496 | k****8@g****m | 130 |
| Pawel T. Jochym | j****m@w****l | 84 |
| Pawel T. Jochym | p****m@i****l | 22 |
| Jingheng Fu | f****8@m****n | 11 |
| Cristian Le | g****t@l****v | 11 |
| Paweł T. Jochym | j****m | 8 |
| Michael Lamparski | d****e@g****m | 8 |
| Andrius Merkys | a****s@g****m | 6 |
| Seaton Ullberg | s****g@g****m | 6 |
| Bodo Martin | b****n@a****e | 6 |
| __sp__ | o****p@e****u | 6 |
| Mikael Kuisma | k****i@g****m | 5 |
| Dimitar Pashov | d****v@g****m | 4 |
| Eisuke Kawashima | e****m | 4 |
| Julien Nabet | s****2@y****r | 3 |
| Lauri Himanen | l****n@g****m | 3 |
| Cristian Le | c****e@m****e | 2 |
| Colin Daniels | c****s@g****m | 2 |
| Cody | c****y@q****m | 2 |
| StefanBruens | s****s@r****e | 2 |
| steinmig | m****r@p****h | 2 |
| Denis Davydov | d****n@g****m | 1 |
| Alexandr Fonari | a****i@g****m | 1 |
| Tiziano Müller | t****r@c****h | 1 |
| Keith Refson | K****n@s****k | 1 |
| odidev | o****v@p****m | 1 |
| Henry Schreiner | H****I@g****m | 1 |
| Heiko Becker | h****a@e****g | 1 |
| and 7 more... | ||
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 183
- Total pull requests: 259
- Average time to close issues: 4 months
- Average time to close pull requests: 21 days
- Total issue authors: 56
- Total pull request authors: 21
- Average comments per issue: 4.21
- Average comments per pull request: 4.27
- Merged pull requests: 209
- Bot issues: 1
- Bot pull requests: 6
Past Year
- Issues: 27
- Pull requests: 69
- Average time to close issues: 4 days
- Average time to close pull requests: 4 days
- Issue authors: 19
- Pull request authors: 12
- Average comments per issue: 2.07
- Average comments per pull request: 2.42
- Merged pull requests: 47
- Bot issues: 0
- Bot pull requests: 4
Top Authors
Issue Authors
- LecrisUT (49)
- atztogo (28)
- lan496 (25)
- hongyi-zhao (6)
- yurivict (5)
- kbarros (4)
- crystalfp (3)
- merkys (3)
- krefson (3)
- YKQ98 (2)
- toxa81 (2)
- site-g (2)
- dmt4 (2)
- jaemolihm (1)
- janosh (1)
Pull Request Authors
- LecrisUT (186)
- lan496 (56)
- atztogo (36)
- renovate[bot] (8)
- e-kwsm (6)
- site-g (6)
- henryiii (3)
- janosh (2)
- mikaelkuisma1 (2)
- ClausKlein (2)
- Connor1y (2)
- ktns (2)
- krefson (2)
- DanielYang59 (2)
- lokik (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- pypi 247,997 last-month
- Total docker downloads: 90,488
-
Total dependent packages: 122
(may contain duplicates) -
Total dependent repositories: 216
(may contain duplicates) - Total versions: 155
- Total maintainers: 3
pypi.org: spglib
This is the spglib module.
- Documentation: https://spglib.readthedocs.io/
- License: bsd-3-clause
-
Latest release: 2.6.0
published 12 months ago
Rankings
conda-forge.org: spglib
Spglib is a library for finding and handling crystal symmetries.
- Homepage: https://spglib.readthedocs.io
- License: BSD-3-Clause
-
Latest release: 2.0.2
published over 3 years ago
Rankings
Dependencies
- numpy *
- re-actors/alls-green release/v1 composite
- actions/checkout v4 composite
- actions/download-artifact v3 composite
- pypa/gh-action-pypi-publish release/v1 composite
- softprops/action-gh-release v1 composite
- actions/checkout v4 composite
- actions/setup-python v4 composite
- actions/upload-artifact v3 composite
- docker/setup-qemu-action v2 composite
- pypa/cibuildwheel v2.15.0 composite
- actions/checkout v4 composite
- actions/setup-python v4 composite
- codecov/codecov-action v3 composite
- danielealbano/lcov-action v3 composite
- ilammy/msvc-dev-cmd v1 composite
- lukka/get-cmake latest composite
- lukka/run-cmake v10.3 composite
- pre-commit/action v3.0.0 composite
- re-actors/alls-green release/v1 composite