rowan-python 2.1.9__tar.gz → 2.1.11__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 (64) hide show
  1. {rowan_python-2.1.9 → rowan_python-2.1.11}/PKG-INFO +2 -2
  2. rowan_python-2.1.11/examples/dcd_download.py +10 -0
  3. rowan_python-2.1.11/examples/pdb_download.py +10 -0
  4. {rowan_python-2.1.9 → rowan_python-2.1.11}/pixi.lock +135 -132
  5. {rowan_python-2.1.9 → rowan_python-2.1.11}/pyproject.toml +2 -2
  6. {rowan_python-2.1.9 → rowan_python-2.1.11}/rowan/folder.py +29 -13
  7. {rowan_python-2.1.9 → rowan_python-2.1.11}/rowan/workflow.py +29 -0
  8. {rowan_python-2.1.9 → rowan_python-2.1.11}/.envrc +0 -0
  9. {rowan_python-2.1.9 → rowan_python-2.1.11}/.github/workflows/python-publish.yml +0 -0
  10. {rowan_python-2.1.9 → rowan_python-2.1.11}/.github/workflows/test.yml +0 -0
  11. {rowan_python-2.1.9 → rowan_python-2.1.11}/.gitignore +0 -0
  12. {rowan_python-2.1.9 → rowan_python-2.1.11}/.pre-commit-config.yaml +0 -0
  13. {rowan_python-2.1.9 → rowan_python-2.1.11}/LICENSE +0 -0
  14. {rowan_python-2.1.9 → rowan_python-2.1.11}/README.md +0 -0
  15. {rowan_python-2.1.9 → rowan_python-2.1.11}/docs/images/deciduous-tree-favicon.png +0 -0
  16. {rowan_python-2.1.9 → rowan_python-2.1.11}/docs/index.md +0 -0
  17. {rowan_python-2.1.9 → rowan_python-2.1.11}/docs/rowan_rdkit.md +0 -0
  18. {rowan_python-2.1.9 → rowan_python-2.1.11}/docs/stylesheets/colors.css +0 -0
  19. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/PROTAC_solubility.py +0 -0
  20. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/aqueous_solubility.py +0 -0
  21. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/basic_calculation.py +0 -0
  22. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/basic_calculation_from_json.py +0 -0
  23. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/basic_calculation_with_constraint.py +0 -0
  24. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/basic_calculation_with_solvent.py +0 -0
  25. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/batch_docking.py +0 -0
  26. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/bde.py +0 -0
  27. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/boltz_paired_msa.py +0 -0
  28. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/boltz_single_msa.py +0 -0
  29. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/chai_paired_msa.py +0 -0
  30. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/chai_single_msa.py +0 -0
  31. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/cofolding_screen.py +0 -0
  32. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/colabfold_paired_msa.py +0 -0
  33. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/colabfold_single_msa.py +0 -0
  34. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/conformer_dependent_redox.py +0 -0
  35. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/conformers.py +0 -0
  36. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/data/workflow_example.json +0 -0
  37. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/docking_screen.py +0 -0
  38. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/double_ended_ts_search.py +0 -0
  39. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/fukui_index.py +0 -0
  40. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/ion_mobility.py +0 -0
  41. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/irc.py +0 -0
  42. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/macropka.py +0 -0
  43. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/multistage_opt.py +0 -0
  44. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/nmr.py +0 -0
  45. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/optimization.py +0 -0
  46. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/phenol_pka.py +0 -0
  47. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/pka.py +0 -0
  48. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/pose_analysis_md.py +0 -0
  49. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/protein_cofolding.py +0 -0
  50. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/redox_potential.py +0 -0
  51. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/scan.py +0 -0
  52. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/strain.py +0 -0
  53. {rowan_python-2.1.9 → rowan_python-2.1.11}/examples/tautomer.py +0 -0
  54. {rowan_python-2.1.9 → rowan_python-2.1.11}/mkdocs.yml +0 -0
  55. {rowan_python-2.1.9 → rowan_python-2.1.11}/rowan/__init__.py +0 -0
  56. {rowan_python-2.1.9 → rowan_python-2.1.11}/rowan/constants.py +0 -0
  57. {rowan_python-2.1.9 → rowan_python-2.1.11}/rowan/project.py +0 -0
  58. {rowan_python-2.1.9 → rowan_python-2.1.11}/rowan/protein.py +0 -0
  59. {rowan_python-2.1.9 → rowan_python-2.1.11}/rowan/py.typed +0 -0
  60. {rowan_python-2.1.9 → rowan_python-2.1.11}/rowan/rowan_rdkit/__init__.py +0 -0
  61. {rowan_python-2.1.9 → rowan_python-2.1.11}/rowan/rowan_rdkit/chem_utils.py +0 -0
  62. {rowan_python-2.1.9 → rowan_python-2.1.11}/rowan/user.py +0 -0
  63. {rowan_python-2.1.9 → rowan_python-2.1.11}/rowan/utils.py +0 -0
  64. {rowan_python-2.1.9 → rowan_python-2.1.11}/tests/test_macropka_loop.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rowan-python
3
- Version: 2.1.9
3
+ Version: 2.1.11
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.125
14
+ Requires-Dist: stjames>=0.0.128
15
15
  Description-Content-Type: text/markdown
16
16
 
17
17
  # Rowan Python Library
@@ -0,0 +1,10 @@
1
+ from pathlib import Path
2
+
3
+ import rowan
4
+
5
+ # rowan.api_key = ""
6
+
7
+ pose_analysis_md_workflows = rowan.list_workflows(workflow_type="pose_analysis_md", status=2)
8
+ for workflow in pose_analysis_md_workflows:
9
+ print(workflow.name)
10
+ workflow.download_dcd_files(replicates=[0], name=workflow.name, path=Path("dcd_files"))
@@ -0,0 +1,10 @@
1
+ from pathlib import Path
2
+
3
+ import rowan
4
+
5
+ # rowan.api_key = ""
6
+
7
+ proteins = rowan.list_proteins()
8
+ for protein in proteins:
9
+ print(protein.name)
10
+ protein.download_pdb_file(name=protein.name, path=Path("pdb_files"))
@@ -10,9 +10,9 @@ environments:
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
12
  - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda
13
- - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.10.5-hbd8a1cb_0.conda
13
+ - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.11.12-hbd8a1cb_0.conda
14
14
  - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda
15
- - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1aa0949_5.conda
15
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45-h1aa0949_0.conda
16
16
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda
17
17
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda
18
18
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda
@@ -26,16 +26,16 @@ environments:
26
26
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-he9a06e4_0.conda
27
27
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda
28
28
  - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda
29
- - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda
29
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.0-h26f9b46_0.conda
30
30
  - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.0-h32b2ec7_102_cp314.conda
31
31
  - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda
32
32
  - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda
33
- - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda
33
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_ha0e22de_103.conda
34
34
  - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda
35
35
  - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda
36
36
  - pypi: https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl
37
37
  - pypi: https://files.pythonhosted.org/packages/15/b3/9b1a8074496371342ec1e796a96f99c82c945a339cd81a8e73de28b4cf9e/anyio-4.11.0-py3-none-any.whl
38
- - pypi: https://files.pythonhosted.org/packages/e4/37/af0d2ef3967ac0d6113837b44a4f0bfe1328c2b9763bd5b1744520e5cfed/certifi-2025.10.5-py3-none-any.whl
38
+ - pypi: https://files.pythonhosted.org/packages/70/7d/9bc192684cea499815ff478dfcdc13835ddf401365057044fb721ec6bddb/certifi-2025.11.12-py3-none-any.whl
39
39
  - pypi: https://files.pythonhosted.org/packages/67/ff/f6b948ca32e4f2a4576aa129d8bed61f2e0543bf9f5f2b7fc3758ed005c9/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
40
40
  - pypi: https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl
41
41
  - pypi: https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl
@@ -43,7 +43,7 @@ environments:
43
43
  - pypi: https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl
44
44
  - pypi: https://files.pythonhosted.org/packages/a4/8e/469e5a4a2f5855992e425f3cb33804cc07bf18d48f2db061aec61ce50270/more_itertools-10.8.0-py3-none-any.whl
45
45
  - pypi: https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl
46
- - pypi: https://files.pythonhosted.org/packages/e8/7e/4a14a769741fbf237eec5a12a2cbc7a4c4e061852b6533bcb9e9a796c908/numpy-2.3.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
46
+ - pypi: https://files.pythonhosted.org/packages/c8/f6/07ec185b90ec9d7217a00eeeed7383b73d7e709dae2a9a021b051542a708/numpy-2.3.5-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
47
47
  - pypi: https://files.pythonhosted.org/packages/3a/be/ee90a3d79271227e0f0a33c453531efd6ed14b2e708596ba5dd9be948da3/pillow-12.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
48
48
  - pypi: https://files.pythonhosted.org/packages/82/2f/e68750da9b04856e2a7ec56fc6f034a5a79775e9b9a81882252789873798/pydantic-2.12.4-py3-none-any.whl
49
49
  - pypi: https://files.pythonhosted.org/packages/4c/d2/ef2074dc020dd6e109611a8be4449b98cd25e1b9b8a303c2f0fca2f2bcf7/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
@@ -51,14 +51,14 @@ environments:
51
51
  - pypi: https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl
52
52
  - pypi: https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl
53
53
  - pypi: https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl
54
- - pypi: https://files.pythonhosted.org/packages/1c/d8/d1447946b6624114a6e997fd6b2b82def7cb3f8fb74a047dd960ffca8a04/stjames-0.0.125-py3-none-any.whl
54
+ - pypi: https://files.pythonhosted.org/packages/19/d1/4f1b26e50bad8f91c2072c559a4cdd70dff7778043abf1e20f430efd9baf/stjames-0.0.129-py3-none-any.whl
55
55
  - pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl
56
56
  - pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl
57
57
  - pypi: https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl
58
58
  - pypi: ./
59
59
  osx-arm64:
60
60
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_8.conda
61
- - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.10.5-hbd8a1cb_0.conda
61
+ - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.11.12-hbd8a1cb_0.conda
62
62
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda
63
63
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.7.1-hec049ff_0.conda
64
64
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.5.2-he5f378a_0.conda
@@ -67,16 +67,16 @@ environments:
67
67
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.51.0-h8adb53f_0.conda
68
68
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda
69
69
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda
70
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.5.4-h5503f6c_0.conda
70
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.0-h5503f6c_0.conda
71
71
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.0-h40d2674_102_cp314.conda
72
72
  - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda
73
73
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h1d1bf99_2.conda
74
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h892fb3f_2.conda
74
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h892fb3f_3.conda
75
75
  - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda
76
76
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-h6491c7d_2.conda
77
77
  - pypi: https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl
78
78
  - pypi: https://files.pythonhosted.org/packages/15/b3/9b1a8074496371342ec1e796a96f99c82c945a339cd81a8e73de28b4cf9e/anyio-4.11.0-py3-none-any.whl
79
- - pypi: https://files.pythonhosted.org/packages/e4/37/af0d2ef3967ac0d6113837b44a4f0bfe1328c2b9763bd5b1744520e5cfed/certifi-2025.10.5-py3-none-any.whl
79
+ - pypi: https://files.pythonhosted.org/packages/70/7d/9bc192684cea499815ff478dfcdc13835ddf401365057044fb721ec6bddb/certifi-2025.11.12-py3-none-any.whl
80
80
  - pypi: https://files.pythonhosted.org/packages/2a/35/7051599bd493e62411d6ede36fd5af83a38f37c4767b92884df7301db25d/charset_normalizer-3.4.4-cp314-cp314-macosx_10_13_universal2.whl
81
81
  - pypi: https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl
82
82
  - pypi: https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl
@@ -84,7 +84,7 @@ environments:
84
84
  - pypi: https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl
85
85
  - pypi: https://files.pythonhosted.org/packages/a4/8e/469e5a4a2f5855992e425f3cb33804cc07bf18d48f2db061aec61ce50270/more_itertools-10.8.0-py3-none-any.whl
86
86
  - pypi: https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl
87
- - pypi: https://files.pythonhosted.org/packages/af/39/4be9222ffd6ca8a30eda033d5f753276a9c3426c397bb137d8e19dedd200/numpy-2.3.4-cp314-cp314-macosx_11_0_arm64.whl
87
+ - pypi: https://files.pythonhosted.org/packages/57/d4/51233b1c1b13ecd796311216ae417796b88b0616cfd8a33ae4536330748a/numpy-2.3.5-cp314-cp314-macosx_11_0_arm64.whl
88
88
  - pypi: https://files.pythonhosted.org/packages/fc/f5/eae31a306341d8f331f43edb2e9122c7661b975433de5e447939ae61c5da/pillow-12.0.0-cp314-cp314-macosx_11_0_arm64.whl
89
89
  - pypi: https://files.pythonhosted.org/packages/82/2f/e68750da9b04856e2a7ec56fc6f034a5a79775e9b9a81882252789873798/pydantic-2.12.4-py3-none-any.whl
90
90
  - pypi: https://files.pythonhosted.org/packages/74/1a/145646e5687e8d9a1e8d09acb278c8535ebe9e972e1f162ed338a622f193/pydantic_core-2.41.5-cp314-cp314-macosx_11_0_arm64.whl
@@ -92,7 +92,7 @@ environments:
92
92
  - pypi: https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl
93
93
  - pypi: https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl
94
94
  - pypi: https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl
95
- - pypi: https://files.pythonhosted.org/packages/1c/d8/d1447946b6624114a6e997fd6b2b82def7cb3f8fb74a047dd960ffca8a04/stjames-0.0.125-py3-none-any.whl
95
+ - pypi: https://files.pythonhosted.org/packages/19/d1/4f1b26e50bad8f91c2072c559a4cdd70dff7778043abf1e20f430efd9baf/stjames-0.0.129-py3-none-any.whl
96
96
  - pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl
97
97
  - pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl
98
98
  - pypi: https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl
@@ -107,9 +107,9 @@ environments:
107
107
  - conda: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2
108
108
  - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2
109
109
  - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda
110
- - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.10.5-hbd8a1cb_0.conda
110
+ - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.11.12-hbd8a1cb_0.conda
111
111
  - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-75.1-he02047a_0.conda
112
- - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1aa0949_5.conda
112
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45-h1aa0949_0.conda
113
113
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda
114
114
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h9ec8514_0.conda
115
115
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-h767d61c_7.conda
@@ -123,24 +123,24 @@ environments:
123
123
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.2-he9a06e4_0.conda
124
124
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda
125
125
  - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda
126
- - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda
126
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.0-h26f9b46_0.conda
127
127
  - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.0-h32b2ec7_102_cp314.conda
128
128
  - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda
129
129
  - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8c095d6_2.conda
130
- - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda
130
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_ha0e22de_103.conda
131
131
  - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda
132
132
  - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda
133
133
  - pypi: https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl
134
134
  - pypi: https://files.pythonhosted.org/packages/15/b3/9b1a8074496371342ec1e796a96f99c82c945a339cd81a8e73de28b4cf9e/anyio-4.11.0-py3-none-any.whl
135
- - pypi: https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl
135
+ - pypi: https://files.pythonhosted.org/packages/d2/39/e7eaf1799466a4aef85b6a4fe7bd175ad2b1c6345066aa33f1f58d4b18d0/asttokens-3.0.1-py3-none-any.whl
136
136
  - pypi: https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl
137
- - pypi: https://files.pythonhosted.org/packages/fc/24/b29af34b2c9c41645a9f4ff117bae860291780d73880f449e0b5d948c070/backrefs-5.9-py314-none-any.whl
138
- - pypi: https://files.pythonhosted.org/packages/e4/37/af0d2ef3967ac0d6113837b44a4f0bfe1328c2b9763bd5b1744520e5cfed/certifi-2025.10.5-py3-none-any.whl
137
+ - pypi: https://files.pythonhosted.org/packages/1d/72/6296bad135bfafd3254ae3648cd152980a424bd6fed64a101af00cc7ba31/backrefs-6.1-py314-none-any.whl
138
+ - pypi: https://files.pythonhosted.org/packages/70/7d/9bc192684cea499815ff478dfcdc13835ddf401365057044fb721ec6bddb/certifi-2025.11.12-py3-none-any.whl
139
139
  - pypi: https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl
140
140
  - pypi: https://files.pythonhosted.org/packages/67/ff/f6b948ca32e4f2a4576aa129d8bed61f2e0543bf9f5f2b7fc3758ed005c9/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
141
- - pypi: https://files.pythonhosted.org/packages/db/d3/9dcc0f5797f070ec8edf30fbadfb200e71d9db6b84d211e3b2085a7589a0/click-8.3.0-py3-none-any.whl
141
+ - pypi: https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl
142
142
  - pypi: https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl
143
- - pypi: https://files.pythonhosted.org/packages/20/1d/784b87270784b0b88e4beec9d028e8d58f73ae248032579c63ad2ac6f69a/coverage-7.11.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
143
+ - pypi: https://files.pythonhosted.org/packages/d9/1d/9529d9bd44049b6b05bb319c03a3a7e4b0a8a802d28fa348ad407e10706d/coverage-7.12.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
144
144
  - pypi: https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl
145
145
  - pypi: https://files.pythonhosted.org/packages/33/6b/e0547afaf41bf2c42e52430072fa5658766e3d65bd4b03a563d1b6336f57/distlib-0.4.0-py2.py3-none-any.whl
146
146
  - pypi: https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl
@@ -165,7 +165,7 @@ environments:
165
165
  - pypi: https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl
166
166
  - pypi: https://files.pythonhosted.org/packages/9f/4d/7123b6fa2278000688ebd338e2a06d16870aaf9eceae6ba047ea05f92df1/mkdocs_autorefs-1.4.3-py3-none-any.whl
167
167
  - pypi: https://files.pythonhosted.org/packages/9f/d4/029f984e8d3f3b6b726bd33cafc473b75e9e44c0f7e80a5b29abc466bdea/mkdocs_get_deps-0.2.0-py3-none-any.whl
168
- - pypi: https://files.pythonhosted.org/packages/f5/df/bc583e857174b0dc6df67d555123533f09e7e1ac0f3fae7693fb6840c0a3/mkdocs_material-9.6.23-py3-none-any.whl
168
+ - pypi: https://files.pythonhosted.org/packages/04/87/eefe8d5e764f4cf50ed91b943f8e8f96b5efd65489d8303b7a36e2e79834/mkdocs_material-9.7.0-py3-none-any.whl
169
169
  - pypi: https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl
170
170
  - pypi: https://files.pythonhosted.org/packages/7b/2c/f0dc4e1ee7f618f5bff7e05898d20bf8b6e7fa612038f768bfa295f136a4/mkdocstrings-0.30.1-py3-none-any.whl
171
171
  - pypi: https://files.pythonhosted.org/packages/98/5c/2597cef67b6947b15c47f8dba967a0baf19fbdfdc86f6e4a8ba7af8b581a/mkdocstrings_python-1.19.0-py3-none-any.whl
@@ -174,7 +174,7 @@ environments:
174
174
  - pypi: https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl
175
175
  - pypi: https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl
176
176
  - pypi: https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl
177
- - pypi: https://files.pythonhosted.org/packages/e8/7e/4a14a769741fbf237eec5a12a2cbc7a4c4e061852b6533bcb9e9a796c908/numpy-2.3.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
177
+ - pypi: https://files.pythonhosted.org/packages/c8/f6/07ec185b90ec9d7217a00eeeed7383b73d7e709dae2a9a021b051542a708/numpy-2.3.5-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
178
178
  - pypi: https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl
179
179
  - pypi: https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl
180
180
  - pypi: https://files.pythonhosted.org/packages/16/32/f8e3c85d1d5250232a5d3477a2a28cc291968ff175caeadaf3cc19ce0e4a/parso-0.8.5-py2.py3-none-any.whl
@@ -190,8 +190,8 @@ environments:
190
190
  - pypi: https://files.pythonhosted.org/packages/82/2f/e68750da9b04856e2a7ec56fc6f034a5a79775e9b9a81882252789873798/pydantic-2.12.4-py3-none-any.whl
191
191
  - pypi: https://files.pythonhosted.org/packages/4c/d2/ef2074dc020dd6e109611a8be4449b98cd25e1b9b8a303c2f0fca2f2bcf7/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
192
192
  - pypi: https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl
193
- - pypi: https://files.pythonhosted.org/packages/e4/06/43084e6cbd4b3bc0e80f6be743b2e79fbc6eed8de9ad8c629939fa55d972/pymdown_extensions-10.16.1-py3-none-any.whl
194
- - pypi: https://files.pythonhosted.org/packages/72/99/cafef234114a3b6d9f3aaed0723b437c40c57bdb7b3e4c3a575bc4890052/pytest-9.0.0-py3-none-any.whl
193
+ - pypi: https://files.pythonhosted.org/packages/81/40/b2d7b9fdccc63e48ae4dbd363b6b89eb7ac346ea49ed667bb71f92af3021/pymdown_extensions-10.17.1-py3-none-any.whl
194
+ - pypi: https://files.pythonhosted.org/packages/0b/8b/6300fb80f858cda1c51ffa17075df5d846757081d11ab4aa35cef9e6258b/pytest-9.0.1-py3-none-any.whl
195
195
  - pypi: https://files.pythonhosted.org/packages/ee/49/1377b49de7d0c1ce41292161ea0f721913fa8722c19fb9c1e3aa0367eecb/pytest_cov-7.0.0-py3-none-any.whl
196
196
  - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl
197
197
  - pypi: https://files.pythonhosted.org/packages/14/1b/a298b06749107c305e1fe0f814c6c74aea7b2f1e10989cb30f544a1b3253/python_dotenv-1.2.1-py3-none-any.whl
@@ -200,12 +200,12 @@ environments:
200
200
  - pypi: https://files.pythonhosted.org/packages/fe/76/e1acd4a03f31cf323bd4899062ae954df029d06b1f8794bb1a03dbbf9f5c/rdkit-2025.9.1-cp314-cp314-manylinux_2_28_x86_64.whl
201
201
  - pypi: https://files.pythonhosted.org/packages/d9/0f/90088510d4758e0ee475ae1fc7f96e7bccd0e31f24107567075482b2fe9e/rdkit_stubs-0.8-py3-none-any.whl
202
202
  - pypi: https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl
203
- - pypi: https://files.pythonhosted.org/packages/ee/79/6ad4dda2cfd55e41ac9ed6d73ef9ab9475b1eef69f3a85957210c74ba12c/ruff-0.14.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
203
+ - pypi: https://files.pythonhosted.org/packages/ad/ef/41a8b60f8462cb320f68615b00299ebb12660097c952c600c762078420f8/ruff-0.14.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
204
204
  - pypi: https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl
205
205
  - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl
206
206
  - pypi: https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl
207
207
  - pypi: https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl
208
- - pypi: https://files.pythonhosted.org/packages/1c/d8/d1447946b6624114a6e997fd6b2b82def7cb3f8fb74a047dd960ffca8a04/stjames-0.0.125-py3-none-any.whl
208
+ - pypi: https://files.pythonhosted.org/packages/19/d1/4f1b26e50bad8f91c2072c559a4cdd70dff7778043abf1e20f430efd9baf/stjames-0.0.129-py3-none-any.whl
209
209
  - pypi: https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl
210
210
  - pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl
211
211
  - pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl
@@ -216,7 +216,7 @@ environments:
216
216
  - pypi: ./
217
217
  osx-arm64:
218
218
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_8.conda
219
- - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.10.5-hbd8a1cb_0.conda
219
+ - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.11.12-hbd8a1cb_0.conda
220
220
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-75.1-hfee45f7_0.conda
221
221
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.7.1-hec049ff_0.conda
222
222
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.5.2-he5f378a_0.conda
@@ -225,24 +225,24 @@ environments:
225
225
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.51.0-h8adb53f_0.conda
226
226
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.1-h8359307_2.conda
227
227
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda
228
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.5.4-h5503f6c_0.conda
228
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.0-h5503f6c_0.conda
229
229
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.0-h40d2674_102_cp314.conda
230
230
  - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda
231
231
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.2-h1d1bf99_2.conda
232
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h892fb3f_2.conda
232
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h892fb3f_3.conda
233
233
  - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda
234
234
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-h6491c7d_2.conda
235
235
  - pypi: https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl
236
236
  - pypi: https://files.pythonhosted.org/packages/15/b3/9b1a8074496371342ec1e796a96f99c82c945a339cd81a8e73de28b4cf9e/anyio-4.11.0-py3-none-any.whl
237
- - pypi: https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl
237
+ - pypi: https://files.pythonhosted.org/packages/d2/39/e7eaf1799466a4aef85b6a4fe7bd175ad2b1c6345066aa33f1f58d4b18d0/asttokens-3.0.1-py3-none-any.whl
238
238
  - pypi: https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl
239
- - pypi: https://files.pythonhosted.org/packages/fc/24/b29af34b2c9c41645a9f4ff117bae860291780d73880f449e0b5d948c070/backrefs-5.9-py314-none-any.whl
240
- - pypi: https://files.pythonhosted.org/packages/e4/37/af0d2ef3967ac0d6113837b44a4f0bfe1328c2b9763bd5b1744520e5cfed/certifi-2025.10.5-py3-none-any.whl
239
+ - pypi: https://files.pythonhosted.org/packages/1d/72/6296bad135bfafd3254ae3648cd152980a424bd6fed64a101af00cc7ba31/backrefs-6.1-py314-none-any.whl
240
+ - pypi: https://files.pythonhosted.org/packages/70/7d/9bc192684cea499815ff478dfcdc13835ddf401365057044fb721ec6bddb/certifi-2025.11.12-py3-none-any.whl
241
241
  - pypi: https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl
242
242
  - pypi: https://files.pythonhosted.org/packages/2a/35/7051599bd493e62411d6ede36fd5af83a38f37c4767b92884df7301db25d/charset_normalizer-3.4.4-cp314-cp314-macosx_10_13_universal2.whl
243
- - pypi: https://files.pythonhosted.org/packages/db/d3/9dcc0f5797f070ec8edf30fbadfb200e71d9db6b84d211e3b2085a7589a0/click-8.3.0-py3-none-any.whl
243
+ - pypi: https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl
244
244
  - pypi: https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl
245
- - pypi: https://files.pythonhosted.org/packages/28/76/1079547f9d46f9c7c7d0dad35b6873c98bc5aa721eeabceafabd722cd5e7/coverage-7.11.3-cp314-cp314-macosx_11_0_arm64.whl
245
+ - pypi: https://files.pythonhosted.org/packages/1f/c1/ce3e525d223350c6ec16b9be8a057623f54226ef7f4c2fee361ebb6a02b8/coverage-7.12.0-cp314-cp314-macosx_11_0_arm64.whl
246
246
  - pypi: https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl
247
247
  - pypi: https://files.pythonhosted.org/packages/33/6b/e0547afaf41bf2c42e52430072fa5658766e3d65bd4b03a563d1b6336f57/distlib-0.4.0-py2.py3-none-any.whl
248
248
  - pypi: https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl
@@ -267,7 +267,7 @@ environments:
267
267
  - pypi: https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl
268
268
  - pypi: https://files.pythonhosted.org/packages/9f/4d/7123b6fa2278000688ebd338e2a06d16870aaf9eceae6ba047ea05f92df1/mkdocs_autorefs-1.4.3-py3-none-any.whl
269
269
  - pypi: https://files.pythonhosted.org/packages/9f/d4/029f984e8d3f3b6b726bd33cafc473b75e9e44c0f7e80a5b29abc466bdea/mkdocs_get_deps-0.2.0-py3-none-any.whl
270
- - pypi: https://files.pythonhosted.org/packages/f5/df/bc583e857174b0dc6df67d555123533f09e7e1ac0f3fae7693fb6840c0a3/mkdocs_material-9.6.23-py3-none-any.whl
270
+ - pypi: https://files.pythonhosted.org/packages/04/87/eefe8d5e764f4cf50ed91b943f8e8f96b5efd65489d8303b7a36e2e79834/mkdocs_material-9.7.0-py3-none-any.whl
271
271
  - pypi: https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl
272
272
  - pypi: https://files.pythonhosted.org/packages/7b/2c/f0dc4e1ee7f618f5bff7e05898d20bf8b6e7fa612038f768bfa295f136a4/mkdocstrings-0.30.1-py3-none-any.whl
273
273
  - pypi: https://files.pythonhosted.org/packages/98/5c/2597cef67b6947b15c47f8dba967a0baf19fbdfdc86f6e4a8ba7af8b581a/mkdocstrings_python-1.19.0-py3-none-any.whl
@@ -276,7 +276,7 @@ environments:
276
276
  - pypi: https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl
277
277
  - pypi: https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl
278
278
  - pypi: https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl
279
- - pypi: https://files.pythonhosted.org/packages/af/39/4be9222ffd6ca8a30eda033d5f753276a9c3426c397bb137d8e19dedd200/numpy-2.3.4-cp314-cp314-macosx_11_0_arm64.whl
279
+ - pypi: https://files.pythonhosted.org/packages/57/d4/51233b1c1b13ecd796311216ae417796b88b0616cfd8a33ae4536330748a/numpy-2.3.5-cp314-cp314-macosx_11_0_arm64.whl
280
280
  - pypi: https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl
281
281
  - pypi: https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl
282
282
  - pypi: https://files.pythonhosted.org/packages/16/32/f8e3c85d1d5250232a5d3477a2a28cc291968ff175caeadaf3cc19ce0e4a/parso-0.8.5-py2.py3-none-any.whl
@@ -292,8 +292,8 @@ environments:
292
292
  - pypi: https://files.pythonhosted.org/packages/82/2f/e68750da9b04856e2a7ec56fc6f034a5a79775e9b9a81882252789873798/pydantic-2.12.4-py3-none-any.whl
293
293
  - pypi: https://files.pythonhosted.org/packages/74/1a/145646e5687e8d9a1e8d09acb278c8535ebe9e972e1f162ed338a622f193/pydantic_core-2.41.5-cp314-cp314-macosx_11_0_arm64.whl
294
294
  - pypi: https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl
295
- - pypi: https://files.pythonhosted.org/packages/e4/06/43084e6cbd4b3bc0e80f6be743b2e79fbc6eed8de9ad8c629939fa55d972/pymdown_extensions-10.16.1-py3-none-any.whl
296
- - pypi: https://files.pythonhosted.org/packages/72/99/cafef234114a3b6d9f3aaed0723b437c40c57bdb7b3e4c3a575bc4890052/pytest-9.0.0-py3-none-any.whl
295
+ - pypi: https://files.pythonhosted.org/packages/81/40/b2d7b9fdccc63e48ae4dbd363b6b89eb7ac346ea49ed667bb71f92af3021/pymdown_extensions-10.17.1-py3-none-any.whl
296
+ - pypi: https://files.pythonhosted.org/packages/0b/8b/6300fb80f858cda1c51ffa17075df5d846757081d11ab4aa35cef9e6258b/pytest-9.0.1-py3-none-any.whl
297
297
  - pypi: https://files.pythonhosted.org/packages/ee/49/1377b49de7d0c1ce41292161ea0f721913fa8722c19fb9c1e3aa0367eecb/pytest_cov-7.0.0-py3-none-any.whl
298
298
  - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl
299
299
  - pypi: https://files.pythonhosted.org/packages/14/1b/a298b06749107c305e1fe0f814c6c74aea7b2f1e10989cb30f544a1b3253/python_dotenv-1.2.1-py3-none-any.whl
@@ -302,12 +302,12 @@ environments:
302
302
  - pypi: https://files.pythonhosted.org/packages/80/46/b06b28b43d70a83cfd35a1ede3b549d2b2bf9547e898bb95aa84e9ed10e8/rdkit-2025.9.1-cp314-cp314-macosx_11_0_arm64.whl
303
303
  - pypi: https://files.pythonhosted.org/packages/d9/0f/90088510d4758e0ee475ae1fc7f96e7bccd0e31f24107567075482b2fe9e/rdkit_stubs-0.8-py3-none-any.whl
304
304
  - pypi: https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl
305
- - pypi: https://files.pythonhosted.org/packages/14/bb/1564b000219144bf5eed2359edc94c3590dd49d510751dad26202c18a17d/ruff-0.14.4-py3-none-macosx_11_0_arm64.whl
305
+ - pypi: https://files.pythonhosted.org/packages/b6/f3/aa319f4afc22cb6fcba2b9cdfc0f03bbf747e59ab7a8c5e90173857a1361/ruff-0.14.5-py3-none-macosx_11_0_arm64.whl
306
306
  - pypi: https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl
307
307
  - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl
308
308
  - pypi: https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl
309
309
  - pypi: https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl
310
- - pypi: https://files.pythonhosted.org/packages/1c/d8/d1447946b6624114a6e997fd6b2b82def7cb3f8fb74a047dd960ffca8a04/stjames-0.0.125-py3-none-any.whl
310
+ - pypi: https://files.pythonhosted.org/packages/19/d1/4f1b26e50bad8f91c2072c559a4cdd70dff7778043abf1e20f430efd9baf/stjames-0.0.129-py3-none-any.whl
311
311
  - pypi: https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl
312
312
  - pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl
313
313
  - pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl
@@ -356,14 +356,14 @@ packages:
356
356
  - typing-extensions>=4.5 ; python_full_version < '3.13'
357
357
  - trio>=0.31.0 ; extra == 'trio'
358
358
  requires_python: '>=3.9'
359
- - pypi: https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl
359
+ - pypi: https://files.pythonhosted.org/packages/d2/39/e7eaf1799466a4aef85b6a4fe7bd175ad2b1c6345066aa33f1f58d4b18d0/asttokens-3.0.1-py3-none-any.whl
360
360
  name: asttokens
361
- version: 3.0.0
362
- sha256: e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2
361
+ version: 3.0.1
362
+ sha256: 15a3ebc0f43c2d0a50eeafea25e19046c68398e487b9f1f5b517f7c0f40f976a
363
363
  requires_dist:
364
- - astroid>=2,<4 ; extra == 'astroid'
365
- - astroid>=2,<4 ; extra == 'test'
366
- - pytest ; extra == 'test'
364
+ - astroid>=2,<5 ; extra == 'astroid'
365
+ - astroid>=2,<5 ; extra == 'test'
366
+ - pytest<9.0 ; extra == 'test'
367
367
  - pytest-cov ; extra == 'test'
368
368
  - pytest-xdist ; extra == 'test'
369
369
  requires_python: '>=3.8'
@@ -382,10 +382,10 @@ packages:
382
382
  - pytz ; extra == 'dev'
383
383
  - setuptools ; extra == 'dev'
384
384
  requires_python: '>=3.8'
385
- - pypi: https://files.pythonhosted.org/packages/fc/24/b29af34b2c9c41645a9f4ff117bae860291780d73880f449e0b5d948c070/backrefs-5.9-py314-none-any.whl
385
+ - pypi: https://files.pythonhosted.org/packages/1d/72/6296bad135bfafd3254ae3648cd152980a424bd6fed64a101af00cc7ba31/backrefs-6.1-py314-none-any.whl
386
386
  name: backrefs
387
- version: '5.9'
388
- sha256: df5e169836cc8acb5e440ebae9aad4bf9d15e226d3bad049cf3f6a5c20cc8dc9
387
+ version: '6.1'
388
+ sha256: 13eafbc9ccd5222e9c1f0bec563e6d2a6d21514962f11e7fc79872fd56cbc853
389
389
  requires_dist:
390
390
  - regex ; extra == 'extras'
391
391
  requires_python: '>=3.9'
@@ -410,19 +410,19 @@ packages:
410
410
  purls: []
411
411
  size: 125061
412
412
  timestamp: 1757437486465
413
- - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.10.5-hbd8a1cb_0.conda
414
- sha256: 3b5ad78b8bb61b6cdc0978a6a99f8dfb2cc789a451378d054698441005ecbdb6
415
- md5: f9e5fbc24009179e8b0409624691758a
413
+ - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2025.11.12-hbd8a1cb_0.conda
414
+ sha256: b986ba796d42c9d3265602bc038f6f5264095702dd546c14bc684e60c385e773
415
+ md5: f0991f0f84902f6b6009b4d2350a83aa
416
416
  depends:
417
417
  - __unix
418
418
  license: ISC
419
419
  purls: []
420
- size: 155907
421
- timestamp: 1759649036195
422
- - pypi: https://files.pythonhosted.org/packages/e4/37/af0d2ef3967ac0d6113837b44a4f0bfe1328c2b9763bd5b1744520e5cfed/certifi-2025.10.5-py3-none-any.whl
420
+ size: 152432
421
+ timestamp: 1762967197890
422
+ - pypi: https://files.pythonhosted.org/packages/70/7d/9bc192684cea499815ff478dfcdc13835ddf401365057044fb721ec6bddb/certifi-2025.11.12-py3-none-any.whl
423
423
  name: certifi
424
- version: 2025.10.5
425
- sha256: 0f212c2744a9bb6de0c56639a6f68afe01ecd92d91f14ae897c4fe7bbeeef0de
424
+ version: 2025.11.12
425
+ sha256: 97de8790030bbd5c2d96b7ec782fc2f7820ef8dba6db909ccf95449f2d062d4b
426
426
  requires_python: '>=3.7'
427
427
  - pypi: https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl
428
428
  name: cfgv
@@ -439,10 +439,10 @@ packages:
439
439
  version: 3.4.4
440
440
  sha256: ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838
441
441
  requires_python: '>=3.7'
442
- - pypi: https://files.pythonhosted.org/packages/db/d3/9dcc0f5797f070ec8edf30fbadfb200e71d9db6b84d211e3b2085a7589a0/click-8.3.0-py3-none-any.whl
442
+ - pypi: https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl
443
443
  name: click
444
- version: 8.3.0
445
- sha256: 9b9f285302c6e3064f4330c05f05b81945b2a39544279343e6e7c5f27a9baddc
444
+ version: 8.3.1
445
+ sha256: 981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6
446
446
  requires_dist:
447
447
  - colorama ; sys_platform == 'win32'
448
448
  requires_python: '>=3.10'
@@ -451,17 +451,17 @@ packages:
451
451
  version: 0.4.6
452
452
  sha256: 4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
453
453
  requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*'
454
- - pypi: https://files.pythonhosted.org/packages/20/1d/784b87270784b0b88e4beec9d028e8d58f73ae248032579c63ad2ac6f69a/coverage-7.11.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
454
+ - pypi: https://files.pythonhosted.org/packages/1f/c1/ce3e525d223350c6ec16b9be8a057623f54226ef7f4c2fee361ebb6a02b8/coverage-7.12.0-cp314-cp314-macosx_11_0_arm64.whl
455
455
  name: coverage
456
- version: 7.11.3
457
- sha256: 9061a3e3c92b27fd8036dafa26f25d95695b6aa2e4514ab16a254f297e664f83
456
+ version: 7.12.0
457
+ sha256: 8787b0f982e020adb732b9f051f3e49dd5054cebbc3f3432061278512a2b1360
458
458
  requires_dist:
459
459
  - tomli ; python_full_version <= '3.11' and extra == 'toml'
460
460
  requires_python: '>=3.10'
461
- - pypi: https://files.pythonhosted.org/packages/28/76/1079547f9d46f9c7c7d0dad35b6873c98bc5aa721eeabceafabd722cd5e7/coverage-7.11.3-cp314-cp314-macosx_11_0_arm64.whl
461
+ - pypi: https://files.pythonhosted.org/packages/d9/1d/9529d9bd44049b6b05bb319c03a3a7e4b0a8a802d28fa348ad407e10706d/coverage-7.12.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
462
462
  name: coverage
463
- version: 7.11.3
464
- sha256: fe3425dc6021f906c6325d3c415e048e7cdb955505a94f1eb774dafc779ba203
463
+ version: 7.12.0
464
+ sha256: fdba9f15849534594f60b47c9a30bc70409b54947319a7c4fd0e8e3d8d2f355d
465
465
  requires_dist:
466
466
  - tomli ; python_full_version <= '3.11' and extra == 'toml'
467
467
  requires_python: '>=3.10'
@@ -698,18 +698,19 @@ packages:
698
698
  - markupsafe>=2.0
699
699
  - babel>=2.7 ; extra == 'i18n'
700
700
  requires_python: '>=3.7'
701
- - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1aa0949_5.conda
702
- sha256: dab1fbf65abb05d3f2ee49dff90d60eeb2e02039fcb561343c7cea5dea523585
703
- md5: 511ed8935448c1875776b60ad3daf3a1
701
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45-h1aa0949_0.conda
702
+ sha256: 32321d38b8785ef8ddcfef652ee370acee8d944681014d47797a18637ff16854
703
+ md5: 1450224b3e7d17dfeb985364b77a4d47
704
704
  depends:
705
705
  - __glibc >=2.17,<3.0.a0
706
706
  - zstd >=1.5.7,<1.6.0a0
707
707
  constrains:
708
- - binutils_impl_linux-64 2.44
708
+ - binutils_impl_linux-64 2.45
709
709
  license: GPL-3.0-only
710
+ license_family: GPL
710
711
  purls: []
711
- size: 741516
712
- timestamp: 1762674665675
712
+ size: 753744
713
+ timestamp: 1763060439129
713
714
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda
714
715
  sha256: da2080da8f0288b95dd86765c801c6e166c4619b910b11f9a8446fb852438dc2
715
716
  md5: 4211416ecba1866fab0c6470986c22d6
@@ -1013,22 +1014,22 @@ packages:
1013
1014
  - platformdirs>=2.2.0
1014
1015
  - pyyaml>=5.1
1015
1016
  requires_python: '>=3.8'
1016
- - pypi: https://files.pythonhosted.org/packages/f5/df/bc583e857174b0dc6df67d555123533f09e7e1ac0f3fae7693fb6840c0a3/mkdocs_material-9.6.23-py3-none-any.whl
1017
+ - pypi: https://files.pythonhosted.org/packages/04/87/eefe8d5e764f4cf50ed91b943f8e8f96b5efd65489d8303b7a36e2e79834/mkdocs_material-9.7.0-py3-none-any.whl
1017
1018
  name: mkdocs-material
1018
- version: 9.6.23
1019
- sha256: 3bf3f1d82d269f3a14ed6897bfc3a844cc05e1dc38045386691b91d7e6945332
1019
+ version: 9.7.0
1020
+ sha256: da2866ea53601125ff5baa8aa06404c6e07af3c5ce3d5de95e3b52b80b442887
1020
1021
  requires_dist:
1021
- - babel~=2.10
1022
- - backrefs~=5.7.post1
1023
- - colorama~=0.4
1024
- - jinja2~=3.1
1025
- - markdown~=3.2
1026
- - mkdocs-material-extensions~=1.3
1027
- - mkdocs~=1.6
1028
- - paginate~=0.5
1029
- - pygments~=2.16
1030
- - pymdown-extensions~=10.2
1031
- - requests~=2.26
1022
+ - babel>=2.10
1023
+ - backrefs>=5.7.post1
1024
+ - colorama>=0.4
1025
+ - jinja2>=3.1
1026
+ - markdown>=3.2
1027
+ - mkdocs-material-extensions>=1.3
1028
+ - mkdocs>=1.6
1029
+ - paginate>=0.5
1030
+ - pygments>=2.16
1031
+ - pymdown-extensions>=10.2
1032
+ - requests>=2.26
1032
1033
  - mkdocs-git-committers-plugin-2>=1.1,<3 ; extra == 'git'
1033
1034
  - mkdocs-git-revision-date-localized-plugin~=1.2,>=1.2.4 ; extra == 'git'
1034
1035
  - cairosvg~=2.6 ; extra == 'imaging'
@@ -1137,19 +1138,19 @@ packages:
1137
1138
  version: 1.9.1
1138
1139
  sha256: ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9
1139
1140
  requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*'
1140
- - pypi: https://files.pythonhosted.org/packages/af/39/4be9222ffd6ca8a30eda033d5f753276a9c3426c397bb137d8e19dedd200/numpy-2.3.4-cp314-cp314-macosx_11_0_arm64.whl
1141
+ - pypi: https://files.pythonhosted.org/packages/57/d4/51233b1c1b13ecd796311216ae417796b88b0616cfd8a33ae4536330748a/numpy-2.3.5-cp314-cp314-macosx_11_0_arm64.whl
1141
1142
  name: numpy
1142
- version: 2.3.4
1143
- sha256: 7c26b0b2bf58009ed1f38a641f3db4be8d960a417ca96d14e5b06df1506d41ff
1143
+ version: 2.3.5
1144
+ sha256: 052e8c42e0c49d2575621c158934920524f6c5da05a1d3b9bab5d8e259e045f0
1144
1145
  requires_python: '>=3.11'
1145
- - pypi: https://files.pythonhosted.org/packages/e8/7e/4a14a769741fbf237eec5a12a2cbc7a4c4e061852b6533bcb9e9a796c908/numpy-2.3.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
1146
+ - pypi: https://files.pythonhosted.org/packages/c8/f6/07ec185b90ec9d7217a00eeeed7383b73d7e709dae2a9a021b051542a708/numpy-2.3.5-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
1146
1147
  name: numpy
1147
- version: 2.3.4
1148
- sha256: d5e081bc082825f8b139f9e9fe42942cb4054524598aaeb177ff476cc76d09d2
1148
+ version: 2.3.5
1149
+ sha256: fffe29a1ef00883599d1dc2c51aa2e5d80afe49523c261a74933df395c15c520
1149
1150
  requires_python: '>=3.11'
1150
- - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda
1151
- sha256: e807f3bad09bdf4075dbb4168619e14b0c0360bacb2e12ef18641a834c8c5549
1152
- md5: 14edad12b59ccbfa3910d42c72adc2a0
1151
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.0-h26f9b46_0.conda
1152
+ sha256: a47271202f4518a484956968335b2521409c8173e123ab381e775c358c67fe6d
1153
+ md5: 9ee58d5c534af06558933af3c845a780
1153
1154
  depends:
1154
1155
  - __glibc >=2.17,<3.0.a0
1155
1156
  - ca-certificates
@@ -1157,19 +1158,19 @@ packages:
1157
1158
  license: Apache-2.0
1158
1159
  license_family: Apache
1159
1160
  purls: []
1160
- size: 3119624
1161
- timestamp: 1759324353651
1162
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.5.4-h5503f6c_0.conda
1163
- sha256: f0512629f9589392c2fb9733d11e753d0eab8fc7602f96e4d7f3bd95c783eb07
1164
- md5: 71118318f37f717eefe55841adb172fd
1161
+ size: 3165399
1162
+ timestamp: 1762839186699
1163
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.0-h5503f6c_0.conda
1164
+ sha256: ebe93dafcc09e099782fe3907485d4e1671296bc14f8c383cb6f3dfebb773988
1165
+ md5: b34dc4172653c13dcf453862f251af2b
1165
1166
  depends:
1166
1167
  - __osx >=11.0
1167
1168
  - ca-certificates
1168
1169
  license: Apache-2.0
1169
1170
  license_family: Apache
1170
1171
  purls: []
1171
- size: 3067808
1172
- timestamp: 1759324763146
1172
+ size: 3108371
1173
+ timestamp: 1762839712322
1173
1174
  - pypi: https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl
1174
1175
  name: packaging
1175
1176
  version: '25.0'
@@ -1357,19 +1358,19 @@ packages:
1357
1358
  requires_dist:
1358
1359
  - colorama>=0.4.6 ; extra == 'windows-terminal'
1359
1360
  requires_python: '>=3.8'
1360
- - pypi: https://files.pythonhosted.org/packages/e4/06/43084e6cbd4b3bc0e80f6be743b2e79fbc6eed8de9ad8c629939fa55d972/pymdown_extensions-10.16.1-py3-none-any.whl
1361
+ - pypi: https://files.pythonhosted.org/packages/81/40/b2d7b9fdccc63e48ae4dbd363b6b89eb7ac346ea49ed667bb71f92af3021/pymdown_extensions-10.17.1-py3-none-any.whl
1361
1362
  name: pymdown-extensions
1362
- version: 10.16.1
1363
- sha256: d6ba157a6c03146a7fb122b2b9a121300056384eafeec9c9f9e584adfdb2a32d
1363
+ version: 10.17.1
1364
+ sha256: 1f160209c82eecbb5d8a0d8f89a4d9bd6bdcbde9a8537761844cfc57ad5cd8a6
1364
1365
  requires_dist:
1365
1366
  - markdown>=3.6
1366
1367
  - pyyaml
1367
1368
  - pygments>=2.19.1 ; extra == 'extra'
1368
1369
  requires_python: '>=3.9'
1369
- - pypi: https://files.pythonhosted.org/packages/72/99/cafef234114a3b6d9f3aaed0723b437c40c57bdb7b3e4c3a575bc4890052/pytest-9.0.0-py3-none-any.whl
1370
+ - pypi: https://files.pythonhosted.org/packages/0b/8b/6300fb80f858cda1c51ffa17075df5d846757081d11ab4aa35cef9e6258b/pytest-9.0.1-py3-none-any.whl
1370
1371
  name: pytest
1371
- version: 9.0.0
1372
- sha256: e5ccdf10b0bac554970ee88fc1a4ad0ee5d221f8ef22321f9b7e4584e19d7f96
1372
+ version: 9.0.1
1373
+ sha256: 67be0030d194df2dfa7b556f2e56fb3c3315bd5c8822c6951162b92b32ce7dad
1373
1374
  requires_dist:
1374
1375
  - colorama>=0.4 ; sys_platform == 'win32'
1375
1376
  - exceptiongroup>=1 ; python_full_version < '3.11'
@@ -1547,25 +1548,25 @@ packages:
1547
1548
  requires_python: '>=3.9'
1548
1549
  - pypi: ./
1549
1550
  name: rowan-python
1550
- version: 2.1.9
1551
- sha256: d6fdbc61eb40000173e38b026fee19b4401a08485c97b04700cb10b451356300
1551
+ version: 2.1.11
1552
+ sha256: 6a0e2c797288e17fedb71af670d982c56e893cd611b8e5930c9c74ca756de265
1552
1553
  requires_dist:
1553
1554
  - httpx
1554
- - stjames>=0.0.125
1555
+ - stjames>=0.0.128
1555
1556
  - setuptools
1556
1557
  - rdkit
1557
1558
  - nest-asyncio
1558
1559
  requires_python: '>=3.11'
1559
1560
  editable: true
1560
- - pypi: https://files.pythonhosted.org/packages/14/bb/1564b000219144bf5eed2359edc94c3590dd49d510751dad26202c18a17d/ruff-0.14.4-py3-none-macosx_11_0_arm64.whl
1561
+ - pypi: https://files.pythonhosted.org/packages/ad/ef/41a8b60f8462cb320f68615b00299ebb12660097c952c600c762078420f8/ruff-0.14.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1561
1562
  name: ruff
1562
- version: 0.14.4
1563
- sha256: 9358d490ec030f1b51d048a7fd6ead418ed0826daf6149e95e30aa67c168af33
1563
+ version: 0.14.5
1564
+ sha256: 7497d19dce23976bdaca24345ae131a1d38dcfe1b0850ad8e9e6e4fa321a6e19
1564
1565
  requires_python: '>=3.7'
1565
- - pypi: https://files.pythonhosted.org/packages/ee/79/6ad4dda2cfd55e41ac9ed6d73ef9ab9475b1eef69f3a85957210c74ba12c/ruff-0.14.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1566
+ - pypi: https://files.pythonhosted.org/packages/b6/f3/aa319f4afc22cb6fcba2b9cdfc0f03bbf747e59ab7a8c5e90173857a1361/ruff-0.14.5-py3-none-macosx_11_0_arm64.whl
1566
1567
  name: ruff
1567
- version: 0.14.4
1568
- sha256: 456daa2fa1021bc86ca857f43fe29d5d8b3f0e55e9f90c58c317c1dcc2afc7b5
1568
+ version: 0.14.5
1569
+ sha256: 6d146132d1ee115f8802356a2dc9a634dbf58184c51bff21f313e8cd1c74899a
1569
1570
  requires_python: '>=3.7'
1570
1571
  - pypi: https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl
1571
1572
  name: setuptools
@@ -1647,10 +1648,10 @@ packages:
1647
1648
  - pygments ; extra == 'tests'
1648
1649
  - littleutils ; extra == 'tests'
1649
1650
  - cython ; extra == 'tests'
1650
- - pypi: https://files.pythonhosted.org/packages/1c/d8/d1447946b6624114a6e997fd6b2b82def7cb3f8fb74a047dd960ffca8a04/stjames-0.0.125-py3-none-any.whl
1651
+ - pypi: https://files.pythonhosted.org/packages/19/d1/4f1b26e50bad8f91c2072c559a4cdd70dff7778043abf1e20f430efd9baf/stjames-0.0.129-py3-none-any.whl
1651
1652
  name: stjames
1652
- version: 0.0.125
1653
- sha256: 4e4a3f61d435dd9bd77be1ec47b23495fb923558f03d35f66282271556228abd
1653
+ version: 0.0.129
1654
+ sha256: de6cd8e053aab55bc5a564128fbe3758c23d24a869882b9a22aee92f32669feb
1654
1655
  requires_dist:
1655
1656
  - pydantic>=2.4
1656
1657
  - numpy
@@ -1658,29 +1659,31 @@ packages:
1658
1659
  - rdkit
1659
1660
  - more-itertools
1660
1661
  requires_python: '>=3.11'
1661
- - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda
1662
- sha256: a84ff687119e6d8752346d1d408d5cf360dee0badd487a472aa8ddedfdc219e1
1663
- md5: a0116df4f4ed05c303811a837d5b39d8
1662
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_ha0e22de_103.conda
1663
+ sha256: 1544760538a40bcd8ace2b1d8ebe3eb5807ac268641f8acdc18c69c5ebfeaf64
1664
+ md5: 86bc20552bf46075e3d92b67f089172d
1664
1665
  depends:
1665
1666
  - __glibc >=2.17,<3.0.a0
1666
1667
  - libgcc >=13
1667
1668
  - libzlib >=1.3.1,<2.0a0
1669
+ constrains:
1670
+ - xorg-libx11 >=1.8.12,<2.0a0
1668
1671
  license: TCL
1669
1672
  license_family: BSD
1670
1673
  purls: []
1671
- size: 3285204
1672
- timestamp: 1748387766691
1673
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h892fb3f_2.conda
1674
- sha256: cb86c522576fa95c6db4c878849af0bccfd3264daf0cc40dd18e7f4a7bfced0e
1675
- md5: 7362396c170252e7b7b0c8fb37fe9c78
1674
+ size: 3284905
1675
+ timestamp: 1763054914403
1676
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h892fb3f_3.conda
1677
+ sha256: ad0c67cb03c163a109820dc9ecf77faf6ec7150e942d1e8bb13e5d39dc058ab7
1678
+ md5: a73d54a5abba6543cb2f0af1bfbd6851
1676
1679
  depends:
1677
1680
  - __osx >=11.0
1678
1681
  - libzlib >=1.3.1,<2.0a0
1679
1682
  license: TCL
1680
1683
  license_family: BSD
1681
1684
  purls: []
1682
- size: 3125538
1683
- timestamp: 1748388189063
1685
+ size: 3125484
1686
+ timestamp: 1763055028377
1684
1687
  - pypi: https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl
1685
1688
  name: traitlets
1686
1689
  version: 5.14.3
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "rowan-python"
3
- version = "2.1.9"
3
+ version = "2.1.11"
4
4
  description = "Rowan Python Library"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -9,7 +9,7 @@ authors = [
9
9
  ]
10
10
  dependencies = [
11
11
  "httpx",
12
- "stjames>=0.0.125",
12
+ "stjames>=0.0.128",
13
13
  "setuptools",
14
14
  "rdkit",
15
15
  "nest-asyncio",
@@ -58,6 +58,7 @@ class Folder(BaseModel):
58
58
 
59
59
  return self
60
60
 
61
+
61
62
  def update(
62
63
  self,
63
64
  name: str | None = None,
@@ -110,6 +111,15 @@ class Folder(BaseModel):
110
111
  response = client.delete(f"/folder/{self.uuid}")
111
112
  response.raise_for_status()
112
113
 
114
+ def print_folder_tree(self, max_depth: int = 10, show_uuids: bool = False) -> None:
115
+ """
116
+ Retrieves a folder tree from the API.
117
+
118
+ :param max_depth: The maximum depth of the folder tree.
119
+ :param show_uuids: Whether to show the UUIDs of the folders.
120
+ :raises HTTPError: If the API request fails.
121
+ """
122
+ print_folder_tree(self.uuid, max_depth, show_uuids)
113
123
 
114
124
  def retrieve_folder(uuid: str) -> Folder:
115
125
  """
@@ -125,19 +135,6 @@ def retrieve_folder(uuid: str) -> Folder:
125
135
  return Folder(**response.json())
126
136
 
127
137
 
128
- def home_folder() -> Folder:
129
- """
130
- Retrieves the home folder from the API.
131
-
132
- :return: A Folder object representing the home folder.
133
- :raises HTTPError: If the API request fails.
134
- """
135
- with api_client() as client:
136
- response = client.get("/user/me/root_folders")
137
- response.raise_for_status()
138
- return Folder(**response.json()["user_root"])
139
-
140
-
141
138
  def list_folders(
142
139
  parent_uuid: str | None = None,
143
140
  name_contains: str | None = None,
@@ -210,3 +207,22 @@ def create_folder(
210
207
  response.raise_for_status()
211
208
  folder_data = response.json()
212
209
  return Folder(**folder_data)
210
+
211
+ def print_folder_tree(uuid: str, max_depth: int = 10, show_uuids: bool = False) -> None:
212
+ """
213
+ Retrieves a folder tree from the API.
214
+
215
+ :param uuid: The UUID of the root of the folder tree.
216
+ :param max_depth: The maximum depth of the folder tree.
217
+ :param show_uuids: Whether to show the UUIDs of the folders.
218
+ :raises HTTPError: If the API request fails.
219
+ """
220
+ params: dict[str, Any] = {
221
+ "max_depth": max_depth,
222
+ "show_uuids": show_uuids,
223
+ }
224
+ with api_client() as client:
225
+ response = client.get(f"/folder/{uuid}/folder_tree", params=params)
226
+ response.raise_for_status()
227
+ folder_data = response.json()
228
+ print(folder_data)
@@ -43,6 +43,7 @@ class Workflow(BaseModel):
43
43
  :var max_credits: The maximum number of credits to use for the workflow.
44
44
  :var elapsed: The elapsed time of the workflow.
45
45
  :var credits_charged: The number of credits charged for the workflow.
46
+ :var logfile: The workflow's logfile.
46
47
  ...
47
48
  """
48
49
 
@@ -63,6 +64,7 @@ class Workflow(BaseModel):
63
64
  max_credits: int | None = None
64
65
  elapsed: float | None = None
65
66
  credits_charged: float
67
+ logfile: str = Field(alias="object_logfile")
66
68
 
67
69
  class Config: # noqa: D106
68
70
  validate_by_name = True
@@ -408,6 +410,33 @@ def retrieve_workflow(uuid: str) -> Workflow:
408
410
  return Workflow(**response.json())
409
411
 
410
412
 
413
+ def retrieve_workflows(uuids: list[str]) -> list[Workflow]:
414
+ """
415
+ Retrieves a list of workflows from the API.
416
+
417
+ :param uuids: The UUIDs of the workflows to retrieve.
418
+ :return: A list of Workflow objects representing the retrieved workflows.
419
+ :raises HTTPError: If the API request fails.
420
+ """
421
+ with api_client() as client:
422
+ response = client.post("/workflow/batch_retrieve", json={"uuids": uuids})
423
+ response.raise_for_status()
424
+ return [Workflow(**workflow_data) for workflow_data in response.json()]
425
+
426
+ def batch_poll_status(uuids: list[str]) -> list[Workflow]:
427
+ """
428
+ Polls the status of a list of workflows.
429
+
430
+ :param uuids: The UUIDs of the workflows to poll.
431
+ :return: A dictionary of statuses and the count of workflows in that status.
432
+ :raises HTTPError: If the API request fails.
433
+ """
434
+ with api_client() as client:
435
+ response = client.post("/workflow/batch_status", json={"uuids": uuids})
436
+ response.raise_for_status()
437
+ return response.json()
438
+
439
+
411
440
  def retrieve_calculation_molecules(
412
441
  uuid: str, return_frequencies: bool = False
413
442
  ) -> list[dict[str, Any]]:
File without changes
File without changes
File without changes
File without changes
File without changes