Skip to content

Releases: WMD-group/ElementEmbeddings

v0.7.2

24 Apr 12:51

Choose a tag to compare

What's Changed

New element embeddings

  • CHGNet (chgnet): 64D node features from the charge-informed neural network potential, averaged over MP-20
  • MatSciBERT (matscibert): 768D token embeddings from a BERT model pre-trained on materials science literature
  • Chemeleon (chemeleon): 512D post-GNN node features at t=0 from the generative crystal structure diffusion model, averaged over MP-20

Dependency change

  • Removed pymatgen dependency — Mendeleev numbers are now stored as a local dictionary, eliminating the heavyweight pymatgen requirement (closes #5)

Other

  • Added composition distance example script (examples/composition_distance.py)
  • Fixed docs deployment race condition on gh-pages
  • Excluded example scripts from ruff checks
  • Regenerated cosine similarity heatmaps (16 PNGs + 14-frame GIF)

v0.7.1

12 Apr 10:55

Choose a tag to compare

What's Changed

Bug Fix: MLIP embedding dimensions

  • MACE-MP-0: Fixed from 256D to 128D. Was concatenating descriptors from all interaction layers; now correctly extracts only the last layer's scalar invariants via get_descriptors(invariants_only=True, num_layers=1)
  • SevenNet: Fixed from 64D to 128D. Was hooking reduce_input_to_hidden (post-projection); now correctly hooks the last equivariant gate output to capture full scalar (l=0) node features
  • ORB-v2 (256D) was already correct

Other fixes

  • Fixed MACE, SevenNet, and ORB citation author names and paper URLs
  • SevenNet citation now uses open-access arXiv preprint

Thanks to @lizhenzhupearl for flagging the dimension issues.

v0.7.0

12 Apr 06:25

Choose a tag to compare

What's Changed

New: MLIP Element Embeddings

Element-level embeddings from three Machine Learning Interatomic Potentials, derived by averaging atom-level representations over MP-20 structures:

  • MACE-MP-0 (mace_mp0): 256-dimensional invariant descriptors from the final equivariant message-passing layer
  • SevenNet (sevennet): 64-dimensional node features from 7net-0 at the energy readout input
  • ORB-v2 (orb_v2): 256-dimensional node features from the energy prediction head input

Usage: Embedding.load_data("mace_mp0")

New: Visualisation Examples

  • Cosine similarity heatmaps for all 13 multi-dimensional embeddings (examples/2d_cosine/)
  • Animated GIF cycling through all embedding schemes
  • 3D element embedding maps (UMAP, PCA, t-SNE) for 8 embedding schemes (examples/3d_maps/)
  • Composite visualisation: high-dimensional embedding vectors alongside 3D reduced map

Maintenance

  • Renamed Publication/ to publications/
  • Added uv to installation instructions
  • Fixed dead documentation link in README
  • Added extraction scripts for reproducibility (scripts/)

v0.6.2

11 Apr 11:15

Choose a tag to compare

What's Changed

Maintenance & CI

  • Update all pre-commit hooks (ruff v0.5.5→v0.15.2, markdownlint, codespell, pyright, etc.)
  • Fix string concatenation bugs with missing spaces in error messages
  • Fix ruff lint/format violations across source and notebooks
  • Remove Codecov integration (badge + CI upload step)
  • Replace black badge with ruff badge
  • Remove stale dev dependencies superseded by ruff (black, isort, flake8, autopep8, pyupgrade, nbqa)
  • Remove unused typing-extensions runtime dependency
  • Fix ruff exclude path and move to top-level [tool.ruff] config
  • Fix semantic_release config to reference pyproject.toml
  • Add push trigger to CI workflow so badge reflects main branch status
  • Fix uv pip show flag compatibility with newer uv
  • Fix Windows CI Tcl/Tk errors by setting MPLBACKEND=Agg
  • Bump pypa/gh-action-pypi-publish to 1.12.4

v0.6.1

18 Sep 13:09
6c8bd34

Choose a tag to compare

What's Changed

🤷‍♂️ Other Changes

  • Overhaul pre-commit by @AntObi in #166
  • Fix parse_species to handle non-integer oxidation states by @AntObi in #170

Full Changelog: v0.6...v0.6.1

v0.6

07 Aug 12:51
795e6e0

Choose a tag to compare

What's Changed

🛠 Enhancements

  • Documentation updates and Species updates by @AntObi in #161

🤷‍♂️ Other Changes

Full Changelog: v0.5...v0.6

v0.5

05 Jul 13:34
25733e1

Choose a tag to compare

What's Changed

  • XenonPy and CGNF embeddings are now available in ElementEmbeddings
  • SpeciesEmbedddings are now supported with functions updated to support

🤷‍♂️ Other Changes

New Contributors

Full Changelog: v0.4.1...v0.5

v0.4.1

31 Jan 09:35
fbb3ae0

Choose a tag to compare

Package requirements have been loosened for better compatibility in python environments.

What's Changed

🤷‍♂️ Other Changes

Full Changelog: v0.4...v0.4.1

v0.4

23 Aug 17:48
3bcd214

Choose a tag to compare

What's Changed

  • Publication folder now updated with SMACT-crystal structure prediction scripts
  • oliynyk.json has been replaced with oliynyk.csv which contains the feature labels
  • oliynyk_preprocessed.csv has been added with the missing values imputed which is now the default oliynyk embedding

Automated release notes

Full Changelog: v0.3.1...v0.4

v0.3.1

07 Aug 12:14

Choose a tag to compare

What's Changed

  • Removed warning about standardisation when the Embedding class is instantiated

  • composition_featuriser allows custom columns to be used for featurising formulas

  • Remove warning by @AntObi in #85

  • Comp updates by @AntObi in #86

Full Changelog: v0.3.0...v0.3.1