stjames 0.0.90__tar.gz → 0.0.92__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of stjames might be problematic. Click here for more details.

Files changed (81) hide show
  1. {stjames-0.0.90/stjames.egg-info → stjames-0.0.92}/PKG-INFO +1 -1
  2. {stjames-0.0.90 → stjames-0.0.92}/pyproject.toml +1 -1
  3. stjames-0.0.92/stjames/engine.py +16 -0
  4. {stjames-0.0.90 → stjames-0.0.92}/stjames/method.py +48 -7
  5. {stjames-0.0.90 → stjames-0.0.92/stjames.egg-info}/PKG-INFO +1 -1
  6. {stjames-0.0.90 → stjames-0.0.92}/stjames.egg-info/SOURCES.txt +1 -0
  7. {stjames-0.0.90 → stjames-0.0.92}/LICENSE +0 -0
  8. {stjames-0.0.90 → stjames-0.0.92}/README.md +0 -0
  9. {stjames-0.0.90 → stjames-0.0.92}/setup.cfg +0 -0
  10. {stjames-0.0.90 → stjames-0.0.92}/stjames/__init__.py +0 -0
  11. {stjames-0.0.90 → stjames-0.0.92}/stjames/_deprecated_solvent_settings.py +0 -0
  12. {stjames-0.0.90 → stjames-0.0.92}/stjames/atom.py +0 -0
  13. {stjames-0.0.90 → stjames-0.0.92}/stjames/atomium_stjames/__init__.py +0 -0
  14. {stjames-0.0.90 → stjames-0.0.92}/stjames/atomium_stjames/data.py +0 -0
  15. {stjames-0.0.90 → stjames-0.0.92}/stjames/atomium_stjames/mmcif.py +0 -0
  16. {stjames-0.0.90 → stjames-0.0.92}/stjames/atomium_stjames/pdb.py +0 -0
  17. {stjames-0.0.90 → stjames-0.0.92}/stjames/atomium_stjames/utilities.py +0 -0
  18. {stjames-0.0.90 → stjames-0.0.92}/stjames/base.py +0 -0
  19. {stjames-0.0.90 → stjames-0.0.92}/stjames/basis_set.py +0 -0
  20. {stjames-0.0.90 → stjames-0.0.92}/stjames/calculation.py +0 -0
  21. {stjames-0.0.90 → stjames-0.0.92}/stjames/compute_settings.py +0 -0
  22. {stjames-0.0.90 → stjames-0.0.92}/stjames/constraint.py +0 -0
  23. {stjames-0.0.90 → stjames-0.0.92}/stjames/correction.py +0 -0
  24. {stjames-0.0.90 → stjames-0.0.92}/stjames/data/__init__.py +0 -0
  25. {stjames-0.0.90 → stjames-0.0.92}/stjames/data/bragg_radii.json +0 -0
  26. {stjames-0.0.90 → stjames-0.0.92}/stjames/data/elements.py +0 -0
  27. {stjames-0.0.90 → stjames-0.0.92}/stjames/data/isotopes.json +0 -0
  28. {stjames-0.0.90 → stjames-0.0.92}/stjames/data/nist_isotopes.json +0 -0
  29. {stjames-0.0.90 → stjames-0.0.92}/stjames/data/read_nist_isotopes.py +0 -0
  30. {stjames-0.0.90 → stjames-0.0.92}/stjames/data/symbol_element.json +0 -0
  31. {stjames-0.0.90 → stjames-0.0.92}/stjames/diis_settings.py +0 -0
  32. {stjames-0.0.90 → stjames-0.0.92}/stjames/grid_settings.py +0 -0
  33. {stjames-0.0.90 → stjames-0.0.92}/stjames/int_settings.py +0 -0
  34. {stjames-0.0.90 → stjames-0.0.92}/stjames/message.py +0 -0
  35. {stjames-0.0.90 → stjames-0.0.92}/stjames/mode.py +0 -0
  36. {stjames-0.0.90 → stjames-0.0.92}/stjames/molecule.py +0 -0
  37. {stjames-0.0.90 → stjames-0.0.92}/stjames/opt_settings.py +0 -0
  38. {stjames-0.0.90 → stjames-0.0.92}/stjames/pdb.py +0 -0
  39. {stjames-0.0.90 → stjames-0.0.92}/stjames/periodic_cell.py +0 -0
  40. {stjames-0.0.90 → stjames-0.0.92}/stjames/py.typed +0 -0
  41. {stjames-0.0.90 → stjames-0.0.92}/stjames/scf_settings.py +0 -0
  42. {stjames-0.0.90 → stjames-0.0.92}/stjames/settings.py +0 -0
  43. {stjames-0.0.90 → stjames-0.0.92}/stjames/solvent.py +0 -0
  44. {stjames-0.0.90 → stjames-0.0.92}/stjames/status.py +0 -0
  45. {stjames-0.0.90 → stjames-0.0.92}/stjames/task.py +0 -0
  46. {stjames-0.0.90 → stjames-0.0.92}/stjames/thermochem_settings.py +0 -0
  47. {stjames-0.0.90 → stjames-0.0.92}/stjames/types.py +0 -0
  48. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/__init__.py +0 -0
  49. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/admet.py +0 -0
  50. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/basic_calculation.py +0 -0
  51. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/bde.py +0 -0
  52. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/conformer.py +0 -0
  53. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/conformer_search.py +0 -0
  54. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/descriptors.py +0 -0
  55. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/docking.py +0 -0
  56. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/electronic_properties.py +0 -0
  57. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/fukui.py +0 -0
  58. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/hydrogen_bond_basicity.py +0 -0
  59. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/ion_mobility.py +0 -0
  60. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/irc.py +0 -0
  61. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/macropka.py +0 -0
  62. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/molecular_dynamics.py +0 -0
  63. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/multistage_opt.py +0 -0
  64. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/pka.py +0 -0
  65. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/pose_analysis_md.py +0 -0
  66. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/protein_cofolding.py +0 -0
  67. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/redox_potential.py +0 -0
  68. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/scan.py +0 -0
  69. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/solubility.py +0 -0
  70. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/spin_states.py +0 -0
  71. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/tautomer.py +0 -0
  72. {stjames-0.0.90 → stjames-0.0.92}/stjames/workflows/workflow.py +0 -0
  73. {stjames-0.0.90 → stjames-0.0.92}/stjames.egg-info/dependency_links.txt +0 -0
  74. {stjames-0.0.90 → stjames-0.0.92}/stjames.egg-info/requires.txt +0 -0
  75. {stjames-0.0.90 → stjames-0.0.92}/stjames.egg-info/top_level.txt +0 -0
  76. {stjames-0.0.90 → stjames-0.0.92}/tests/test_constraints.py +0 -0
  77. {stjames-0.0.90 → stjames-0.0.92}/tests/test_from_extxyz.py +0 -0
  78. {stjames-0.0.90 → stjames-0.0.92}/tests/test_molecule.py +0 -0
  79. {stjames-0.0.90 → stjames-0.0.92}/tests/test_pdb.py +0 -0
  80. {stjames-0.0.90 → stjames-0.0.92}/tests/test_rounding.py +0 -0
  81. {stjames-0.0.90 → stjames-0.0.92}/tests/test_settings.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stjames
