All notable changes to libcasm-composition
will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added range checks for CompositionConverter methods taking a parametric composition axis index
- Added FormationEnergyCalculator
- Added make_standard_axes, make_normalized_origin_and_end_members
- Added pretty_json, print_axes_summary, and print_axes_table
- Added methods to CompositionCalculator: allowed_occs, vacancy_names, from_dict, to_dict, repr
- Added CompositionConverter.repr
- Added include_va option to CompositionConverter.param_chem_pot_formula to allow printing formulas with or without "chem_pot(Va)"
- Fixed CompositionConverter.origin_formula, which was calling the wrong method
- Removed extra space in CompositionConverter.param_chem_pot_formula with leading negative term
- Wheels compiled with numpy>=2.0.0
- Build python3.12 wheels
- Update libcasm-global dependency to >=2.0.4
- Use index_to_kcombination and nchoosek from libcasm-global 2.0.4
This release separates out casm/composition from CASM v1. It creates a Python package, libcasm.composition, that enables using casm/composition and may be installed via pip install, using scikit-build, CMake, and pybind11. This release also includes API documentation for using libcasm.composition, built using Sphinx.
- Added JSON IO for composition::CompositionConverter
- Added Python package libcasm.composition to use CASM composition converter and calculation methods.
- Added scikit-build, CMake, and pybind11 build process
- Added GitHub Actions for unit testing
- Added GitHub Action build_wheels.yml for Python x86_64 wheel building using cibuildwheel
- Added Cirrus-CI .cirrus.yml for Python aarch64 and arm64 wheel building using cibuildwheel
- Added Python documentation
- Removed autotools build process
- Removed boost dependencies