Changelog¶
Unreleased¶
Breaking changes¶
- molrs is now a required dependency.
molcrafts-molrsmoved from an optional extra into the coredependencies. Themolpy[molrs]extra key was removed — installing molpy always installs molrs.Frame,Block, andBoxare backed by (and inherit from) molrs types, and thecomputeoperators forward directly into the Rust kernel. There is no pure-Python fallback. - The RDKit-backed compute node was removed.
molpy.compute.rdkit(Generate3D/OptimizeGeometryoverRDKitAdapter) is gone.molpy.compute.Generate3Dis now the molrs-backed trunk operator, taking anAtomisticgraph and returning a fresh 3D structure. The RDKit adapter (molpy.adapter.rdkit) is retained as an optional external backend;rdkitremains an optional extra, not a required dependency.
Added¶
molpy.compute.NeighborList— linked-cell neighbor search (molrs backend).molpy.compute.RDF— radial distribution function over one or more frames.molpy.Boxinheritsmolrs.Box, so a molpy box is accepted by any molrs API with no conversion.- molrs analyses exposed as molpy operators:
MSD,Cluster,ClusterCenters,CenterOfMass,GyrationTensor,InertiaTensor,RadiusOfGyration,Pca,KMeans.
Changed¶
compute.mcdandcompute.pmsdnow compute minimum-image displacements via molrsBox.delta(minimum_image=True); public signatures are unchanged.
Migration¶
- Replace
pip install "molcrafts-molpy[molrs]"withpip install molcrafts-molpy. - If you imported
from molpy.compute.rdkit import Generate3D, switch tofrom molpy.compute import Generate3D(molrs-backed,Atomistic -> Atomistic) or, for the RDKit adapter flow,from molpy.adapter import Generate3D.
See the molrs backend developer guide for details.