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