rowan-python 3.0.4__tar.gz → 3.0.6__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.
- {rowan_python-3.0.4 → rowan_python-3.0.6}/.gitignore +0 -3
- rowan_python-3.0.6/AGENTS.md +124 -0
- rowan_python-3.0.6/CLAUDE.md +1 -0
- rowan_python-3.0.6/GEMINI.md +1 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/PKG-INFO +1 -1
- rowan_python-3.0.6/examples/data/Al_FCC.xyz +3 -0
- rowan_python-3.0.6/examples/periodic_dft.py +58 -0
- rowan_python-3.0.6/examples/pka.py +69 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/pixi.lock +56 -56
- {rowan_python-3.0.4 → rowan_python-3.0.6}/pyproject.toml +1 -1
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/__init__.py +8 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/molecule.py +55 -16
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/protein.py +2 -1
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/analogue_docking.py +9 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/basic_calculation.py +18 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/pka.py +32 -18
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/strain.py +15 -7
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/tautomer_search.py +16 -6
- rowan_python-3.0.4/examples/pka.py +0 -43
- {rowan_python-3.0.4 → rowan_python-3.0.6}/.envrc +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/.github/workflows/build-and-deploy-docs.yml +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/.github/workflows/python-publish.yml +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/.github/workflows/test.yml +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/.pre-commit-config.yaml +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/LICENSE +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/README.md +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/docs/images/deciduous-tree-favicon.png +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/docs/index.md +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/docs/rowan_rdkit.md +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/docs/stylesheets/colors.css +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/PROTAC_solubility.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/admet.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/analogue_docking.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/aqueous_solubility.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/basic_calculation.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/basic_calculation_from_json.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/basic_calculation_with_constraint.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/basic_calculation_with_solvent.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/batch_docking.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/bde.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/boltz_paired_msa.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/boltz_single_msa.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/chai_paired_msa.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/chai_single_msa.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/cofolding_screen.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/colabfold_paired_msa.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/colabfold_single_msa.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/conformer_dependent_redox.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/conformers.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/data/1iep_receptorH.pdb +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/data/citalopram_1iep.xyz +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/data/tyk2_ligands.sdf +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/data/tyk2_structure.pdb +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/data/workflow_example.json +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/dcd_download.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/descriptors.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/docking_screen.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/double_ended_ts_search.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/electronic_properties.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/estimate_workflow.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/fukui_index.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/hydrogen_bond_basicity.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/interaction_energy_decomposition.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/ion_mobility.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/irc.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/macropka.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/membrane_permeability.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/multistage_optimization.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/nmr.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/optimization.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/pdb_download.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/phenol_pka.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/pose_analysis_md.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/protein_binder_design.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/protein_cofolding.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/protein_md.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/rbfe_graph.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/redox_potential.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/relative_binding_free_energy_perturbation.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/retrieve_workflow.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/scan.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/solvent_dependent_conformers.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/spin_states.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/strain.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/tautomer.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/template.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/examples/webhook.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/mkdocs.yml +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/calculation.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/config.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/constants.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/folder.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/project.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/py.typed +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/rowan_rdkit/__init__.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/rowan_rdkit/chem_utils.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/types.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/user.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/utils.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/__init__.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/admet.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/base.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/batch_docking.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/bde.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/conformer_search.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/constants.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/descriptors.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/docking.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/double_ended_ts_search.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/electronic_properties.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/fukui.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/hydrogen_bond_donor_acceptor_strength.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/interaction_energy_decomposition.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/ion_mobility.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/irc.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/macropka.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/membrane_permeability.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/msa.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/multistage_optimization.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/nmr.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/pose_analysis_md.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/protein_binder_design.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/protein_cofolding.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/protein_md.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/rbfe_graph.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/redox_potential.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/relative_binding_free_energy_perturbation.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/scan.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/solubility.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/solvent_dependent_conformers.py +0 -0
- {rowan_python-3.0.4 → rowan_python-3.0.6}/rowan/workflows/spin_states.py +0 -0
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# AI Agent Development Guide
|
|
2
|
+
|
|
3
|
+
This document provides essential guidance for AI agents working on this repository.
|
|
4
|
+
|
|
5
|
+
## Repository overview
|
|
6
|
+
|
|
7
|
+
rowan-python-internal is the private Python SDK for the Rowan computational chemistry platform. It wraps the stjames data model library and provides user-facing workflow submission and result retrieval.
|
|
8
|
+
|
|
9
|
+
Structure:
|
|
10
|
+
- `rowan/` - source code (flat layout)
|
|
11
|
+
- `rowan/workflows/` - workflow submission functions and result types
|
|
12
|
+
- `examples/` - usage examples for each workflow
|
|
13
|
+
- `docs/` - documentation (mkdocs)
|
|
14
|
+
- `.github/workflows/` - CI/CD configuration
|
|
15
|
+
|
|
16
|
+
Key relationships:
|
|
17
|
+
- **stjames** (`../stjames`) - data model dependency, imported as `stjames`. Defines workflow models, settings, validation, and engine compatibility.
|
|
18
|
+
- **rowan-python** - public version of this repo. Push via `git push public master` from this repo.
|
|
19
|
+
|
|
20
|
+
Python version: >=3.12
|
|
21
|
+
|
|
22
|
+
## Essential commands
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# Setup
|
|
26
|
+
pixi install # Install dependencies
|
|
27
|
+
|
|
28
|
+
# Code quality (these are the pre-commit hooks)
|
|
29
|
+
pixi run fmt # Format code (ruff format)
|
|
30
|
+
pixi run lint # Lint code (ruff check --fix)
|
|
31
|
+
pixi run types # Type check (mypy)
|
|
32
|
+
|
|
33
|
+
# Testing
|
|
34
|
+
pixi run test # Run tests (pytest with doctests)
|
|
35
|
+
pixi run all # Run fmt + lint + types + test
|
|
36
|
+
|
|
37
|
+
# Run a specific example
|
|
38
|
+
pixi run python examples/basic_calculation.py
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Before every commit
|
|
42
|
+
|
|
43
|
+
- Run `pixi run fmt`, `pixi run lint`, `pixi run types`
|
|
44
|
+
- Pre-commit hooks (`.pre-commit-config.yaml`) run these automatically on commit
|
|
45
|
+
- No pytest in pre-commit hooks — tests run in CI
|
|
46
|
+
|
|
47
|
+
## Code conventions
|
|
48
|
+
|
|
49
|
+
### Docstrings
|
|
50
|
+
|
|
51
|
+
Format: reStructuredText-style. No types in docstrings, no leading articles.
|
|
52
|
+
|
|
53
|
+
```python
|
|
54
|
+
def process_data(input_data: list[str], threshold: int = 10) -> dict[str, int]:
|
|
55
|
+
"""Process input data and return summary statistics.
|
|
56
|
+
|
|
57
|
+
:param input_data: strings to process
|
|
58
|
+
:param threshold: minimum count threshold for inclusion
|
|
59
|
+
:returns: mapping of categories to counts
|
|
60
|
+
"""
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Type annotations
|
|
64
|
+
|
|
65
|
+
- All functions must have complete type annotations
|
|
66
|
+
- Modern syntax: `list[str]`, `dict[str, int]`, `str | None`
|
|
67
|
+
- Import from `typing` only when necessary
|
|
68
|
+
|
|
69
|
+
### Code formatting
|
|
70
|
+
|
|
71
|
+
Via ruff:
|
|
72
|
+
- Line length: 100
|
|
73
|
+
- Indentation: 4 spaces
|
|
74
|
+
|
|
75
|
+
### Imports
|
|
76
|
+
|
|
77
|
+
- Absolute imports preferred
|
|
78
|
+
- No wildcard imports except in `__init__.py`
|
|
79
|
+
- Import sorting handled by ruff (isort)
|
|
80
|
+
|
|
81
|
+
## Workflow development guidelines
|
|
82
|
+
|
|
83
|
+
### Validation
|
|
84
|
+
- Use stjames validation when possible. Don't duplicate validation that stjames model validators already handle (e.g. engine/method compatibility, solvent checks). Only add rowan-side validation when stjames doesn't cover it.
|
|
85
|
+
|
|
86
|
+
### stjames type aliasing
|
|
87
|
+
- Users should never need to `import stjames` directly. All user-facing stjames types must be aliased in `rowan/__init__.py`. If an example requires a stjames import, that's a signal the type needs to be aliased.
|
|
88
|
+
|
|
89
|
+
### Serialization
|
|
90
|
+
- Use `serialize_as_any=True` on `model_dump` when the workflow has union-typed fields (e.g. `ConformerGenSettingsUnion`, `MultiStageOptSettings` containing `Settings` subfields). Without it, pydantic may silently drop subclass-specific fields during serialization.
|
|
91
|
+
|
|
92
|
+
### Defaults
|
|
93
|
+
- When hardcoding a default value for a stjames field, make sure it matches the corresponding default in the stjames workflow model.
|
|
94
|
+
|
|
95
|
+
### Type hints in function signatures
|
|
96
|
+
- Don't use pydantic-specific types (`PositiveInt`, `NonNegativeInt`, etc.) in plain function signatures. They don't enforce constraints outside pydantic models and are misleading. Use plain `int`, `float`, etc. — stjames validates downstream when the model is constructed.
|
|
97
|
+
|
|
98
|
+
### Testing
|
|
99
|
+
- After editing a workflow, run its relevant example before committing (not on every change) to catch breakage early.
|
|
100
|
+
|
|
101
|
+
## Git authorization policy
|
|
102
|
+
|
|
103
|
+
**Do not run `git commit`, `git push`, or any other git write commands without explicit permission from the user.**
|
|
104
|
+
|
|
105
|
+
**Never add yourself as a commit author or co-author.** Do not include `Co-Authored-By:`, `Author:`, or any similar trailer that attributes the commit to an AI model or tool. Commits are attributed solely to the human developer.
|
|
106
|
+
|
|
107
|
+
## CI/CD
|
|
108
|
+
|
|
109
|
+
File: `.github/workflows/test.yml`
|
|
110
|
+
|
|
111
|
+
Triggers: all PRs, pushes to `master`
|
|
112
|
+
|
|
113
|
+
Checks:
|
|
114
|
+
1. `pixi run fmt` - format check
|
|
115
|
+
2. `pixi run lint` - lint check
|
|
116
|
+
3. `pixi run types` - type check
|
|
117
|
+
|
|
118
|
+
Matrix: Python 3.14, ubuntu-latest
|
|
119
|
+
|
|
120
|
+
## Additional resources
|
|
121
|
+
|
|
122
|
+
- pixi documentation: https://pixi.sh
|
|
123
|
+
- ruff documentation: https://docs.astral.sh/ruff
|
|
124
|
+
- pytest documentation: https://docs.pytest.org
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@AGENTS.md
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@AGENTS.md
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Run a periodic DFT energy calculation on bulk aluminium using Quantum ESPRESSO.
|
|
3
|
+
|
|
4
|
+
Key settings for PBC calculations:
|
|
5
|
+
- ``pw_cutoff``: plane-wave kinetic-energy cutoff in Hartree (higher = more accurate/slower)
|
|
6
|
+
- ``kpoints``: Monkhorst–Pack k-point grid (denser = more accurate/slower)
|
|
7
|
+
- ``smearing``: occupation smearing type — recommended for metals to aid SCF convergence
|
|
8
|
+
- ``degauss``: smearing width in Hartree (typical range: 0.005–0.02)
|
|
9
|
+
|
|
10
|
+
Periodic molecules are constructed from atomic positions + lattice vectors.
|
|
11
|
+
See documentation at: https://docs.rowansci.com/science/workflows/basic-calculation
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
import rowan
|
|
15
|
+
|
|
16
|
+
# Set your API key or use the ROWAN_API_KEY environment variable
|
|
17
|
+
# rowan.api_key = "rowan-sk..."
|
|
18
|
+
folder = rowan.get_folder("examples/periodic_dft")
|
|
19
|
+
|
|
20
|
+
# Build bulk Al FCC primitive cell.
|
|
21
|
+
# Lattice vectors in Angstrom; Al has 13 electrons so multiplicity=2.
|
|
22
|
+
cell = rowan.PeriodicCell(
|
|
23
|
+
lattice_vectors=(
|
|
24
|
+
(0.0, 2.0230, 2.0230),
|
|
25
|
+
(2.0230, 0.0, 2.0230),
|
|
26
|
+
(2.0230, 2.0230, 0.0),
|
|
27
|
+
)
|
|
28
|
+
)
|
|
29
|
+
al_fcc = rowan.Molecule.from_atoms(
|
|
30
|
+
atoms=[rowan.Atom(atomic_number=13, position=(0.0, 0.0, 0.0))],
|
|
31
|
+
charge=0,
|
|
32
|
+
multiplicity=2,
|
|
33
|
+
cell=cell,
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
# Marzari–Vanderbilt cold smearing is recommended for metals.
|
|
37
|
+
pbc_settings = rowan.PBCDFTSettings(
|
|
38
|
+
pw_cutoff=7.5, # Hartree; SSSP efficiency recommends ~7–9 Ha for Al
|
|
39
|
+
kpoints=(4, 4, 4), # Monkhorst–Pack grid; increase for production runs
|
|
40
|
+
smearing=rowan.PBCDFTSmearing.MV,
|
|
41
|
+
degauss=0.01, # Hartree smearing width
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
workflow = rowan.submit_basic_calculation_workflow(
|
|
45
|
+
initial_molecule=al_fcc,
|
|
46
|
+
tasks=["energy"],
|
|
47
|
+
method="PBE",
|
|
48
|
+
basis_set="SSSP_efficiency",
|
|
49
|
+
pbc_dft_settings=pbc_settings,
|
|
50
|
+
name="Al FCC bulk energy",
|
|
51
|
+
folder=folder,
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
print(f"View workflow privately at: https://labs.rowansci.com/calculation/{workflow.uuid}")
|
|
55
|
+
result = workflow.result()
|
|
56
|
+
print(result)
|
|
57
|
+
# e.g. <BasicCalculationResult energy=-19.725 H>
|
|
58
|
+
print(f"Al FCC energy: {result.energy:.6f} Hartree")
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Calculate the pKa of phenol using the Rowan API.
|
|
3
|
+
|
|
4
|
+
Experimental value ≈ 9.99
|
|
5
|
+
|
|
6
|
+
Four methods are available:
|
|
7
|
+
- aimnet2_wagen2024: AIMNet2-based; requires 3D structure; water only.
|
|
8
|
+
- gxtb_wagen2026: g-xTB-based; requires 3D structure; water only; full periodic table.
|
|
9
|
+
- chemprop_nevolianis2025: Chemprop-based; requires SMILES; several solvents supported.
|
|
10
|
+
- starling: SMILES-based; water only.
|
|
11
|
+
|
|
12
|
+
See documentation at: https://docs.rowansci.com/science/workflows/pka
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
import rowan
|
|
16
|
+
|
|
17
|
+
# Set your API key or use the ROWAN_API_KEY environment variable
|
|
18
|
+
# rowan.api_key = "rowan-sk..."
|
|
19
|
+
folder = rowan.get_folder("examples/pka")
|
|
20
|
+
|
|
21
|
+
# 3D structure-based methods — pass a Molecule with coordinates
|
|
22
|
+
mol = rowan.Molecule.from_smiles("c1ccccc1O")
|
|
23
|
+
|
|
24
|
+
workflow = rowan.submit_pka_workflow(
|
|
25
|
+
initial_molecule=mol,
|
|
26
|
+
method="aimnet2_wagen2024",
|
|
27
|
+
name="Phenol pKa (aimnet2_wagen2024)",
|
|
28
|
+
folder=folder,
|
|
29
|
+
)
|
|
30
|
+
print(f"View at: https://labs.rowansci.com/pka/{workflow.uuid}")
|
|
31
|
+
result = workflow.result()
|
|
32
|
+
print(result)
|
|
33
|
+
# e.g. <pKaResult acid=9.87>
|
|
34
|
+
|
|
35
|
+
workflow2 = rowan.submit_pka_workflow(
|
|
36
|
+
initial_molecule=mol,
|
|
37
|
+
method="gxtb_wagen2026",
|
|
38
|
+
name="Phenol pKa (gxtb_wagen2026)",
|
|
39
|
+
folder=folder,
|
|
40
|
+
)
|
|
41
|
+
print(f"View at: https://labs.rowansci.com/pka/{workflow2.uuid}")
|
|
42
|
+
result2 = workflow2.result()
|
|
43
|
+
print(result2)
|
|
44
|
+
# e.g. <pKaResult acid=9.92>
|
|
45
|
+
|
|
46
|
+
# SMILES-based methods — pass a SMILES string directly
|
|
47
|
+
smiles = "c1ccccc1O"
|
|
48
|
+
|
|
49
|
+
workflow3 = rowan.submit_pka_workflow(
|
|
50
|
+
initial_molecule=smiles,
|
|
51
|
+
method="chemprop_nevolianis2025",
|
|
52
|
+
name="Phenol pKa (chemprop_nevolianis2025)",
|
|
53
|
+
folder=folder,
|
|
54
|
+
)
|
|
55
|
+
print(f"View at: https://labs.rowansci.com/pka/{workflow3.uuid}")
|
|
56
|
+
result3 = workflow3.result()
|
|
57
|
+
print(result3)
|
|
58
|
+
# e.g. <pKaResult acid=9.75>
|
|
59
|
+
|
|
60
|
+
workflow4 = rowan.submit_pka_workflow(
|
|
61
|
+
initial_molecule=smiles,
|
|
62
|
+
method="starling",
|
|
63
|
+
name="Phenol pKa (starling)",
|
|
64
|
+
folder=folder,
|
|
65
|
+
)
|
|
66
|
+
print(f"View at: https://labs.rowansci.com/pka/{workflow4.uuid}")
|
|
67
|
+
result4 = workflow4.result()
|
|
68
|
+
print(result4)
|
|
69
|
+
# e.g. <pKaResult acid=9.81>
|
|
@@ -44,12 +44,12 @@ environments:
|
|
|
44
44
|
- pypi: https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl
|
|
45
45
|
- pypi: https://files.pythonhosted.org/packages/98/7c/21252050676612625449b4807d6b695b9ce8a7c9e1c197ee6216c8a65c7c/numpy-2.4.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
|
|
46
46
|
- pypi: https://files.pythonhosted.org/packages/11/8d/d2532ad2a603ca2b93ad9f5135732124e57811d0168155852f37fbce2458/pillow-12.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
|
|
47
|
-
- pypi: https://files.pythonhosted.org/packages/5a/
|
|
48
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
47
|
+
- pypi: https://files.pythonhosted.org/packages/81/5a/2225f4c176dbfed0d809e848b50ef08f70e61daa667b7fa14b0d311ae44d/pydantic-2.13.1-py3-none-any.whl
|
|
48
|
+
- pypi: https://files.pythonhosted.org/packages/76/fd/19d711e4e9331f9d77f222bffc202bf30ea0d74f6419046376bb82f244c8/pydantic_core-2.46.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
|
|
49
49
|
- pypi: https://files.pythonhosted.org/packages/27/60/41cf00319d2a01946854e634f9a5791b0370c08bffbe4d094b0743213f6c/rdkit-2026.3.1-cp314-cp314-manylinux_2_28_x86_64.whl
|
|
50
50
|
- pypi: https://files.pythonhosted.org/packages/d7/8e/7540e8a2036f79a125c1d2ebadf69ed7901608859186c856fa0388ef4197/requests-2.33.1-py3-none-any.whl
|
|
51
51
|
- pypi: https://files.pythonhosted.org/packages/9d/76/f789f7a86709c6b087c5a2f52f911838cad707cc613162401badc665acfe/setuptools-82.0.1-py3-none-any.whl
|
|
52
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
52
|
+
- pypi: https://files.pythonhosted.org/packages/20/1c/0b3011c55381804e68833f192e398c294846e196efe9f9773dcf9d3b4e33/stjames-0.0.182-py3-none-any.whl
|
|
53
53
|
- pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl
|
|
54
54
|
- pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl
|
|
55
55
|
- pypi: https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl
|
|
@@ -83,12 +83,12 @@ environments:
|
|
|
83
83
|
- pypi: https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl
|
|
84
84
|
- pypi: https://files.pythonhosted.org/packages/4c/39/8a320264a84404c74cc7e79715de85d6130fa07a0898f67fb5cd5bd79908/numpy-2.4.4-cp314-cp314-macosx_11_0_arm64.whl
|
|
85
85
|
- pypi: https://files.pythonhosted.org/packages/ba/8c/1a9e46228571de18f8e28f16fabdfc20212a5d019f3e3303452b3f0a580d/pillow-12.2.0-cp314-cp314-macosx_11_0_arm64.whl
|
|
86
|
-
- pypi: https://files.pythonhosted.org/packages/5a/
|
|
87
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
86
|
+
- pypi: https://files.pythonhosted.org/packages/81/5a/2225f4c176dbfed0d809e848b50ef08f70e61daa667b7fa14b0d311ae44d/pydantic-2.13.1-py3-none-any.whl
|
|
87
|
+
- pypi: https://files.pythonhosted.org/packages/d2/87/e9a905ddfcc2fd7bd862b340c02be6ab1f827922822d425513635d0ac774/pydantic_core-2.46.1-cp314-cp314-macosx_11_0_arm64.whl
|
|
88
88
|
- pypi: https://files.pythonhosted.org/packages/6a/a4/c05a31806eaf366af246903230fe441cef8b7949cc4592656025ac8975e6/rdkit-2026.3.1-cp314-cp314-macosx_11_0_arm64.whl
|
|
89
89
|
- pypi: https://files.pythonhosted.org/packages/d7/8e/7540e8a2036f79a125c1d2ebadf69ed7901608859186c856fa0388ef4197/requests-2.33.1-py3-none-any.whl
|
|
90
90
|
- pypi: https://files.pythonhosted.org/packages/9d/76/f789f7a86709c6b087c5a2f52f911838cad707cc613162401badc665acfe/setuptools-82.0.1-py3-none-any.whl
|
|
91
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
91
|
+
- pypi: https://files.pythonhosted.org/packages/20/1c/0b3011c55381804e68833f192e398c294846e196efe9f9773dcf9d3b4e33/stjames-0.0.182-py3-none-any.whl
|
|
92
92
|
- pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl
|
|
93
93
|
- pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl
|
|
94
94
|
- pypi: https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl
|
|
@@ -139,7 +139,7 @@ environments:
|
|
|
139
139
|
- pypi: https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl
|
|
140
140
|
- pypi: https://files.pythonhosted.org/packages/33/6b/e0547afaf41bf2c42e52430072fa5658766e3d65bd4b03a563d1b6336f57/distlib-0.4.0-py2.py3-none-any.whl
|
|
141
141
|
- pypi: https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl
|
|
142
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
142
|
+
- pypi: https://files.pythonhosted.org/packages/3b/21/2f728888c45033d34a417bfcd248ea2564c9e08ab1bfd301377cf05d5586/filelock-3.28.0-py3-none-any.whl
|
|
143
143
|
- pypi: https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl
|
|
144
144
|
- pypi: https://files.pythonhosted.org/packages/2d/88/17d656aa97406cd509e2be0e6eddcf81fc1666104bf81042b89721d4a44c/griffe_pydantic-1.3.1-py3-none-any.whl
|
|
145
145
|
- pypi: https://files.pythonhosted.org/packages/11/8c/c9138d881c79aa0ea9ed83cbd58d5ca75624378b38cee225dcf5c42cc91f/griffelib-2.0.2-py3-none-any.whl
|
|
@@ -163,15 +163,15 @@ environments:
|
|
|
163
163
|
- pypi: https://files.pythonhosted.org/packages/88/29/744136411e785c4b0b744d5413e56555265939ab3a104c6a4b719dad33fd/mkdocs_get_deps-0.2.2-py3-none-any.whl
|
|
164
164
|
- pypi: https://files.pythonhosted.org/packages/2c/01/bc663630c510822c95c47a66af9fa7a443c295b47d5f041e5e6ae62ef659/mkdocs_material-9.7.6-py3-none-any.whl
|
|
165
165
|
- pypi: https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl
|
|
166
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
166
|
+
- pypi: https://files.pythonhosted.org/packages/6e/94/be70f8ee9c45f2f62b39a1f0e9303bc20e138a8f3b8e50ffd89498e177e1/mkdocstrings-1.0.4-py3-none-any.whl
|
|
167
167
|
- pypi: https://files.pythonhosted.org/packages/32/28/79f0f8de97cce916d5ae88a7bee1ad724855e83e6019c0b4d5b3fabc80f3/mkdocstrings_python-2.0.3-py3-none-any.whl
|
|
168
168
|
- pypi: https://files.pythonhosted.org/packages/cb/98/6af411189d9413534c3eb691182bff1f5c6d44ed2f93f2edfe52a1bbceb8/more_itertools-11.0.2-py3-none-any.whl
|
|
169
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
169
|
+
- pypi: https://files.pythonhosted.org/packages/d7/aa/a19d884a8d28fcd3c065776323029f204dbc774e70ec9c85eba228b680de/mypy-1.20.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
|
|
170
170
|
- pypi: https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl
|
|
171
171
|
- pypi: https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl
|
|
172
172
|
- pypi: https://files.pythonhosted.org/packages/88/b2/d0896bdcdc8d28a7fc5717c305f1a861c26e18c05047949fb371034d98bd/nodeenv-1.10.0-py2.py3-none-any.whl
|
|
173
173
|
- pypi: https://files.pythonhosted.org/packages/98/7c/21252050676612625449b4807d6b695b9ce8a7c9e1c197ee6216c8a65c7c/numpy-2.4.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
|
|
174
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
174
|
+
- pypi: https://files.pythonhosted.org/packages/7a/c2/920ef838e2f0028c8262f16101ec09ebd5969864e5a64c4c05fad0617c56/packaging-26.1-py3-none-any.whl
|
|
175
175
|
- pypi: https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl
|
|
176
176
|
- pypi: https://files.pythonhosted.org/packages/b6/61/fae042894f4296ec49e3f193aff5d7c18440da9e48102c3315e1bc4519a7/parso-0.8.6-py2.py3-none-any.whl
|
|
177
177
|
- pypi: https://files.pythonhosted.org/packages/ef/3c/2c197d226f9ea224a9ab8d197933f9da0ae0aac5b6e0f884e2b8d9c8e9f7/pathspec-1.0.4-py3-none-any.whl
|
|
@@ -183,8 +183,8 @@ environments:
|
|
|
183
183
|
- pypi: https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl
|
|
184
184
|
- pypi: https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl
|
|
185
185
|
- pypi: https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl
|
|
186
|
-
- pypi: https://files.pythonhosted.org/packages/5a/
|
|
187
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
186
|
+
- pypi: https://files.pythonhosted.org/packages/81/5a/2225f4c176dbfed0d809e848b50ef08f70e61daa667b7fa14b0d311ae44d/pydantic-2.13.1-py3-none-any.whl
|
|
187
|
+
- pypi: https://files.pythonhosted.org/packages/76/fd/19d711e4e9331f9d77f222bffc202bf30ea0d74f6419046376bb82f244c8/pydantic_core-2.46.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
|
|
188
188
|
- pypi: https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl
|
|
189
189
|
- pypi: https://files.pythonhosted.org/packages/f7/27/a2fc51a4a122dfd1015e921ae9d22fee3d20b0b8080d9a704578bf9deece/pymdown_extensions-10.21.2-py3-none-any.whl
|
|
190
190
|
- pypi: https://files.pythonhosted.org/packages/d4/24/a372aaf5c9b7208e7112038812994107bc65a84cd00e0354a88c2c77a617/pytest-9.0.3-py3-none-any.whl
|
|
@@ -201,12 +201,12 @@ environments:
|
|
|
201
201
|
- pypi: https://files.pythonhosted.org/packages/9d/76/f789f7a86709c6b087c5a2f52f911838cad707cc613162401badc665acfe/setuptools-82.0.1-py3-none-any.whl
|
|
202
202
|
- pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl
|
|
203
203
|
- pypi: https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl
|
|
204
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
204
|
+
- pypi: https://files.pythonhosted.org/packages/20/1c/0b3011c55381804e68833f192e398c294846e196efe9f9773dcf9d3b4e33/stjames-0.0.182-py3-none-any.whl
|
|
205
205
|
- pypi: https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl
|
|
206
206
|
- pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl
|
|
207
207
|
- pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl
|
|
208
208
|
- pypi: https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl
|
|
209
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
209
|
+
- pypi: https://files.pythonhosted.org/packages/27/8d/edd0bd910ff803c308ee9a6b7778621af0d10252219ad9f19ef4d4982a61/virtualenv-21.2.4-py3-none-any.whl
|
|
210
210
|
- pypi: https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl
|
|
211
211
|
- pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl
|
|
212
212
|
- pypi: ./
|
|
@@ -241,7 +241,7 @@ environments:
|
|
|
241
241
|
- pypi: https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl
|
|
242
242
|
- pypi: https://files.pythonhosted.org/packages/33/6b/e0547afaf41bf2c42e52430072fa5658766e3d65bd4b03a563d1b6336f57/distlib-0.4.0-py2.py3-none-any.whl
|
|
243
243
|
- pypi: https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl
|
|
244
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
244
|
+
- pypi: https://files.pythonhosted.org/packages/3b/21/2f728888c45033d34a417bfcd248ea2564c9e08ab1bfd301377cf05d5586/filelock-3.28.0-py3-none-any.whl
|
|
245
245
|
- pypi: https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl
|
|
246
246
|
- pypi: https://files.pythonhosted.org/packages/2d/88/17d656aa97406cd509e2be0e6eddcf81fc1666104bf81042b89721d4a44c/griffe_pydantic-1.3.1-py3-none-any.whl
|
|
247
247
|
- pypi: https://files.pythonhosted.org/packages/11/8c/c9138d881c79aa0ea9ed83cbd58d5ca75624378b38cee225dcf5c42cc91f/griffelib-2.0.2-py3-none-any.whl
|
|
@@ -265,15 +265,15 @@ environments:
|
|
|
265
265
|
- pypi: https://files.pythonhosted.org/packages/88/29/744136411e785c4b0b744d5413e56555265939ab3a104c6a4b719dad33fd/mkdocs_get_deps-0.2.2-py3-none-any.whl
|
|
266
266
|
- pypi: https://files.pythonhosted.org/packages/2c/01/bc663630c510822c95c47a66af9fa7a443c295b47d5f041e5e6ae62ef659/mkdocs_material-9.7.6-py3-none-any.whl
|
|
267
267
|
- pypi: https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl
|
|
268
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
268
|
+
- pypi: https://files.pythonhosted.org/packages/6e/94/be70f8ee9c45f2f62b39a1f0e9303bc20e138a8f3b8e50ffd89498e177e1/mkdocstrings-1.0.4-py3-none-any.whl
|
|
269
269
|
- pypi: https://files.pythonhosted.org/packages/32/28/79f0f8de97cce916d5ae88a7bee1ad724855e83e6019c0b4d5b3fabc80f3/mkdocstrings_python-2.0.3-py3-none-any.whl
|
|
270
270
|
- pypi: https://files.pythonhosted.org/packages/cb/98/6af411189d9413534c3eb691182bff1f5c6d44ed2f93f2edfe52a1bbceb8/more_itertools-11.0.2-py3-none-any.whl
|
|
271
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
271
|
+
- pypi: https://files.pythonhosted.org/packages/d5/82/74e62e7097fa67da328ac8ece8de09133448c04d20ddeaeba251a3000f01/mypy-1.20.1-cp314-cp314-macosx_11_0_arm64.whl
|
|
272
272
|
- pypi: https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl
|
|
273
273
|
- pypi: https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl
|
|
274
274
|
- pypi: https://files.pythonhosted.org/packages/88/b2/d0896bdcdc8d28a7fc5717c305f1a861c26e18c05047949fb371034d98bd/nodeenv-1.10.0-py2.py3-none-any.whl
|
|
275
275
|
- pypi: https://files.pythonhosted.org/packages/4c/39/8a320264a84404c74cc7e79715de85d6130fa07a0898f67fb5cd5bd79908/numpy-2.4.4-cp314-cp314-macosx_11_0_arm64.whl
|
|
276
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
276
|
+
- pypi: https://files.pythonhosted.org/packages/7a/c2/920ef838e2f0028c8262f16101ec09ebd5969864e5a64c4c05fad0617c56/packaging-26.1-py3-none-any.whl
|
|
277
277
|
- pypi: https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl
|
|
278
278
|
- pypi: https://files.pythonhosted.org/packages/b6/61/fae042894f4296ec49e3f193aff5d7c18440da9e48102c3315e1bc4519a7/parso-0.8.6-py2.py3-none-any.whl
|
|
279
279
|
- pypi: https://files.pythonhosted.org/packages/ef/3c/2c197d226f9ea224a9ab8d197933f9da0ae0aac5b6e0f884e2b8d9c8e9f7/pathspec-1.0.4-py3-none-any.whl
|
|
@@ -285,8 +285,8 @@ environments:
|
|
|
285
285
|
- pypi: https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl
|
|
286
286
|
- pypi: https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl
|
|
287
287
|
- pypi: https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl
|
|
288
|
-
- pypi: https://files.pythonhosted.org/packages/5a/
|
|
289
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
288
|
+
- pypi: https://files.pythonhosted.org/packages/81/5a/2225f4c176dbfed0d809e848b50ef08f70e61daa667b7fa14b0d311ae44d/pydantic-2.13.1-py3-none-any.whl
|
|
289
|
+
- pypi: https://files.pythonhosted.org/packages/d2/87/e9a905ddfcc2fd7bd862b340c02be6ab1f827922822d425513635d0ac774/pydantic_core-2.46.1-cp314-cp314-macosx_11_0_arm64.whl
|
|
290
290
|
- pypi: https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl
|
|
291
291
|
- pypi: https://files.pythonhosted.org/packages/f7/27/a2fc51a4a122dfd1015e921ae9d22fee3d20b0b8080d9a704578bf9deece/pymdown_extensions-10.21.2-py3-none-any.whl
|
|
292
292
|
- pypi: https://files.pythonhosted.org/packages/d4/24/a372aaf5c9b7208e7112038812994107bc65a84cd00e0354a88c2c77a617/pytest-9.0.3-py3-none-any.whl
|
|
@@ -303,12 +303,12 @@ environments:
|
|
|
303
303
|
- pypi: https://files.pythonhosted.org/packages/9d/76/f789f7a86709c6b087c5a2f52f911838cad707cc613162401badc665acfe/setuptools-82.0.1-py3-none-any.whl
|
|
304
304
|
- pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl
|
|
305
305
|
- pypi: https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl
|
|
306
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
306
|
+
- pypi: https://files.pythonhosted.org/packages/20/1c/0b3011c55381804e68833f192e398c294846e196efe9f9773dcf9d3b4e33/stjames-0.0.182-py3-none-any.whl
|
|
307
307
|
- pypi: https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl
|
|
308
308
|
- pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl
|
|
309
309
|
- pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl
|
|
310
310
|
- pypi: https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl
|
|
311
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
311
|
+
- pypi: https://files.pythonhosted.org/packages/27/8d/edd0bd910ff803c308ee9a6b7778621af0d10252219ad9f19ef4d4982a61/virtualenv-21.2.4-py3-none-any.whl
|
|
312
312
|
- pypi: https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz
|
|
313
313
|
- pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl
|
|
314
314
|
- pypi: ./
|
|
@@ -475,10 +475,10 @@ packages:
|
|
|
475
475
|
- littleutils ; extra == 'tests'
|
|
476
476
|
- rich ; python_full_version >= '3.11' and extra == 'tests'
|
|
477
477
|
requires_python: '>=3.8'
|
|
478
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
478
|
+
- pypi: https://files.pythonhosted.org/packages/3b/21/2f728888c45033d34a417bfcd248ea2564c9e08ab1bfd301377cf05d5586/filelock-3.28.0-py3-none-any.whl
|
|
479
479
|
name: filelock
|
|
480
|
-
version: 3.
|
|
481
|
-
sha256:
|
|
480
|
+
version: 3.28.0
|
|
481
|
+
sha256: de9af6712788e7171df1b28b15eba2446c69721433fa427a9bee07b17820a9db
|
|
482
482
|
requires_python: '>=3.10'
|
|
483
483
|
- pypi: https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl
|
|
484
484
|
name: ghp-import
|
|
@@ -1009,10 +1009,10 @@ packages:
|
|
|
1009
1009
|
version: 1.3.1
|
|
1010
1010
|
sha256: adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31
|
|
1011
1011
|
requires_python: '>=3.8'
|
|
1012
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
1012
|
+
- pypi: https://files.pythonhosted.org/packages/6e/94/be70f8ee9c45f2f62b39a1f0e9303bc20e138a8f3b8e50ffd89498e177e1/mkdocstrings-1.0.4-py3-none-any.whl
|
|
1013
1013
|
name: mkdocstrings
|
|
1014
|
-
version: 1.0.
|
|
1015
|
-
sha256:
|
|
1014
|
+
version: 1.0.4
|
|
1015
|
+
sha256: 63464b4b29053514f32a1dbbf604e52876d5e638111b0c295ab7ed3cac73ca9b
|
|
1016
1016
|
requires_dist:
|
|
1017
1017
|
- jinja2>=3.1
|
|
1018
1018
|
- markdown>=3.6
|
|
@@ -1039,10 +1039,10 @@ packages:
|
|
|
1039
1039
|
version: 11.0.2
|
|
1040
1040
|
sha256: 6e35b35f818b01f691643c6c611bc0902f2e92b46c18fffa77ae1e7c46e912e4
|
|
1041
1041
|
requires_python: '>=3.10'
|
|
1042
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
1042
|
+
- pypi: https://files.pythonhosted.org/packages/d5/82/74e62e7097fa67da328ac8ece8de09133448c04d20ddeaeba251a3000f01/mypy-1.20.1-cp314-cp314-macosx_11_0_arm64.whl
|
|
1043
1043
|
name: mypy
|
|
1044
|
-
version: 1.20.
|
|
1045
|
-
sha256:
|
|
1044
|
+
version: 1.20.1
|
|
1045
|
+
sha256: 752507dd481e958b2c08fc966d3806c962af5a9433b5bf8f3bdd7175c20e34fe
|
|
1046
1046
|
requires_dist:
|
|
1047
1047
|
- typing-extensions>=4.6.0
|
|
1048
1048
|
- mypy-extensions>=1.0.0
|
|
@@ -1056,10 +1056,10 @@ packages:
|
|
|
1056
1056
|
- orjson ; extra == 'faster-cache'
|
|
1057
1057
|
- ast-serialize>=0.1.1,<1.0.0 ; extra == 'native-parser'
|
|
1058
1058
|
requires_python: '>=3.10'
|
|
1059
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
1059
|
+
- pypi: https://files.pythonhosted.org/packages/d7/aa/a19d884a8d28fcd3c065776323029f204dbc774e70ec9c85eba228b680de/mypy-1.20.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
|
|
1060
1060
|
name: mypy
|
|
1061
|
-
version: 1.20.
|
|
1062
|
-
sha256:
|
|
1061
|
+
version: 1.20.1
|
|
1062
|
+
sha256: 2c3f6221a76f34d5100c6d35b3ef6b947054123c3f8d6938a4ba00b1308aa572
|
|
1063
1063
|
requires_dist:
|
|
1064
1064
|
- typing-extensions>=4.6.0
|
|
1065
1065
|
- mypy-extensions>=1.0.0
|
|
@@ -1140,10 +1140,10 @@ packages:
|
|
|
1140
1140
|
purls: []
|
|
1141
1141
|
size: 3106008
|
|
1142
1142
|
timestamp: 1775587972483
|
|
1143
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
1143
|
+
- pypi: https://files.pythonhosted.org/packages/7a/c2/920ef838e2f0028c8262f16101ec09ebd5969864e5a64c4c05fad0617c56/packaging-26.1-py3-none-any.whl
|
|
1144
1144
|
name: packaging
|
|
1145
|
-
version: '26.
|
|
1146
|
-
sha256:
|
|
1145
|
+
version: '26.1'
|
|
1146
|
+
sha256: 5d9c0669c6285e491e0ced2eee587eaf67b670d94a19e94e3984a481aba6802f
|
|
1147
1147
|
requires_python: '>=3.8'
|
|
1148
1148
|
- pypi: https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl
|
|
1149
1149
|
name: paginate
|
|
@@ -1289,29 +1289,29 @@ packages:
|
|
|
1289
1289
|
sha256: 1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0
|
|
1290
1290
|
requires_dist:
|
|
1291
1291
|
- pytest ; extra == 'tests'
|
|
1292
|
-
- pypi: https://files.pythonhosted.org/packages/5a/
|
|
1292
|
+
- pypi: https://files.pythonhosted.org/packages/81/5a/2225f4c176dbfed0d809e848b50ef08f70e61daa667b7fa14b0d311ae44d/pydantic-2.13.1-py3-none-any.whl
|
|
1293
1293
|
name: pydantic
|
|
1294
|
-
version: 2.
|
|
1295
|
-
sha256:
|
|
1294
|
+
version: 2.13.1
|
|
1295
|
+
sha256: 9557ecc2806faaf6037f85b1fbd963d01e30511c48085f0d573650fdeaad378a
|
|
1296
1296
|
requires_dist:
|
|
1297
1297
|
- annotated-types>=0.6.0
|
|
1298
|
-
- pydantic-core==2.
|
|
1298
|
+
- pydantic-core==2.46.1
|
|
1299
1299
|
- typing-extensions>=4.14.1
|
|
1300
1300
|
- typing-inspection>=0.4.2
|
|
1301
1301
|
- email-validator>=2.0.0 ; extra == 'email'
|
|
1302
1302
|
- tzdata ; python_full_version >= '3.9' and sys_platform == 'win32' and extra == 'timezone'
|
|
1303
1303
|
requires_python: '>=3.9'
|
|
1304
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
1304
|
+
- pypi: https://files.pythonhosted.org/packages/76/fd/19d711e4e9331f9d77f222bffc202bf30ea0d74f6419046376bb82f244c8/pydantic_core-2.46.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
|
|
1305
1305
|
name: pydantic-core
|
|
1306
|
-
version: 2.
|
|
1307
|
-
sha256:
|
|
1306
|
+
version: 2.46.1
|
|
1307
|
+
sha256: b83ce9fede4bc4fb649281d9857f06d30198b8f70168f18b987518d713111572
|
|
1308
1308
|
requires_dist:
|
|
1309
1309
|
- typing-extensions>=4.14.1
|
|
1310
1310
|
requires_python: '>=3.9'
|
|
1311
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
1311
|
+
- pypi: https://files.pythonhosted.org/packages/d2/87/e9a905ddfcc2fd7bd862b340c02be6ab1f827922822d425513635d0ac774/pydantic_core-2.46.1-cp314-cp314-macosx_11_0_arm64.whl
|
|
1312
1312
|
name: pydantic-core
|
|
1313
|
-
version: 2.
|
|
1314
|
-
sha256:
|
|
1313
|
+
version: 2.46.1
|
|
1314
|
+
sha256: 0e749679ca9f8a9d0bff95fb7f6b57bb53f2207fa42ffcc1ec86de7e0029ab89
|
|
1315
1315
|
requires_dist:
|
|
1316
1316
|
- typing-extensions>=4.14.1
|
|
1317
1317
|
requires_python: '>=3.9'
|
|
@@ -1531,8 +1531,8 @@ packages:
|
|
|
1531
1531
|
requires_python: '>=3.10'
|
|
1532
1532
|
- pypi: ./
|
|
1533
1533
|
name: rowan-python
|
|
1534
|
-
version: 3.0.
|
|
1535
|
-
sha256:
|
|
1534
|
+
version: 3.0.6
|
|
1535
|
+
sha256: 511acf0d60990b7bf5a6ca9567cd6417cc18dd5e2b2cce084394de59e5327a08
|
|
1536
1536
|
requires_dist:
|
|
1537
1537
|
- httpx
|
|
1538
1538
|
- stjames>=0.0.174
|
|
@@ -1624,10 +1624,10 @@ packages:
|
|
|
1624
1624
|
- pygments ; extra == 'tests'
|
|
1625
1625
|
- littleutils ; extra == 'tests'
|
|
1626
1626
|
- cython ; extra == 'tests'
|
|
1627
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
1627
|
+
- pypi: https://files.pythonhosted.org/packages/20/1c/0b3011c55381804e68833f192e398c294846e196efe9f9773dcf9d3b4e33/stjames-0.0.182-py3-none-any.whl
|
|
1628
1628
|
name: stjames
|
|
1629
|
-
version: 0.0.
|
|
1630
|
-
sha256:
|
|
1629
|
+
version: 0.0.182
|
|
1630
|
+
sha256: 4a243ff896e36eecc3cf3ebdd659efe83c60e245aecc00c495fadb4ec1e1255c
|
|
1631
1631
|
requires_dist:
|
|
1632
1632
|
- pydantic>=2.4
|
|
1633
1633
|
- numpy
|
|
@@ -1705,17 +1705,17 @@ packages:
|
|
|
1705
1705
|
- pysocks>=1.5.6,!=1.5.7,<2.0 ; extra == 'socks'
|
|
1706
1706
|
- backports-zstd>=1.0.0 ; python_full_version < '3.14' and extra == 'zstd'
|
|
1707
1707
|
requires_python: '>=3.9'
|
|
1708
|
-
- pypi: https://files.pythonhosted.org/packages/
|
|
1708
|
+
- pypi: https://files.pythonhosted.org/packages/27/8d/edd0bd910ff803c308ee9a6b7778621af0d10252219ad9f19ef4d4982a61/virtualenv-21.2.4-py3-none-any.whl
|
|
1709
1709
|
name: virtualenv
|
|
1710
|
-
version: 21.2.
|
|
1711
|
-
sha256:
|
|
1710
|
+
version: 21.2.4
|
|
1711
|
+
sha256: 29d21e941795206138d0f22f4e45ff7050e5da6c6472299fb7103318763861ac
|
|
1712
1712
|
requires_dist:
|
|
1713
1713
|
- distlib>=0.3.7,<1
|
|
1714
1714
|
- filelock>=3.24.2,<4 ; python_full_version >= '3.10'
|
|
1715
1715
|
- filelock>=3.16.1,<=3.19.1 ; python_full_version < '3.10'
|
|
1716
1716
|
- importlib-metadata>=6.6 ; python_full_version < '3.8'
|
|
1717
1717
|
- platformdirs>=3.9.1,<5
|
|
1718
|
-
- python-discovery>=1
|
|
1718
|
+
- python-discovery>=1.2.2
|
|
1719
1719
|
- typing-extensions>=4.13.2 ; python_full_version < '3.11'
|
|
1720
1720
|
requires_python: '>=3.8'
|
|
1721
1721
|
- pypi: https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl
|
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
# ruff: noqa
|
|
2
2
|
from . import constants
|
|
3
3
|
from stjames import (
|
|
4
|
+
Atom,
|
|
4
5
|
Constraint,
|
|
5
6
|
ConstraintType,
|
|
7
|
+
ConformerGenSettingsUnion,
|
|
6
8
|
Correction,
|
|
7
9
|
Engine,
|
|
10
|
+
ETKDGSettings,
|
|
11
|
+
iMTDSettings,
|
|
8
12
|
Method,
|
|
9
13
|
Mode,
|
|
14
|
+
MultiStageOptSettings,
|
|
10
15
|
OptimizationSettings,
|
|
16
|
+
PBCDFTSettings,
|
|
17
|
+
PeriodicCell,
|
|
11
18
|
Settings,
|
|
12
19
|
SolventSettings,
|
|
13
20
|
Task,
|
|
14
21
|
)
|
|
22
|
+
from stjames.pbc_dft_settings import PBCDFTSmearing
|
|
15
23
|
from stjames.optimization.freezing_string_method import (
|
|
16
24
|
FSMInterpolation,
|
|
17
25
|
FSMOptimizationCoordinates,
|