Changelog

0.4.0 (2025)

New features

  • generate_descriptors: added --descriptor and --n-eta CLI options; new descriptor types ACSF_G3, ACSF_G5, ACSF_G2G4G5 (in addition to existing ACSF_G2, ACSF_G4, ACSF_G2G4, SOAP, MBSF)

  • generate_force_descriptors: added --fp-type, --rc, --n2b, --n3b CLI options

  • surfaces: new command replacing create_surfaces; generates surface slabs for (100), (010), (001), (110), (101), (011), (111) Miller planes

Bug fixes

  • Fixed unresolved git merge conflicts in calculate_descriptors.py and select_snapshots.py (files were unimportable)

  • Fixed NameError in surfaces.py (miller_indices was undefined)

  • Fixed incorrect supercell repeat count in rdf.py (while-loop accumulated products instead of scaling from original cell length)

Improvements

  • Removed heavy pandas dependency from rdf.supercell(); sorting now uses numpy argsort

  • Cleaned up build_multilayers.py: merged duplicate module docstring, removed unused variable

0.3.0

  • Initial public release with VASP/CIF/XYZ/Conquest format conversion, RDF, structure analysis, ACSF G2/G2G4/SOAP descriptors, MLFF, and dimensionality reduction tools.