Changelog¶
The format is based on Keep a Changelog. This project adheres to Semantic Versioning.
v0.X.X - 20XX-XX-XX¶
Added¶
Tutorial on loading CIF files in HOOMD-Blue
Tutorial on loading CIF files in LAMMPS
Tutorial on reconstructing CIF files with limited numerical precision
Documentation for the
CifFile.PATTERNSdict and its relation to the formal CIF grammar
Changed¶
CifFile.__repr__now includes a copy-pasteable section for reproducibility
v0.4.1 - 2025-10-08¶
Added¶
Support for Python 3.14
v0.4.0 - 2025-09-03¶
Added¶
Support for reading files via a context manager, text buffer, or string.
Support for CIF2.0
"""and'''stringsSupport for COD-style
_key \n 'value'stringsTests for a wider variety of edge case syntax features
CifFile._wildcard_mappinglookup table for easier testing of wildcard keys.
Changed¶
Regular expression parsing steps no longer need to backtrack, except in whitespace containing strings in loop tables
Progressive and lazy Kleene star/plus operators are used where possible
Key names now support the full range of characters specified in the CIF2.0 spec
Regular expressions components now link to relevant portions of the CIF spec where possible
Fixed¶
Data entries containing non-comment pound signs are no longer truncated
Comments on
loop_keyword lines no longer cause parse errorsUnit cells for files without symmetry operations are now parsed correctly
An infinite looping bug resulting from multiline strings with a particular structure
v0.3.1 - 2025-07-16¶
Changed¶
Source of
LICENSEfile inpyproject.tomlto meet the change in Python spec.Test and Publish CI now fails on warning, allowing for easier debugging.
Removed¶
Support for Python 3.8, which is incompatible with the changes to
pyproject.toml
v0.3.0 - 2025-07-16¶
Added¶
Additional testpath flag in conftest
Symbolic parsing mode for
build_unit_cell
Changed¶
build_unit_cellhas a symbolic computation mode that allows for more accurate construction of unit cells.
Fixed¶
Accessing data pairs with
get_from_pairsor__getitem__now allows for case-insensitive searchesQuote-delimited strings containing the delimiting character are now parsed properly
build_unit_cellnow rounds coordinates before wrapping into the box, fixing edge cases where boundary atoms were not properly deduplicated
v0.2.1 - 2025-03-12¶
Added¶
New
additional_columnsparameter forbuild_unit_cellthat allows the return of atom site labels and similar data alongside unit cell positions.Ensured consistent ordering of lattice positions returned from
build_unit_cell.CI testing on Windows and macOS
Fixed¶
Type hints now properly link to their associated documentation.
v0.2.0 - 2025-02-19¶
Added¶
Support for nonsimple (‘;’-delimited) data entries.
Improved support for entries containing special characters.
Ability to query multiple keys or columns simultaneously.
Additional tests for AMCSD and zeolite databases.
Additional documentation and examples for the new interface
Changed¶
Primary interface is now the
CifFileobject, which supports all previously implemented features in addition to several new methods.Files are now parsed lazily, and are traversed a single time.
Dependencies¶
Added
more-itertoolsas a dependency forpeekableiterators
v0.1.0 - 2024-12-20¶
Added¶
Unitcells module
Function-based parsing interface for key and table reading