xtb-step 2026.5.12__py2.py3-none-any.whl

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.
xtb_step/__init__.py ADDED
@@ -0,0 +1,40 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ """
4
+ xtb_step
5
+ A SEAMM plug-in for xTB
6
+ """
7
+
8
+ # Bring up the classes so that they appear to be directly in
9
+ # the xtb_step package.
10
+
11
+ from .xtb import xTB # noqa: F401, E501
12
+ from .xtb_step import xTBStep # noqa: F401, E501
13
+ from .tk_xtb import TkxTB # noqa: F401, E501
14
+
15
+ from .metadata import metadata # noqa: F401
16
+
17
+ from .energy_step import EnergyStep # noqa: F401
18
+ from .energy import Energy # noqa: F401
19
+ from .energy_parameters import EnergyParameters # noqa: F401
20
+ from .tk_energy import TkEnergy # noqa: F401
21
+
22
+ from .optimization_step import OptimizationStep # noqa: F401
23
+ from .optimization import Optimization # noqa: F401
24
+ from .optimization_parameters import OptimizationParameters # noqa: F401
25
+ from .tk_optimization import TkOptimization # noqa: F401
26
+
27
+ from .frequencies_step import FrequenciesStep # noqa: F401
28
+ from .frequencies import Frequencies # noqa: F401
29
+ from .frequencies_parameters import FrequenciesParameters # noqa: F401
30
+ from .tk_frequencies import TkFrequencies # noqa: F401
31
+
32
+ # Handle versioneer
33
+ from ._version import get_versions
34
+
35
+ __author__ = "Paul Saxe"
36
+ __email__ = "psaxe@molssi.org"
37
+ versions = get_versions()
38
+ __version__ = versions["version"]
39
+ __git_revision__ = versions["full-revisionid"]
40
+ del get_versions, versions
xtb_step/__main__.py ADDED
@@ -0,0 +1,22 @@
1
+ # !/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+
4
+ """Handle the installation of the xTB step."""
5
+
6
+ from .installer import Installer
7
+
8
+
9
+ def run():
10
+ """Handle the extra installation needed.
11
+
12
+ * Find and/or install the xtb executable.
13
+ * Add or update information in the SEAMM xtb.ini file for xTB.
14
+ """
15
+
16
+ # Create an installer object
17
+ installer = Installer()
18
+ installer.run()
19
+
20
+
21
+ if __name__ == "__main__":
22
+ run()
xtb_step/_version.py ADDED
@@ -0,0 +1,21 @@
1
+
2
+ # This file was generated by 'versioneer.py' (0.18) from
3
+ # revision-control system data, or from the parent directory name of an
4
+ # unpacked source archive. Distribution tarballs contain a pre-generated copy
5
+ # of this file.
6
+
7
+ import json
8
+
9
+ version_json = '''
10
+ {
11
+ "date": "2026-05-12T11:03:57-0400",
12
+ "dirty": false,
13
+ "error": null,
14
+ "full-revisionid": "69d83a79020d663ae50dd59da590488f68d82516",
15
+ "version": "2026.5.12"
16
+ }
17
+ ''' # END VERSION_JSON
18
+
19
+
20
+ def get_versions():
21
+ return json.loads(version_json)
@@ -0,0 +1,14 @@
1
+ Property,Type,Units,Description,URL
2
+ total energy#xTB#{model},float,E_h,"The {model} total energy.",
3
+ electronic energy#xTB#{model},float,E_h,"The {model} electronic energy (excluding nuclear repulsion).",
4
+ HOMO energy#xTB#{model},float,eV,"The {model} energy of the highest occupied molecular orbital (HOMO).",https://en.wikipedia.org/wiki/HOMO_and_LUMO
5
+ LUMO energy#xTB#{model},float,eV,"The {model} energy of the lowest unoccupied molecular orbital (LUMO).",https://en.wikipedia.org/wiki/HOMO_and_LUMO
6
+ band gap#xTB#{model},float,eV,"The {model} HOMO-LUMO gap.",https://en.wikipedia.org/wiki/Band_gap
7
+ dipole moment#xTB#{model},float,debye,"The {model} electric dipole moment, magnitude of the dipole vector.",https://en.wikipedia.org/wiki/Electric_dipole_moment
8
+ gradients#xTB#{model},json,E_h/Å,The {model} gradients of the energy with respect to the atomic coordinates.,
9
+ force constants#xTB#{model},json,E_h/Å^2,The {model} mass-weighted Hessian / force constants.,
10
+ enthalpy of formation#xTB#{model},float,kJ/mol,"The {model} enthalpy of formation.",https://en.wikipedia.org/wiki/Standard_enthalpy_of_formation
11
+ zero point energy#xTB#{model},float,kJ/mol,"The {model} zero-point vibrational energy.",
12
+ entropy#xTB#{model},float,J/mol/K,"The {model} standard entropy at the chosen temperature and pressure.",https://en.wikipedia.org/wiki/Entropy
13
+ constant pressure heat capacity#xTB#{model},float,J/mol/K,"The {model} constant-pressure heat capacity, Cp.",https://en.wikipedia.org/wiki/Heat_capacity
14
+ Gibbs free energy#xTB#{model},float,kJ/mol,"The {model} Gibbs free energy at the chosen temperature and pressure.",
@@ -0,0 +1,195 @@
1
+ This is an initial library of BibTex references for the xtb_step plug-in for SEAMM,
2
+ generated automatically by the cookiecutter. You may wish to edit the first entry to correct some
3
+ of the information.
4
+
5
+ Add other references to the end of the file and add code in the plug-in to cite the references as
6
+ appropriate. This is done with code like this:
7
+
8
+ self.references.cite(
9
+ raw=self._bibliography['doi:10.1002/jcc.21224'],
10
+ alias='packmol',
11
+ module='packmol_step',
12
+ level=1,
13
+ note='The principle PACKMOL citation.'
14
+ )
15
+
16
+ which is typically in the run() method of the plug-in.
17
+
18
+ The base node class in SEAMM automatically reads this list of references into a dictionary in
19
+ self._bibliography with the key being the key of the BibTex entry -- usually the name on the
20
+ first line of the entry after the 'article' or 'misc' (for software) keyword.
21
+
22
+ See the documentation for the Reference Handler for the other arguments to cite().
23
+
24
+ # End of initial comments #
25
+
26
+ # This is the citation for this plug-in, generated and used automatically.
27
+ # You might need to edit the author, address, etc. The month, year and version fields
28
+ # are automatically filled in with information about current version of the plug-in.
29
+ # This is handled in seamm/nody.py, the run() method.
30
+
31
+ @Misc{xtb_step,
32
+ author = {Paul Saxe},
33
+ title = {xTB plug-in for SEAMM},
34
+ month = {$month},
35
+ year = {$year},
36
+ organization = {The Molecular Sciences Software Institute (MolSSI)},
37
+ url = {https://github.com/molssi-seamm/xtb_step},
38
+ address = {Virginia Tech, Blacksburg, VA, USA},
39
+ version = {$version}
40
+ }
41
+
42
+ # ----------------------------------------------------------------------
43
+ # References for xTB itself and the GFN method family
44
+ # ----------------------------------------------------------------------
45
+
46
+ # The general xTB review. Cited at level 1 whenever any GFN-x-TB or GFN-FF
47
+ # method is used.
48
+ @article{Bannwarth2021,
49
+ author = {Bannwarth, Christoph and Caldeweyher, Eike and Ehlert, Sebastian and
50
+ Hansen, Andreas and Pracht, Philipp and Seibert, Jakob and
51
+ Spicher, Sebastian and Grimme, Stefan},
52
+ title = {Extended tight-binding quantum chemistry methods},
53
+ journal = {WIREs Computational Molecular Science},
54
+ volume = {11},
55
+ number = {2},
56
+ pages = {e1493},
57
+ year = {2021},
58
+ doi = {10.1002/wcms.1493},
59
+ url = {https://doi.org/10.1002/wcms.1493}
60
+ }
61
+
62
+ # GFN2-xTB primary citation.
63
+ @article{Bannwarth2019,
64
+ author = {Bannwarth, Christoph and Ehlert, Sebastian and Grimme, Stefan},
65
+ title = {{GFN2}-{xTB}---{An} Accurate and Broadly Parametrized Self-Consistent
66
+ Tight-Binding Quantum Chemical Method with Multipole Electrostatics
67
+ and Density-Dependent Dispersion Contributions},
68
+ journal = {Journal of Chemical Theory and Computation},
69
+ volume = {15},
70
+ number = {3},
71
+ pages = {1652--1671},
72
+ year = {2019},
73
+ doi = {10.1021/acs.jctc.8b01176},
74
+ url = {https://doi.org/10.1021/acs.jctc.8b01176}
75
+ }
76
+
77
+ # GFN1-xTB primary citation.
78
+ @article{Grimme2017,
79
+ author = {Grimme, Stefan and Bannwarth, Christoph and Shushkov, Philip},
80
+ title = {A Robust and Accurate Tight-Binding Quantum Chemical Method for
81
+ Structures, Vibrational Frequencies, and Noncovalent Interactions of
82
+ Large Molecular Systems Parametrized for All spd-Block Elements
83
+ ({Z} = 1--86)},
84
+ journal = {Journal of Chemical Theory and Computation},
85
+ volume = {13},
86
+ number = {5},
87
+ pages = {1989--2009},
88
+ year = {2017},
89
+ doi = {10.1021/acs.jctc.7b00118},
90
+ url = {https://doi.org/10.1021/acs.jctc.7b00118}
91
+ }
92
+
93
+ # GFN0-xTB. As of last check, this method has only a ChemRxiv preprint, not a
94
+ # peer-reviewed journal paper. Update if/when a journal version appears.
95
+ @misc{Pracht2019,
96
+ author = {Pracht, Philipp and Caldeweyher, Eike and Ehlert, Sebastian and
97
+ Grimme, Stefan},
98
+ title = {A Robust Non-Self-Consistent Tight-Binding Quantum Chemistry Method
99
+ for Large Molecules},
100
+ howpublished = {ChemRxiv preprint},
101
+ year = {2019},
102
+ doi = {10.26434/chemrxiv.8326202.v1},
103
+ url = {https://doi.org/10.26434/chemrxiv.8326202.v1},
104
+ note = {Preprint; no peer-reviewed journal paper as of plug-in v1 release.}
105
+ }
106
+
107
+ # GFN-FF: a generic force field automatically parameterized via xTB.
108
+ @article{Spicher2020,
109
+ author = {Spicher, Sebastian and Grimme, Stefan},
110
+ title = {Robust Atomistic Modeling of Materials, Organometallic, and
111
+ Biochemical Systems},
112
+ journal = {Angewandte Chemie International Edition},
113
+ volume = {59},
114
+ number = {36},
115
+ pages = {15665--15673},
116
+ year = {2020},
117
+ doi = {10.1002/anie.202004239},
118
+ url = {https://doi.org/10.1002/anie.202004239}
119
+ }
120
+
121
+ # Implicit solvation: ALPB and the related GBSA implementation in xTB.
122
+ @article{Ehlert2021,
123
+ author = {Ehlert, Sebastian and Stahn, Marcel and Spicher, Sebastian and
124
+ Grimme, Stefan},
125
+ title = {Robust and Efficient Implicit Solvation Model for Fast
126
+ Semiempirical Methods},
127
+ journal = {Journal of Chemical Theory and Computation},
128
+ volume = {17},
129
+ number = {7},
130
+ pages = {4250--4261},
131
+ year = {2021},
132
+ doi = {10.1021/acs.jctc.1c00471},
133
+ url = {https://doi.org/10.1021/acs.jctc.1c00471}
134
+ }
135
+
136
+ # CPCM-X solvation model. Cited at level 1 when CPCM-X is selected.
137
+ @article{Stahn2023,
138
+ author = {Stahn, Marcel and Ehlert, Sebastian and Grimme, Stefan},
139
+ title = {Extended Conductor-like Polarizable Continuum Solvation Model
140
+ ({CPCM-X}) for Semiempirical Methods},
141
+ journal = {The Journal of Physical Chemistry A},
142
+ volume = {127},
143
+ number = {33},
144
+ pages = {7036--7043},
145
+ year = {2023},
146
+ doi = {10.1021/acs.jpca.3c04382},
147
+ url = {https://doi.org/10.1021/acs.jpca.3c04382}
148
+ }
149
+
150
+ # ----------------------------------------------------------------------
151
+ # Component citations -- secondary (level 2)
152
+ # ----------------------------------------------------------------------
153
+
154
+ # DFT-D4 dispersion correction. Cited at level 2 whenever a method that
155
+ # uses D4-style dispersion is invoked (GFN2-xTB in v1).
156
+ @article{Caldeweyher2017,
157
+ author = {Caldeweyher, Eike and Bannwarth, Christoph and Grimme, Stefan},
158
+ title = {Extension of the {D3} Dispersion Coefficient Model},
159
+ journal = {The Journal of Chemical Physics},
160
+ volume = {147},
161
+ number = {3},
162
+ pages = {034112},
163
+ year = {2017},
164
+ doi = {10.1063/1.4993215},
165
+ url = {https://doi.org/10.1063/1.4993215}
166
+ }
167
+
168
+ @article{Caldeweyher2019,
169
+ author = {Caldeweyher, Eike and Ehlert, Sebastian and Hansen, Andreas and
170
+ Neugebauer, Hagen and Spicher, Sebastian and Bannwarth, Christoph
171
+ and Grimme, Stefan},
172
+ title = {A Generally Applicable Atomic-Charge Dependent {London} Dispersion
173
+ Correction},
174
+ journal = {The Journal of Chemical Physics},
175
+ volume = {150},
176
+ number = {15},
177
+ pages = {154122},
178
+ year = {2019},
179
+ doi = {10.1063/1.5090222},
180
+ url = {https://doi.org/10.1063/1.5090222}
181
+ }
182
+
183
+ @article{Caldeweyher2020,
184
+ author = {Caldeweyher, Eike and Mewes, Jan-Michael and Ehlert, Sebastian
185
+ and Grimme, Stefan},
186
+ title = {Extension and Evaluation of the {D4} London-Dispersion Model
187
+ for Periodic Systems},
188
+ journal = {Physical Chemistry Chemical Physics},
189
+ volume = {22},
190
+ number = {16},
191
+ pages = {8499--8512},
192
+ year = {2020},
193
+ doi = {10.1039/D0CP00502A},
194
+ url = {https://doi.org/10.1039/D0CP00502A}
195
+ }
@@ -0,0 +1,6 @@
1
+ name: seamm-xtb
2
+ channels:
3
+ - conda-forge
4
+ dependencies:
5
+ - python
6
+ - xtb
xtb_step/data/xtb.ini ADDED
@@ -0,0 +1,71 @@
1
+ # Configuration options for how to run xTB
2
+
3
+ [docker]
4
+ # The code to use. This may be more than just the name of the code, and variables in
5
+ # braces {} will be expanded. For example:
6
+ # code = mpiexec -np {NTASKS} xtb
7
+ # would expand {NTASKS} to the number of tasks and run the command
8
+
9
+ code = xtb
10
+
11
+ # The name and location of the Docker container to use, optionally with the version
12
+
13
+ container = ghcr.io/molssi-seamm/seamm-xtb:{version}
14
+
15
+ # In addition, you can specify the platform to use. This is useful on e.g. Macs with
16
+ # apple silicon (M1, M3...) where the default platform is linux/arm64 but some containers
17
+ # are only available for linux/amd64.
18
+
19
+ # platform = linux/amd64
20
+
21
+ [local]
22
+ # The type of local installation to use. Options are:
23
+ # conda: Use a conda environment
24
+ # modules: Use the modules system
25
+ # local: Use a local installation
26
+ # docker: Use a Docker container
27
+ # By default SEAMM installs xTB using conda from conda-forge.
28
+
29
+ installation = conda
30
+
31
+ # The command line to use, which should start with the executable followed by any options.
32
+ # Variables in braces {} will be expanded. For example:
33
+ #
34
+ # code = mpiexec -np {NTASKS} xtb
35
+ #
36
+ # would expand {NTASKS} to the number of tasks and run the command.
37
+ # For a 'local' installation, the command line should include the full path to the
38
+ # executable or it should be in the path.
39
+
40
+ code = xtb
41
+
42
+ ######################### conda section ############################
43
+ # The full path to the conda executable:
44
+
45
+ # conda =
46
+
47
+ # The Conda environment to use. This is either the name or full path.
48
+
49
+ # conda-environment = seamm-xtb
50
+
51
+ ######################### modules section ############################
52
+ # The modules to load to run xTB, as a list of strings.
53
+ # For example:
54
+ # modules = xtb
55
+
56
+ # modules =
57
+
58
+ ######################### local section ############################
59
+ # The full path to the xTB executable should be in the 'code' option.
60
+
61
+ ######################### docker section ############################
62
+ # The name and location of the Docker container to use, optionally with the version.
63
+ # {version} will be expanded to the version of the plug-in.
64
+
65
+ # container = ghcr.io/molssi-seamm/seamm-xtb:{version}
66
+
67
+ # In addition, you can specify the platform to use. This is useful on e.g. Macs with
68
+ # apple silicon (M1, M3...) where the default platform is linux/arm64 but some containers
69
+ # are only available for linux/amd64.
70
+
71
+ # platform = linux/amd64