3
- Version: 0.0.90
3
+ Version: 0.0.92
4
4
  Summary: standardized JSON atom/molecule encoding scheme
5
5
  Author-email: Corin Wagen <corin@rowansci.com>
6
6
  Project-URL: Homepage, https://github.com/rowansci/stjames
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "stjames"
3
- version = "0.0.90"
3
+ version = "0.0.92"
4
4
  description = "standardized JSON atom/molecule encoding scheme"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -0,0 +1,16 @@
1
+ from .base import LowercaseStrEnum
2
+
3
+
4
+ class Mode(LowercaseStrEnum):
5
+ AIMNET2 = "aimnet2"
6
+ MACE = "mace"
7
+ OCP24 = "ocp24"
8
+ OMOL25 = "omol25"
9
+ ORB = "orb"
10
+ TBLITE = "tblite"
11
+ XTB = "xtb"
12
+ TERRACHEM = "terrachem"
13
+ PYSCF = "pyscf"
14
+ PSI4 = "psi4"
15
+ OPENFF = "openff"
16
+ EGRET = "egret"
@@ -37,7 +37,7 @@ class Method(LowercaseStrEnum):
37
37
  OCP24_L = "ocp24_l"
38
38
  OMOL25_CONSERVING_S = "omol25_conserving_s"
39
39
  UMA_M_OMOL = "uma_m_omol"
40
- ORB_V2 = "orb_v2"
40
+ UMA_S_OMOL = "uma_s_omol"
41
41
  ORB_V3_CONSERVATIVE_INF_OMAT = "orb_v3_conservative_inf_omat"
42
42
 
43
43
  GFN_FF = "gfn_ff"
@@ -51,12 +51,53 @@ class Method(LowercaseStrEnum):
51
51
 
52
52
  OFF_SAGE_2_2_1 = "off_sage_2_2_1"
53
53
 
