rowan-python 3.0.3__tar.gz → 3.0.4__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 (125) hide show
  1. {rowan_python-3.0.3 → rowan_python-3.0.4}/PKG-INFO +1 -1
  2. rowan_python-3.0.4/examples/descriptors.py +25 -0
  3. {rowan_python-3.0.3 → rowan_python-3.0.4}/pixi.lock +124 -137
  4. {rowan_python-3.0.3 → rowan_python-3.0.4}/pyproject.toml +1 -1
  5. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/descriptors.py +19 -6
  6. {rowan_python-3.0.3 → rowan_python-3.0.4}/.envrc +0 -0
  7. {rowan_python-3.0.3 → rowan_python-3.0.4}/.github/workflows/build-and-deploy-docs.yml +0 -0
  8. {rowan_python-3.0.3 → rowan_python-3.0.4}/.github/workflows/python-publish.yml +0 -0
  9. {rowan_python-3.0.3 → rowan_python-3.0.4}/.github/workflows/test.yml +0 -0
  10. {rowan_python-3.0.3 → rowan_python-3.0.4}/.gitignore +0 -0
  11. {rowan_python-3.0.3 → rowan_python-3.0.4}/.pre-commit-config.yaml +0 -0
  12. {rowan_python-3.0.3 → rowan_python-3.0.4}/LICENSE +0 -0
  13. {rowan_python-3.0.3 → rowan_python-3.0.4}/README.md +0 -0
  14. {rowan_python-3.0.3 → rowan_python-3.0.4}/docs/images/deciduous-tree-favicon.png +0 -0
  15. {rowan_python-3.0.3 → rowan_python-3.0.4}/docs/index.md +0 -0
  16. {rowan_python-3.0.3 → rowan_python-3.0.4}/docs/rowan_rdkit.md +0 -0
  17. {rowan_python-3.0.3 → rowan_python-3.0.4}/docs/stylesheets/colors.css +0 -0
  18. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/PROTAC_solubility.py +0 -0
  19. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/admet.py +0 -0
  20. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/analogue_docking.py +0 -0
  21. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/aqueous_solubility.py +0 -0
  22. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/basic_calculation.py +0 -0
  23. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/basic_calculation_from_json.py +0 -0
  24. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/basic_calculation_with_constraint.py +0 -0
  25. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/basic_calculation_with_solvent.py +0 -0
  26. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/batch_docking.py +0 -0
  27. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/bde.py +0 -0
  28. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/boltz_paired_msa.py +0 -0
  29. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/boltz_single_msa.py +0 -0
  30. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/chai_paired_msa.py +0 -0
  31. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/chai_single_msa.py +0 -0
  32. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/cofolding_screen.py +0 -0
  33. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/colabfold_paired_msa.py +0 -0
  34. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/colabfold_single_msa.py +0 -0
  35. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/conformer_dependent_redox.py +0 -0
  36. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/conformers.py +0 -0
  37. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/data/1iep_receptorH.pdb +0 -0
  38. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/data/citalopram_1iep.xyz +0 -0
  39. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/data/tyk2_ligands.sdf +0 -0
  40. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/data/tyk2_structure.pdb +0 -0
  41. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/data/workflow_example.json +0 -0
  42. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/dcd_download.py +0 -0
  43. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/docking_screen.py +0 -0
  44. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/double_ended_ts_search.py +0 -0
  45. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/electronic_properties.py +0 -0
  46. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/estimate_workflow.py +0 -0
  47. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/fukui_index.py +0 -0
  48. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/hydrogen_bond_basicity.py +0 -0
  49. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/interaction_energy_decomposition.py +0 -0
  50. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/ion_mobility.py +0 -0
  51. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/irc.py +0 -0
  52. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/macropka.py +0 -0
  53. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/membrane_permeability.py +0 -0
  54. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/multistage_optimization.py +0 -0
  55. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/nmr.py +0 -0
  56. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/optimization.py +0 -0
  57. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/pdb_download.py +0 -0
  58. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/phenol_pka.py +0 -0
  59. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/pka.py +0 -0
  60. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/pose_analysis_md.py +0 -0
  61. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/protein_binder_design.py +0 -0
  62. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/protein_cofolding.py +0 -0
  63. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/protein_md.py +0 -0
  64. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/rbfe_graph.py +0 -0
  65. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/redox_potential.py +0 -0
  66. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/relative_binding_free_energy_perturbation.py +0 -0
  67. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/retrieve_workflow.py +0 -0
  68. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/scan.py +0 -0
  69. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/solvent_dependent_conformers.py +0 -0
  70. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/spin_states.py +0 -0
  71. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/strain.py +0 -0
  72. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/tautomer.py +0 -0
  73. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/template.py +0 -0
  74. {rowan_python-3.0.3 → rowan_python-3.0.4}/examples/webhook.py +0 -0
  75. {rowan_python-3.0.3 → rowan_python-3.0.4}/mkdocs.yml +0 -0
  76. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/__init__.py +0 -0
  77. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/calculation.py +0 -0
  78. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/config.py +0 -0
  79. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/constants.py +0 -0
  80. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/folder.py +0 -0
  81. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/molecule.py +0 -0
  82. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/project.py +0 -0
  83. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/protein.py +0 -0
  84. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/py.typed +0 -0
  85. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/rowan_rdkit/__init__.py +0 -0
  86. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/rowan_rdkit/chem_utils.py +0 -0
  87. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/types.py +0 -0
  88. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/user.py +0 -0
  89. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/utils.py +0 -0
  90. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/__init__.py +0 -0
  91. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/admet.py +0 -0
  92. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/analogue_docking.py +0 -0
  93. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/base.py +0 -0
  94. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/basic_calculation.py +0 -0
  95. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/batch_docking.py +0 -0
  96. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/bde.py +0 -0
  97. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/conformer_search.py +0 -0
  98. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/constants.py +0 -0
  99. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/docking.py +0 -0
  100. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/double_ended_ts_search.py +0 -0
  101. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/electronic_properties.py +0 -0
  102. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/fukui.py +0 -0
  103. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/hydrogen_bond_donor_acceptor_strength.py +0 -0
  104. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/interaction_energy_decomposition.py +0 -0
  105. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/ion_mobility.py +0 -0
  106. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/irc.py +0 -0
  107. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/macropka.py +0 -0
  108. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/membrane_permeability.py +0 -0
  109. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/msa.py +0 -0
  110. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/multistage_optimization.py +0 -0
  111. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/nmr.py +0 -0
  112. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/pka.py +0 -0
  113. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/pose_analysis_md.py +0 -0
  114. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/protein_binder_design.py +0 -0
  115. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/protein_cofolding.py +0 -0
  116. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/protein_md.py +0 -0
  117. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/rbfe_graph.py +0 -0
  118. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/redox_potential.py +0 -0
  119. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/relative_binding_free_energy_perturbation.py +0 -0
  120. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/scan.py +0 -0
  121. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/solubility.py +0 -0
  122. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/solvent_dependent_conformers.py +0 -0
  123. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/spin_states.py +0 -0
  124. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/strain.py +0 -0
  125. {rowan_python-3.0.3 → rowan_python-3.0.4}/rowan/workflows/tautomer_search.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rowan-python
3
- Version: 3.0.3
3
+ Version: 3.0.4
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
@@ -0,0 +1,25 @@
1
+ """
2
+ Calculate molecular descriptors using the Rowan API.
3
+
4
+ Computes molecular descriptors including COSMO descriptors (surface area,
5
+ screening charge, dielectric energy, polar surface area) in water by default.
6
+
7
+ See documentation at: https://docs.rowansci.com/science/workflows/descriptors
8
+ """
9
+
10
+ import rowan
11
+
12
+ # Set your API key or use the ROWAN_API_KEY environment variable
13
+ # rowan.api_key = "rowan-sk..."
14
+ folder = rowan.get_folder("examples")
15
+
16
+ workflow = rowan.submit_descriptors_workflow(
17
+ initial_molecule=rowan.Molecule.from_smiles("CC(=O)Oc1ccccc1C(=O)O"),
18
+ name="Aspirin Descriptors",
19
+ folder=folder,
20
+ )
21
+
22
+ print(f"View workflow privately at: https://labs.rowansci.com/descriptors/{workflow.uuid}")
23
+ result = workflow.result()
24
+ print(result)
25
+ # e.g. <DescriptorsResult n=1686>
@@ -18,15 +18,15 @@ environments:
18
18
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda
19
19
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_18.conda
20
20
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_18.conda
21
- - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda
21
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda
22
22
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda
23
- - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.52.0-hf4e2dac_0.conda
23
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.0-hf4e2dac_0.conda
24
24
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_18.conda
25
25
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42-h5347b49_0.conda
26
26
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda
27
27
  - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda
28
- - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda
29
- - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.3-h32b2ec7_101_cp314.conda
28
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.2-h35e630c_0.conda
29
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.4-habeac84_100_cp314.conda
30
30
  - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda
31
31
  - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda
32
32
  - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda
@@ -40,7 +40,7 @@ environments:
40
40
  - pypi: https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl
41
41
  - pypi: https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl
42
42
  - pypi: https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl
43
- - pypi: https://files.pythonhosted.org/packages/d8/f4/5e52c7319b8087acef603ed6e50dc325c02eaa999355414830468611f13c/more_itertools-11.0.1-py3-none-any.whl
43
+ - pypi: https://files.pythonhosted.org/packages/cb/98/6af411189d9413534c3eb691182bff1f5c6d44ed2f93f2edfe52a1bbceb8/more_itertools-11.0.2-py3-none-any.whl
44
44
  - pypi: https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl
45
45
  - pypi: https://files.pythonhosted.org/packages/98/7c/21252050676612625449b4807d6b695b9ce8a7c9e1c197ee6216c8a65c7c/numpy-2.4.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
46
46
  - pypi: https://files.pythonhosted.org/packages/11/8d/d2532ad2a603ca2b93ad9f5135732124e57811d0168155852f37fbce2458/pillow-12.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
@@ -49,7 +49,7 @@ environments:
49
49
  - pypi: https://files.pythonhosted.org/packages/27/60/41cf00319d2a01946854e634f9a5791b0370c08bffbe4d094b0743213f6c/rdkit-2026.3.1-cp314-cp314-manylinux_2_28_x86_64.whl
50
50
  - pypi: https://files.pythonhosted.org/packages/d7/8e/7540e8a2036f79a125c1d2ebadf69ed7901608859186c856fa0388ef4197/requests-2.33.1-py3-none-any.whl
51
51
  - pypi: https://files.pythonhosted.org/packages/9d/76/f789f7a86709c6b087c5a2f52f911838cad707cc613162401badc665acfe/setuptools-82.0.1-py3-none-any.whl
52
- - pypi: https://files.pythonhosted.org/packages/4b/ee/0a6c3ab6fd471d8b948e715994d4036b21c77f24829e313ec48b08c0110e/stjames-0.0.177-py3-none-any.whl
52
+ - pypi: https://files.pythonhosted.org/packages/02/e6/5d6c315b37e517dc93a09665c3e3f88e68f1d2cdd120edf3b093f7d461b2/stjames-0.0.180-py3-none-any.whl
53
53
  - pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl
54
54
  - pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl
55
55
  - pypi: https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl
@@ -57,16 +57,15 @@ environments:
57
57
  osx-arm64:
58
58
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_9.conda
59
59
  - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda
60
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-hef89b57_0.conda
61
60
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.7.5-hf6b4638_0.conda
62
61
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.5.2-hcf2aa1b_0.conda
63
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.2-h8088a28_0.conda
62
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_0.conda
64
63
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_1.conda
65
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.52.0-h1ae2325_0.conda
64
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.0-h1b79a29_0.conda
66
65
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_2.conda
67
66
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda
68
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.1-hd24854e_1.conda
69
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.3-h4c637c5_101_cp314.conda
67
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.2-hd24854e_0.conda
68
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.4-h4c637c5_100_cp314.conda
70
69
  - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda
71
70
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda
72
71
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h010d191_3.conda
@@ -80,7 +79,7 @@ environments:
80
79
  - pypi: https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl
81
80
  - pypi: https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl
82
81
  - pypi: https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl
83
- - pypi: https://files.pythonhosted.org/packages/d8/f4/5e52c7319b8087acef603ed6e50dc325c02eaa999355414830468611f13c/more_itertools-11.0.1-py3-none-any.whl
82
+ - pypi: https://files.pythonhosted.org/packages/cb/98/6af411189d9413534c3eb691182bff1f5c6d44ed2f93f2edfe52a1bbceb8/more_itertools-11.0.2-py3-none-any.whl
84
83
  - pypi: https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl
85
84
  - pypi: https://files.pythonhosted.org/packages/4c/39/8a320264a84404c74cc7e79715de85d6130fa07a0898f67fb5cd5bd79908/numpy-2.4.4-cp314-cp314-macosx_11_0_arm64.whl
86
85
  - pypi: https://files.pythonhosted.org/packages/ba/8c/1a9e46228571de18f8e28f16fabdfc20212a5d019f3e3303452b3f0a580d/pillow-12.2.0-cp314-cp314-macosx_11_0_arm64.whl
@@ -89,7 +88,7 @@ environments:
89
88
  - pypi: https://files.pythonhosted.org/packages/6a/a4/c05a31806eaf366af246903230fe441cef8b7949cc4592656025ac8975e6/rdkit-2026.3.1-cp314-cp314-macosx_11_0_arm64.whl
90
89
  - pypi: https://files.pythonhosted.org/packages/d7/8e/7540e8a2036f79a125c1d2ebadf69ed7901608859186c856fa0388ef4197/requests-2.33.1-py3-none-any.whl
91
90
  - pypi: https://files.pythonhosted.org/packages/9d/76/f789f7a86709c6b087c5a2f52f911838cad707cc613162401badc665acfe/setuptools-82.0.1-py3-none-any.whl
92
- - pypi: https://files.pythonhosted.org/packages/4b/ee/0a6c3ab6fd471d8b948e715994d4036b21c77f24829e313ec48b08c0110e/stjames-0.0.177-py3-none-any.whl
91
+ - pypi: https://files.pythonhosted.org/packages/02/e6/5d6c315b37e517dc93a09665c3e3f88e68f1d2cdd120edf3b093f7d461b2/stjames-0.0.180-py3-none-any.whl
93
92
  - pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl
94
93
  - pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl
95
94
  - pypi: https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl
@@ -112,15 +111,15 @@ environments:
112
111
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda
113
112
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_18.conda
114
113
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_18.conda
115
- - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda
114
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda
116
115
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda
117
- - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.52.0-hf4e2dac_0.conda
116
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.0-hf4e2dac_0.conda
118
117
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_18.conda
119
118
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42-h5347b49_0.conda
120
119
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda
121
120
  - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda
122
- - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda
123
- - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.3-h32b2ec7_101_cp314.conda
121
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.2-h35e630c_0.conda
122
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.4-habeac84_100_cp314.conda
124
123
  - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda
125
124
  - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda
126
125
  - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda
@@ -154,7 +153,7 @@ environments:
154
153
  - pypi: https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl
155
154
  - pypi: https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl
156
155
  - pypi: https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl
157
- - pypi: https://files.pythonhosted.org/packages/d1/96/ef04902aad1424fd7299b62d1890e803e6ab4018c3044dca5922319c4b97/librt-0.8.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
156
+ - pypi: https://files.pythonhosted.org/packages/f2/94/a2025fe442abedf8b038038dab3dba942009ad42b38ea064a1a9e6094241/librt-0.9.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
158
157
  - pypi: https://files.pythonhosted.org/packages/de/1f/77fa3081e4f66ca3576c896ae5d31c3002ac6607f9747d2e3aa49227e464/markdown-3.10.2-py3-none-any.whl
159
158
  - pypi: https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
160
159
  - pypi: https://files.pythonhosted.org/packages/af/33/ee4519fa02ed11a94aef9559552f3b17bb863f2ecfe1a35dc7f548cde231/matplotlib_inline-0.2.1-py3-none-any.whl
@@ -166,7 +165,7 @@ environments:
166
165
  - pypi: https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl
167
166
  - pypi: https://files.pythonhosted.org/packages/04/41/1cf02e3df279d2dd846a1bf235a928254eba9006dd22b4a14caa71aed0f7/mkdocstrings-1.0.3-py3-none-any.whl
168
167
  - pypi: https://files.pythonhosted.org/packages/32/28/79f0f8de97cce916d5ae88a7bee1ad724855e83e6019c0b4d5b3fabc80f3/mkdocstrings_python-2.0.3-py3-none-any.whl
169
- - pypi: https://files.pythonhosted.org/packages/d8/f4/5e52c7319b8087acef603ed6e50dc325c02eaa999355414830468611f13c/more_itertools-11.0.1-py3-none-any.whl
168
+ - pypi: https://files.pythonhosted.org/packages/cb/98/6af411189d9413534c3eb691182bff1f5c6d44ed2f93f2edfe52a1bbceb8/more_itertools-11.0.2-py3-none-any.whl
170
169
  - pypi: https://files.pythonhosted.org/packages/6b/8d/93491ff7b79419edc7eabf95cb3b3f7490e2e574b2855c7c7e7394ff933f/mypy-1.20.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
171
170
  - pypi: https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl
172
171
  - pypi: https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl
@@ -178,7 +177,7 @@ environments:
178
177
  - pypi: https://files.pythonhosted.org/packages/ef/3c/2c197d226f9ea224a9ab8d197933f9da0ae0aac5b6e0f884e2b8d9c8e9f7/pathspec-1.0.4-py3-none-any.whl
179
178
  - pypi: https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl
180
179
  - pypi: https://files.pythonhosted.org/packages/11/8d/d2532ad2a603ca2b93ad9f5135732124e57811d0168155852f37fbce2458/pillow-12.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
181
- - pypi: https://files.pythonhosted.org/packages/63/d7/97f7e3a6abb67d8080dd406fd4df842c2be0efaf712d1c899c32a075027c/platformdirs-4.9.4-py3-none-any.whl
180
+ - pypi: https://files.pythonhosted.org/packages/75/a6/a0a304dc33b49145b21f4808d763822111e67d1c3a32b524a1baf947b6e1/platformdirs-4.9.6-py3-none-any.whl
182
181
  - pypi: https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl
183
182
  - pypi: https://files.pythonhosted.org/packages/5d/19/fd3ef348460c80af7bb4669ea7926651d1f95c23ff2df18b9d24bab4f3fa/pre_commit-4.5.1-py2.py3-none-any.whl
184
183
  - pypi: https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl
@@ -188,42 +187,41 @@ environments:
188
187
  - 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
189
188
  - pypi: https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl
190
189
  - pypi: https://files.pythonhosted.org/packages/f7/27/a2fc51a4a122dfd1015e921ae9d22fee3d20b0b8080d9a704578bf9deece/pymdown_extensions-10.21.2-py3-none-any.whl
191
- - pypi: https://files.pythonhosted.org/packages/3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/pytest-9.0.2-py3-none-any.whl
190
+ - pypi: https://files.pythonhosted.org/packages/d4/24/a372aaf5c9b7208e7112038812994107bc65a84cd00e0354a88c2c77a617/pytest-9.0.3-py3-none-any.whl
192
191
  - pypi: https://files.pythonhosted.org/packages/9d/7a/d968e294073affff457b041c2be9868a40c1c71f4a35fcc1e45e5493067b/pytest_cov-7.1.0-py3-none-any.whl
193
192
  - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl
194
- - pypi: https://files.pythonhosted.org/packages/67/0f/019d3949a40280f6193b62bc010177d4ce702d0fce424322286488569cd3/python_discovery-1.2.1-py3-none-any.whl
193
+ - pypi: https://files.pythonhosted.org/packages/d8/db/795879cc3ddfe338599bddea6388cc5100b088db0a4caf6e6c1af1c27e04/python_discovery-1.2.2-py3-none-any.whl
195
194
  - pypi: https://files.pythonhosted.org/packages/0b/d7/1959b9648791274998a9c3526f6d0ec8fd2233e4d4acce81bbae76b44b2a/python_dotenv-1.2.2-py3-none-any.whl
196
195
  - pypi: https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
197
196
  - pypi: https://files.pythonhosted.org/packages/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce/pyyaml_env_tag-1.1-py3-none-any.whl
198
197
  - pypi: https://files.pythonhosted.org/packages/27/60/41cf00319d2a01946854e634f9a5791b0370c08bffbe4d094b0743213f6c/rdkit-2026.3.1-cp314-cp314-manylinux_2_28_x86_64.whl
199
198
  - pypi: https://files.pythonhosted.org/packages/d9/0f/90088510d4758e0ee475ae1fc7f96e7bccd0e31f24107567075482b2fe9e/rdkit_stubs-0.8-py3-none-any.whl
200
199
  - pypi: https://files.pythonhosted.org/packages/d7/8e/7540e8a2036f79a125c1d2ebadf69ed7901608859186c856fa0388ef4197/requests-2.33.1-py3-none-any.whl
201
- - pypi: https://files.pythonhosted.org/packages/ff/6b/a1548ac378a78332a4c3dcf4a134c2475a36d2a22ddfa272acd574140b50/ruff-0.15.9-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
200
+ - pypi: https://files.pythonhosted.org/packages/bc/bb/7ddb00a83760ff4a83c4e2fc231fd63937cc7317c10c82f583302e0f6586/ruff-0.15.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
202
201
  - pypi: https://files.pythonhosted.org/packages/9d/76/f789f7a86709c6b087c5a2f52f911838cad707cc613162401badc665acfe/setuptools-82.0.1-py3-none-any.whl
203
202
  - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl
204
203
  - pypi: https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl
205
- - pypi: https://files.pythonhosted.org/packages/4b/ee/0a6c3ab6fd471d8b948e715994d4036b21c77f24829e313ec48b08c0110e/stjames-0.0.177-py3-none-any.whl
204
+ - pypi: https://files.pythonhosted.org/packages/02/e6/5d6c315b37e517dc93a09665c3e3f88e68f1d2cdd120edf3b093f7d461b2/stjames-0.0.180-py3-none-any.whl
206
205
  - pypi: https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl
207
206
  - pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl
208
207
  - pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl
209
208
  - pypi: https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl
210
- - pypi: https://files.pythonhosted.org/packages/c6/59/7d02447a55b2e55755011a647479041bc92a82e143f96a8195cb33bd0a1c/virtualenv-21.2.0-py3-none-any.whl
209
+ - pypi: https://files.pythonhosted.org/packages/20/0e/f083a76cb590e60dff3868779558eefefb8dfb7c9ed020babc7aa014ccbf/virtualenv-21.2.1-py3-none-any.whl
211
210
  - pypi: https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl
212
211
  - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl
213
212
  - pypi: ./
214
213
  osx-arm64:
215
214
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_9.conda
216
215
  - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda
217
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-hef89b57_0.conda
218
216
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.7.5-hf6b4638_0.conda
219
217
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.5.2-hcf2aa1b_0.conda
220
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.2-h8088a28_0.conda
218
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_0.conda
221
219
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_1.conda
222
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.52.0-h1ae2325_0.conda
220
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.0-h1b79a29_0.conda
223
221
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_2.conda
224
222
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda
225
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.1-hd24854e_1.conda
226
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.3-h4c637c5_101_cp314.conda
223
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.2-hd24854e_0.conda
224
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.4-h4c637c5_100_cp314.conda
227
225
  - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda
228
226
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda
229
227
  - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h010d191_3.conda
@@ -257,7 +255,7 @@ environments:
257
255
  - pypi: https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl
258
256
  - pypi: https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl
259
257
  - pypi: https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl
260
- - pypi: https://files.pythonhosted.org/packages/1b/18/25e991cd5640c9fb0f8d91b18797b29066b792f17bf8493da183bf5caabe/librt-0.8.1-cp314-cp314-macosx_11_0_arm64.whl
258
+ - pypi: https://files.pythonhosted.org/packages/f3/ad/23399bdcb7afca819acacdef31b37ee59de261bd66b503a7995c03c4b0dc/librt-0.9.0-cp314-cp314-macosx_11_0_arm64.whl
261
259
  - pypi: https://files.pythonhosted.org/packages/de/1f/77fa3081e4f66ca3576c896ae5d31c3002ac6607f9747d2e3aa49227e464/markdown-3.10.2-py3-none-any.whl
262
260
  - pypi: https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl
263
261
  - pypi: https://files.pythonhosted.org/packages/af/33/ee4519fa02ed11a94aef9559552f3b17bb863f2ecfe1a35dc7f548cde231/matplotlib_inline-0.2.1-py3-none-any.whl
@@ -269,7 +267,7 @@ environments:
269
267
  - pypi: https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl
270
268
  - pypi: https://files.pythonhosted.org/packages/04/41/1cf02e3df279d2dd846a1bf235a928254eba9006dd22b4a14caa71aed0f7/mkdocstrings-1.0.3-py3-none-any.whl
271
269
  - pypi: https://files.pythonhosted.org/packages/32/28/79f0f8de97cce916d5ae88a7bee1ad724855e83e6019c0b4d5b3fabc80f3/mkdocstrings_python-2.0.3-py3-none-any.whl
272
- - pypi: https://files.pythonhosted.org/packages/d8/f4/5e52c7319b8087acef603ed6e50dc325c02eaa999355414830468611f13c/more_itertools-11.0.1-py3-none-any.whl
270
+ - pypi: https://files.pythonhosted.org/packages/cb/98/6af411189d9413534c3eb691182bff1f5c6d44ed2f93f2edfe52a1bbceb8/more_itertools-11.0.2-py3-none-any.whl
273
271
  - pypi: https://files.pythonhosted.org/packages/7d/c5/5fe9d8a729dd9605064691816243ae6c49fde0bd28f6e5e17f6a24203c43/mypy-1.20.0-cp314-cp314-macosx_11_0_arm64.whl
274
272
  - pypi: https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl
275
273
  - pypi: https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl
@@ -281,7 +279,7 @@ environments:
281
279
  - pypi: https://files.pythonhosted.org/packages/ef/3c/2c197d226f9ea224a9ab8d197933f9da0ae0aac5b6e0f884e2b8d9c8e9f7/pathspec-1.0.4-py3-none-any.whl
282
280
  - pypi: https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl
283
281
  - pypi: https://files.pythonhosted.org/packages/ba/8c/1a9e46228571de18f8e28f16fabdfc20212a5d019f3e3303452b3f0a580d/pillow-12.2.0-cp314-cp314-macosx_11_0_arm64.whl
284
- - pypi: https://files.pythonhosted.org/packages/63/d7/97f7e3a6abb67d8080dd406fd4df842c2be0efaf712d1c899c32a075027c/platformdirs-4.9.4-py3-none-any.whl
282
+ - pypi: https://files.pythonhosted.org/packages/75/a6/a0a304dc33b49145b21f4808d763822111e67d1c3a32b524a1baf947b6e1/platformdirs-4.9.6-py3-none-any.whl
285
283
  - pypi: https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl
286
284
  - pypi: https://files.pythonhosted.org/packages/5d/19/fd3ef348460c80af7bb4669ea7926651d1f95c23ff2df18b9d24bab4f3fa/pre_commit-4.5.1-py2.py3-none-any.whl
287
285
  - pypi: https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl
@@ -291,26 +289,26 @@ environments:
291
289
  - pypi: https://files.pythonhosted.org/packages/74/1a/145646e5687e8d9a1e8d09acb278c8535ebe9e972e1f162ed338a622f193/pydantic_core-2.41.5-cp314-cp314-macosx_11_0_arm64.whl
292
290
  - pypi: https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl
293
291
  - pypi: https://files.pythonhosted.org/packages/f7/27/a2fc51a4a122dfd1015e921ae9d22fee3d20b0b8080d9a704578bf9deece/pymdown_extensions-10.21.2-py3-none-any.whl
294
- - pypi: https://files.pythonhosted.org/packages/3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/pytest-9.0.2-py3-none-any.whl
292
+ - pypi: https://files.pythonhosted.org/packages/d4/24/a372aaf5c9b7208e7112038812994107bc65a84cd00e0354a88c2c77a617/pytest-9.0.3-py3-none-any.whl
295
293
  - pypi: https://files.pythonhosted.org/packages/9d/7a/d968e294073affff457b041c2be9868a40c1c71f4a35fcc1e45e5493067b/pytest_cov-7.1.0-py3-none-any.whl
296
294
  - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl
297
- - pypi: https://files.pythonhosted.org/packages/67/0f/019d3949a40280f6193b62bc010177d4ce702d0fce424322286488569cd3/python_discovery-1.2.1-py3-none-any.whl
295
+ - pypi: https://files.pythonhosted.org/packages/d8/db/795879cc3ddfe338599bddea6388cc5100b088db0a4caf6e6c1af1c27e04/python_discovery-1.2.2-py3-none-any.whl
298
296
  - pypi: https://files.pythonhosted.org/packages/0b/d7/1959b9648791274998a9c3526f6d0ec8fd2233e4d4acce81bbae76b44b2a/python_dotenv-1.2.2-py3-none-any.whl
299
297
  - pypi: https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl
300
298
  - pypi: https://files.pythonhosted.org/packages/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce/pyyaml_env_tag-1.1-py3-none-any.whl
301
299
  - pypi: https://files.pythonhosted.org/packages/6a/a4/c05a31806eaf366af246903230fe441cef8b7949cc4592656025ac8975e6/rdkit-2026.3.1-cp314-cp314-macosx_11_0_arm64.whl
302
300
  - pypi: https://files.pythonhosted.org/packages/d9/0f/90088510d4758e0ee475ae1fc7f96e7bccd0e31f24107567075482b2fe9e/rdkit_stubs-0.8-py3-none-any.whl
303
301
  - pypi: https://files.pythonhosted.org/packages/d7/8e/7540e8a2036f79a125c1d2ebadf69ed7901608859186c856fa0388ef4197/requests-2.33.1-py3-none-any.whl
304
- - pypi: https://files.pythonhosted.org/packages/ca/25/de55f52ab5535d12e7aaba1de37a84be6179fb20bddcbe71ec091b4a3243/ruff-0.15.9-py3-none-macosx_11_0_arm64.whl
302
+ - pypi: https://files.pythonhosted.org/packages/f2/c0/4ac978fe874d0618c7da647862afe697b281c2806f13ce904ad652fa87e4/ruff-0.15.10-py3-none-macosx_11_0_arm64.whl
305
303
  - pypi: https://files.pythonhosted.org/packages/9d/76/f789f7a86709c6b087c5a2f52f911838cad707cc613162401badc665acfe/setuptools-82.0.1-py3-none-any.whl
306
304
  - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl
307
305
  - pypi: https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl
308
- - pypi: https://files.pythonhosted.org/packages/4b/ee/0a6c3ab6fd471d8b948e715994d4036b21c77f24829e313ec48b08c0110e/stjames-0.0.177-py3-none-any.whl
306
+ - pypi: https://files.pythonhosted.org/packages/02/e6/5d6c315b37e517dc93a09665c3e3f88e68f1d2cdd120edf3b093f7d461b2/stjames-0.0.180-py3-none-any.whl
309
307
  - pypi: https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl
310
308
  - pypi: https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl
311
309
  - pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl
312
310
  - pypi: https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl
313
- - pypi: https://files.pythonhosted.org/packages/c6/59/7d02447a55b2e55755011a647479041bc92a82e143f96a8195cb33bd0a1c/virtualenv-21.2.0-py3-none-any.whl
311
+ - pypi: https://files.pythonhosted.org/packages/20/0e/f083a76cb590e60dff3868779558eefefb8dfb7c9ed020babc7aa014ccbf/virtualenv-21.2.1-py3-none-any.whl
314
312
  - pypi: https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz
315
313
  - pypi: https://files.pythonhosted.org/packages/68/5a/199c59e0a824a3db2b89c5d2dade7ab5f9624dbf6448dc291b46d5ec94d3/wcwidth-0.6.0-py3-none-any.whl
316
314
  - pypi: ./
@@ -555,16 +553,6 @@ packages:
555
553
  purls: []
556
554
  size: 12723451
557
555
  timestamp: 1773822285671
558
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-hef89b57_0.conda
559
- sha256: 3a7907a17e9937d3a46dfd41cffaf815abad59a569440d1e25177c15fd0684e5
560
- md5: f1182c91c0de31a7abd40cedf6a5ebef
561
- depends:
562
- - __osx >=11.0
563
- license: MIT
564
- license_family: MIT
565
- purls: []
566
- size: 12361647
567
- timestamp: 1773822915649
568
556
  - pypi: https://files.pythonhosted.org/packages/46/33/92ef41c6fad0233e41d3d84ba8e8ad18d1780f1e5d99b3c683e6d7f98b63/identify-2.6.18-py2.py3-none-any.whl
569
557
  name: identify
570
558
  version: 2.6.18
@@ -771,29 +759,29 @@ packages:
771
759
  purls: []
772
760
  size: 603262
773
761
  timestamp: 1771378117851
774
- - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda
775
- sha256: 755c55ebab181d678c12e49cced893598f2bab22d582fbbf4d8b83c18be207eb
776
- md5: c7c83eecbb72d88b940c249af56c8b17
762
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_0.conda
763
+ sha256: ec30e52a3c1bf7d0425380a189d209a52baa03f22fb66dd3eb587acaa765bd6d
764
+ md5: b88d90cad08e6bc8ad540cb310a761fb
777
765
  depends:
778
766
  - __glibc >=2.17,<3.0.a0
779
767
  - libgcc >=14
780
768
  constrains:
781
- - xz 5.8.2.*
769
+ - xz 5.8.3.*
782
770
  license: 0BSD
783
771
  purls: []
784
- size: 113207
785
- timestamp: 1768752626120
786
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.2-h8088a28_0.conda
787
- sha256: 7bfc7ffb2d6a9629357a70d4eadeadb6f88fa26ebc28f606b1c1e5e5ed99dc7e
788
- md5: 009f0d956d7bfb00de86901d16e486c7
772
+ size: 113478
773
+ timestamp: 1775825492909
774
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_0.conda
775
+ sha256: 34878d87275c298f1a732c6806349125cebbf340d24c6c23727268184bba051e
776
+ md5: b1fd823b5ae54fbec272cea0811bd8a9
789
777
  depends:
790
778
  - __osx >=11.0
791
779
  constrains:
792
- - xz 5.8.2.*
780
+ - xz 5.8.3.*
793
781
  license: 0BSD
794
782
  purls: []
795
- size: 92242
796
- timestamp: 1768752982486
783
+ size: 92472
784
+ timestamp: 1775825802659
797
785
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda
798
786
  sha256: fe171ed5cf5959993d43ff72de7596e8ac2853e9021dec0344e583734f1e0843
799
787
  md5: 2c21e66f50753a083cbe6b80f38268fa
@@ -815,39 +803,38 @@ packages:
815
803
  purls: []
816
804
  size: 73690
817
805
  timestamp: 1769482560514
818
- - pypi: https://files.pythonhosted.org/packages/1b/18/25e991cd5640c9fb0f8d91b18797b29066b792f17bf8493da183bf5caabe/librt-0.8.1-cp314-cp314-macosx_11_0_arm64.whl
806
+ - pypi: https://files.pythonhosted.org/packages/f2/94/a2025fe442abedf8b038038dab3dba942009ad42b38ea064a1a9e6094241/librt-0.9.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
819
807
  name: librt
820
- version: 0.8.1
821
- sha256: 228c2409c079f8c11fb2e5d7b277077f694cb93443eb760e00b3b83cb8b3176c
808
+ version: 0.9.0
809
+ sha256: f3fd278f5e6bf7c75ccd6d12344eb686cc020712683363b66f46ac79d37c799f
822
810
  requires_python: '>=3.9'
823
- - pypi: https://files.pythonhosted.org/packages/d1/96/ef04902aad1424fd7299b62d1890e803e6ab4018c3044dca5922319c4b97/librt-0.8.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
811
+ - pypi: https://files.pythonhosted.org/packages/f3/ad/23399bdcb7afca819acacdef31b37ee59de261bd66b503a7995c03c4b0dc/librt-0.9.0-cp314-cp314-macosx_11_0_arm64.whl
824
812
  name: librt
825
- version: 0.8.1
826
- sha256: 6b1977c4ea97ce5eb7755a78fae68d87e4102e4aaf54985e8b56806849cc06a3
813
+ version: 0.9.0
814
+ sha256: 1c587494461ebd42229d0f1739f3aa34237dd9980623ecf1be8d3bcba79f4499
827
815
  requires_python: '>=3.9'
