From b907a746b4644985f66286d8148a3a1ad0bf2a93 Mon Sep 17 00:00:00 2001 From: Muhammed Shuaibi Date: Mon, 9 Feb 2026 19:26:33 +0000 Subject: [PATCH 1/4] patch until torchtnt resolves --- packages/fairchem-core/pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/fairchem-core/pyproject.toml b/packages/fairchem-core/pyproject.toml index 96805658ce..c493071199 100644 --- a/packages/fairchem-core/pyproject.toml +++ b/packages/fairchem-core/pyproject.toml @@ -21,6 +21,7 @@ dependencies = [ "ase-db-backends>=0.10.0", "monty>=v2025.1.3", "clusterscope==0.0.18", + "setuptools<=81.0.0", "requests", "orjson", "tqdm", From 068a707e97ab51dbe86e0ca7f291cc981c2ac29b Mon Sep 17 00:00:00 2001 From: Muhammed Shuaibi Date: Mon, 9 Feb 2026 23:05:24 +0000 Subject: [PATCH 2/4] pin test env --- tests/requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/requirements.txt b/tests/requirements.txt index 64fc5cd56e..bf1e192b0f 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -3,6 +3,7 @@ ase==3.27.0 ase-db-backends==0.11.0 e3nn==0.5.9 huggingface-hub==1.3.4 +setuptools<=81.0.0 torch==2.8.0 torchtnt==0.2.4 numba==0.63.1 @@ -13,4 +14,4 @@ pymatgen==v2025.10.7 ray[serve]==2.53.0 ipykernel==7.1.0 jupyter_book==2.1.1 -pytest-xdist==3.8.0 \ No newline at end of file +pytest-xdist==3.8.0 From 9f0d7e1b2a4317471215f34c05e5f2785927526d Mon Sep 17 00:00:00 2001 From: Muhammed Shuaibi Date: Tue, 10 Feb 2026 03:43:27 +0000 Subject: [PATCH 3/4] lt 81 --- packages/fairchem-core/pyproject.toml | 2 +- tests/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/fairchem-core/pyproject.toml b/packages/fairchem-core/pyproject.toml index c493071199..4e38eb0078 100644 --- a/packages/fairchem-core/pyproject.toml +++ b/packages/fairchem-core/pyproject.toml @@ -21,7 +21,7 @@ dependencies = [ "ase-db-backends>=0.10.0", "monty>=v2025.1.3", "clusterscope==0.0.18", - "setuptools<=81.0.0", + "setuptools<81.0.0", "requests", "orjson", "tqdm", diff --git a/tests/requirements.txt b/tests/requirements.txt index bf1e192b0f..f2b079f0b3 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -3,7 +3,7 @@ ase==3.27.0 ase-db-backends==0.11.0 e3nn==0.5.9 huggingface-hub==1.3.4 -setuptools<=81.0.0 +setuptools<81.0.0 torch==2.8.0 torchtnt==0.2.4 numba==0.63.1 From 60d5fd4e52482e0a71d5b7245ac11f1888239c4d Mon Sep 17 00:00:00 2001 From: Muhammed Shuaibi Date: Tue, 10 Feb 2026 13:36:57 +0000 Subject: [PATCH 4/4] sella is not a mandatory install --- packages/fairchem-data-omol/pyproject.toml | 4 +++- src/fairchem/data/omol/orca/calc.py | 13 ++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/packages/fairchem-data-omol/pyproject.toml b/packages/fairchem-data-omol/pyproject.toml index 6cf56cc1b7..513c2a32f5 100644 --- a/packages/fairchem-data-omol/pyproject.toml +++ b/packages/fairchem-data-omol/pyproject.toml @@ -9,9 +9,11 @@ description = "Code for generating OMOL input configurations" license = {text = "MIT License"} dependencies = [ "ase", - "sella", ] +[project.optional-dependencies] +extras = ["sella"] + [project.urls] repository = "https://github.com/facebookresearch/fairchem/tree/main/src/fairchem/data/omol" documentation = "https://fair-chem.github.io/" diff --git a/src/fairchem/data/omol/orca/calc.py b/src/fairchem/data/omol/orca/calc.py index 3e395b29c6..388ff218a6 100644 --- a/src/fairchem/data/omol/orca/calc.py +++ b/src/fairchem/data/omol/orca/calc.py @@ -10,11 +10,18 @@ import re from enum import Enum from shutil import which +from typing import TYPE_CHECKING, Optional -from ase import Atoms from ase.calculators.orca import ORCA, OrcaProfile from ase.optimize import LBFGS -from sella import Sella + +if TYPE_CHECKING: + from ase import Atoms + +try: + from sella import Sella +except ImportError: + Sella = None # ECP sizes taken from Table 6.5 in the Orca 5.0.3 manual ECP_SIZE = { @@ -253,7 +260,7 @@ def write_orca_inputs( orcasimpleinput: str = ORCA_ASE_SIMPLE_INPUT, orcablocks: str = " ".join(ORCA_BLOCKS), vertical: Enum = Vertical.Default, - scf_MaxIter: int = None, + scf_MaxIter: Optional[int] = None, ): """ One-off method to be used if you wanted to write inputs for an arbitrary