stjames 0.0.28__tar.gz → 0.0.29__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 (29) hide show
  1. {stjames-0.0.28/stjames.egg-info → stjames-0.0.29}/PKG-INFO +1 -1
  2. {stjames-0.0.28 → stjames-0.0.29}/pyproject.toml +9 -2
  3. {stjames-0.0.28 → stjames-0.0.29}/stjames/__init__.py +1 -0
  4. {stjames-0.0.28 → stjames-0.0.29}/stjames/base.py +3 -2
  5. {stjames-0.0.28 → stjames-0.0.29}/stjames/scf_settings.py +4 -3
  6. {stjames-0.0.28 → stjames-0.0.29}/stjames/settings.py +27 -9
  7. {stjames-0.0.28 → stjames-0.0.29/stjames.egg-info}/PKG-INFO +1 -1
  8. {stjames-0.0.28 → stjames-0.0.29}/LICENSE +0 -0
  9. {stjames-0.0.28 → stjames-0.0.29}/README.md +0 -0
  10. {stjames-0.0.28 → stjames-0.0.29}/setup.cfg +0 -0
  11. {stjames-0.0.28 → stjames-0.0.29}/stjames/_deprecated_solvent_settings.py +0 -0
  12. {stjames-0.0.28 → stjames-0.0.29}/stjames/basis_set.py +0 -0
  13. {stjames-0.0.28 → stjames-0.0.29}/stjames/calculation.py +1 -1
  14. {stjames-0.0.28 → stjames-0.0.29}/stjames/corrections.py +0 -0
  15. {stjames-0.0.28 → stjames-0.0.29}/stjames/diis_settings.py +0 -0
  16. {stjames-0.0.28 → stjames-0.0.29}/stjames/grid_settings.py +0 -0
  17. {stjames-0.0.28 → stjames-0.0.29}/stjames/int_settings.py +0 -0
  18. {stjames-0.0.28 → stjames-0.0.29}/stjames/methods.py +0 -0
  19. {stjames-0.0.28 → stjames-0.0.29}/stjames/modes.py +0 -0
  20. {stjames-0.0.28 → stjames-0.0.29}/stjames/molecule.py +0 -0
  21. {stjames-0.0.28 → stjames-0.0.29}/stjames/opt_settings.py +0 -0
  22. {stjames-0.0.28 → stjames-0.0.29}/stjames/solvent_settings.py +0 -0
  23. {stjames-0.0.28 → stjames-0.0.29}/stjames/status.py +0 -0
  24. {stjames-0.0.28 → stjames-0.0.29}/stjames/tasks.py +0 -0
  25. {stjames-0.0.28 → stjames-0.0.29}/stjames/thermochem_settings.py +0 -0
  26. {stjames-0.0.28 → stjames-0.0.29}/stjames.egg-info/SOURCES.txt +0 -0
  27. {stjames-0.0.28 → stjames-0.0.29}/stjames.egg-info/dependency_links.txt +0 -0
  28. {stjames-0.0.28 → stjames-0.0.29}/stjames.egg-info/requires.txt +0 -0
  29. {stjames-0.0.28 → stjames-0.0.29}/stjames.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: stjames
3
- Version: 0.0.28
3
+ Version: 0.0.29
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.28"
3
+ version = "0.0.29"
4
4
  description = "standardized JSON atom/molecule encoding scheme"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.8"
@@ -29,5 +29,12 @@ namespaces = false # to disable scanning PEP 420 namespaces (true by default)
29
29
 
30
30
  [tool.ruff]
31
31
  line-length = 160
32
- select = ["E", "F"]
32
+
33
+ [tool.ruff.lint]
34
+ select = [
35
+ "E", # pycodestyle errors
36
+ "F", # pyflakes
37
+ "I", # isort
38
+ "W", # pycodestyle warnings
39
+ ]
33
40
  ignore = ["E741"]
@@ -2,6 +2,7 @@
2
2
 
3
3
  from .calculation import *
4
4
  from .molecule import *
5
+ from .workflows import *
5
6
 
6
7
  from .scf_settings import *
7
8
  from .int_settings import *
@@ -1,7 +1,8 @@
1
- import pydantic
2
1
  from enum import Enum
2
+ from typing import Annotated, Any, Hashable, TypeVar
3
+
3
4
  import numpy as np
4
- from typing import Any, Annotated, TypeVar, Hashable
5
+ import pydantic
5
6
 
6
7
 
7
8
  class Base(pydantic.BaseModel):
@@ -1,10 +1,11 @@
1
- from typing import Optional, Any
1
+ from typing import Any, Optional
2
+
2
3
  import pydantic
3
4
 
4
5
  from .base import Base, LowercaseStrEnum
5
- from .int_settings import IntSettings
6
- from .grid_settings import GridSettings
7
6
  from .diis_settings import DIISSettings
7
+ from .grid_settings import GridSettings
8
+ from .int_settings import IntSettings
8
9
 
9
10
 
10
11
  class SCFInitMethod(LowercaseStrEnum):
@@ -1,17 +1,34 @@
1
- import pydantic
2
1
  from typing import Any, Optional
3
2
 
4
- from .modes import Mode
5
- from .methods import Method
6
- from .tasks import Task
3
+ import pydantic
4
+
7
5
  from .base import Base, UniqueList
8
- from .corrections import Correction
9
- from .scf_settings import SCFSettings
10
6
  from .basis_set import BasisSet
7
+ from .corrections import Correction
8
+ from .methods import Method
9
+ from .modes import Mode
11
10
  from .opt_settings import OptimizationSettings
12
- from .thermochem_settings import ThermochemistrySettings
11
+ from .scf_settings import SCFSettings
13
12
  from .solvent_settings import SolventSettings
13
+ from .tasks import Task
14
+ from .thermochem_settings import ThermochemistrySettings
14
15
 
16
+ PREPACKAGED_METHODS = [
17
+ Method.HF3C,
18
+ Method.B973C,
19
+ Method.AIMNET2_WB97MD3,
20
+ Method.AIMNET2_B973C,
21
+ Method.GFN2_XTB,
22
+ Method.GFN1_XTB
23
+ ]
24
+
25
+ METHODS_WITH_CORRECTION = [
26
+ Method.B97D3,
27
+ Method.WB97XD,
28
+ Method.WB97XD3,
29
+ Method.WB97XV,
30
+ Method.WB97MV,
31
+ ]
15
32
 
16
33
  class Settings(Base):
17
34
  method: Method = Method.HARTREE_FOCK
@@ -31,9 +48,10 @@ class Settings(Base):
31
48
  @pydantic.computed_field
32
49
  @property
33
50
  def level_of_theory(self) -> str:
34
- # prepackaged methods
35
- if self.method in [Method.HF3C, Method.B973C, Method.AIMNET2_WB97MD3, Method.AIMNET2_B973C, Method.GFN2_XTB, Method.GFN1_XTB] or self.basis_set is None:
51
+ if self.method in PREPACKAGED_METHODS or self.basis_set is None:
36
52
  method = self.method.value
53
+ elif self.method in METHODS_WITH_CORRECTION:
54
+ method = f"{self.method.value}/{self.basis_set.name.lower()}"
37
55
  else:
38
56
  corrections = list(filter(lambda x: x not in (None, ""), self.corrections))
39
57
  method = f"{self.method.value}-{'-'.join([c.value for c in corrections])}/{self.basis_set.name.lower()}"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: stjames
3
- Version: 0.0.28
3
+ Version: 0.0.29
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
File without changes
File without changes
File without changes
File without changes
@@ -1,7 +1,7 @@
1
1
  from typing import Optional
2
2
 
3
- from .molecule import Molecule
4
3
  from .base import Base, LowercaseStrEnum
4
+ from .molecule import Molecule
5
5
  from .settings import Settings
6
6
  from .status import Status
7
7
 
File without changes
File without changes
File without changes
File without changes
File without changes