54
- RM1 = "rm1"
55
-
56
54
  EGRET_1 = "egret_1"
57
55
  EGRET_1E = "egret_1e"
58
56
  EGRET_1T = "egret_1t"
59
57
 
58
+ def default_engine(self, *, is_periodic: bool = False) -> str:
59
+ """
60
+ Return the canonical engine name for this quantum-chemistry method.
61
+
62
+ :param bool is_periodic:
63
+ If ``True`` **and** the method is in the XTB family, return
64
+ ``"tblite"`` (periodic-capable backend) instead of ``"xtb"``.
65
+ :returns: Lower-case engine identifier (e.g. ``"psi4"``, ``"mace"``).
66
+
67
+ **Examples**
68
+
69
+ .. code-block:: python
70
+
71
+ Method.MACE_MP_0B2_L.default_engine()
72
+ # 'mace'
73
+
74
+ Method.GFN2_XTB.default_engine()
75
+ # 'xtb'
76
+
77
+ Method.GFN2_XTB.default_engine(is_periodic=True)
78
+ # 'tblite'
79
+ """
80
+ match self:
81
+ case Method.AIMNET2_WB97MD3:
82
+ return "aimnet2"
83
+ case Method.MACE_MP_0B2_L:
84
+ return "mace"
85
+ case Method.OCP24_S | Method.OCP24_L:
86
+ return "ocp24"
87
+ case Method.OMOL25_CONSERVING_S | Method.UMA_M_OMOL | Method.UMA_S_OMOL:
88
+ return "omol25"
89
+ case Method.ORB_V3_CONSERVATIVE_INF_OMAT:
90
+ return "orb"
91
+ case _ if self in XTB_METHODS:
92
+ return "tblite" if is_periodic else "xtb"
93
+ case Method.OFF_SAGE_2_2_1:
94
+ return "openff"
95
+ case Method.EGRET_1 | Method.EGRET_1E | Method.EGRET_1T:
96
+ return "egret"
97
+ case _:
98
+ # All remaining methods (HF, DFT, composite, etc.) fall back to Psi4
99
+ return "psi4"
100
+
60
101
 
61
102
  PrepackagedNNPMethod = Literal[
62
103
  Method.AIMNET2_WB97MD3,
@@ -64,7 +105,7 @@ PrepackagedNNPMethod = Literal[
64
105
  Method.OCP24_L,
65
106
  Method.OMOL25_CONSERVING_S,
66
107
  Method.UMA_M_OMOL,
67
- Method.RM1,
108
+ Method.UMA_S_OMOL,
68
109
  Method.ORB_V3_CONSERVATIVE_INF_OMAT,
69
110
  Method.EGRET_1,
70
111
  Method.EGRET_1E,
@@ -77,15 +118,15 @@ PREPACKAGED_NNP_METHODS = [
77
118
  Method.OCP24_L,
78
119
  Method.OMOL25_CONSERVING_S,
79
120
  Method.UMA_M_OMOL,
80
- Method.RM1,
121
+ Method.UMA_S_OMOL,
81
122
  Method.ORB_V3_CONSERVATIVE_INF_OMAT,
82
123
  Method.EGRET_1,
83
124
  Method.EGRET_1E,
84
125
  Method.EGRET_1T,
85
126
  ]
86
127
 
87
- CorrectableNNPMethod = Literal[Method.MACE_MP_0B2_L, Method.ORB_V2]
88
- CORRECTABLE_NNP_METHODS = [Method.MACE_MP_0B2_L, Method.ORB_V2]
128
+ CorrectableNNPMethod = Literal[Method.MACE_MP_0B2_L]
129
+ CORRECTABLE_NNP_METHODS = [Method.MACE_MP_0B2_L]
89
130
 
90
131
  NNPMethod = PrepackagedNNPMethod | CorrectableNNPMethod
91
132
  NNP_METHODS = [*PREPACKAGED_NNP_METHODS, *CORRECTABLE_NNP_METHODS]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stjames
3
- Version: 0.0.90
3
+ Version: 0.0.92
4
4
  Summary: standardized JSON atom/molecule encoding scheme
5
5
  Author-email: Corin Wagen <corin@rowansci.com>
6
6
  Project-URL: Homepage, https://github.com/rowansci/stjames
@@ -11,6 +11,7 @@ stjames/compute_settings.py
11
11
  stjames/constraint.py
12
12
  stjames/correction.py
13
13
  stjames/diis_settings.py
14
+ stjames/engine.py
14
15
  stjames/grid_settings.py
15
16
  stjames/int_settings.py
16
17
  stjames/message.py
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes