Skip to content

v0.5.4

Latest

Choose a tag to compare

@amkrajewski amkrajewski released this 30 Oct 09:09
· 1 commit to main since this release

Major Changes

  • First public release after crystALL started over half a decade ago in the Spring of 2021! Please see the README and earlier release notes.
  • The manuscript will be posted on arXiv soon!
  • Standardized the PyPI package name to crystall-search due to a name conflict while keeping crystall in general.
  • You can now constrain MPDD searches using any database metadata field via other_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 a query.yaml file and gets a short -hash suffix 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-indexed self.prototypes (setting prototype['index'] = 1, 2, ..., N) before slicing the descriptor matrix self.ks2022 causing feature vectors to get shuffled in some cases.
  • Before this release, crystALL had a hard dependency on dgl and mpdd-alignn which 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 on linux.

Minor Changes:

  • Minor bugfix for generate_local assigning 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 CrystALLSearch captured stdout by wrapping it in contextlib.redirect_stdout.
  • chgnet was 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, and spglib; with relaxed version bounds on them.
  • Compressed static figures in README and documentation.
  • Restricted setuptools discovery via MANIFEST shrinking the wheel by preventing docs/ and tutorial/ from leaking into site-packages.
  • Refactored package metadata fetching to use importlib.metadata.metadata() instead of manual parsing.
  • Adjusted plot_2D and plot_3D to display Objective instead of Formation Energy in all cases.
  • Added the delete_filteredout_structures: bool = True option to filter_prototypes().

New Contributors

Full Changelog: v0.5.0...v0.5.4