Metadata-Version: 2.1
Name: spglib
Version: 2.5.1.dev0+ge4531bb.d20250214
Summary: This is the spglib module.
Home-page: https://spglib.readthedocs.io/
Author-Email: Atsushi Togo <atz.togo@gmail.com>
Maintainer-Email: Atsushi Togo <atz.togo@gmail.com>, Cristian Le <git@lecris.dev>, Kohei Shinohara <kshinohara0508@gmail.com>
License: BSD-3-Clause
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: C
Classifier: Operating System :: Unix
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: C
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Development Status :: 5 - Production/Stable
Project-URL: Homepage, https://spglib.readthedocs.io/
Project-URL: Documentation, https://spglib.readthedocs.io/
Project-URL: Repository, https://github.com/spglib/spglib
Project-URL: Changelog, https://spglib.readthedocs.io/en/latest/releases.html
Requires-Python: >=3.9
Requires-Dist: numpy<3,>=1.20
Requires-Dist: importlib-resources; python_version < "3.10"
Requires-Dist: typing-extensions; python_version < "3.10"
Requires-Dist: pytest; extra == "test"
Requires-Dist: pyyaml; extra == "test"
Requires-Dist: Sphinx>=7.0; extra == "docs"
Requires-Dist: sphinxcontrib-bibtex>=2.5; extra == "docs"
Requires-Dist: sphinx-book-theme; extra == "docs"
Requires-Dist: sphinx-autodoc2; extra == "docs"
Requires-Dist: myst-parser>=2.0; extra == "docs"
Requires-Dist: linkify-it-py; extra == "docs"
Requires-Dist: spglib[test]; extra == "test-cov"
Requires-Dist: pytest-cov; extra == "test-cov"
Requires-Dist: spglib[test]; extra == "test-benchmark"
Requires-Dist: pytest-benchmark; extra == "test-benchmark"
Requires-Dist: spglib[test]; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: spglib[docs]; extra == "doc"
Requires-Dist: spglib[test]; extra == "testing"
Provides-Extra: test
Provides-Extra: docs
Provides-Extra: test-cov
Provides-Extra: test-benchmark
Provides-Extra: dev
Provides-Extra: doc
Provides-Extra: testing
Description-Content-Type: text/x-rst

spglib
======

Python bindings for C library for finding and handling crystal
symmetries

Installation
------------

The package is developed on GitHub. You can get the source for the
released versions from the
`repository <https://github.com/spglib/spglib/releases>`__.

Note that the Python bindings will link to the system/environment
installed Spglib (loaded from :code:`LD_LIBRARY_PATH` or :code:`DYLD_LIBRARY_PATH`),
and it will default to a bundled version otherwise. To always use the
system version of Spglib (e.g. in a lua-module environment) delete the
bundled libraries :code:`libsymspg.so*` in the python Spglib installation
directory.

Using package distribution service
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The easiest way to install python-spglib is to use the pypi package, for
which numpy is required to be installed before the installation. A
command to install spglib is:

.. code-block:: console

    $ pip install spglib

Conda is another choice:

.. code-block:: console

    $ conda install -c conda-forge spglib

These packages are made by Pawel T. Jochym.

Building from source
~~~~~~~~~~~~~~~~~~~~

To build from source, make sure you have installed the build requirements
in :code:`pyproject.toml`. Then simply run the following in the root directory.

.. code-block:: console

    $ python -m build
    $ pip install .

To include testing or documentation environments, simply include the relevant extras

.. code-block:: console

    $ pip install .[test]

Running tests
~~~~~~~~~~~~~

After installing the project with appropriate extras (:code:`testing`), either from
package manager or from source, simply run :code:`pytest` in the current directory
to test the python bindings

.. code-block:: console

    $ pytest