828
- - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.52.0-hf4e2dac_0.conda
829
- sha256: d716847b7deca293d2e49ed1c8ab9e4b9e04b9d780aea49a97c26925b28a7993
830
- md5: fd893f6a3002a635b5e50ceb9dd2c0f4
816
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.0-hf4e2dac_0.conda
817
+ sha256: ec37c79f737933bbac965f5dc0f08ef2790247129a84bb3114fad4900adce401
818
+ md5: 810d83373448da85c3f673fbcb7ad3a3
831
819
  depends:
832
820
  - __glibc >=2.17,<3.0.a0
833
- - icu >=78.2,<79.0a0
821
+ - icu >=78.3,<79.0a0
834
822
  - libgcc >=14
835
- - libzlib >=1.3.1,<2.0a0
823
+ - libzlib >=1.3.2,<2.0a0
836
824
  license: blessing
837
825
  purls: []
838
- size: 951405
839
- timestamp: 1772818874251
840
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.52.0-h1ae2325_0.conda
841
- sha256: beb0fd5594d6d7c7cd42c992b6bb4d66cbb39d6c94a8234f15956da99a04306c
842
- md5: f6233a3fddc35a2ec9f617f79d6f3d71
826
+ size: 958864
827
+ timestamp: 1775753750179
828
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.0-h1b79a29_0.conda
829
+ sha256: 1a9d1e3e18dbb0b87cff3b40c3e42703730d7ac7ee9b9322c2682196a81ba0c3
830
+ md5: 8423c008105df35485e184066cad4566
843
831
  depends:
844
832
  - __osx >=11.0
845
- - icu >=78.2,<79.0a0
846
- - libzlib >=1.3.1,<2.0a0
833
+ - libzlib >=1.3.2,<2.0a0
847
834
  license: blessing
848
835
  purls: []
849
- size: 918420
850
- timestamp: 1772819478684
836
+ size: 920039
837
+ timestamp: 1775754485962
851
838
  - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_18.conda
852
839
  sha256: 78668020064fdaa27e9ab65cd2997e2c837b564ab26ce3bf0e58a2ce1a525c6e
853
840
  md5: 1b08cd684f34175e4514474793d44bcb
@@ -1047,10 +1034,10 @@ packages:
1047
1034
  - griffelib>=2.0
1048
1035
  - typing-extensions>=4.0 ; python_full_version < '3.11'
1049
1036
  requires_python: '>=3.10'
1050
- - pypi: https://files.pythonhosted.org/packages/d8/f4/5e52c7319b8087acef603ed6e50dc325c02eaa999355414830468611f13c/more_itertools-11.0.1-py3-none-any.whl
1037
+ - pypi: https://files.pythonhosted.org/packages/cb/98/6af411189d9413534c3eb691182bff1f5c6d44ed2f93f2edfe52a1bbceb8/more_itertools-11.0.2-py3-none-any.whl
1051
1038
  name: more-itertools
1052
- version: 11.0.1
1053
- sha256: eaf287826069452a8f61026c597eae2428b2d1ba2859083abbf240b46842ce6d
1039
+ version: 11.0.2
1040
+ sha256: 6e35b35f818b01f691643c6c611bc0902f2e92b46c18fffa77ae1e7c46e912e4
1054
1041
  requires_python: '>=3.10'
1055
1042
  - pypi: https://files.pythonhosted.org/packages/6b/8d/93491ff7b79419edc7eabf95cb3b3f7490e2e574b2855c7c7e7394ff933f/mypy-1.20.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
1056
1043
  name: mypy
@@ -1130,9 +1117,9 @@ packages:
1130
1117
  version: 2.4.4
1131
1118
  sha256: 27a8d92cd10f1382a67d7cf4db7ce18341b66438bdd9f691d7b0e48d104c2a9d
1132
1119
  requires_python: '>=3.11'
1133
- - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda
1134
- sha256: 44c877f8af015332a5d12f5ff0fb20ca32f896526a7d0cdb30c769df1144fb5c
1135
- md5: f61eb8cd60ff9057122a3d338b99c00f
1120
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.2-h35e630c_0.conda
1121
+ sha256: c0ef482280e38c71a08ad6d71448194b719630345b0c9c60744a2010e8a8e0cb
1122
+ md5: da1b85b6a87e141f5140bb9924cecab0
1136
1123
  depends:
1137
1124
  - __glibc >=2.17,<3.0.a0
1138
1125
  - ca-certificates
@@ -1140,19 +1127,19 @@ packages:
1140
1127
  license: Apache-2.0
1141
1128
  license_family: Apache
1142
1129
  purls: []
1143
- size: 3164551
1144
- timestamp: 1769555830639
1145
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.1-hd24854e_1.conda
1146
- sha256: 361f5c5e60052abc12bdd1b50d7a1a43e6a6653aab99a2263bf2288d709dcf67
1147
- md5: f4f6ad63f98f64191c3e77c5f5f29d76
1130
+ size: 3167099
1131
+ timestamp: 1775587756857
1132
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.2-hd24854e_0.conda
1133
+ sha256: c91bf510c130a1ea1b6ff023e28bac0ccaef869446acd805e2016f69ebdc49ea
1134
+ md5: 25dcccd4f80f1638428613e0d7c9b4e1
1148
1135
  depends:
1149
1136
  - __osx >=11.0
1150
1137
  - ca-certificates
1151
1138
  license: Apache-2.0
1152
1139
  license_family: Apache
1153
1140
  purls: []
1154
- size: 3104268
1155
- timestamp: 1769556384749
1141
+ size: 3106008
1142
+ timestamp: 1775587972483
1156
1143
  - pypi: https://files.pythonhosted.org/packages/b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/packaging-26.0-py3-none-any.whl
1157
1144
  name: packaging
1158
1145
  version: '26.0'
@@ -1258,10 +1245,10 @@ packages:
1258
1245
  - trove-classifiers>=2024.10.12 ; extra == 'tests'
1259
1246
  - defusedxml ; extra == 'xmp'
1260
1247
  requires_python: '>=3.10'
1261
- - pypi: https://files.pythonhosted.org/packages/63/d7/97f7e3a6abb67d8080dd406fd4df842c2be0efaf712d1c899c32a075027c/platformdirs-4.9.4-py3-none-any.whl
1248
+ - pypi: https://files.pythonhosted.org/packages/75/a6/a0a304dc33b49145b21f4808d763822111e67d1c3a32b524a1baf947b6e1/platformdirs-4.9.6-py3-none-any.whl
1262
1249
  name: platformdirs
1263
- version: 4.9.4
1264
- sha256: 68a9a4619a666ea6439f2ff250c12a853cd1cbd5158d258bd824a7df6be2f868
1250
+ version: 4.9.6
1251
+ sha256: e61adb1d5e5cb3441b4b7710bea7e4c12250ca49439228cc1021c00dcfac0917
1265
1252
  requires_python: '>=3.10'
1266
1253
  - pypi: https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl
1267
1254
  name: pluggy
@@ -1344,10 +1331,10 @@ packages:
1344
1331
  - pyyaml
1345
1332
  - pygments>=2.19.1 ; extra == 'extra'
1346
1333
  requires_python: '>=3.9'
