rowan-python 2.1.8__tar.gz → 2.1.10__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.8 → rowan_python-2.1.10}/PKG-INFO +2 -2
  2. rowan_python-2.1.10/examples/dcd_download.py +10 -0
  3. rowan_python-2.1.10/examples/pdb_download.py +10 -0
  4. {rowan_python-2.1.8 → rowan_python-2.1.10}/pixi.lock +158 -153
  5. {rowan_python-2.1.8 → rowan_python-2.1.10}/pyproject.toml +2 -2
  6. {rowan_python-2.1.8 → rowan_python-2.1.10}/rowan/folder.py +29 -13
  7. {rowan_python-2.1.8 → rowan_python-2.1.10}/rowan/protein.py +21 -0
  8. {rowan_python-2.1.8 → rowan_python-2.1.10}/rowan/workflow.py +66 -1
  9. {rowan_python-2.1.8 → rowan_python-2.1.10}/.envrc +0 -0
  10. {rowan_python-2.1.8 → rowan_python-2.1.10}/.github/workflows/python-publish.yml +0 -0
  11. {rowan_python-2.1.8 → rowan_python-2.1.10}/.github/workflows/test.yml +0 -0
  12. {rowan_python-2.1.8 → rowan_python-2.1.10}/.gitignore +0 -0
  13. {rowan_python-2.1.8 → rowan_python-2.1.10}/.pre-commit-config.yaml +0 -0
  14. {rowan_python-2.1.8 → rowan_python-2.1.10}/LICENSE +0 -0
  15. {rowan_python-2.1.8 → rowan_python-2.1.10}/README.md +0 -0
  16. {rowan_python-2.1.8 → rowan_python-2.1.10}/docs/images/deciduous-tree-favicon.png +0 -0
  17. {rowan_python-2.1.8 → rowan_python-2.1.10}/docs/index.md +0 -0
  18. {rowan_python-2.1.8 → rowan_python-2.1.10}/docs/rowan_rdkit.md +0 -0
  19. {rowan_python-2.1.8 → rowan_python-2.1.10}/docs/stylesheets/colors.css +0 -0
  20. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/PROTAC_solubility.py +0 -0
  21. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/aqueous_solubility.py +0 -0
  22. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/basic_calculation.py +0 -0
  23. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/basic_calculation_from_json.py +0 -0
  24. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/basic_calculation_with_constraint.py +0 -0
  25. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/basic_calculation_with_solvent.py +0 -0
  26. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/batch_docking.py +0 -0
  27. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/bde.py +0 -0
  28. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/boltz_paired_msa.py +0 -0
  29. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/boltz_single_msa.py +0 -0
  30. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/chai_paired_msa.py +0 -0
  31. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/chai_single_msa.py +0 -0
  32. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/cofolding_screen.py +0 -0
  33. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/colabfold_paired_msa.py +0 -0
  34. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/colabfold_single_msa.py +0 -0
  35. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/conformer_dependent_redox.py +0 -0
  36. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/conformers.py +0 -0
  37. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/data/workflow_example.json +0 -0
  38. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/docking_screen.py +0 -0
  39. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/double_ended_ts_search.py +0 -0
  40. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/fukui_index.py +0 -0
  41. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/ion_mobility.py +0 -0
  42. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/irc.py +0 -0
  43. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/macropka.py +0 -0
  44. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/multistage_opt.py +0 -0
  45. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/nmr.py +0 -0
  46. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/optimization.py +0 -0
  47. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/phenol_pka.py +0 -0
  48. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/pka.py +0 -0
  49. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/pose_analysis_md.py +0 -0
  50. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/protein_cofolding.py +0 -0
  51. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/redox_potential.py +0 -0
  52. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/scan.py +0 -0
  53. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/strain.py +0 -0
  54. {rowan_python-2.1.8 → rowan_python-2.1.10}/examples/tautomer.py +0 -0
  55. {rowan_python-2.1.8 → rowan_python-2.1.10}/mkdocs.yml +0 -0
  56. {rowan_python-2.1.8 → rowan_python-2.1.10}/rowan/__init__.py +0 -0
  57. {rowan_python-2.1.8 → rowan_python-2.1.10}/rowan/constants.py +0 -0
  58. {rowan_python-2.1.8 → rowan_python-2.1.10}/rowan/project.py +0 -0
  59. {rowan_python-2.1.8 → rowan_python-2.1.10}/rowan/py.typed +0 -0
  60. {rowan_python-2.1.8 → rowan_python-2.1.10}/rowan/rowan_rdkit/__init__.py +0 -0
  61. {rowan_python-2.1.8 → rowan_python-2.1.10}/rowan/rowan_rdkit/chem_utils.py +0 -0
  62. {rowan_python-2.1.8 → rowan_python-2.1.10}/rowan/user.py +0 -0
  63. {rowan_python-2.1.8 → rowan_python-2.1.10}/rowan/utils.py +0 -0
  64. {rowan_python-2.1.8 → rowan_python-2.1.10}/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.8
3
+ Version: 2.1.10
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_4.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/1a/a1/72ac8a3015cd55b4c14e882507adcd61957426fb0a60688ae1f824f4cdef/stjames-0.0.128-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/1a/a1/72ac8a3015cd55b4c14e882507adcd61957426fb0a60688ae1f824f4cdef/stjames-0.0.128-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_4.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,30 +123,30 @@ 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/80/c0/5b259b029694ce0a5bbc1548834c7ba3db41d3efd3474489d7efce4ceb18/coverage-7.11.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.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
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
147
147
  - pypi: https://files.pythonhosted.org/packages/76/91/7216b27286936c16f5b4d0c530087e4a54eead683e6b0b73dd0c64844af6/filelock-3.20.0-py3-none-any.whl
148
148
  - pypi: https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl
149
- - pypi: https://files.pythonhosted.org/packages/2a/b1/9ff6578d789a89812ff21e4e0f80ffae20a65d5dd84e7a17873fe3b365be/griffe-1.14.0-py3-none-any.whl
149
+ - pypi: https://files.pythonhosted.org/packages/9c/83/3b1d03d36f224edded98e9affd0467630fc09d766c0e56fb1498cbb04a9b/griffe-1.15.0-py3-none-any.whl
150
150
  - pypi: https://files.pythonhosted.org/packages/78/e3/94b2e39d841a1c07b586903177d3ee802c8ae87567449a541d14028eb657/griffe_pydantic-1.1.8-py3-none-any.whl
151
151
  - pypi: https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl
152
152
  - pypi: https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl
@@ -165,16 +165,16 @@ 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
- - pypi: https://files.pythonhosted.org/packages/d5/8f/ce008599d9adebf33ed144e7736914385e8537f5fc686fdb7cceb8c22431/mkdocstrings_python-1.18.2-py3-none-any.whl
171
+ - pypi: https://files.pythonhosted.org/packages/98/5c/2597cef67b6947b15c47f8dba967a0baf19fbdfdc86f6e4a8ba7af8b581a/mkdocstrings_python-1.19.0-py3-none-any.whl
172
172
  - pypi: https://files.pythonhosted.org/packages/a4/8e/469e5a4a2f5855992e425f3cb33804cc07bf18d48f2db061aec61ce50270/more_itertools-10.8.0-py3-none-any.whl
173
173
  - pypi: https://files.pythonhosted.org/packages/5b/11/040983fad5132d85914c874a2836252bbc57832065548885b5bb5b0d4359/mypy-1.18.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
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
@@ -183,15 +183,15 @@ environments:
183
183
  - 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
184
184
  - pypi: https://files.pythonhosted.org/packages/73/cb/ac7874b3e5d58441674fb70742e6c374b28b0c7cb988d37d991cde47166c/platformdirs-4.5.0-py3-none-any.whl
185
185
  - pypi: https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl
186
- - pypi: https://files.pythonhosted.org/packages/5b/a5/987a405322d78a73b66e39e4a90e4ef156fd7141bf71df987e50717c321b/pre_commit-4.3.0-py2.py3-none-any.whl
186
+ - pypi: https://files.pythonhosted.org/packages/27/11/574fe7d13acf30bfd0a8dd7fa1647040f2b8064f13f43e8c963b1e65093b/pre_commit-4.4.0-py2.py3-none-any.whl
187
187
  - pypi: https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl
188
188
  - pypi: https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl
189
189
  - pypi: https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl
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/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-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/a7/e7/138b883f0dfe4ad5b76b58bf4ae675f4d2176ac2b24bdd81b4d966b28c61/ruff-0.14.3-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/1a/a1/72ac8a3015cd55b4c14e882507adcd61957426fb0a60688ae1f824f4cdef/stjames-0.0.128-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,30 +225,30 @@ 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/42/82/cdeed03bfead45203fb651ed756dfb5266028f5f939e7f06efac4041dad5/coverage-7.11.0-cp314-cp314-macosx_11_0_arm64.whl
245
+ - pypi: https://files.pythonhosted.org/packages/28/76/1079547f9d46f9c7c7d0dad35b6873c98bc5aa721eeabceafabd722cd5e7/coverage-7.11.3-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
249
249
  - pypi: https://files.pythonhosted.org/packages/76/91/7216b27286936c16f5b4d0c530087e4a54eead683e6b0b73dd0c64844af6/filelock-3.20.0-py3-none-any.whl
250
250
  - pypi: https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl
251
- - pypi: https://files.pythonhosted.org/packages/2a/b1/9ff6578d789a89812ff21e4e0f80ffae20a65d5dd84e7a17873fe3b365be/griffe-1.14.0-py3-none-any.whl
251
+ - pypi: https://files.pythonhosted.org/packages/9c/83/3b1d03d36f224edded98e9affd0467630fc09d766c0e56fb1498cbb04a9b/griffe-1.15.0-py3-none-any.whl
252
252
  - pypi: https://files.pythonhosted.org/packages/78/e3/94b2e39d841a1c07b586903177d3ee802c8ae87567449a541d14028eb657/griffe_pydantic-1.1.8-py3-none-any.whl
253
253
  - pypi: https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl
254
254
  - pypi: https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl
@@ -267,16 +267,16 @@ 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
- - pypi: https://files.pythonhosted.org/packages/d5/8f/ce008599d9adebf33ed144e7736914385e8537f5fc686fdb7cceb8c22431/mkdocstrings_python-1.18.2-py3-none-any.whl
273
+ - pypi: https://files.pythonhosted.org/packages/98/5c/2597cef67b6947b15c47f8dba967a0baf19fbdfdc86f6e4a8ba7af8b581a/mkdocstrings_python-1.19.0-py3-none-any.whl
274
274
  - pypi: https://files.pythonhosted.org/packages/a4/8e/469e5a4a2f5855992e425f3cb33804cc07bf18d48f2db061aec61ce50270/more_itertools-10.8.0-py3-none-any.whl
275
275
  - pypi: https://files.pythonhosted.org/packages/50/df/2cffbf25737bdb236f60c973edf62e3e7b4ee1c25b6878629e88e2cde967/mypy-1.18.2-cp314-cp314-macosx_11_0_arm64.whl
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
@@ -285,15 +285,15 @@ environments:
285
285
  - pypi: https://files.pythonhosted.org/packages/fc/f5/eae31a306341d8f331f43edb2e9122c7661b975433de5e447939ae61c5da/pillow-12.0.0-cp314-cp314-macosx_11_0_arm64.whl
286
286
  - pypi: https://files.pythonhosted.org/packages/73/cb/ac7874b3e5d58441674fb70742e6c374b28b0c7cb988d37d991cde47166c/platformdirs-4.5.0-py3-none-any.whl
287
287
  - pypi: https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl
288
- - pypi: https://files.pythonhosted.org/packages/5b/a5/987a405322d78a73b66e39e4a90e4ef156fd7141bf71df987e50717c321b/pre_commit-4.3.0-py2.py3-none-any.whl
288
+ - pypi: https://files.pythonhosted.org/packages/27/11/574fe7d13acf30bfd0a8dd7fa1647040f2b8064f13f43e8c963b1e65093b/pre_commit-4.4.0-py2.py3-none-any.whl
289
289
  - pypi: https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl
290
290
  - pypi: https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl
291
291
  - pypi: https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl
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/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-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/de/03/db1bce591d55fd5f8a08bb02517fa0b5097b2ccabd4ea1ee29aa72b67d96/ruff-0.14.3-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/1a/a1/72ac8a3015cd55b4c14e882507adcd61957426fb0a60688ae1f824f4cdef/stjames-0.0.128-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/42/82/cdeed03bfead45203fb651ed756dfb5266028f5f939e7f06efac4041dad5/coverage-7.11.0-cp314-cp314-macosx_11_0_arm64.whl
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
455
455
  name: coverage
456
- version: 7.11.0
457
- sha256: a3d0e2087dba64c86a6b254f43e12d264b636a39e88c5cc0a01a7c71bcfdab7e
456
+ version: 7.11.3
457
+ sha256: 9061a3e3c92b27fd8036dafa26f25d95695b6aa2e4514ab16a254f297e664f83
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/80/c0/5b259b029694ce0a5bbc1548834c7ba3db41d3efd3474489d7efce4ceb18/coverage-7.11.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
461
+ - pypi: https://files.pythonhosted.org/packages/28/76/1079547f9d46f9c7c7d0dad35b6873c98bc5aa721eeabceafabd722cd5e7/coverage-7.11.3-cp314-cp314-macosx_11_0_arm64.whl
462
462
  name: coverage
463
- version: 7.11.0
464
- sha256: c6f31f281012235ad08f9a560976cc2fc9c95c17604ff3ab20120fe480169bca
463
+ version: 7.11.3
464
+ sha256: fe3425dc6021f906c6325d3c415e048e7cdb955505a94f1eb774dafc779ba203
465
465
  requires_dist:
