rowan-python 2.1.3__tar.gz → 2.1.5__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.
Files changed (52) hide show
  1. {rowan_python-2.1.3 → rowan_python-2.1.5}/PKG-INFO +2 -2
  2. {rowan_python-2.1.3 → rowan_python-2.1.5}/examples/PROTAC_solubility.py +1 -0
  3. rowan_python-2.1.5/examples/aqueous_solubility.py +17 -0
  4. rowan_python-2.1.5/examples/ion_mobility.py +17 -0
  5. {rowan_python-2.1.3 → rowan_python-2.1.5}/examples/macropka.py +2 -0
  6. rowan_python-2.1.5/examples/nmr.py +17 -0
  7. {rowan_python-2.1.3 → rowan_python-2.1.5}/pixi.lock +140 -153
  8. {rowan_python-2.1.3 → rowan_python-2.1.5}/pyproject.toml +2 -2
  9. rowan_python-2.1.5/rowan/constants.py +3 -0
  10. {rowan_python-2.1.3 → rowan_python-2.1.5}/rowan/utils.py +1 -0
  11. {rowan_python-2.1.3 → rowan_python-2.1.5}/rowan/workflow.py +118 -4
  12. rowan_python-2.1.3/rowan/constants.py +0 -1
  13. {rowan_python-2.1.3 → rowan_python-2.1.5}/.envrc +0 -0
  14. {rowan_python-2.1.3 → rowan_python-2.1.5}/.github/workflows/python-publish.yml +0 -0
  15. {rowan_python-2.1.3 → rowan_python-2.1.5}/.github/workflows/test.yml +0 -0
  16. {rowan_python-2.1.3 → rowan_python-2.1.5}/.gitignore +0 -0
  17. {rowan_python-2.1.3 → rowan_python-2.1.5}/.pre-commit-config.yaml +0 -0
  18. {rowan_python-2.1.3 → rowan_python-2.1.5}/LICENSE +0 -0
  19. {rowan_python-2.1.3 → rowan_python-2.1.5}/README.md +0 -0
  20. {rowan_python-2.1.3 → rowan_python-2.1.5}/docs/images/deciduous-tree-favicon.png +0 -0
  21. {rowan_python-2.1.3 → rowan_python-2.1.5}/docs/index.md +0 -0
  22. {rowan_python-2.1.3 → rowan_python-2.1.5}/docs/rowan_rdkit.md +0 -0
  23. {rowan_python-2.1.3 → rowan_python-2.1.5}/docs/stylesheets/colors.css +0 -0
  24. {rowan_python-2.1.3 → rowan_python-2.1.5}/examples/basic_calculation.py +0 -0
  25. {rowan_python-2.1.3 → rowan_python-2.1.5}/examples/basic_calculation_from_json.py +0 -0
  26. {rowan_python-2.1.3 → rowan_python-2.1.5}/examples/basic_calculation_with_constraint.py +0 -0
  27. {rowan_python-2.1.3 → rowan_python-2.1.5}/examples/basic_calculation_with_solvent.py +0 -0
  28. {rowan_python-2.1.3 → rowan_python-2.1.5}/examples/bde.py +0 -0
  29. {rowan_python-2.1.3 → rowan_python-2.1.5}/examples/cofolding_screen.py +0 -0
  30. {rowan_python-2.1.3 → rowan_python-2.1.5}/examples/conformer_dependent_redox.py +0 -0
  31. {rowan_python-2.1.3 → rowan_python-2.1.5}/examples/conformers.py +0 -0
  32. {rowan_python-2.1.3 → rowan_python-2.1.5}/examples/data/workflow_example.json +0 -0
  33. {rowan_python-2.1.3 → rowan_python-2.1.5}/examples/docking_screen.py +0 -0
  34. {rowan_python-2.1.3 → rowan_python-2.1.5}/examples/fukui_index.py +0 -0
  35. {rowan_python-2.1.3 → rowan_python-2.1.5}/examples/irc.py +0 -0
  36. {rowan_python-2.1.3 → rowan_python-2.1.5}/examples/multistage_opt.py +0 -0
  37. {rowan_python-2.1.3 → rowan_python-2.1.5}/examples/optimization.py +0 -0
  38. {rowan_python-2.1.3 → rowan_python-2.1.5}/examples/phenol_pka.py +0 -0
  39. {rowan_python-2.1.3 → rowan_python-2.1.5}/examples/pka.py +0 -0
  40. {rowan_python-2.1.3 → rowan_python-2.1.5}/examples/protein_cofolding.py +0 -0
  41. {rowan_python-2.1.3 → rowan_python-2.1.5}/examples/redox_potential.py +0 -0
  42. {rowan_python-2.1.3 → rowan_python-2.1.5}/examples/scan.py +0 -0
  43. {rowan_python-2.1.3 → rowan_python-2.1.5}/examples/tautomer.py +0 -0
  44. {rowan_python-2.1.3 → rowan_python-2.1.5}/mkdocs.yml +0 -0
  45. {rowan_python-2.1.3 → rowan_python-2.1.5}/rowan/__init__.py +0 -0
  46. {rowan_python-2.1.3 → rowan_python-2.1.5}/rowan/folder.py +0 -0
  47. {rowan_python-2.1.3 → rowan_python-2.1.5}/rowan/project.py +0 -0
  48. {rowan_python-2.1.3 → rowan_python-2.1.5}/rowan/protein.py +0 -0
  49. {rowan_python-2.1.3 → rowan_python-2.1.5}/rowan/py.typed +0 -0
  50. {rowan_python-2.1.3 → rowan_python-2.1.5}/rowan/rowan_rdkit/__init__.py +0 -0
  51. {rowan_python-2.1.3 → rowan_python-2.1.5}/rowan/rowan_rdkit/chem_utils.py +0 -0
  52. {rowan_python-2.1.3 → rowan_python-2.1.5}/rowan/user.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rowan-python
3
- Version: 2.1.3
3
+ Version: 2.1.5
4
4
  Summary: Rowan Python Library
5
5
  Project-URL: Homepage, https://github.com/rowansci/rowan-client
6
6
  Project-URL: Bug Tracker, https://github.com/rowansci/rowan-client/issues
@@ -11,7 +11,7 @@ Requires-Dist: httpx
11
11
  Requires-Dist: nest-asyncio
12
12
  Requires-Dist: rdkit
13
13
  Requires-Dist: setuptools
14
- Requires-Dist: stjames>=0.0.83
14
+ Requires-Dist: stjames>=0.0.104
15
15
  Description-Content-Type: text/markdown
16
16
 
17
17
  # Rowan Python Library
@@ -32,6 +32,7 @@ for id, smiles in PROTACs.items():
32
32
  workflows.append(
33
33
  rowan.submit_solubility_workflow(
34
34
  initial_smiles=smiles,
35
+ solubility_method="fastsolv",
35
36
  solvents=["CS(=O)C"],
36
37
  temperatures=[293.15],
37
38
  folder_uuid=protac_solubility_folder.uuid,
@@ -0,0 +1,17 @@
1
+ import rowan
2
+
3
+ # rowan.api_key = ""
4
+
5
+
6
+ oseltamivir_SMILES = "C1CCOC(=O)C1=C[C@@H](OC(CC)CC)[C@H](NC(C)=O)[C@@H]([NH3+])C1CCC1"
7
+
8
+ result = rowan.submit_solubility_workflow(
9
+ initial_smiles=oseltamivir_SMILES,
10
+ solubility_method="kingfisher",
11
+ solvents=["O"],
12
+ temperatures=[298.15],
13
+ name="Oseltamivir aqueous solubility",
14
+ )
15
+
16
+ # Solubility units are log(mol/L) and temperature units are kelvin
17
+ print(result.wait_for_result().fetch_latest(in_place=True))
@@ -0,0 +1,17 @@
1
+ from stjames import Molecule
2
+
3
+ import rowan
4
+
5
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
6
+ # rowan.api_key = "rowan-sk..."
7
+
8
+ result = rowan.submit_ion_mobility_workflow(
9
+ Molecule.from_smiles("c1ccccn1"),
10
+ name="pyridinium CCS",
11
+ protonate=True,
12
+ )
13
+
14
+
15
+ result.wait_for_result().fetch_latest(in_place=True)
16
+
17
+ print(result.data["average_ccs"]) # Å**2
@@ -7,7 +7,9 @@ result = rowan.submit_macropka_workflow(
7
7
  # oseltamivir
8
8
  initial_smiles="C1CCOC(=O)C1=C[C@@H](OC(CC)CC)[C@H](NC(C)=O)[C@@H]([NH3+])C1CCC1",
9
9
  name="Oseltamivir macropka",
10
+ compute_aqueous_solubility=True,
10
11
  )
11
12
 
12
13
 
14
+ # Solubility units are log(mol/L)
13
15
  print(result.wait_for_result().fetch_latest(in_place=True))
@@ -0,0 +1,17 @@
1
+ from stjames import Molecule
2
+
3
+ import rowan
4
+
5
+ # Set ROWAN_API_KEY environment variable to your API key or set rowan.api_key directly
6
+ # rowan.api_key = "rowan-sk..."
7
+
8
+ result = rowan.submit_nmr_workflow(
9
+ Molecule.from_smiles("O[C@H]1[C@H](C(C)C)CC[C@@H](C)C1"),
10
+ name="menthol NMR",
11
+ )
12
+
13
+ result.wait_for_result().fetch_latest(in_place=True)
14
+
15
+ # print hydrogen peaks
16
+ for peak in result.data["predicted_peaks"]["1"]:
17
+ print(peak)
@@ -9,22 +9,21 @@ environments:
9
9
  linux-64:
10
10
  - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2
11
11
  - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2
12
- - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda
12
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda
13
13
  - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.8.3-hbd8a1cb_0.conda
14
14
  - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1423503_1.conda
15
15
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda
16
16
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.6-h2dba641_1.conda
17
- - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.1.0-h767d61c_4.conda
18
- - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.1.0-h69a702a_4.conda
19
- - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.1.0-h767d61c_4.conda
17
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.1.0-h767d61c_5.conda
18
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.1.0-h767d61c_5.conda
20
19
  - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda
21
20
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb9d3cd8_0.conda
22
21
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.50.4-h0c1763c_0.conda
23
- - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda
22
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.1-he9a06e4_0.conda
24
23
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda
25
24
  - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda
26
25
  - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.2-h26f9b46_0.conda
27
- - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.13.5-hec9711d_102_cp313.conda
26
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.13.7-h2b335a9_100_cp313.conda
28
27
  - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.13-8_cp313.conda
29
28
  - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda
30
29
  - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda
@@ -39,21 +38,21 @@ environments:
39
38
  - pypi: https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl
40
39
  - pypi: https://files.pythonhosted.org/packages/a4/8e/469e5a4a2f5855992e425f3cb33804cc07bf18d48f2db061aec61ce50270/more_itertools-10.8.0-py3-none-any.whl
41
40
  - pypi: https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl
42
- - pypi: https://files.pythonhosted.org/packages/1d/0f/571b2c7a3833ae419fe69ff7b479a78d313581785203cc70a8db90121b9a/numpy-2.3.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
41
+ - pypi: https://files.pythonhosted.org/packages/9a/a5/bf3db6e66c4b160d6ea10b534c381a1955dfab34cb1017ea93aa33c70ed3/numpy-2.3.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
43
42
  - pypi: https://files.pythonhosted.org/packages/d5/1c/a2a29649c0b1983d3ef57ee87a66487fdeb45132df66ab30dd37f7dbe162/pillow-11.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
44
43
  - pypi: https://files.pythonhosted.org/packages/6a/c0/ec2b1c8712ca690e5d61979dee872603e92b8a32f94cc1b72d53beab008a/pydantic-2.11.7-py3-none-any.whl
45
44
  - pypi: https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
46
- - pypi: https://files.pythonhosted.org/packages/8b/6a/c6ec8e124bc621ce0706894f877c6f57d7c9c53cbc73510ac046d40b4dc7/rdkit-2025.3.5-cp313-cp313-manylinux_2_28_x86_64.whl
45
+ - pypi: https://files.pythonhosted.org/packages/c1/82/b2330569fbff20c5f5495f69ae28d3e61dfbc055f00b7fe977905a574089/rdkit-2025.3.6-cp313-cp313-manylinux_2_28_x86_64.whl
47
46
  - pypi: https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl
48
47
  - pypi: https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl
49
48
  - pypi: https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl
50
- - pypi: https://files.pythonhosted.org/packages/ed/96/f3b274b32a711fad65f317731411a6fefc65c6d738926dc9d1e607bddb81/stjames-0.0.102-py3-none-any.whl
49
+ - pypi: https://files.pythonhosted.org/packages/00/f0/e816b819334c25a221ac1e10b2d24a8428233364b6511191cd7894f5390f/stjames-0.0.105-py3-none-any.whl
51
50
  - pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl
52
51
  - pypi: https://files.pythonhosted.org/packages/17/69/cd203477f944c353c31bade965f880aa1061fd6bf05ded0726ca845b6ff7/typing_inspection-0.4.1-py3-none-any.whl
53
52
  - pypi: https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl
54
53
  - pypi: ./
55
54
  osx-arm64:
56
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda
55
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_8.conda
57
56
  - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.8.3-hbd8a1cb_0.conda
58
57
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda
59
58
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.7.1-hec049ff_0.conda
@@ -64,7 +63,7 @@ environments:
64
63
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda
65
64
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda
66
65
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.5.2-he92f556_0.conda
67
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.13.5-hf3f3da0_102_cp313.conda
66
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.13.7-h5c937ed_100_cp313.conda
68
67
  - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.13-8_cp313.conda
69
68
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h1d1bf99_2.conda
70
69
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h892fb3f_2.conda
@@ -79,15 +78,15 @@ environments:
79
78
  - pypi: https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl
80
79
  - pypi: https://files.pythonhosted.org/packages/a4/8e/469e5a4a2f5855992e425f3cb33804cc07bf18d48f2db061aec61ce50270/more_itertools-10.8.0-py3-none-any.whl
81
80
  - pypi: https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl
82
- - pypi: https://files.pythonhosted.org/packages/20/4e/c116466d22acaf4573e58421c956c6076dc526e24a6be0903219775d862e/numpy-2.3.2-cp313-cp313-macosx_11_0_arm64.whl
81
+ - pypi: https://files.pythonhosted.org/packages/a6/e4/07970e3bed0b1384d22af1e9912527ecbeb47d3b26e9b6a3bced068b3bea/numpy-2.3.3-cp313-cp313-macosx_11_0_arm64.whl
83
82
  - pypi: https://files.pythonhosted.org/packages/f9/0e/37d7d3eca6c879fbd9dba21268427dffda1ab00d4eb05b32923d4fbe3b12/pillow-11.3.0-cp313-cp313-macosx_11_0_arm64.whl
84
83
  - pypi: https://files.pythonhosted.org/packages/6a/c0/ec2b1c8712ca690e5d61979dee872603e92b8a32f94cc1b72d53beab008a/pydantic-2.11.7-py3-none-any.whl
85
84
  - pypi: https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl
86
- - pypi: https://files.pythonhosted.org/packages/c6/1d/4cc7d00c388dde4cb4ce6ff7c4314f0f2c0e342d5b7a7b779fc12c32cf5a/rdkit-2025.3.5-cp313-cp313-macosx_11_0_arm64.whl
85
+ - pypi: https://files.pythonhosted.org/packages/e7/36/1fb7644ff06817a9e3b67d70da53dea59b64c38badc49426e8338e36fbdd/rdkit-2025.3.6-cp313-cp313-macosx_11_0_arm64.whl
87
86
  - pypi: https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl
88
87
  - pypi: https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl
89
88
  - pypi: https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl
90
- - pypi: https://files.pythonhosted.org/packages/ed/96/f3b274b32a711fad65f317731411a6fefc65c6d738926dc9d1e607bddb81/stjames-0.0.102-py3-none-any.whl
89
+ - pypi: https://files.pythonhosted.org/packages/00/f0/e816b819334c25a221ac1e10b2d24a8428233364b6511191cd7894f5390f/stjames-0.0.105-py3-none-any.whl
91
90
  - pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl
92
91
  - pypi: https://files.pythonhosted.org/packages/17/69/cd203477f944c353c31bade965f880aa1061fd6bf05ded0726ca845b6ff7/typing_inspection-0.4.1-py3-none-any.whl
93
92
  - pypi: https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl
@@ -101,22 +100,21 @@ environments:
101
100
  linux-64:
102
101
  - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2
103
102
  - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2
104
- - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda
103
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda
105
104
  - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.8.3-hbd8a1cb_0.conda
106
105
  - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1423503_1.conda
107
106
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda
108
107
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.6-h2dba641_1.conda
109
- - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.1.0-h767d61c_4.conda
110
- - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.1.0-h69a702a_4.conda
111
- - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.1.0-h767d61c_4.conda
108
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.1.0-h767d61c_5.conda
109
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.1.0-h767d61c_5.conda
112
110
  - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda
113
111
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb9d3cd8_0.conda
114
112
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.50.4-h0c1763c_0.conda
115
- - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda
113
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.1-he9a06e4_0.conda
116
114
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda
117
115
  - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda
118
116
  - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.2-h26f9b46_0.conda
119
- - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.13.5-hec9711d_102_cp313.conda
117
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.13.7-h2b335a9_100_cp313.conda
120
118
  - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.13-8_cp313.conda
121
119
  - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda
122
120
  - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda
@@ -137,26 +135,26 @@ environments:
137
135
  - pypi: https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl
138
136
  - pypi: https://files.pythonhosted.org/packages/42/14/42b2651a2f46b022ccd948bca9f2d5af0fd8929c4eec235b8d6d844fbe67/filelock-3.19.1-py3-none-any.whl
139
137
  - pypi: https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl
140
- - pypi: https://files.pythonhosted.org/packages/aa/8c/b7cfdd8dfe48f6b09f7353323732e1a290c388bd14f216947928dc85f904/griffe-1.13.0-py3-none-any.whl
141
- - pypi: https://files.pythonhosted.org/packages/7b/03/699f059a54b7873a11bf53389236c06640bf47be590aa87a521d7c4bb044/griffe_pydantic-1.1.6-py3-none-any.whl
138
+ - pypi: https://files.pythonhosted.org/packages/2a/b1/9ff6578d789a89812ff21e4e0f80ffae20a65d5dd84e7a17873fe3b365be/griffe-1.14.0-py3-none-any.whl
139
+ - pypi: https://files.pythonhosted.org/packages/7a/bd/63e56c639e7a2f60955bbfd061a232a7c744f105f60b6ea4621d6d079beb/griffe_pydantic-1.1.7-py3-none-any.whl
142
140
  - pypi: https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl
143
141
  - pypi: https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl
144
142
  - pypi: https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl
145
- - pypi: https://files.pythonhosted.org/packages/e7/ce/461b60a3ee109518c055953729bf9ed089a04db895d47e95444071dcdef2/identify-2.6.13-py2.py3-none-any.whl
143
+ - pypi: https://files.pythonhosted.org/packages/e5/ae/2ad30f4652712c82f1c23423d79136fbce338932ad166d70c1efb86a5998/identify-2.6.14-py2.py3-none-any.whl
146
144
  - pypi: https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl
147
145
  - pypi: https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl
148
146
  - pypi: https://files.pythonhosted.org/packages/08/2a/5628a99d04acb2d2f2e749cdf4ea571d2575e898df0528a090948018b726/ipython-9.5.0-py3-none-any.whl
149
147
  - pypi: https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl
150
148
  - pypi: https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl
151
149
  - pypi: https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl
152
- - pypi: https://files.pythonhosted.org/packages/96/2b/34cc11786bc00d0f04d0f5fdc3a2b1ae0b6239eef72d3d345805f9ad92a1/markdown-3.8.2-py3-none-any.whl
150
+ - pypi: https://files.pythonhosted.org/packages/70/ae/44c4a6a4cbb496d93c6257954260fe3a6e91b7bed2240e5dad2a717f5111/markdown-3.9-py3-none-any.whl
153
151
  - pypi: https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
154
152
  - pypi: https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl
155
153
  - pypi: https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl
156
154
  - pypi: https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl
157
155
  - pypi: https://files.pythonhosted.org/packages/9f/4d/7123b6fa2278000688ebd338e2a06d16870aaf9eceae6ba047ea05f92df1/mkdocs_autorefs-1.4.3-py3-none-any.whl
158
156
  - pypi: https://files.pythonhosted.org/packages/9f/d4/029f984e8d3f3b6b726bd33cafc473b75e9e44c0f7e80a5b29abc466bdea/mkdocs_get_deps-0.2.0-py3-none-any.whl
159
- - pypi: https://files.pythonhosted.org/packages/22/0b/545a4f8d4f9057e77f1d99640eb09aaae40c4f9034707f25636caf716ff9/mkdocs_material-9.6.18-py3-none-any.whl
157
+ - pypi: https://files.pythonhosted.org/packages/02/23/a2551d1038bedc2771366f65ff3680bb3a89674cd7ca6140850c859f1f71/mkdocs_material-9.6.19-py3-none-any.whl
160
158
  - pypi: https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl
161
159
  - pypi: https://files.pythonhosted.org/packages/de/b4/3c5eac68f31e124a55d255d318c7445840fa1be55e013f507556d6481913/mkdocstrings-0.30.0-py3-none-any.whl
162
160
  - pypi: https://files.pythonhosted.org/packages/d5/8f/ce008599d9adebf33ed144e7736914385e8537f5fc686fdb7cceb8c22431/mkdocstrings_python-1.18.2-py3-none-any.whl
@@ -165,7 +163,7 @@ environments:
165
163
  - pypi: https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl
166
164
  - pypi: https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl
167
165
  - pypi: https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl
168
- - pypi: https://files.pythonhosted.org/packages/1d/0f/571b2c7a3833ae419fe69ff7b479a78d313581785203cc70a8db90121b9a/numpy-2.3.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
166
+ - pypi: https://files.pythonhosted.org/packages/9a/a5/bf3db6e66c4b160d6ea10b534c381a1955dfab34cb1017ea93aa33c70ed3/numpy-2.3.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
169
167
  - pypi: https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl
170
168
  - pypi: https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl
171
169
  - pypi: https://files.pythonhosted.org/packages/16/32/f8e3c85d1d5250232a5d3477a2a28cc291968ff175caeadaf3cc19ce0e4a/parso-0.8.5-py2.py3-none-any.whl
@@ -182,20 +180,20 @@ environments:
182
180
  - pypi: https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
183
181
  - pypi: https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl
184
182
  - pypi: https://files.pythonhosted.org/packages/e4/06/43084e6cbd4b3bc0e80f6be743b2e79fbc6eed8de9ad8c629939fa55d972/pymdown_extensions-10.16.1-py3-none-any.whl
185
- - pypi: https://files.pythonhosted.org/packages/29/16/c8a903f4c4dffe7a12843191437d7cd8e32751d5de349d45d3fe69544e87/pytest-8.4.1-py3-none-any.whl
186
- - pypi: https://files.pythonhosted.org/packages/bc/16/4ea354101abb1287856baa4af2732be351c7bee728065aed451b678153fd/pytest_cov-6.2.1-py3-none-any.whl
183
+ - pypi: https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl
184
+ - pypi: https://files.pythonhosted.org/packages/ee/49/1377b49de7d0c1ce41292161ea0f721913fa8722c19fb9c1e3aa0367eecb/pytest_cov-7.0.0-py3-none-any.whl
187
185
  - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl
188
186
  - pypi: https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
189
187
  - pypi: https://files.pythonhosted.org/packages/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce/pyyaml_env_tag-1.1-py3-none-any.whl
190
- - pypi: https://files.pythonhosted.org/packages/8b/6a/c6ec8e124bc621ce0706894f877c6f57d7c9c53cbc73510ac046d40b4dc7/rdkit-2025.3.5-cp313-cp313-manylinux_2_28_x86_64.whl
188
+ - pypi: https://files.pythonhosted.org/packages/c1/82/b2330569fbff20c5f5495f69ae28d3e61dfbc055f00b7fe977905a574089/rdkit-2025.3.6-cp313-cp313-manylinux_2_28_x86_64.whl
191
189
  - pypi: https://files.pythonhosted.org/packages/d9/0f/90088510d4758e0ee475ae1fc7f96e7bccd0e31f24107567075482b2fe9e/rdkit_stubs-0.8-py3-none-any.whl
192
190
  - pypi: https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl
193
- - pypi: https://files.pythonhosted.org/packages/80/22/3c6cef96627f89b344c933781ed38329bfb87737aa438f15da95907cbfd5/ruff-0.12.11-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
191
+ - pypi: https://files.pythonhosted.org/packages/a8/a6/7985ad1778e60922d4bef546688cd8a25822c58873e9ff30189cfe5dc4ab/ruff-0.13.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
194
192
  - pypi: https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl
195
193
  - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl
196
194
  - pypi: https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl
197
195
  - pypi: https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl
198
- - pypi: https://files.pythonhosted.org/packages/ed/96/f3b274b32a711fad65f317731411a6fefc65c6d738926dc9d1e607bddb81/stjames-0.0.102-py3-none-any.whl
196
+ - pypi: https://files.pythonhosted.org/packages/00/f0/e816b819334c25a221ac1e10b2d24a8428233364b6511191cd7894f5390f/stjames-0.0.105-py3-none-any.whl
199
197
  - pypi: https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl
200
198
  - pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl
201
199
  - pypi: https://files.pythonhosted.org/packages/17/69/cd203477f944c353c31bade965f880aa1061fd6bf05ded0726ca845b6ff7/typing_inspection-0.4.1-py3-none-any.whl
@@ -205,7 +203,7 @@ environments:
205
203
  - pypi: https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl
206
204
  - pypi: ./
207
205
  osx-arm64:
208
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda
206
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_8.conda
209
207
  - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.8.3-hbd8a1cb_0.conda
210
208
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda
211
209
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.7.1-hec049ff_0.conda
@@ -216,7 +214,7 @@ environments:
216
214
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda
217
215
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda
218
216
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.5.2-he92f556_0.conda
219
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.13.5-hf3f3da0_102_cp313.conda
217
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.13.7-h5c937ed_100_cp313.conda
220
218
  - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.13-8_cp313.conda
221
219
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h1d1bf99_2.conda
222
220
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h892fb3f_2.conda
@@ -237,26 +235,26 @@ environments:
237
235
  - pypi: https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl
238
236
  - pypi: https://files.pythonhosted.org/packages/42/14/42b2651a2f46b022ccd948bca9f2d5af0fd8929c4eec235b8d6d844fbe67/filelock-3.19.1-py3-none-any.whl
239
237
  - pypi: https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl
240
- - pypi: https://files.pythonhosted.org/packages/aa/8c/b7cfdd8dfe48f6b09f7353323732e1a290c388bd14f216947928dc85f904/griffe-1.13.0-py3-none-any.whl
241
- - pypi: https://files.pythonhosted.org/packages/7b/03/699f059a54b7873a11bf53389236c06640bf47be590aa87a521d7c4bb044/griffe_pydantic-1.1.6-py3-none-any.whl
238
+ - pypi: https://files.pythonhosted.org/packages/2a/b1/9ff6578d789a89812ff21e4e0f80ffae20a65d5dd84e7a17873fe3b365be/griffe-1.14.0-py3-none-any.whl
239
+ - pypi: https://files.pythonhosted.org/packages/7a/bd/63e56c639e7a2f60955bbfd061a232a7c744f105f60b6ea4621d6d079beb/griffe_pydantic-1.1.7-py3-none-any.whl
242
240
  - pypi: https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl
243
241
  - pypi: https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl
244
242
  - pypi: https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl
245
- - pypi: https://files.pythonhosted.org/packages/e7/ce/461b60a3ee109518c055953729bf9ed089a04db895d47e95444071dcdef2/identify-2.6.13-py2.py3-none-any.whl
243
+ - pypi: https://files.pythonhosted.org/packages/e5/ae/2ad30f4652712c82f1c23423d79136fbce338932ad166d70c1efb86a5998/identify-2.6.14-py2.py3-none-any.whl
246
244
  - pypi: https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl
247
245
  - pypi: https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl
248
246
  - pypi: https://files.pythonhosted.org/packages/08/2a/5628a99d04acb2d2f2e749cdf4ea571d2575e898df0528a090948018b726/ipython-9.5.0-py3-none-any.whl
249
247
  - pypi: https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl
250
248
  - pypi: https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl
251
249
  - pypi: https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl
252
- - pypi: https://files.pythonhosted.org/packages/96/2b/34cc11786bc00d0f04d0f5fdc3a2b1ae0b6239eef72d3d345805f9ad92a1/markdown-3.8.2-py3-none-any.whl
250
+ - pypi: https://files.pythonhosted.org/packages/70/ae/44c4a6a4cbb496d93c6257954260fe3a6e91b7bed2240e5dad2a717f5111/markdown-3.9-py3-none-any.whl
253
251
  - pypi: https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl
254
252
  - pypi: https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl
255
253
  - pypi: https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl
256
254
  - pypi: https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl
257
255
  - pypi: https://files.pythonhosted.org/packages/9f/4d/7123b6fa2278000688ebd338e2a06d16870aaf9eceae6ba047ea05f92df1/mkdocs_autorefs-1.4.3-py3-none-any.whl
258
256
  - pypi: https://files.pythonhosted.org/packages/9f/d4/029f984e8d3f3b6b726bd33cafc473b75e9e44c0f7e80a5b29abc466bdea/mkdocs_get_deps-0.2.0-py3-none-any.whl
259
- - pypi: https://files.pythonhosted.org/packages/22/0b/545a4f8d4f9057e77f1d99640eb09aaae40c4f9034707f25636caf716ff9/mkdocs_material-9.6.18-py3-none-any.whl
257
+ - pypi: https://files.pythonhosted.org/packages/02/23/a2551d1038bedc2771366f65ff3680bb3a89674cd7ca6140850c859f1f71/mkdocs_material-9.6.19-py3-none-any.whl
260
258
  - pypi: https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl
261
259
  - pypi: https://files.pythonhosted.org/packages/de/b4/3c5eac68f31e124a55d255d318c7445840fa1be55e013f507556d6481913/mkdocstrings-0.30.0-py3-none-any.whl
262
260
  - pypi: https://files.pythonhosted.org/packages/d5/8f/ce008599d9adebf33ed144e7736914385e8537f5fc686fdb7cceb8c22431/mkdocstrings_python-1.18.2-py3-none-any.whl
@@ -265,7 +263,7 @@ environments:
265
263
  - pypi: https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl
266
264
  - pypi: https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl
267
265
  - pypi: https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl
268
- - pypi: https://files.pythonhosted.org/packages/20/4e/c116466d22acaf4573e58421c956c6076dc526e24a6be0903219775d862e/numpy-2.3.2-cp313-cp313-macosx_11_0_arm64.whl
266
+ - pypi: https://files.pythonhosted.org/packages/a6/e4/07970e3bed0b1384d22af1e9912527ecbeb47d3b26e9b6a3bced068b3bea/numpy-2.3.3-cp313-cp313-macosx_11_0_arm64.whl
269
267
  - pypi: https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl
270
268
  - pypi: https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl
271
269
  - pypi: https://files.pythonhosted.org/packages/16/32/f8e3c85d1d5250232a5d3477a2a28cc291968ff175caeadaf3cc19ce0e4a/parso-0.8.5-py2.py3-none-any.whl
@@ -282,20 +280,20 @@ environments:
282
280
  - pypi: https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl
283
281
  - pypi: https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl
284
282
  - pypi: https://files.pythonhosted.org/packages/e4/06/43084e6cbd4b3bc0e80f6be743b2e79fbc6eed8de9ad8c629939fa55d972/pymdown_extensions-10.16.1-py3-none-any.whl
285
- - pypi: https://files.pythonhosted.org/packages/29/16/c8a903f4c4dffe7a12843191437d7cd8e32751d5de349d45d3fe69544e87/pytest-8.4.1-py3-none-any.whl
286
- - pypi: https://files.pythonhosted.org/packages/bc/16/4ea354101abb1287856baa4af2732be351c7bee728065aed451b678153fd/pytest_cov-6.2.1-py3-none-any.whl
283
+ - pypi: https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl
284
+ - pypi: https://files.pythonhosted.org/packages/ee/49/1377b49de7d0c1ce41292161ea0f721913fa8722c19fb9c1e3aa0367eecb/pytest_cov-7.0.0-py3-none-any.whl
287
285
  - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl
288
286
  - pypi: https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl
289
287
  - pypi: https://files.pythonhosted.org/packages/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce/pyyaml_env_tag-1.1-py3-none-any.whl
290
- - pypi: https://files.pythonhosted.org/packages/c6/1d/4cc7d00c388dde4cb4ce6ff7c4314f0f2c0e342d5b7a7b779fc12c32cf5a/rdkit-2025.3.5-cp313-cp313-macosx_11_0_arm64.whl
288
+ - pypi: https://files.pythonhosted.org/packages/e7/36/1fb7644ff06817a9e3b67d70da53dea59b64c38badc49426e8338e36fbdd/rdkit-2025.3.6-cp313-cp313-macosx_11_0_arm64.whl
291
289
  - pypi: https://files.pythonhosted.org/packages/d9/0f/90088510d4758e0ee475ae1fc7f96e7bccd0e31f24107567075482b2fe9e/rdkit_stubs-0.8-py3-none-any.whl
292
290
  - pypi: https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl
293
- - pypi: https://files.pythonhosted.org/packages/2c/0d/15b72c5fe6b1e402a543aa9d8960e0a7e19dfb079f5b0b424db48b7febab/ruff-0.12.11-py3-none-macosx_11_0_arm64.whl
291
+ - pypi: https://files.pythonhosted.org/packages/44/cf/40bc7221a949470307d9c35b4ef5810c294e6cfa3caafb57d882731a9f42/ruff-0.13.0-py3-none-macosx_11_0_arm64.whl
294
292
  - pypi: https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl
295
293
  - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl
296
294
  - pypi: https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl
297
295
  - pypi: https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl
298
- - pypi: https://files.pythonhosted.org/packages/ed/96/f3b274b32a711fad65f317731411a6fefc65c6d738926dc9d1e607bddb81/stjames-0.0.102-py3-none-any.whl
296
+ - pypi: https://files.pythonhosted.org/packages/00/f0/e816b819334c25a221ac1e10b2d24a8428233364b6511191cd7894f5390f/stjames-0.0.105-py3-none-any.whl
299
297
  - pypi: https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl
300
298
  - pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl
301
299
  - pypi: https://files.pythonhosted.org/packages/17/69/cd203477f944c353c31bade965f880aa1061fd6bf05ded0726ca845b6ff7/typing_inspection-0.4.1-py3-none-any.whl
@@ -377,27 +375,27 @@ packages:
377
375
  requires_dist:
378
376
  - regex ; extra == 'extras'
379
377
  requires_python: '>=3.9'
380
- - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h4bc722e_7.conda
381
- sha256: 5ced96500d945fb286c9c838e54fa759aa04a7129c59800f0846b4335cee770d
382
- md5: 62ee74e96c5ebb0af99386de58cf9553
378
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda
379
+ sha256: c30daba32ddebbb7ded490f0e371eae90f51e72db620554089103b4a6934b0d5
380
+ md5: 51a19bba1b8ebfb60df25cde030b7ebc
383
381
  depends:
384
382
  - __glibc >=2.17,<3.0.a0
385
- - libgcc-ng >=12
383
+ - libgcc >=14
386
384
  license: bzip2-1.0.6
387
385
  license_family: BSD
388
386
  purls: []
389
- size: 252783
390
- timestamp: 1720974456583
391
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h99b78c6_7.conda
392
- sha256: adfa71f158cbd872a36394c56c3568e6034aa55c623634b37a4836bd036e6b91
393
- md5: fc6948412dbbbe9a4c9ddbbcfe0a79ab
387
+ size: 260341
388
+ timestamp: 1757437258798
389
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_8.conda
390
+ sha256: b456200636bd5fecb2bec63f7e0985ad2097cf1b83d60ce0b6968dffa6d02aa1
391
+ md5: 58fd217444c2a5701a44244faf518206
394
392
  depends:
395
393
  - __osx >=11.0
396
394
  license: bzip2-1.0.6
397
395
  license_family: BSD
398
396
  purls: []
399
- size: 122909
400
- timestamp: 1720974522888
397
+ size: 125061
398
+ timestamp: 1757437486465
401
399
  - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.8.3-hbd8a1cb_0.conda
402
400
  sha256: 837b795a2bb39b75694ba910c13c15fa4998d4bb2a622c214a6a5174b2ae53d1
403
401
  md5: 74784ee3d225fc3dca89edb635b4e5cc
@@ -490,19 +488,19 @@ packages:
490
488
  - markdown ; extra == 'dev'
491
489
  - flake8 ; extra == 'dev'
492
490
  - wheel ; extra == 'dev'
493
- - pypi: https://files.pythonhosted.org/packages/aa/8c/b7cfdd8dfe48f6b09f7353323732e1a290c388bd14f216947928dc85f904/griffe-1.13.0-py3-none-any.whl
491
+ - pypi: https://files.pythonhosted.org/packages/2a/b1/9ff6578d789a89812ff21e4e0f80ffae20a65d5dd84e7a17873fe3b365be/griffe-1.14.0-py3-none-any.whl
494
492
  name: griffe
495
- version: 1.13.0
496
- sha256: 470fde5b735625ac0a36296cd194617f039e9e83e301fcbd493e2b58382d0559
493
+ version: 1.14.0
494
+ sha256: 0e9d52832cccf0f7188cfe585ba962d2674b241c01916d780925df34873bceb0
497
495
  requires_dist:
498
496
  - colorama>=0.4
499
497
  requires_python: '>=3.9'
500
- - pypi: https://files.pythonhosted.org/packages/7b/03/699f059a54b7873a11bf53389236c06640bf47be590aa87a521d7c4bb044/griffe_pydantic-1.1.6-py3-none-any.whl
498
+ - pypi: https://files.pythonhosted.org/packages/7a/bd/63e56c639e7a2f60955bbfd061a232a7c744f105f60b6ea4621d6d079beb/griffe_pydantic-1.1.7-py3-none-any.whl
501
499
  name: griffe-pydantic
502
- version: 1.1.6
503
- sha256: 57a838dd1c3b5842a7ebada8fd80f2585a25b69c37f73ede19ca20fa9af055e6
500
+ version: 1.1.7
501
+ sha256: 516d6dbb6a6587bd0f70c2d23f1dc1b6e2e06eff7d9d37c2db9f0f60ea527af8
504
502
  requires_dist:
505
- - griffe>=1.6.3
503
+ - griffe>=1.14
506
504
  requires_python: '>=3.9'
507
505
  - pypi: https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl
508
506
  name: h11
@@ -549,10 +547,10 @@ packages:
549
547
  purls: []
550
548
  size: 11857802
551
549
  timestamp: 1720853997952
552
- - pypi: https://files.pythonhosted.org/packages/e7/ce/461b60a3ee109518c055953729bf9ed089a04db895d47e95444071dcdef2/identify-2.6.13-py2.py3-none-any.whl
550
+ - pypi: https://files.pythonhosted.org/packages/e5/ae/2ad30f4652712c82f1c23423d79136fbce338932ad166d70c1efb86a5998/identify-2.6.14-py2.py3-none-any.whl
553
551
  name: identify
554
- version: 2.6.13
555
- sha256: 60381139b3ae39447482ecc406944190f690d4a2997f2584062089848361b33b
552
+ version: 2.6.14
553
+ sha256: 11a073da82212c6646b1f39bb20d4483bfb9543bd5566fec60053c4bb309bf2e
556
554
  requires_dist:
557
555
  - ukkonen ; extra == 'license'
558
556
  requires_python: '>=3.9'
@@ -729,40 +727,30 @@ packages:
729
727
  purls: []
730
728
  size: 39839
731
729
  timestamp: 1743434670405
732
- - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.1.0-h767d61c_4.conda
733
- sha256: 144e35c1c2840f2dc202f6915fc41879c19eddbb8fa524e3ca4aa0d14018b26f
734
- md5: f406dcbb2e7bef90d793e50e79a2882b
730
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.1.0-h767d61c_5.conda
731
+ sha256: 0caed73aac3966bfbf5710e06c728a24c6c138605121a3dacb2e03440e8baa6a
732
+ md5: 264fbfba7fb20acf3b29cde153e345ce
735
733
  depends:
736
734
  - __glibc >=2.17,<3.0.a0
737
735
  - _openmp_mutex >=4.5
738
736
  constrains:
739
- - libgcc-ng ==15.1.0=*_4
740
- - libgomp 15.1.0 h767d61c_4
741
- license: GPL-3.0-only WITH GCC-exception-3.1
742
- license_family: GPL
743
- purls: []
744
- size: 824153
745
- timestamp: 1753903866511
746
- - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.1.0-h69a702a_4.conda
747
- sha256: 76ceac93ed98f208363d6e9c75011b0ff7b97b20f003f06461a619557e726637
748
- md5: 28771437ffcd9f3417c66012dc49a3be
749
- depends:
750
- - libgcc 15.1.0 h767d61c_4
737
+ - libgomp 15.1.0 h767d61c_5
738
+ - libgcc-ng ==15.1.0=*_5
751
739
  license: GPL-3.0-only WITH GCC-exception-3.1
752
740
  license_family: GPL
753
741
  purls: []
754
- size: 29249
755
- timestamp: 1753903872571
756
- - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.1.0-h767d61c_4.conda
757
- sha256: e0487a8fec78802ac04da0ac1139c3510992bc58a58cde66619dde3b363c2933
758
- md5: 3baf8976c96134738bba224e9ef6b1e5
742
+ size: 824191
743
+ timestamp: 1757042543820
744
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.1.0-h767d61c_5.conda
745
+ sha256: 125051d51a8c04694d0830f6343af78b556dd88cc249dfec5a97703ebfb1832d
746
+ md5: dcd5ff1940cd38f6df777cac86819d60
759
747
  depends:
760
748
  - __glibc >=2.17,<3.0.a0
761
749
  license: GPL-3.0-only WITH GCC-exception-3.1
762
750
  license_family: GPL
763
751
  purls: []
764
- size: 447289
765
- timestamp: 1753903801049
752
+ size: 447215
753
+ timestamp: 1757042483384
766
754
  - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.1-hb9d3cd8_2.conda
767
755
  sha256: f2591c0069447bbe28d4d696b7fcb0c5bd0b4ac582769b89addbcf26fb3430d8
768
756
  md5: 1a580f7796c7bf6393fddb8bbbde58dc
@@ -829,16 +817,17 @@ packages:
829
817
  purls: []
830
818
  size: 902645
831
819
  timestamp: 1753948599139
832
- - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda
833
- sha256: 787eb542f055a2b3de553614b25f09eefb0a0931b0c87dbcce6efdfd92f04f18
834
- md5: 40b61aab5c7ba9ff276c41cfffe6b80b
820
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.1-he9a06e4_0.conda
821
+ sha256: 776e28735cee84b97e4d05dd5d67b95221a3e2c09b8b13e3d6dbe6494337d527
822
+ md5: af930c65e9a79a3423d6d36e265cef65
835
823
  depends:
836
- - libgcc-ng >=12
824
+ - __glibc >=2.17,<3.0.a0
825
+ - libgcc >=14
837
826
  license: BSD-3-Clause
838
827
  license_family: BSD
839
828
  purls: []
840
- size: 33601
841
- timestamp: 1680112270483
829
+ size: 37087
830
+ timestamp: 1757334557450
842
831
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda
843
832
  sha256: d4bfe88d7cb447768e31650f06257995601f89076080e76df55e3112d4e47dc4
844
833
  md5: edb0dca6bc32e4f4789199455a1dbeb8
@@ -864,10 +853,10 @@ packages:
864
853
  purls: []
865
854
  size: 46438
866
855
  timestamp: 1727963202283
867
- - pypi: https://files.pythonhosted.org/packages/96/2b/34cc11786bc00d0f04d0f5fdc3a2b1ae0b6239eef72d3d345805f9ad92a1/markdown-3.8.2-py3-none-any.whl
856
+ - pypi: https://files.pythonhosted.org/packages/70/ae/44c4a6a4cbb496d93c6257954260fe3a6e91b7bed2240e5dad2a717f5111/markdown-3.9-py3-none-any.whl
868
857
  name: markdown
869
- version: 3.8.2
870
- sha256: 5c83764dbd4e00bdd94d85a19b8d55ccca20fe35b2e678a1422b380324dd5f24
858
+ version: '3.9'
859
+ sha256: 9f4d91ed810864ea88a6f32c07ba8bee1346c0cc1f6b1f9f6c822f2a9667d280
871
860
  requires_dist:
872
861
  - importlib-metadata>=4.4 ; python_full_version < '3.10'
873
862
  - coverage ; extra == 'testing'
@@ -957,10 +946,10 @@ packages:
957
946
  - platformdirs>=2.2.0
958
947
  - pyyaml>=5.1
959
948
  requires_python: '>=3.8'
960
- - pypi: https://files.pythonhosted.org/packages/22/0b/545a4f8d4f9057e77f1d99640eb09aaae40c4f9034707f25636caf716ff9/mkdocs_material-9.6.18-py3-none-any.whl
949
+ - pypi: https://files.pythonhosted.org/packages/02/23/a2551d1038bedc2771366f65ff3680bb3a89674cd7ca6140850c859f1f71/mkdocs_material-9.6.19-py3-none-any.whl
961
950
  name: mkdocs-material
962
- version: 9.6.18
963
- sha256: dbc1e146a0ecce951a4d84f97b816a54936cdc9e1edd1667fc6868878ac06701
951
+ version: 9.6.19
952
+ sha256: 7492d2ac81952a467ca8a10cac915d6ea5c22876932f44b5a0f4f8e7d68ac06f
964
953
  requires_dist:
965
954
  - babel~=2.10
966
955
  - backrefs~=5.7.post1
@@ -977,7 +966,7 @@ packages:
977
966
  - mkdocs-git-committers-plugin-2>=1.1,<3 ; extra == 'git'
978
967
  - mkdocs-git-revision-date-localized-plugin~=1.2,>=1.2.4 ; extra == 'git'
979
968
  - cairosvg~=2.6 ; extra == 'imaging'
980
- - pillow~=10.2 ; extra == 'imaging'
969
+ - pillow>=10.2,<12.0 ; extra == 'imaging'
981
970
  - mkdocs-minify-plugin~=0.7 ; extra == 'recommended'
982
971
  - mkdocs-redirects~=1.2 ; extra == 'recommended'
983
972
  - mkdocs-rss-plugin~=1.6 ; extra == 'recommended'
@@ -1082,15 +1071,15 @@ packages:
1082
1071
  version: 1.9.1
1083
1072
  sha256: ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9
1084
1073
  requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*'
1085
- - pypi: https://files.pythonhosted.org/packages/1d/0f/571b2c7a3833ae419fe69ff7b479a78d313581785203cc70a8db90121b9a/numpy-2.3.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
1074
+ - pypi: https://files.pythonhosted.org/packages/9a/a5/bf3db6e66c4b160d6ea10b534c381a1955dfab34cb1017ea93aa33c70ed3/numpy-2.3.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
1086
1075
  name: numpy
1087
- version: 2.3.2
1088
- sha256: 938065908d1d869c7d75d8ec45f735a034771c6ea07088867f713d1cd3bbbe4f
1076
+ version: 2.3.3
1077
+ sha256: 5b83648633d46f77039c29078751f80da65aa64d5622a3cd62aaef9d835b6c93
1089
1078
  requires_python: '>=3.11'
1090
- - pypi: https://files.pythonhosted.org/packages/20/4e/c116466d22acaf4573e58421c956c6076dc526e24a6be0903219775d862e/numpy-2.3.2-cp313-cp313-macosx_11_0_arm64.whl
1079
+ - pypi: https://files.pythonhosted.org/packages/a6/e4/07970e3bed0b1384d22af1e9912527ecbeb47d3b26e9b6a3bced068b3bea/numpy-2.3.3-cp313-cp313-macosx_11_0_arm64.whl
1091
1080
  name: numpy
1092
- version: 2.3.2
1093
- sha256: efc81393f25f14d11c9d161e46e6ee348637c0a1e8a54bf9dedc472a3fae993b
1081
+ version: 2.3.3
1082
+ sha256: d00de139a3324e26ed5b95870ce63be7ec7352171bc69a4cf1f157a48e3eb6b7
1094
1083
  requires_python: '>=3.11'
1095
1084
  - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.2-h26f9b46_0.conda
1096
1085
  sha256: c9f54d4e8212f313be7b02eb962d0cb13a8dae015683a403d3accd4add3e520e
@@ -1307,10 +1296,10 @@ packages:
1307
1296
  - pyyaml
1308
1297
  - pygments>=2.19.1 ; extra == 'extra'
1309
1298
  requires_python: '>=3.9'
1310
- - pypi: https://files.pythonhosted.org/packages/29/16/c8a903f4c4dffe7a12843191437d7cd8e32751d5de349d45d3fe69544e87/pytest-8.4.1-py3-none-any.whl
1299
+ - pypi: https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl
1311
1300
  name: pytest
1312
- version: 8.4.1
1313
- sha256: 539c70ba6fcead8e78eebbf1115e8b589e7565830d7d006a8723f19ac8a0afb7
1301
+ version: 8.4.2
1302
+ sha256: 872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79
1314
1303
  requires_dist:
1315
1304
  - colorama>=0.4 ; sys_platform == 'win32'
1316
1305
  - exceptiongroup>=1 ; python_full_version < '3.11'
@@ -1327,70 +1316,68 @@ packages:
1327
1316
  - setuptools ; extra == 'dev'
1328
1317
  - xmlschema ; extra == 'dev'
1329
1318
  requires_python: '>=3.9'
1330
- - pypi: https://files.pythonhosted.org/packages/bc/16/4ea354101abb1287856baa4af2732be351c7bee728065aed451b678153fd/pytest_cov-6.2.1-py3-none-any.whl
1319
+ - pypi: https://files.pythonhosted.org/packages/ee/49/1377b49de7d0c1ce41292161ea0f721913fa8722c19fb9c1e3aa0367eecb/pytest_cov-7.0.0-py3-none-any.whl
1331
1320
  name: pytest-cov
1332
- version: 6.2.1
1333
- sha256: f5bc4c23f42f1cdd23c70b1dab1bbaef4fc505ba950d53e0081d0730dd7e86d5
1321
+ version: 7.0.0
1322
+ sha256: 3b8e9558b16cc1479da72058bdecf8073661c7f57f7d3c5f22a1c23507f2d861
1334
1323
  requires_dist:
1335
- - pytest>=6.2.5
1336
- - coverage[toml]>=7.5
1324
+ - coverage[toml]>=7.10.6
1337
1325
  - pluggy>=1.2
1338
- - fields ; extra == 'testing'
1339
- - hunter ; extra == 'testing'
1326
+ - pytest>=7
1340
1327
  - process-tests ; extra == 'testing'
1341
1328
  - pytest-xdist ; extra == 'testing'
1342
1329
  - virtualenv ; extra == 'testing'
1343
1330
  requires_python: '>=3.9'
1344
- - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.13.5-hec9711d_102_cp313.conda
1345
- build_number: 102
1346
- sha256: c2cdcc98ea3cbf78240624e4077e164dc9d5588eefb044b4097c3df54d24d504
1347
- md5: 89e07d92cf50743886f41638d58c4328
1331
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.13.7-h2b335a9_100_cp313.conda
1332
+ build_number: 100
1333
+ sha256: 16cc30a5854f31ca6c3688337d34e37a79cdc518a06375fe3482ea8e2d6b34c8
1334
+ md5: 724dcf9960e933838247971da07fe5cf
1348
1335
  depends:
1349
1336
  - __glibc >=2.17,<3.0.a0
1350
1337
  - bzip2 >=1.0.8,<2.0a0
1351
1338
  - ld_impl_linux-64 >=2.36.1
1352
- - libexpat >=2.7.0,<3.0a0
1339
+ - libexpat >=2.7.1,<3.0a0
1353
1340
  - libffi >=3.4.6,<3.5.0a0
1354
- - libgcc >=13
1341
+ - libgcc >=14
1355
1342
  - liblzma >=5.8.1,<6.0a0
1356
1343
  - libmpdec >=4.0.0,<5.0a0
1357
- - libsqlite >=3.50.1,<4.0a0
1344
+ - libsqlite >=3.50.4,<4.0a0
1358
1345
  - libuuid >=2.38.1,<3.0a0
1359
1346
  - libzlib >=1.3.1,<2.0a0
1360
1347
  - ncurses >=6.5,<7.0a0
1361
- - openssl >=3.5.0,<4.0a0
1348
+ - openssl >=3.5.2,<4.0a0
1362
1349
  - python_abi 3.13.* *_cp313
1363
1350
  - readline >=8.2,<9.0a0
1364
1351
  - tk >=8.6.13,<8.7.0a0
1365
1352
  - tzdata
1366
1353
  license: Python-2.0
1367
1354
  purls: []
1368
- size: 33273132
1369
- timestamp: 1750064035176
1355
+ size: 33583088
1356
+ timestamp: 1756911465277
1370
1357
  python_site_packages_path: lib/python3.13/site-packages
1371
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.13.5-hf3f3da0_102_cp313.conda
1372
- build_number: 102
1373
- sha256: ee1b09fb5563be8509bb9b29b2b436a0af75488b5f1fa6bcd93fe0fba597d13f
1374
- md5: 123b7f04e7b8d6fc206cf2d3466f8a4b
1358
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.13.7-h5c937ed_100_cp313.conda
1359
+ build_number: 100
1360
+ sha256: b9776cc330fa4836171a42e0e9d9d3da145d7702ba6ef9fad45e94f0f016eaef
1361
+ md5: 445d057271904b0e21e14b1fa1d07ba5
1375
1362
  depends:
1376
1363
  - __osx >=11.0
1377
1364
  - bzip2 >=1.0.8,<2.0a0
1378
- - libexpat >=2.7.0,<3.0a0
1365
+ - libexpat >=2.7.1,<3.0a0
1379
1366
  - libffi >=3.4.6,<3.5.0a0
1380
1367
  - liblzma >=5.8.1,<6.0a0
1381
1368
  - libmpdec >=4.0.0,<5.0a0
1382
- - libsqlite >=3.50.1,<4.0a0
1369
+ - libsqlite >=3.50.4,<4.0a0
1383
1370
  - libzlib >=1.3.1,<2.0a0
1384
1371
  - ncurses >=6.5,<7.0a0
1385
- - openssl >=3.5.0,<4.0a0
1372
+ - openssl >=3.5.2,<4.0a0
1386
1373
  - python_abi 3.13.* *_cp313
1387
1374
  - readline >=8.2,<9.0a0
1388
1375
  - tk >=8.6.13,<8.7.0a0
1389
1376
  - tzdata
1390
1377
  license: Python-2.0
1391
1378
  purls: []
1392
- size: 12931515
1393
- timestamp: 1750062475020
1379
+ size: 11926240
1380
+ timestamp: 1756909724811
1394
1381
  python_site_packages_path: lib/python3.13/site-packages
1395
1382
  - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl
1396
1383
  name: python-dateutil
@@ -1427,17 +1414,17 @@ packages:
1427
1414
  requires_dist:
1428
1415
  - pyyaml
1429
1416
  requires_python: '>=3.9'
1430
- - pypi: https://files.pythonhosted.org/packages/8b/6a/c6ec8e124bc621ce0706894f877c6f57d7c9c53cbc73510ac046d40b4dc7/rdkit-2025.3.5-cp313-cp313-manylinux_2_28_x86_64.whl
1417
+ - pypi: https://files.pythonhosted.org/packages/c1/82/b2330569fbff20c5f5495f69ae28d3e61dfbc055f00b7fe977905a574089/rdkit-2025.3.6-cp313-cp313-manylinux_2_28_x86_64.whl
1431
1418
  name: rdkit
1432
- version: 2025.3.5
1433
- sha256: 65c636e4ea0e4bbf80261155e19f96de8e178271513f8823a4364e2939ee5791
1419
+ version: 2025.3.6
1420
+ sha256: 8bb52f5fc9f1a93817264dffc0ac8b20cea71091f9b8a253ebd288aeae26032f
1434
1421
  requires_dist:
1435
1422
  - numpy
1436
1423
  - pillow
1437
- - pypi: https://files.pythonhosted.org/packages/c6/1d/4cc7d00c388dde4cb4ce6ff7c4314f0f2c0e342d5b7a7b779fc12c32cf5a/rdkit-2025.3.5-cp313-cp313-macosx_11_0_arm64.whl
1424
+ - pypi: https://files.pythonhosted.org/packages/e7/36/1fb7644ff06817a9e3b67d70da53dea59b64c38badc49426e8338e36fbdd/rdkit-2025.3.6-cp313-cp313-macosx_11_0_arm64.whl
1438
1425
  name: rdkit
1439
- version: 2025.3.5
1440
- sha256: b564067066c97136c448c58ac796c66010d041a5fd5dccf8997461a1846e63b7
1426
+ version: 2025.3.6
1427
+ sha256: 760dc4d90cc30a96145062811136cd5d309a91a7eeacec0afcf0b079877f8be2
1441
1428
  requires_dist:
1442
1429
  - numpy
1443
1430
  - pillow
@@ -1481,25 +1468,25 @@ packages:
1481
1468
  requires_python: '>=3.9'
1482
1469
  - pypi: ./
1483
1470
  name: rowan-python
1484
- version: 2.1.3
1485
- sha256: 42fdb4e667a0c2c279bbf99762920eda972eb32ca9f885b57dcf438815833ecc
1471
+ version: 2.1.5
1472
+ sha256: 59ef0b1195e9f104c84465182fddecc1ab0606c00f5da8a2f73503c467d65a80
1486
1473
  requires_dist:
1487
1474
  - httpx
1488
- - stjames>=0.0.83
1475
+ - stjames>=0.0.104
1489
1476
  - setuptools
1490
1477
  - rdkit
1491
1478
  - nest-asyncio
1492
1479
  requires_python: '>=3.9'
1493
1480
  editable: true
1494
- - pypi: https://files.pythonhosted.org/packages/2c/0d/15b72c5fe6b1e402a543aa9d8960e0a7e19dfb079f5b0b424db48b7febab/ruff-0.12.11-py3-none-macosx_11_0_arm64.whl
1481
+ - pypi: https://files.pythonhosted.org/packages/44/cf/40bc7221a949470307d9c35b4ef5810c294e6cfa3caafb57d882731a9f42/ruff-0.13.0-py3-none-macosx_11_0_arm64.whl
1495
1482
  name: ruff
1496
- version: 0.12.11
1497
- sha256: d69fb9d4937aa19adb2e9f058bc4fbfe986c2040acb1a4a9747734834eaa0bfd
1483
+ version: 0.13.0
1484
+ sha256: 64de45f4ca5441209e41742d527944635a05a6e7c05798904f39c85bafa819e3
1498
1485
  requires_python: '>=3.7'
1499
- - pypi: https://files.pythonhosted.org/packages/80/22/3c6cef96627f89b344c933781ed38329bfb87737aa438f15da95907cbfd5/ruff-0.12.11-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1486
+ - pypi: https://files.pythonhosted.org/packages/a8/a6/7985ad1778e60922d4bef546688cd8a25822c58873e9ff30189cfe5dc4ab/ruff-0.13.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1500
1487
  name: ruff
1501
- version: 0.12.11
1502
- sha256: 4fc58f9266d62c6eccc75261a665f26b4ef64840887fc6cbc552ce5b29f96cc8
1488
+ version: 0.13.0
1489
+ sha256: 03447f3d18479df3d24917a92d768a89f873a7181a064858ea90a804a7538991
1503
1490
  requires_python: '>=3.7'
1504
1491
  - pypi: https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl
1505
1492
  name: setuptools
@@ -1581,10 +1568,10 @@ packages:
1581
1568
  - pygments ; extra == 'tests'
1582
1569
  - littleutils ; extra == 'tests'
1583
1570
  - cython ; extra == 'tests'
1584
- - pypi: https://files.pythonhosted.org/packages/ed/96/f3b274b32a711fad65f317731411a6fefc65c6d738926dc9d1e607bddb81/stjames-0.0.102-py3-none-any.whl
1571
+ - pypi: https://files.pythonhosted.org/packages/00/f0/e816b819334c25a221ac1e10b2d24a8428233364b6511191cd7894f5390f/stjames-0.0.105-py3-none-any.whl
1585
1572
  name: stjames
1586
- version: 0.0.102
1587
- sha256: 234b3e9680d1eaaf613cb8cc9f2084f8fe4920d0ac566e1e503c9e8d4ff73a4e
1573
+ version: 0.0.105
1574
+ sha256: e9e4a3eb3478e8761855a6274bd79647a965954f2e0ca2490c3b0a2a2441ad25
1588
1575
  requires_dist:
1589
1576
  - pydantic>=2.4
1590
1577
  - numpy
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "rowan-python"
3
- version = "2.1.3"
3
+ version = "2.1.5"
4
4
  description = "Rowan Python Library"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.9"
@@ -9,7 +9,7 @@ authors = [
9
9
  ]
10
10
  dependencies = [
11
11
  "httpx",
12
- "stjames>=0.0.83",
12
+ "stjames>=0.0.104",
13
13
  "setuptools",
14
14
  "rdkit",
15
15
  "nest-asyncio",
@@ -0,0 +1,3 @@
1
+ import os
2
+
3
+ API_URL = os.getenv("ROWAN_API_URL", default="https://api.rowansci.com")
@@ -47,6 +47,7 @@ def api_client() -> Generator[httpx.Client, None, None]:
47
47
  with httpx.Client(
48
48
  base_url=API_URL,
49
49
  headers={"X-API-Key": get_api_key()},
50
+ timeout=30,
50
51
  ) as client:
51
52
  yield client
52
53
 
@@ -1,6 +1,6 @@
1
1
  import time
2
2
  from datetime import datetime
3
- from typing import Any, Self, TypeAlias
3
+ from typing import Any, Literal, Self, TypeAlias
4
4
 
5
5
  import stjames
6
6
  from pydantic import BaseModel, Field
@@ -493,6 +493,7 @@ def submit_conformer_search_workflow(
493
493
 
494
494
  def submit_solubility_workflow(
495
495
  initial_smiles: str,
496
+ solubility_method: Literal["fastsolv", "kingfisher", "esol"] = "fastsolv",
496
497
  solvents: list[str] | None = None,
497
498
  temperatures: list[float] | None = None,
498
499
  name: str = "Solubility Workflow",
@@ -502,6 +503,7 @@ def submit_solubility_workflow(
502
503
  """
503
504
  Submits a solubility workflow to the API.
504
505
 
506
+ :param solubility_method: The name of the desired model for solubility prediction.
505
507
  :param initial_smiles: The smiles of the molecule to calculate the solubility of.
506
508
  :param solvents: The list of solvents to use for the calculation.
507
509
  :param temperatures: The list of temperatures to use for the calculation.
@@ -520,6 +522,7 @@ def submit_solubility_workflow(
520
522
 
521
523
  workflow = stjames.SolubilityWorkflow(
522
524
  initial_smiles=initial_smiles,
525
+ solubility_method=solubility_method,
523
526
  solvents=solvents,
524
527
  temperatures=temperatures,
525
528
  )
@@ -857,7 +860,8 @@ def submit_macropka_workflow(
857
860
  max_pH: int = 14,
858
861
  min_charge: int = -2,
859
862
  max_charge: int = 2,
860
- compute_solvation_energy: bool = True,
863
+ compute_solvation_energy: bool = False,
864
+ compute_aqueous_solubility: bool = False,
861
865
  name: str = "Macropka Workflow",
862
866
  folder_uuid: str | None = None,
863
867
  max_credits: int | None = None,
@@ -870,6 +874,7 @@ def submit_macropka_workflow(
870
874
  :param max_pH: The maximum pH to use in the macropka workflow.
871
875
  :param min_charge: The minimum charge to use in the macropka workflow.
872
876
  :param max_charge: The maximum charge to use in the macropka workflow.
877
+ :param compute_aqueous_solubility: Whether to compute the aqueous solubility for each pH.
873
878
  :param compute_solvation_energy: Whether to compute the solvation energy.
874
879
  :param name: The name of the workflow.
875
880
  :param folder_uuid: The UUID of the folder to store the workflow in.
@@ -885,6 +890,7 @@ def submit_macropka_workflow(
885
890
  min_charge=min_charge,
886
891
  max_charge=max_charge,
887
892
  compute_solvation_energy=compute_solvation_energy,
893
+ compute_aqueous_solubility=compute_aqueous_solubility,
888
894
  )
889
895
 
890
896
  data = {
@@ -1021,8 +1027,9 @@ def submit_docking_workflow(
1021
1027
  protein: str | Protein,
1022
1028
  pocket: list[list[float]],
1023
1029
  initial_molecule: dict[str, Any] | StJamesMolecule | RdkitMol | None = None,
1024
- do_csearch: bool = True,
1025
- do_optimization: bool = True,
1030
+ do_csearch: bool = False,
1031
+ do_optimization: bool = False,
1032
+ do_pose_refinement: bool = False,
1026
1033
  name: str = "Docking Workflow",
1027
1034
  folder_uuid: str | None = None,
1028
1035
  max_credits: int | None = None,
@@ -1034,6 +1041,7 @@ def submit_docking_workflow(
1034
1041
  :param initial_molecule: The initial molecule to be docked
1035
1042
  :param do_csearch: Whether to perform a conformational search on the ligand.
1036
1043
  :param do_optimization: Whether to perform an optimization on the ligand.
1044
+ :param do_pose_refinement: Whether or not to optimize output poses.
1037
1045
  :param name: The name of the workflow.
1038
1046
  :param folder_uuid: The UUID of the folder to place the workflow in.
1039
1047
  :param max_credits: The maximum number of credits to use for the workflow.
@@ -1055,6 +1063,7 @@ def submit_docking_workflow(
1055
1063
  pocket=pocket,
1056
1064
  do_csearch=do_csearch,
1057
1065
  do_optimization=do_optimization,
1066
+ do_pose_refinement=do_pose_refinement
1058
1067
  )
1059
1068
 
1060
1069
  data = {
@@ -1070,3 +1079,108 @@ def submit_docking_workflow(
1070
1079
  response = client.post("/workflow", json=data)
1071
1080
  response.raise_for_status()
1072
1081
  return Workflow(**response.json())
1082
+
1083
+
1084
+ def submit_ion_mobility_workflow(
1085
+ initial_molecule: dict[str, Any] | StJamesMolecule | RdkitMol,
1086
+ temperature: float = 300,
1087
+ protonate: bool = False,
1088
+ do_csearch: bool = True,
1089
+ do_optimization: bool = True,
1090
+ name: str = "Ion-Mobility Workflow",
1091
+ folder_uuid: str | None = None,
1092
+ max_credits: int | None = None,
1093
+ ) -> Workflow:
1094
+ """
1095
+ Submits an ion-mobility workflow to the API.
1096
+
1097
+ :param initial_molecule: The molecule used in the scan.
1098
+ :param temperature: The temperature at which to predict CCS values.
1099
+ :param protonate: Whether or not to automatically detect protonation site.
1100
+ If `True`, every basic site will be protonated and values returned for the most stable.
1101
+ :param do_csearch: Whether to perform a conformational search on the molecule.
1102
+ :param do_optimization: Whether to perform an optimization on the molecule.
1103
+ :param name: The name of the workflow.
1104
+ :param folder_uuid: The UUID of the folder to store the workflow in.
1105
+ :param max_credits: The maximum number of credits to use for the workflow.
1106
+ :return: A Workflow object representing the submitted workflow.
1107
+ :raises requests.HTTPError: if the request to the API fails.
1108
+ """
1109
+ if isinstance(initial_molecule, StJamesMolecule):
1110
+ initial_molecule = initial_molecule.model_dump()
1111
+ elif isinstance(initial_molecule, RdkitMol):
1112
+ initial_molecule = StJamesMolecule.from_rdkit(initial_molecule, cid=0)
1113
+
1114
+ workflow = stjames.IonMobilityWorkflow(
1115
+ initial_molecule=initial_molecule,
1116
+ temperature=temperature,
1117
+ protonate=protonate,
1118
+ do_csearch=do_csearch,
1119
+ do_optimization=do_optimization,
1120
+ )
1121
+
1122
+ data = {
1123
+ "name": name,
1124
+ "folder_uuid": folder_uuid,
1125
+ "workflow_type": "ion_mobility",
1126
+ "workflow_data": workflow.model_dump(),
1127
+ "initial_molecule": initial_molecule,
1128
+ "max_credits": max_credits,
1129
+ }
1130
+
1131
+ with api_client() as client:
1132
+ response = client.post("/workflow", json=data)
1133
+ response.raise_for_status()
1134
+ return Workflow(**response.json())
1135
+
1136
+
1137
+ def submit_nmr_workflow(
1138
+ initial_molecule: dict[str, Any] | StJamesMolecule | RdkitMol,
1139
+ solvent: str | None = "chloroform",
1140
+ do_csearch: bool = True,
1141
+ do_optimization: bool = True,
1142
+ name: str = "NMR Workflow",
1143
+ folder_uuid: str | None = None,
1144
+ max_credits: int | None = None,
1145
+ ) -> Workflow:
1146
+ """
1147
+ Submits an NMR-prediction workflow to the API.
1148
+
1149
+ :param initial_molecule: The molecule used in the scan.
1150
+ :param solvent: The solvent in which to compute NMR spectra.
1151
+ :param do_csearch: Whether to perform a conformational search on the input structure.
1152
+ :param do_optimization: Whether to perform an optimization on the input structure.
1153
+ :param name: The name of the workflow.
1154
+ :param folder_uuid: The UUID of the folder to store the workflow in.
1155
+ :param max_credits: The maximum number of credits to use for the workflow.
1156
+ :return: A Workflow object representing the submitted workflow.
1157
+ :raises requests.HTTPError: if the request to the API fails.
1158
+ """
1159
+ if isinstance(initial_molecule, StJamesMolecule):
1160
+ initial_molecule = initial_molecule.model_dump()
1161
+ elif isinstance(initial_molecule, RdkitMol):
1162
+ initial_molecule = StJamesMolecule.from_rdkit(initial_molecule, cid=0)
1163
+
1164
+ workflow_data = {"initial_molecule": initial_molecule, "solvent": solvent}
1165
+
1166
+ if not do_csearch:
1167
+ workflow_data["conf_gen_settings"] = None
1168
+
1169
+ if not do_optimization:
1170
+ workflow_data["multistage_opt_settings"] = None
1171
+
1172
+ workflow = stjames.NMRSpectroscopyWorkflow.model_validate(workflow_data)
1173
+
1174
+ data = {
1175
+ "name": name,
1176
+ "folder_uuid": folder_uuid,
1177
+ "workflow_type": "nmr",
1178
+ "workflow_data": workflow.model_dump(serialize_as_any=True),
1179
+ "initial_molecule": initial_molecule,
1180
+ "max_credits": max_credits,
1181
+ }
1182
+
1183
+ with api_client() as client:
1184
+ response = client.post("/workflow", json=data)
1185
+ response.raise_for_status()
1186
+ return Workflow(**response.json())
@@ -1 +0,0 @@
1
- API_URL = "https://api.rowansci.com"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes