stjames 0.0.38__tar.gz → 0.0.40__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 (41) hide show
  1. {stjames-0.0.38/stjames.egg-info → stjames-0.0.40}/PKG-INFO +1 -1
  2. {stjames-0.0.38 → stjames-0.0.40}/pyproject.toml +1 -1
  3. {stjames-0.0.38 → stjames-0.0.40}/stjames/base.py +1 -1
  4. {stjames-0.0.38 → stjames-0.0.40}/stjames/method.py +1 -1
  5. {stjames-0.0.38 → stjames-0.0.40}/stjames/molecule.py +8 -5
  6. {stjames-0.0.38 → stjames-0.0.40}/stjames/settings.py +2 -1
  7. {stjames-0.0.38 → stjames-0.0.40}/stjames/solvent.py +1 -0
  8. {stjames-0.0.38 → stjames-0.0.40}/stjames/workflows/conformer.py +1 -0
  9. {stjames-0.0.38 → stjames-0.0.40/stjames.egg-info}/PKG-INFO +1 -1
  10. {stjames-0.0.38 → stjames-0.0.40}/LICENSE +0 -0
  11. {stjames-0.0.38 → stjames-0.0.40}/README.md +0 -0
  12. {stjames-0.0.38 → stjames-0.0.40}/setup.cfg +0 -0
  13. {stjames-0.0.38 → stjames-0.0.40}/stjames/__init__.py +0 -0
  14. {stjames-0.0.38 → stjames-0.0.40}/stjames/_deprecated_solvent_settings.py +0 -0
  15. {stjames-0.0.38 → stjames-0.0.40}/stjames/basis_set.py +0 -0
  16. {stjames-0.0.38 → stjames-0.0.40}/stjames/calculation.py +0 -0
  17. {stjames-0.0.38 → stjames-0.0.40}/stjames/constraint.py +0 -0
  18. {stjames-0.0.38 → stjames-0.0.40}/stjames/correction.py +0 -0
  19. {stjames-0.0.38 → stjames-0.0.40}/stjames/diis_settings.py +0 -0
  20. {stjames-0.0.38 → stjames-0.0.40}/stjames/grid_settings.py +0 -0
  21. {stjames-0.0.38 → stjames-0.0.40}/stjames/int_settings.py +0 -0
  22. {stjames-0.0.38 → stjames-0.0.40}/stjames/message.py +0 -0
  23. {stjames-0.0.38 → stjames-0.0.40}/stjames/mode.py +0 -0
  24. {stjames-0.0.38 → stjames-0.0.40}/stjames/opt_settings.py +0 -0
  25. {stjames-0.0.38 → stjames-0.0.40}/stjames/py.typed +0 -0
  26. {stjames-0.0.38 → stjames-0.0.40}/stjames/scf_settings.py +0 -0
  27. {stjames-0.0.38 → stjames-0.0.40}/stjames/status.py +0 -0
  28. {stjames-0.0.38 → stjames-0.0.40}/stjames/task.py +0 -0
  29. {stjames-0.0.38 → stjames-0.0.40}/stjames/thermochem_settings.py +0 -0
  30. {stjames-0.0.38 → stjames-0.0.40}/stjames/workflows/__init__.py +0 -0
  31. {stjames-0.0.38 → stjames-0.0.40}/stjames/workflows/descriptors.py +0 -0
  32. {stjames-0.0.38 → stjames-0.0.40}/stjames/workflows/fukui.py +0 -0
  33. {stjames-0.0.38 → stjames-0.0.40}/stjames/workflows/pka.py +0 -0
  34. {stjames-0.0.38 → stjames-0.0.40}/stjames/workflows/redox_potential.py +0 -0
  35. {stjames-0.0.38 → stjames-0.0.40}/stjames/workflows/scan.py +0 -0
  36. {stjames-0.0.38 → stjames-0.0.40}/stjames/workflows/tautomer.py +0 -0
  37. {stjames-0.0.38 → stjames-0.0.40}/stjames/workflows/workflow.py +0 -0
  38. {stjames-0.0.38 → stjames-0.0.40}/stjames.egg-info/SOURCES.txt +0 -0
  39. {stjames-0.0.38 → stjames-0.0.40}/stjames.egg-info/dependency_links.txt +0 -0
  40. {stjames-0.0.38 → stjames-0.0.40}/stjames.egg-info/requires.txt +0 -0
  41. {stjames-0.0.38 → stjames-0.0.40}/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.38
3
+ Version: 0.0.40
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.38"
3
+ version = "0.0.40"
4
4
  description = "standardized JSON atom/molecule encoding scheme"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.8"
@@ -18,7 +18,7 @@ class Base(pydantic.BaseModel):
18
18
 
19
19
 
20
20
  class LowercaseStrEnum(str, Enum):
21
- """Enum where hyphens and case are ignored."""
21
+ """Enum where hyphens, underscores, and case are ignored."""
22
22
 
23
23
  @classmethod
24
24
  def _missing_(cls, value: str) -> str | None: # type: ignore
@@ -29,7 +29,7 @@ class Method(LowercaseStrEnum):
29
29
 
30
30
  AIMNET2_WB97MD3 = "aimnet2_wb97md3"
31
31
 
32
- # GFN0_XTB = "gfn1_xtb"
32
+ GFN0_XTB = "gfn0_xtb"
33
33
  GFN1_XTB = "gfn1_xtb"
34
34
  GFN2_XTB = "gfn2_xtb"
35
35
  GFN_FF = "gfn_ff"
@@ -10,7 +10,7 @@ from .base import Base
10
10
 
11
11
 
12
12
  class VibrationalMode(Base):
13
- frequency: float
13
+ frequency: float # in cm-1
14
14
  reduced_mass: float
15
15
  force_constant: float
16
16
  displacements: list[list[float]]
@@ -18,7 +18,7 @@ class VibrationalMode(Base):
18
18
 
19
19
  class Atom(Base):
20
20
  atomic_number: NonNegativeInt
21
- position: list[float]
21
+ position: list[float] # in Å
22
22
 
23
23
 
24
24
  class Molecule(Base):
@@ -26,10 +26,10 @@ class Molecule(Base):
26
26
  multiplicity: PositiveInt
27
27
  atoms: list[Atom]
28
28
 
29
- energy: Optional[float] = None
29
+ energy: Optional[float] = None # in Hartree
30
30
  scf_iterations: Optional[NonNegativeInt] = None
31
31
  scf_completed: Optional[bool] = None
32
- elapsed: Optional[float] = None
32
+ elapsed: Optional[float] = None # in seconds
33
33
 
34
34
  homo_lumo_gap: Optional[float] = None # in eV
35
35
 
@@ -37,7 +37,7 @@ class Molecule(Base):
37
37
 
38
38
  mulliken_charges: Optional[list[float]] = None
39
39
  mulliken_spin_densities: Optional[list[float]] = None
40
- dipole: Optional[list[float]] = None
40
+ dipole: Optional[list[float]] = None # in Debye
41
41
 
42
42
  vibrational_modes: Optional[list[VibrationalMode]] = None
43
43
 
@@ -46,6 +46,9 @@ class Molecule(Base):
46
46
  thermal_enthalpy_corr: Optional[float] = None
47
47
  thermal_free_energy_corr: Optional[float] = None
48
48
 
49
+ def __len__(self) -> int:
50
+ return len(self.atoms)
51
+
49
52
  @property
50
53
  def coordinates(self) -> list[list[float]]:
51
54
  return [a.position for a in self.atoms]
@@ -20,6 +20,7 @@ PREPACKAGED_METHODS = [
20
20
  Method.AIMNET2_WB97MD3,
21
21
  Method.GFN2_XTB,
22
22
  Method.GFN1_XTB,
23
+ Method.GFN0_XTB,
23
24
  Method.GFN_FF,
24
25
  ]
25
26
 
@@ -104,7 +105,7 @@ class Settings(Base):
104
105
  @classmethod
105
106
  def remove_empty_string(cls, v: list[T]) -> list[T]:
106
107
  """Remove empty string values."""
107
- return [c for c in v if c]
108
+ return [c for c in v if c] if v is not None else v
108
109
 
109
110
 
110
111
  def _assign_settings_by_mode(settings: Settings) -> None:
@@ -35,6 +35,7 @@ class SolventModel(LowercaseStrEnum):
35
35
  CPCM = "cpcm"
36
36
  ALPB = "alpb"
37
37
  COSMO = "cosmo"
38
+ CPCMX = "cpcmx"
38
39
 
39
40
 
40
41
  class SolventSettings(Base):
@@ -13,6 +13,7 @@ class ConformerSettings(Base):
13
13
  num_confs_taken: int = 50
14
14
  rmsd_cutoff: float = 0.1
15
15
 
16
+ transition_state: bool = False
16
17
  final_method: Method = Method.AIMNET2_WB97MD3
17
18
  solvent: Optional[Solvent] = Solvent.WATER
18
19
  max_energy: float = 5
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: stjames
3
- Version: 0.0.38
3
+ Version: 0.0.40
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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes