Skip to content

Migrate NequIP integration to nequip >=0.7 (NumPy 2 / Python 3.13 support) #82

Description

@k-yoshimi

Background

abICS currently pins nequip >=0.5.6, <0.7 (pyproject.toml) because the abICS
nequip solver/trainer (abics/applications/latgas_abinitio_interface/nequip.py,
nequip_trainer.py) target the pre-0.7 nequip API
(nequip-train / nequip-deploy, nequip.data.AtomicData, nequip.utils.Config,
torch.jit.load("deployed.pth")).

This series uses numpy.in1d, removed in NumPy 2, so it requires numpy<2.
Because Python 3.13 has no numpy 1.x wheels, the NequIP path cannot run on
Python 3.13, and the ActiveLearnNequip CI job is therefore skipped on 3.13
(see #81).

Goal

Migrate the abICS NequIP integration to a numpy-2 / Python-3.13 compatible
nequip (>=0.7, currently up to 0.18.0; requires-python >=3.10, numpy
unconstrained). nequip 0.7.0 is "a major backwards-incompatible update with
breaking changes throughout the code", so this is a real migration, not a
version bump.

Scope (likely)

  • Rewrite nequip.py (solver) and nequip_trainer.py for the new nequip API
    (new CLI nequip-compile / nequip-package instead of nequip-deploy,
    new config format, new data structures).
  • Update nequip-allegro (the pinned 0.3.0 is tied to old nequip; newer
    Allegro has a different package/API).
  • Update tests/integration/active_learn_nequip inputs and install_nequip.sh,
    and re-enable the ActiveLearnNequip CI job on Python 3.13.
  • Update the JA/EN docs and lift the <0.7 cap in pyproject.toml.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions