Metadata-Version: 2.4
Name: pycf-crystalfield
Version: 0.1.0
Summary: Python crystal field theory modules
Home-page: https://github.com/mikereidnz/pycf
Author: Mike Reid
Author-email: Mike Reid <mike.reid@canterbury.ac.nz>
Maintainer-email: Mike Reid <mike.reid@canterbury.ac.nz>
License-Expression: GPL-3.0-or-later
Project-URL: Homepage, https://github.com/mikereidnz/pycf
Project-URL: Repository, https://github.com/mikereidnz/pycf
Project-URL: Legacy Repository, https://bitbucket.org/sebastianhorvath/pycf/
Keywords: crystal field,rare earth,magnetism
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
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
Requires-Python: >=3.8
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: numpy>=1.24
Requires-Dist: scipy>=1.10
Provides-Extra: test
Requires-Dist: pytest>=7.0; extra == "test"
Requires-Dist: pytest-cov>=7.0; extra == "test"
Requires-Dist: pytest-benchmark>=5.0; extra == "test"
Requires-Dist: hypothesis>=6.0; extra == "test"
Provides-Extra: examples
Requires-Dist: matplotlib>=3.8; extra == "examples"
Requires-Dist: pymatgen>=2024.3; extra == "examples"
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-cov>=7.0; extra == "dev"
Requires-Dist: pytest-benchmark>=5.0; extra == "dev"
Requires-Dist: hypothesis>=6.0; extra == "dev"
Requires-Dist: matplotlib>=3.8; extra == "dev"
Requires-Dist: pymatgen>=2024.3; extra == "dev"
Requires-Dist: setuptools>=68; extra == "dev"
Requires-Dist: wheel<1.0,>=0.40; extra == "dev"
Requires-Dist: Cython<4,>=3; extra == "dev"
Requires-Dist: black>=23.0; extra == "dev"
Requires-Dist: isort>=5.0; extra == "dev"
Requires-Dist: flake8>=6.0; extra == "dev"
Requires-Dist: mypy>=1.0; extra == "dev"
Dynamic: author
Dynamic: home-page
Dynamic: license-file

==========
About pycf
==========

pycf is a collection of Python modules for crystal field theory and spin Hamiltonian calculations. It provides tools for setting up and fitting energy levels of rare-earth ions using crystal-field Hamiltonians, as well as utilities for working with spin Hamiltonians and transition intensities. The core library is implemented in C99 for performance, with Python/Cython wrappers for ease of use.

**Status and Quality**

.. image:: https://github.com/mikereidnz/pycf/workflows/CI/badge.svg
   :target: https://github.com/mikereidnz/pycf/actions
   :alt: CI Status

.. image:: https://img.shields.io/badge/python-3.10+-blue.svg
   :alt: Python Version

.. image:: https://img.shields.io/badge/test%20status-106%20passing-brightgreen
   :alt: Tests Passing

**For detailed installation instructions, see** `INSTALL.md <INSTALL.md>`_.

**Quick Start (Development)**

::

  git clone https://github.com/mikereidnz/pycf.git
  cd pycf
  python3 -m venv env
  source env/bin/activate
  pip install -e ".[test,examples]"
  python -m pytest tests/ -q

**Project Structure**

- ``cfl/`` — C99 core library for setting up and fitting Hamiltonians. 
- ``pycf/`` — Python/Cython wrappers
- ``examples/`` — End-to-end workflows for real materials
- ``tests/`` — Python and C unit tests

**Documentation**

- `INSTALL.md <INSTALL.md>`_ — Installation guide with platform-specific instructions
- `docs/legacy/ <docs/legacy/>`_ — Legacy technical documentation preserved for reference
- `examples/ <examples/>`_ — Material-specific usage examples

**Authorship**

Originally developed by Sebastian Horvath (sebastian.horvath@gmail.com). Currently maintained by Mike Reid (mike.reid@canterbury.ac.nz).

A legacy version is available at https://bitbucket.org/sebastianhorvath/pycf/ and also on the "legacy" branch of this repository.

**License**

GNU General Public License v3 (GPLv3)
