"""Wrapper for Nequix models in TorchSim.This module re-exports the nequix model's torch-sim integration for convenientimporting. The actual implementation is maintained in the nequix package.References: - nequix Package: https://github.com/atomicarchitects/nequix"""importtracebackimportwarningsfromtypingimportAny,Selftry:fromnequix.torch_simimportNequixTorchSimModel# Re-export with backward-compatible nameclassNequixModel(NequixTorchSimModel):"""Nequix model wrapper for torch-sim."""exceptImportErrorasexc:_nequix_import_error=exc# capture before except block ends (exc is deleted)warnings.warn(f"Nequix import failed: {traceback.format_exc()}",stacklevel=2)fromtorch_sim.models.interfaceimportModelInterface
[docs]classNequixModel(ModelInterface):"""Nequix model wrapper for torch-sim. NOTE: This class is a placeholder when nequix is not installed. It raises an ImportError if accessed. """def__init__(self,err:ImportError=exc,*_args:Any,**_kwargs:Any)->None:"""Dummy init for type checking."""raiseerr
[docs]@classmethoddeffrom_compiled_model(cls,_path:Any,*_args:Any,**_kwargs:Any)->Self:"""Dummy classmethod for type checking when nequix is not installed."""raise_nequix_import_error