466
466
  - tomli ; python_full_version <= '3.11' and extra == 'toml'
467
467
  requires_python: '>=3.10'
@@ -502,13 +502,16 @@ packages:
502
502
  - markdown ; extra == 'dev'
503
503
  - flake8 ; extra == 'dev'
504
504
  - wheel ; extra == 'dev'
505
- - pypi: https://files.pythonhosted.org/packages/2a/b1/9ff6578d789a89812ff21e4e0f80ffae20a65d5dd84e7a17873fe3b365be/griffe-1.14.0-py3-none-any.whl
505
+ - pypi: https://files.pythonhosted.org/packages/9c/83/3b1d03d36f224edded98e9affd0467630fc09d766c0e56fb1498cbb04a9b/griffe-1.15.0-py3-none-any.whl
506
506
  name: griffe
507
- version: 1.14.0
508
- sha256: 0e9d52832cccf0f7188cfe585ba962d2674b241c01916d780925df34873bceb0
507
+ version: 1.15.0
508
+ sha256: 6f6762661949411031f5fcda9593f586e6ce8340f0ba88921a0f2ef7a81eb9a3
509
509
  requires_dist:
510
510
  - colorama>=0.4
511
- requires_python: '>=3.9'
511
+ - pip>=24.0 ; extra == 'pypi'
512
+ - platformdirs>=4.2 ; extra == 'pypi'
513
+ - wheel>=0.42 ; extra == 'pypi'
514
+ requires_python: '>=3.10'
512
515
  - pypi: https://files.pythonhosted.org/packages/78/e3/94b2e39d841a1c07b586903177d3ee802c8ae87567449a541d14028eb657/griffe_pydantic-1.1.8-py3-none-any.whl
513
516
  name: griffe-pydantic
514
517
  version: 1.1.8
@@ -695,19 +698,19 @@ packages:
695
698
  - markupsafe>=2.0
696
699
  - babel>=2.7 ; extra == 'i18n'
697
700
  requires_python: '>=3.7'
698
- - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1aa0949_4.conda
699
- sha256: 96b6900ca0489d9e5d0318a6b49f8eff43fd85fef6e07cb0c25344ee94cd7a3a
700
- md5: c94ab6ff54ba5172cf1c58267005670f
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
701
704
  depends:
702
705
  - __glibc >=2.17,<3.0.a0
703
706
  - zstd >=1.5.7,<1.6.0a0
704
707
  constrains:
705
- - binutils_impl_linux-64 2.44
708
+ - binutils_impl_linux-64 2.45
706
709
  license: GPL-3.0-only
707
710
  license_family: GPL
708
711
  purls: []
709
- size: 742501
710
- timestamp: 1761335175964
712
+ size: 753744
713
+ timestamp: 1763060439129
711
714
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda
712
715
  sha256: da2080da8f0288b95dd86765c801c6e166c4619b910b11f9a8446fb852438dc2
713
716
  md5: 4211416ecba1866fab0c6470986c22d6
@@ -1011,22 +1014,22 @@ packages:
1011
1014
  - platformdirs>=2.2.0
1012
1015
  - pyyaml>=5.1
1013
1016
  requires_python: '>=3.8'
1014
- - 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
1015
1018
  name: mkdocs-material
1016
- version: 9.6.23
1017
- sha256: 3bf3f1d82d269f3a14ed6897bfc3a844cc05e1dc38045386691b91d7e6945332
1019
+ version: 9.7.0
1020
+ sha256: da2866ea53601125ff5baa8aa06404c6e07af3c5ce3d5de95e3b52b80b442887
1018
1021
  requires_dist:
1019
- - babel~=2.10
1020
- - backrefs~=5.7.post1
1021
- - colorama~=0.4
1022
- - jinja2~=3.1
1023
- - markdown~=3.2
1024
- - mkdocs-material-extensions~=1.3
1025
- - mkdocs~=1.6
1026
- - paginate~=0.5
1027
- - pygments~=2.16
1028
- - pymdown-extensions~=10.2
1029
- - 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
1030
1033
  - mkdocs-git-committers-plugin-2>=1.1,<3 ; extra == 'git'
1031
1034
  - mkdocs-git-revision-date-localized-plugin~=1.2,>=1.2.4 ; extra == 'git'
1032
1035
  - cairosvg~=2.6 ; extra == 'imaging'
@@ -1056,16 +1059,16 @@ packages:
1056
1059
  - mkdocstrings-python-legacy>=0.2.1 ; extra == 'python-legacy'
1057
1060
  - mkdocstrings-python>=1.16.2 ; extra == 'python'
1058
1061
  requires_python: '>=3.9'
1059
- - pypi: https://files.pythonhosted.org/packages/d5/8f/ce008599d9adebf33ed144e7736914385e8537f5fc686fdb7cceb8c22431/mkdocstrings_python-1.18.2-py3-none-any.whl
1062
+ - pypi: https://files.pythonhosted.org/packages/98/5c/2597cef67b6947b15c47f8dba967a0baf19fbdfdc86f6e4a8ba7af8b581a/mkdocstrings_python-1.19.0-py3-none-any.whl
1060
1063
  name: mkdocstrings-python
1061
- version: 1.18.2
1062
- sha256: 944fe6deb8f08f33fa936d538233c4036e9f53e840994f6146e8e94eb71b600d
1064
+ version: 1.19.0
1065
+ sha256: 395c1032af8f005234170575cc0c5d4d20980846623b623b35594281be4a3059
1063
1066
  requires_dist:
1064
1067
  - mkdocstrings>=0.30
1065
1068
  - mkdocs-autorefs>=1.4
1066
1069
  - griffe>=1.13
1067
1070
  - typing-extensions>=4.0 ; python_full_version < '3.11'
1068
- requires_python: '>=3.9'
1071
+ requires_python: '>=3.10'
1069
1072
  - pypi: https://files.pythonhosted.org/packages/a4/8e/469e5a4a2f5855992e425f3cb33804cc07bf18d48f2db061aec61ce50270/more_itertools-10.8.0-py3-none-any.whl
1070
1073
  name: more-itertools
1071
1074
  version: 10.8.0
@@ -1135,19 +1138,19 @@ packages:
1135
1138
  version: 1.9.1
1136
1139
  sha256: ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9
1137
1140
  requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*'
1138
- - 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
1139
1142
  name: numpy
1140
- version: 2.3.4
1141
- sha256: 7c26b0b2bf58009ed1f38a641f3db4be8d960a417ca96d14e5b06df1506d41ff
1143
+ version: 2.3.5
1144
+ sha256: 052e8c42e0c49d2575621c158934920524f6c5da05a1d3b9bab5d8e259e045f0
1142
1145
  requires_python: '>=3.11'
1143
- - 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
1144
1147
  name: numpy
1145
- version: 2.3.4
1146
- sha256: d5e081bc082825f8b139f9e9fe42942cb4054524598aaeb177ff476cc76d09d2
1148
+ version: 2.3.5
1149
+ sha256: fffe29a1ef00883599d1dc2c51aa2e5d80afe49523c261a74933df395c15c520
1147
1150
  requires_python: '>=3.11'
1148
- - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda
1149
- sha256: e807f3bad09bdf4075dbb4168619e14b0c0360bacb2e12ef18641a834c8c5549
1150
- 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
1151
1154
  depends:
1152
1155
  - __glibc >=2.17,<3.0.a0
1153
1156
  - ca-certificates
@@ -1155,19 +1158,19 @@ packages:
1155
1158
  license: Apache-2.0
1156
1159
  license_family: Apache
1157
1160
  purls: []
1158
- size: 3119624
1159
- timestamp: 1759324353651
1160
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.5.4-h5503f6c_0.conda
1161
- sha256: f0512629f9589392c2fb9733d11e753d0eab8fc7602f96e4d7f3bd95c783eb07
1162
- 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
1163
1166
  depends:
1164
1167
  - __osx >=11.0
1165
1168
  - ca-certificates
1166
1169
  license: Apache-2.0
1167
1170
  license_family: Apache
1168
1171
  purls: []
1169
- size: 3067808
1170
- timestamp: 1759324763146
1172
+ size: 3108371
1173
+ timestamp: 1762839712322
1171
1174
  - pypi: https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl
1172
1175
  name: packaging
1173
1176
  version: '25.0'
@@ -1294,17 +1297,17 @@ packages:
1294
1297
  - pytest-benchmark ; extra == 'testing'
1295
1298
  - coverage ; extra == 'testing'
1296
1299
  requires_python: '>=3.9'
1297
- - pypi: https://files.pythonhosted.org/packages/5b/a5/987a405322d78a73b66e39e4a90e4ef156fd7141bf71df987e50717c321b/pre_commit-4.3.0-py2.py3-none-any.whl
1300
+ - pypi: https://files.pythonhosted.org/packages/27/11/574fe7d13acf30bfd0a8dd7fa1647040f2b8064f13f43e8c963b1e65093b/pre_commit-4.4.0-py2.py3-none-any.whl
1298
1301
  name: pre-commit
1299
- version: 4.3.0
1300
- sha256: 2b0747ad7e6e967169136edffee14c16e148a778a54e4f967921aa1ebf2308d8
1302
+ version: 4.4.0
1303
+ sha256: b35ea52957cbf83dcc5d8ee636cbead8624e3a15fbfa61a370e42158ac8a5813
1301
1304
  requires_dist:
1302
1305
  - cfgv>=2.0.0
1303
1306
  - identify>=1.0.0
1304
1307
  - nodeenv>=0.11.1
1305
1308
  - pyyaml>=5.1
1306
1309
  - virtualenv>=20.10.0
1307
- requires_python: '>=3.9'
1310
+ requires_python: '>=3.10'
1308
1311
  - pypi: https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl
1309
1312
  name: prompt-toolkit
1310
1313
  version: 3.0.52
@@ -1355,24 +1358,24 @@ packages:
1355
1358
  requires_dist:
1356
1359
  - colorama>=0.4.6 ; extra == 'windows-terminal'
1357
1360
  requires_python: '>=3.8'
1358
- - 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
1359
1362
  name: pymdown-extensions
1360
- version: 10.16.1
1361
- sha256: d6ba157a6c03146a7fb122b2b9a121300056384eafeec9c9f9e584adfdb2a32d
1363
+ version: 10.17.1
1364
+ sha256: 1f160209c82eecbb5d8a0d8f89a4d9bd6bdcbde9a8537761844cfc57ad5cd8a6
1362
1365
  requires_dist:
1363
1366
  - markdown>=3.6
1364
1367
  - pyyaml
1365
1368
  - pygments>=2.19.1 ; extra == 'extra'
1366
1369
  requires_python: '>=3.9'
1367
- - pypi: https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl
1370
+ - pypi: https://files.pythonhosted.org/packages/0b/8b/6300fb80f858cda1c51ffa17075df5d846757081d11ab4aa35cef9e6258b/pytest-9.0.1-py3-none-any.whl
1368
1371
  name: pytest
1369
- version: 8.4.2
1370
- sha256: 872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79
1372
+ version: 9.0.1
1373
+ sha256: 67be0030d194df2dfa7b556f2e56fb3c3315bd5c8822c6951162b92b32ce7dad
1371
1374
  requires_dist:
1372
1375
  - colorama>=0.4 ; sys_platform == 'win32'
1373
1376
  - exceptiongroup>=1 ; python_full_version < '3.11'
1374
- - iniconfig>=1
1375
- - packaging>=20
1377
+ - iniconfig>=1.0.1
1378
+ - packaging>=22
1376
1379
  - pluggy>=1.5,<2
1377
1380
  - pygments>=2.7.2
1378
1381
  - tomli>=1 ; python_full_version < '3.11'
@@ -1383,7 +1386,7 @@ packages:
1383
1386
  - requests ; extra == 'dev'
1384
1387
  - setuptools ; extra == 'dev'
1385
1388
  - xmlschema ; extra == 'dev'
1386
- requires_python: '>=3.9'
1389
+ requires_python: '>=3.10'
1387
1390
  - pypi: https://files.pythonhosted.org/packages/ee/49/1377b49de7d0c1ce41292161ea0f721913fa8722c19fb9c1e3aa0367eecb/pytest_cov-7.0.0-py3-none-any.whl
1388
1391
  name: pytest-cov
1389
1392
  version: 7.0.0
@@ -1545,25 +1548,25 @@ packages:
1545
1548
  requires_python: '>=3.9'
1546
1549
  - pypi: ./
1547
1550
  name: rowan-python
1548
- version: 2.1.8
1549
- sha256: b93aff367817220116208b6e6ec6813669f6acd37d75977b1ba8b6ed6add45da
1551
+ version: 2.1.10
1552
+ sha256: 1ba305d3b9b98cce45fe2c3ab1d0925bc9b7fac2aa16c664cc827dd2d9e502e9
1550
1553
  requires_dist:
1551
1554
  - httpx
1552
- - stjames>=0.0.125
1555
+ - stjames>=0.0.128
1553
1556
  - setuptools
1554
1557
  - rdkit
1555
1558
  - nest-asyncio
1556
1559
  requires_python: '>=3.11'
1557
1560
  editable: true
1558
- - pypi: https://files.pythonhosted.org/packages/a7/e7/138b883f0dfe4ad5b76b58bf4ae675f4d2176ac2b24bdd81b4d966b28c61/ruff-0.14.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.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
1559
1562
  name: ruff
1560
- version: 0.14.3
1561
- sha256: 0e2f8a0bbcffcfd895df39c9a4ecd59bb80dca03dc43f7fb63e647ed176b741e
1563
+ version: 0.14.5
1564
+ sha256: 7497d19dce23976bdaca24345ae131a1d38dcfe1b0850ad8e9e6e4fa321a6e19
1562
1565
  requires_python: '>=3.7'
1563
- - pypi: https://files.pythonhosted.org/packages/de/03/db1bce591d55fd5f8a08bb02517fa0b5097b2ccabd4ea1ee29aa72b67d96/ruff-0.14.3-py3-none-macosx_11_0_arm64.whl
1566
+ - pypi: https://files.pythonhosted.org/packages/b6/f3/aa319f4afc22cb6fcba2b9cdfc0f03bbf747e59ab7a8c5e90173857a1361/ruff-0.14.5-py3-none-macosx_11_0_arm64.whl
1564
1567
  name: ruff
1565
- version: 0.14.3
1566
- sha256: 71ff6edca490c308f083156938c0c1a66907151263c4abdcb588602c6e696a14
1568
+ version: 0.14.5
1569
+ sha256: 6d146132d1ee115f8802356a2dc9a634dbf58184c51bff21f313e8cd1c74899a
1567
1570
  requires_python: '>=3.7'
1568
1571
  - pypi: https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl
1569
1572
  name: setuptools
@@ -1645,10 +1648,10 @@ packages:
1645
1648
  - pygments ; extra == 'tests'
1646
1649
  - littleutils ; extra == 'tests'
1647
1650
  - cython ; extra == 'tests'
1648
- - pypi: https://files.pythonhosted.org/packages/1c/d8/d1447946b6624114a6e997fd6b2b82def7cb3f8fb74a047dd960ffca8a04/stjames-0.0.125-py3-none-any.whl
1651
+ - pypi: https://files.pythonhosted.org/packages/1a/a1/72ac8a3015cd55b4c14e882507adcd61957426fb0a60688ae1f824f4cdef/stjames-0.0.128-py3-none-any.whl
1649
1652
  name: stjames
1650
- version: 0.0.125
1651
- sha256: 4e4a3f61d435dd9bd77be1ec47b23495fb923558f03d35f66282271556228abd
1653
+ version: 0.0.128
1654
+ sha256: 2bc1f56ae4b3f4d350498ec42ec408d829da51c78f5d024cd1bc8dacbff1e982
1652
1655
  requires_dist:
1653
1656
  - pydantic>=2.4
1654
1657
  - numpy
@@ -1656,29 +1659,31 @@ packages:
1656
1659
  - rdkit
1657
1660
  - more-itertools
1658
1661
  requires_python: '>=3.11'
1659
- - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd72426e_102.conda
1660
- sha256: a84ff687119e6d8752346d1d408d5cf360dee0badd487a472aa8ddedfdc219e1
1661
- 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
1662
1665
  depends:
1663
1666
  - __glibc >=2.17,<3.0.a0
1664
1667
  - libgcc >=13
1665
1668
  - libzlib >=1.3.1,<2.0a0
1669
+ constrains:
1670
+ - xorg-libx11 >=1.8.12,<2.0a0
1666
1671
  license: TCL
1667
1672
  license_family: BSD
1668
1673
  purls: []
1669
- size: 3285204
1670
- timestamp: 1748387766691
1671
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h892fb3f_2.conda
1672
- sha256: cb86c522576fa95c6db4c878849af0bccfd3264daf0cc40dd18e7f4a7bfced0e
1673
- 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
1674
1679
  depends:
1675
1680
  - __osx >=11.0
1676
1681
  - libzlib >=1.3.1,<2.0a0
1677
1682
  license: TCL
1678
1683
  license_family: BSD
1679
1684
  purls: []
1680
- size: 3125538
1681
- timestamp: 1748388189063
1685
+ size: 3125484
1686
+ timestamp: 1763055028377
1682
1687
  - pypi: https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl
1683
1688
  name: traitlets
1684
1689
  version: 5.14.3
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "rowan-python"
3
- version = "2.1.8"
3
+ version = "2.1.10"
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)
@@ -114,6 +114,27 @@ class Protein(BaseModel):
114
114
  response = client.post(f"/protein/sanitize/{self.uuid}")
115
115
  response.raise_for_status()
116
116
 
117
+ def download_pdb_file(self, path: Path | None = None, name: str | None = None) -> None:
118
+ """
119
+ Downloads the PDB file for a protein
120
+
121
+ :param path: Directory to save the file to (defaults to current directory)
122
+ :param name: Optional custom name for the file (defaults to protein name)
123
+ :raises requests.HTTPError: if the request to the API fails
124
+ """
125
+ if path is None:
126
+ path = Path.cwd()
127
+
128
+ path.mkdir(parents=True, exist_ok=True)
129
+
130
+ with api_client() as client:
131
+ response = client.get(f"/protein/{self.uuid}/get_pdb_file")
132
+ response.raise_for_status()
133
+
134
+ file_path = path / f"{name or self.name}.pdb"
135
+ with open(file_path, "wb") as f:
136
+ f.write(response.content)
137
+
117
138
 
118
139
  def retrieve_protein(uuid: str) -> Protein:
119
140
  """
@@ -240,6 +240,35 @@ class Workflow(BaseModel):
240
240
  with open(path / f"{self.name}-msa.tar.gz", "wb") as f:
241
241
  f.write(response.content)
242
242
 
243
+ def download_dcd_files(self, replicates: list[int],
244
+ name: str | None = None, path: Path | None = None) -> None:
245
+ """
246
+ Downloads DCD trajectory files for specified replicates
247
+
248
+ :param replicates: List of replicate indices to download
249
+ :param name: Optional custom name for the tar.gz file (defaults to workflow name)
250
+ :param path: Directory to save the file to (defaults to current directory)
251
+ :raises ValueError: if workflow is not a pose analysis MD workflow
252
+ :raises requests.HTTPError: if the request to the API fails
253
+ """
254
+ if self.workflow_type != "pose_analysis_md":
255
+ raise ValueError("This workflow is not a pose analysis molecular dynamics workflow.")
256
+
257
+ if path is None:
258
+ path = Path.cwd()
259
+
260
+ path.mkdir(parents=True, exist_ok=True)
261
+
262
+ with api_client() as client:
263
+ response = client.post(
264
+ f"/trajectory/{self.uuid}/trajectory_dcds", json=replicates
265
+ )
266
+ response.raise_for_status()
267
+
268
+ file_path = path / f"{name or self.name}.tar.gz"
269
+ with open(file_path, "wb") as f:
270
+ f.write(response.content)
271
+
243
272
 
244
273
  def submit_workflow(
245
274
  workflow_type: stjames.WORKFLOW_NAME,
@@ -379,6 +408,33 @@ def retrieve_workflow(uuid: str) -> Workflow:
379
408
  return Workflow(**response.json())
380
409
 
381
410
 
411
+ def retrieve_workflows(uuids: list[str]) -> list[Workflow]:
412
+ """
413
+ Retrieves a list of workflows from the API.
414
+
415
+ :param uuids: The UUIDs of the workflows to retrieve.
416
+ :return: A list of Workflow objects representing the retrieved workflows.
417
+ :raises HTTPError: If the API request fails.
418
+ """
419
+ with api_client() as client:
420
+ response = client.post("/workflow/batch_retrieve", json={"uuids": uuids})
421
+ response.raise_for_status()
422
+ return [Workflow(**workflow_data) for workflow_data in response.json()]
423
+
424
+ def batch_poll_status(uuids: list[str]) -> list[Workflow]:
425
+ """
426
+ Polls the status of a list of workflows.
427
+
428
+ :param uuids: The UUIDs of the workflows to poll.
429
+ :return: A dictionary of statuses and the count of workflows in that status.
430
+ :raises HTTPError: If the API request fails.
431
+ """
432
+ with api_client() as client:
433
+ response = client.post("/workflow/batch_status", json={"uuids": uuids})
434
+ response.raise_for_status()
435
+ return response.json()
436
+
437
+
382
438
  def retrieve_calculation_molecules(
383
439
  uuid: str, return_frequencies: bool = False
384
440
  ) -> list[dict[str, Any]]:
@@ -1520,7 +1576,16 @@ def submit_msa_workflow(
1520
1576
  max_credits: int | None = None,
1521
1577
  ) -> Workflow:
1522
1578
  """
1523
- Submits an MSA workflow to the API.
1579
+ Submits a multiple sequence alignment (MSA) workflow to the API.
1580
+
1581
+ :param initial_protein_sequences: List of protein sequences to align, as ProteinSequence objects
1582
+ sor strings.
1583
+ :param output_formats: List of output formats for the resulting MSA files.
1584
+ :param name: The name to assign to the workflow.
1585
+ :param folder_uuid: UUID of the folder where the workflow will be stored.
1586
+ :param max_credits: The maximum number of credits to use for the workflow.
1587
+ :return: A Workflow object representing the submitted MSA workflow.
1588
+ :raises HTTPError: If the API request fails.
1524
1589
  """
1525
1590
  workflow = stjames.MSAWorkflow(
1526
1591
  initial_protein_sequences=initial_protein_sequences,
File without changes
File without changes
File without changes
File without changes
File without changes