1347
- - pypi: https://files.pythonhosted.org/packages/3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/pytest-9.0.2-py3-none-any.whl
1334
+ - pypi: https://files.pythonhosted.org/packages/d4/24/a372aaf5c9b7208e7112038812994107bc65a84cd00e0354a88c2c77a617/pytest-9.0.3-py3-none-any.whl
1348
1335
  name: pytest
1349
- version: 9.0.2
1350
- sha256: 711ffd45bf766d5264d487b917733b453d917afd2b0ad65223959f59089f875b
1336
+ version: 9.0.3
1337
+ sha256: 2c5efc453d45394fdd706ade797c0a81091eccd1d6e4bccfcd476e2b8e0ab5d9
1351
1338
  requires_dist:
1352
1339
  - colorama>=0.4 ; sys_platform == 'win32'
1353
1340
  - exceptiongroup>=1 ; python_full_version < '3.11'
@@ -1376,24 +1363,24 @@ packages:
1376
1363
  - pytest-xdist ; extra == 'testing'
1377
1364
  - virtualenv ; extra == 'testing'
1378
1365
  requires_python: '>=3.9'
1379
- - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.3-h32b2ec7_101_cp314.conda
1380
- build_number: 101
1381
- sha256: cb0628c5f1732f889f53a877484da98f5a0e0f47326622671396fb4f2b0cd6bd
1382
- md5: c014ad06e60441661737121d3eae8a60
1366
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.4-habeac84_100_cp314.conda
1367
+ build_number: 100
1368
+ sha256: dec247c5badc811baa34d6085df9d0465535883cf745e22e8d79092ad54a3a7b
1369
+ md5: a443f87920815d41bfe611296e507995
1383
1370
  depends:
1384
1371
  - __glibc >=2.17,<3.0.a0
1385
1372
  - bzip2 >=1.0.8,<2.0a0
1386
1373
  - ld_impl_linux-64 >=2.36.1
1387
- - libexpat >=2.7.3,<3.0a0
1374
+ - libexpat >=2.7.5,<3.0a0
1388
1375
  - libffi >=3.5.2,<3.6.0a0
1389
1376
  - libgcc >=14
1390
1377
  - liblzma >=5.8.2,<6.0a0
1391
1378
  - libmpdec >=4.0.0,<5.0a0
1392
- - libsqlite >=3.51.2,<4.0a0
1393
- - libuuid >=2.41.3,<3.0a0
1394
- - libzlib >=1.3.1,<2.0a0
1379
+ - libsqlite >=3.52.0,<4.0a0
1380
+ - libuuid >=2.42,<3.0a0
1381
+ - libzlib >=1.3.2,<2.0a0
1395
1382
  - ncurses >=6.5,<7.0a0
1396
- - openssl >=3.5.5,<4.0a0
1383
+ - openssl >=3.5.6,<4.0a0
1397
1384
  - python_abi 3.14.* *_cp314
1398
1385
  - readline >=8.3,<9.0a0
1399
1386
  - tk >=8.6.13,<8.7.0a0
@@ -1401,24 +1388,24 @@ packages:
1401
1388
  - zstd >=1.5.7,<1.6.0a0
1402
1389
  license: Python-2.0
1403
1390
  purls: []
1404
- size: 36702440
1405
- timestamp: 1770675584356
1391
+ size: 36705460
1392
+ timestamp: 1775614357822
1406
1393
  python_site_packages_path: lib/python3.14/site-packages
1407
- - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.3-h4c637c5_101_cp314.conda
1408
- build_number: 101
1409
- sha256: fccce2af62d11328d232df9f6bbf63464fd45f81f718c661757f9c628c4378ce
1410
- md5: 753c8d0447677acb7ddbcc6e03e82661
1394
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.4-h4c637c5_100_cp314.conda
1395
+ build_number: 100
1396
+ sha256: 27e7d6cbe021f37244b643f06a98e46767255f7c2907108dd3736f042757ddad
1397
+ md5: e1bc5a3015a4bbeb304706dba5a32b7f
1411
1398
  depends:
1412
1399
  - __osx >=11.0
1413
1400
  - bzip2 >=1.0.8,<2.0a0
1414
- - libexpat >=2.7.3,<3.0a0
1401
+ - libexpat >=2.7.5,<3.0a0
1415
1402
  - libffi >=3.5.2,<3.6.0a0
1416
1403
  - liblzma >=5.8.2,<6.0a0
1417
1404
  - libmpdec >=4.0.0,<5.0a0
1418
- - libsqlite >=3.51.2,<4.0a0
1419
- - libzlib >=1.3.1,<2.0a0
1405
+ - libsqlite >=3.52.0,<4.0a0
1406
+ - libzlib >=1.3.2,<2.0a0
1420
1407
  - ncurses >=6.5,<7.0a0
1421
- - openssl >=3.5.5,<4.0a0
1408
+ - openssl >=3.5.6,<4.0a0
1422
1409
  - python_abi 3.14.* *_cp314
1423
1410
  - readline >=8.3,<9.0a0
1424
1411
  - tk >=8.6.13,<8.7.0a0
@@ -1426,8 +1413,8 @@ packages:
1426
1413
  - zstd >=1.5.7,<1.6.0a0
1427
1414
  license: Python-2.0
1428
1415
  purls: []
1429
- size: 13522698
1430
- timestamp: 1770675365241
1416
+ size: 13533346
1417
+ timestamp: 1775616188373
1431
1418
  python_site_packages_path: lib/python3.14/site-packages
1432
1419
  - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl
1433
1420
  name: python-dateutil
@@ -1436,10 +1423,10 @@ packages:
1436
1423
  requires_dist:
1437
1424
  - six>=1.5
1438
1425
  requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*'
1439
- - pypi: https://files.pythonhosted.org/packages/67/0f/019d3949a40280f6193b62bc010177d4ce702d0fce424322286488569cd3/python_discovery-1.2.1-py3-none-any.whl
1426
+ - pypi: https://files.pythonhosted.org/packages/d8/db/795879cc3ddfe338599bddea6388cc5100b088db0a4caf6e6c1af1c27e04/python_discovery-1.2.2-py3-none-any.whl
1440
1427
  name: python-discovery
1441
- version: 1.2.1
1442
- sha256: b6a957b24c1cd79252484d3566d1b49527581d46e789aaf43181005e56201502
1428
+ version: 1.2.2
1429
+ sha256: e1ae95d9af875e78f15e19aed0c6137ab1bb49c200f21f5061786490c9585c7a
1443
1430
  requires_dist:
1444
1431
  - filelock>=3.15.4
1445
1432
  - platformdirs>=4.3.6,<5
@@ -1544,8 +1531,8 @@ packages:
1544
1531
  requires_python: '>=3.10'
1545
1532
  - pypi: ./
1546
1533
  name: rowan-python
1547
- version: 3.0.3
1548
- sha256: 015cea3d149853d1d5cd804489a8f29ec98a9abd39784b3be48ffda2e91ccb2b
1534
+ version: 3.0.4
1535
+ sha256: 68bb5250327c5075096e931e0f397030cdb0a64fec9cb12c901fc97caba6f01d
1549
1536
  requires_dist:
1550
1537
  - httpx
1551
1538
  - stjames>=0.0.174
@@ -1553,15 +1540,15 @@ packages:
1553
1540
  - rdkit
1554
1541
  - nest-asyncio
1555
1542
  requires_python: '>=3.12'
1556
- - pypi: https://files.pythonhosted.org/packages/ca/25/de55f52ab5535d12e7aaba1de37a84be6179fb20bddcbe71ec091b4a3243/ruff-0.15.9-py3-none-macosx_11_0_arm64.whl
1543
+ - pypi: https://files.pythonhosted.org/packages/bc/bb/7ddb00a83760ff4a83c4e2fc231fd63937cc7317c10c82f583302e0f6586/ruff-0.15.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1557
1544
  name: ruff
1558
- version: 0.15.9
1559
- sha256: eaf05aad70ca5b5a0a4b0e080df3a6b699803916d88f006efd1f5b46302daab8
1545
+ version: 0.15.10
1546
+ sha256: 51cb8cc943e891ba99989dd92d61e29b1d231e14811db9be6440ecf25d5c1609
1560
1547
  requires_python: '>=3.7'
1561
- - pypi: https://files.pythonhosted.org/packages/ff/6b/a1548ac378a78332a4c3dcf4a134c2475a36d2a22ddfa272acd574140b50/ruff-0.15.9-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1548
+ - pypi: https://files.pythonhosted.org/packages/f2/c0/4ac978fe874d0618c7da647862afe697b281c2806f13ce904ad652fa87e4/ruff-0.15.10-py3-none-macosx_11_0_arm64.whl
1562
1549
  name: ruff
1563
- version: 0.15.9
1564
- sha256: 2b0c7c341f68adb01c488c3b7d4b49aa8ea97409eae6462d860a79cf55f431b6
1550
+ version: 0.15.10
1551
+ sha256: 93cc06a19e5155b4441dd72808fdf84290d84ad8a39ca3b0f994363ade4cebb1
1565
1552
  requires_python: '>=3.7'
1566
1553
  - pypi: https://files.pythonhosted.org/packages/9d/76/f789f7a86709c6b087c5a2f52f911838cad707cc613162401badc665acfe/setuptools-82.0.1-py3-none-any.whl
1567
1554
  name: setuptools
@@ -1637,10 +1624,10 @@ packages:
1637
1624
  - pygments ; extra == 'tests'
1638
1625
  - littleutils ; extra == 'tests'
1639
1626
  - cython ; extra == 'tests'
1640
- - pypi: https://files.pythonhosted.org/packages/4b/ee/0a6c3ab6fd471d8b948e715994d4036b21c77f24829e313ec48b08c0110e/stjames-0.0.177-py3-none-any.whl
1627
+ - pypi: https://files.pythonhosted.org/packages/02/e6/5d6c315b37e517dc93a09665c3e3f88e68f1d2cdd120edf3b093f7d461b2/stjames-0.0.180-py3-none-any.whl
1641
1628
  name: stjames
1642
- version: 0.0.177
1643
- sha256: 1693d62344646559cbb8a0679842adf45eae455714f838e801a67c2c8fecd836
1629
+ version: 0.0.180
1630
+ sha256: 8224350783a2a7715bcc8bad37d2f345a47c1c3529edc20b8c80b8b7be856aba
1644
1631
  requires_dist:
1645
1632
  - pydantic>=2.4
1646
1633
  - numpy
@@ -1718,10 +1705,10 @@ packages:
1718
1705
  - pysocks>=1.5.6,!=1.5.7,<2.0 ; extra == 'socks'
1719
1706
  - backports-zstd>=1.0.0 ; python_full_version < '3.14' and extra == 'zstd'
1720
1707
  requires_python: '>=3.9'
1721
- - pypi: https://files.pythonhosted.org/packages/c6/59/7d02447a55b2e55755011a647479041bc92a82e143f96a8195cb33bd0a1c/virtualenv-21.2.0-py3-none-any.whl
1708
+ - pypi: https://files.pythonhosted.org/packages/20/0e/f083a76cb590e60dff3868779558eefefb8dfb7c9ed020babc7aa014ccbf/virtualenv-21.2.1-py3-none-any.whl
1722
1709
  name: virtualenv
1723
- version: 21.2.0
1724
- sha256: 1bd755b504931164a5a496d217c014d098426cddc79363ad66ac78125f9d908f
1710
+ version: 21.2.1
1711
+ sha256: bd16b49c53562b28cf1a3ad2f36edb805ad71301dee70ddc449e5c88a9f919a2
1725
1712
  requires_dist:
1726
1713
  - distlib>=0.3.7,<1
1727
1714
  - filelock>=3.24.2,<4 ; python_full_version >= '3.10'
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "rowan-python"
3
- version = "3.0.3"
3
+ version = "3.0.4"
4
4
  description = "Rowan Python Library"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -5,7 +5,7 @@ from typing import Any
5
5
  import stjames
6
6
 
7
7
  from ..folder import Folder
8
- from ..types import MoleculeInput
8
+ from ..types import MoleculeInput, SolventInput
9
9
  from ..utils import api_client
10
10
  from .base import Workflow, WorkflowResult, molecule_to_dict, register_result
11
11
 
@@ -18,8 +18,7 @@ class DescriptorsResult(WorkflowResult):
18
18
 
19
19
  def __repr__(self) -> str:
20
20
  d = self.descriptors or {}
21
- preview = {k: d[k] for k in list(d.keys())[:5]} if d else {}
22
- return f"<DescriptorsResult count={len(d)} preview={preview}>"
21
+ return f"<DescriptorsResult n={len(d)}>"
23
22
 
24
23
  @property
25
24
  def descriptors(self) -> dict[str, Any] | None:
@@ -29,6 +28,8 @@ class DescriptorsResult(WorkflowResult):
29
28
 
30
29
  def submit_descriptors_workflow(
31
30
  initial_molecule: MoleculeInput,
31
+ solvent: SolventInput = "water",
32
+ do_optimization: bool = True,
32
33
  name: str = "Descriptors Workflow",
33
34
  folder_uuid: str | None = None,
34
35
  folder: Folder | None = None,
@@ -40,6 +41,10 @@ def submit_descriptors_workflow(
40
41
  Submits a descriptors workflow to the API.
41
42
 
42
43
  :param initial_molecule: Molecule to calculate the descriptors of.
44
+ :param solvent: Solvent for COSMO descriptor calculation (e.g. "water").
45
+ When provided, additional COSMO descriptors are computed.
46
+ :param do_optimization: Whether to run GFN2-xTB geometry optimization
47
+ before computing descriptors.
43
48
  :param name: Name of the workflow.
44
49
  :param folder_uuid: UUID of the folder to place the workflow in.
45
50
  :param folder: Folder object to store the workflow in.
@@ -53,12 +58,20 @@ def submit_descriptors_workflow(
53
58
  raise ValueError("Provide either `folder` or `folder_uuid`, not both.")
54
59
  if folder:
55
60
  folder_uuid = folder.uuid
56
- initial_molecule = molecule_to_dict(initial_molecule)
61
+ mol_dict = molecule_to_dict(initial_molecule)
62
+
63
+ workflow_data = {
64
+ "initial_molecule": mol_dict,
65
+ "solvent": solvent,
66
+ "do_optimization": do_optimization,
67
+ }
68
+
69
+ workflow = stjames.DescriptorsWorkflow.model_validate(workflow_data)
57
70
 
58
71
  data = {
59
72
  "workflow_type": "descriptors",
60
- "workflow_data": {},
61
- "initial_molecule": initial_molecule,
73
+ "workflow_data": workflow.model_dump(serialize_as_any=True, mode="json"),
74
+ "initial_molecule": mol_dict,
62
75
  "name": name,
63
76
  "folder_uuid": folder_uuid,
64
77
  "max_credits": max_credits,
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes