Repository navigation
Major Changes
- First public release after
crystALLstarted over half a decade ago in the Spring of 2021! Please see theREADMEand earlier release notes. - The manuscript will be posted on arXiv soon!
- Standardized the PyPI package name to
crystall-searchdue to a name conflict while keepingcrystallin general. - You can now constrain
MPDDsearches using any database metadata field viaother_targets. This lets users search specifically for 2D/layered materials, pin desired crystal systems (e.g., only monoclinic or cubic prototypes), or apply arbitrary query operators. It includes query normalization so you don't send redundant composition queries, typo suggestions if you misspell a field, and provenance tracking: every filtered run automatically saves aquery.yamlfile and gets a short-hashsuffix so different search configurations don't overwrite each other; by @lukeamyers in #12 - A tutorial for the above (
tutorial/03.RefiningMPDDSearch.ipynb) has been added. - A bugfix for
filter_prototypes()re-indexedself.prototypes(setting prototype['index'] = 1, 2, ..., N) before slicing the descriptor matrixself.ks2022causing feature vectors to get shuffled in some cases. - Before this release, crystALL had a hard dependency on
dglandmpdd-alignnwhich are not needed by all users and at the same time broke native installations and CI on macOS and Windows due to upstream PyTorch/DGL wheel gaps. Now, these are optionals that install by default only onlinux.
Minor Changes:
- Minor bugfix for
generate_localassigning structure index from 0 unlike other generators starting from 1. - Added the ability to have non-structure files next to input structures by filtering on
_STRUCTURE_EXTENSIONS. - Cleaned up how
CrystALLSearchcapturedstdoutby wrapping it incontextlib.redirect_stdout. chgnetwas bumped to 0.4.2 for native support for NumPy 2.0 and no Cython 64-bit integer type mismatches on Windows.- Updates all around to support newest
pysipfenn,torch,numpy, andspglib; with relaxed version bounds on them. - Compressed static figures in
READMEand documentation. - Restricted setuptools discovery via MANIFEST shrinking the wheel by preventing
docs/andtutorial/from leaking intosite-packages. - Refactored package metadata fetching to use
importlib.metadata.metadata()instead of manual parsing. - Adjusted
plot_2Dandplot_3Dto displayObjectiveinstead of Formation Energy in all cases. - Added the
delete_filteredout_structures: bool = Trueoption tofilter_prototypes().
New Contributors
- @lukeamyers made their first contribution in #12
Full Changelog: v0.5.0...v0.5.4