rowan-python 3.1.6__tar.gz → 3.1.8__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 (192) hide show
  1. {rowan_python-3.1.6 → rowan_python-3.1.8}/.claude-plugin/marketplace.json +1 -1
  2. {rowan_python-3.1.6 → rowan_python-3.1.8}/.codex-plugin/plugin.json +3 -3
  3. {rowan_python-3.1.6 → rowan_python-3.1.8}/.github/workflows/test.yml +1 -0
  4. {rowan_python-3.1.6 → rowan_python-3.1.8}/PKG-INFO +21 -3
  5. {rowan_python-3.1.6 → rowan_python-3.1.8}/README.md +20 -2
  6. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/analogue_docking.py +8 -6
  7. {rowan_python-3.1.6 → rowan_python-3.1.8}/pixi.lock +170 -182
  8. {rowan_python-3.1.6 → rowan_python-3.1.8}/pyproject.toml +1 -1
  9. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/__init__.py +5 -1
  10. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/molecule.py +9 -0
  11. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/project.py +24 -4
  12. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/protein.py +2 -4
  13. rowan_python-3.1.8/rowan/test_utils.py +54 -0
  14. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/utils.py +40 -0
  15. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/analogue_docking.py +27 -6
  16. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/relative_binding_free_energy_perturbation.py +34 -0
  17. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/SKILL.md +10 -64
  18. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/analogue_docking.md +12 -7
  19. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/folders_and_projects.md +1 -0
  20. rowan_python-3.1.8/skills/computational-chemistry-and-biology/reference/mcp_execution.md +15 -0
  21. rowan_python-3.1.8/skills/computational-chemistry-and-biology/reference/python_sdk.md +64 -0
  22. {rowan_python-3.1.6 → rowan_python-3.1.8}/.agents/plugins/marketplace.json +0 -0
  23. {rowan_python-3.1.6 → rowan_python-3.1.8}/.envrc +0 -0
  24. {rowan_python-3.1.6 → rowan_python-3.1.8}/.github/workflows/build-and-deploy-docs.yml +0 -0
  25. {rowan_python-3.1.6 → rowan_python-3.1.8}/.github/workflows/publish-skill.yml +0 -0
  26. {rowan_python-3.1.6 → rowan_python-3.1.8}/.github/workflows/python-publish.yml +0 -0
  27. {rowan_python-3.1.6 → rowan_python-3.1.8}/.gitignore +0 -0
  28. {rowan_python-3.1.6 → rowan_python-3.1.8}/.pre-commit-config.yaml +0 -0
  29. {rowan_python-3.1.6 → rowan_python-3.1.8}/AGENTS.md +0 -0
  30. {rowan_python-3.1.6 → rowan_python-3.1.8}/CLAUDE.md +0 -0
  31. {rowan_python-3.1.6 → rowan_python-3.1.8}/GEMINI.md +0 -0
  32. {rowan_python-3.1.6 → rowan_python-3.1.8}/LICENSE +0 -0
  33. {rowan_python-3.1.6 → rowan_python-3.1.8}/docs/images/deciduous-tree-favicon.png +0 -0
  34. {rowan_python-3.1.6 → rowan_python-3.1.8}/docs/index.md +0 -0
  35. {rowan_python-3.1.6 → rowan_python-3.1.8}/docs/stylesheets/colors.css +0 -0
  36. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/PROTAC_solubility.py +0 -0
  37. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/admet.py +0 -0
  38. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/aqueous_solubility.py +0 -0
  39. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/basic_calculation.py +0 -0
  40. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/basic_calculation_from_json.py +0 -0
  41. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/basic_calculation_with_constraint.py +0 -0
  42. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/basic_calculation_with_solvent.py +0 -0
  43. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/batch_docking.py +0 -0
  44. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/bde.py +0 -0
  45. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/binding_affinity.py +0 -0
  46. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/boltz_paired_msa.py +0 -0
  47. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/boltz_single_msa.py +0 -0
  48. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/chai_paired_msa.py +0 -0
  49. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/chai_single_msa.py +0 -0
  50. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/cofolding_screen.py +0 -0
  51. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/colabfold_paired_msa.py +0 -0
  52. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/colabfold_single_msa.py +0 -0
  53. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/conformer_dependent_redox.py +0 -0
  54. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/conformers.py +0 -0
  55. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/conformers_screen.py +0 -0
  56. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/covalent_docking.py +0 -0
  57. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/covalent_inhibitor_scan.py +0 -0
  58. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/data/1iep_receptorH.pdb +0 -0
  59. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/data/Al_FCC.xyz +0 -0
  60. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/data/citalopram_1iep.xyz +0 -0
  61. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/data/ibuprofen_conformers.sdf +0 -0
  62. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/data/tyk2_ligands.sdf +0 -0
  63. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/data/tyk2_structure.pdb +0 -0
  64. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/data/workflow_example.json +0 -0
  65. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/dcd_download.py +0 -0
  66. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/descriptors.py +0 -0
  67. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/docking.py +0 -0
  68. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/docking_screen.py +0 -0
  69. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/double_ended_ts_search.py +0 -0
  70. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/electronic_properties.py +0 -0
  71. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/estimate_workflow.py +0 -0
  72. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/fukui_index.py +0 -0
  73. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/hydrogen_bond_basicity.py +0 -0
  74. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/interaction_energy_decomposition.py +0 -0
  75. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/ion_mobility.py +0 -0
  76. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/irc.py +0 -0
  77. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/macropka.py +0 -0
  78. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/membrane_permeability.py +0 -0
  79. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/multistage_optimization.py +0 -0
  80. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/nmr.py +0 -0
  81. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/optimization.py +0 -0
  82. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/pdb_download.py +0 -0
  83. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/periodic_dft.py +0 -0
  84. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/phenol_pka.py +0 -0
  85. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/pka.py +0 -0
  86. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/pocket_detection.py +0 -0
  87. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/pose_analysis_md.py +0 -0
  88. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/project_scoped_api_key.py +0 -0
  89. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/protein_binder_design.py +0 -0
  90. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/protein_cofolding.py +0 -0
  91. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/protein_cofolding_with_constraints.py +0 -0
  92. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/protein_cofolding_with_templates.py +0 -0
  93. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/protein_md.py +0 -0
  94. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/rbfe_graph.py +0 -0
  95. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/rbfe_resubmit.py +0 -0
  96. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/redox_potential.py +0 -0
  97. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/relative_binding_free_energy_perturbation.py +0 -0
  98. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/resubmit_with_perturbations.py +0 -0
  99. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/retrieve_workflow.py +0 -0
  100. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/scan.py +0 -0
  101. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/solvent_dependent_conformers.py +0 -0
  102. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/spin_states.py +0 -0
  103. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/strain.py +0 -0
  104. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/tautomer.py +0 -0
  105. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/template.py +0 -0
  106. {rowan_python-3.1.6 → rowan_python-3.1.8}/examples/webhook.py +0 -0
  107. {rowan_python-3.1.6 → rowan_python-3.1.8}/mkdocs.yml +0 -0
  108. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/api_keys.py +0 -0
  109. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/calculation.py +0 -0
  110. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/config.py +0 -0
  111. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/constants.py +0 -0
  112. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/folder.py +0 -0
  113. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/py.typed +0 -0
  114. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/types.py +0 -0
  115. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/user.py +0 -0
  116. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/__init__.py +0 -0
  117. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/admet.py +0 -0
  118. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/base.py +0 -0
  119. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/basic_calculation.py +0 -0
  120. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/batch_docking.py +0 -0
  121. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/bde.py +0 -0
  122. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/binding_affinity.py +0 -0
  123. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/conformer_search.py +0 -0
  124. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/constants.py +0 -0
  125. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/covalent_inhibitor_scan.py +0 -0
  126. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/descriptors.py +0 -0
  127. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/docking.py +0 -0
  128. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/double_ended_ts_search.py +0 -0
  129. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/electronic_properties.py +0 -0
  130. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/fukui.py +0 -0
  131. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/hydrogen_bond_donor_acceptor_strength.py +0 -0
  132. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/interaction_energy_decomposition.py +0 -0
  133. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/ion_mobility.py +0 -0
  134. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/irc.py +0 -0
  135. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/macropka.py +0 -0
  136. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/membrane_permeability.py +0 -0
  137. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/msa.py +0 -0
  138. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/multistage_optimization.py +0 -0
  139. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/nmr.py +0 -0
  140. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/pka.py +0 -0
  141. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/pocket_detection.py +0 -0
  142. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/pose_analysis_md.py +0 -0
  143. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/protein_binder_design.py +0 -0
  144. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/protein_cofolding.py +0 -0
  145. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/protein_md.py +0 -0
  146. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/rbfe_graph.py +0 -0
  147. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/redox_potential.py +0 -0
  148. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/scan.py +0 -0
  149. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/solubility.py +0 -0
  150. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/solvent_dependent_conformers.py +0 -0
  151. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/spin_states.py +0 -0
  152. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/strain.py +0 -0
  153. {rowan_python-3.1.6 → rowan_python-3.1.8}/rowan/workflows/tautomer_search.py +0 -0
  154. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/admet.md +0 -0
  155. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/basic_calculation.md +0 -0
  156. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/batch_docking.md +0 -0
  157. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/bde.md +0 -0
  158. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/binding_affinity.md +0 -0
  159. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/conformer_search.md +0 -0
  160. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/covalent_inhibitor_scan.md +0 -0
  161. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/descriptors.md +0 -0
  162. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/docking.md +0 -0
  163. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/double_ended_ts_search.md +0 -0
  164. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/electronic_properties.md +0 -0
  165. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/fukui.md +0 -0
  166. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/hydrogen_bond_donor_acceptor_strength.md +0 -0
  167. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/interaction_energy_decomposition.md +0 -0
  168. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/ion_mobility.md +0 -0
  169. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/irc.md +0 -0
  170. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/macropka.md +0 -0
  171. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/membrane_permeability.md +0 -0
  172. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/msa.md +0 -0
  173. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/multistage_optimization.md +0 -0
  174. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/nmr.md +0 -0
  175. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/pka.md +0 -0
  176. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/pocket_detection.md +0 -0
  177. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/pose_analysis_md.md +0 -0
  178. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/protein_binder_design.md +0 -0
  179. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/protein_cofolding.md +0 -0
  180. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/protein_md.md +0 -0
  181. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/protein_prep.md +0 -0
  182. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/rbfe_graph.md +0 -0
  183. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/redox_potential.md +0 -0
  184. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/relative_binding_free_energy_perturbation.md +0 -0
  185. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/scan.md +0 -0
  186. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/solubility.md +0 -0
  187. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/solvent_dependent_conformers.md +0 -0
  188. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/spin_states.md +0 -0
  189. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/strain.md +0 -0
  190. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/tautomer_search.md +0 -0
  191. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/reference/webhooks.md +0 -0
  192. {rowan_python-3.1.6 → rowan_python-3.1.8}/skills/computational-chemistry-and-biology/scripts/check_env.py +0 -0
@@ -9,7 +9,7 @@
9
9
  {
10
10
  "name": "computational-chemistry-and-biology",
11
11
  "source": "./skills/computational-chemistry-and-biology",
12
- "description": "Run computational chemistry and structural biology calculations on the Rowan platform via the rowan Python package",
12
+ "description": "Run computational chemistry and structural biology calculations through Rowan MCP tools or rowan-python",
13
13
  "skills": ["./"],
14
14
  "strict": false
15
15
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "computational-chemistry-and-biology",
3
- "version": "0.0.1",
4
- "description": "Run computational chemistry and structural biology calculations on the Rowan platform via the rowan-python package",
3
+ "version": "0.0.2",
4
+ "description": "Run computational chemistry and structural biology calculations through Rowan MCP tools or rowan-python",
5
5
  "skills": "./skills/",
6
6
  "author": {
7
7
  "name": "Rowan",
@@ -20,7 +20,7 @@
20
20
  "interface": {
21
21
  "displayName": "Rowan Computational Chemistry",
22
22
  "shortDescription": "Run computational chemistry and structural biology workflows with Rowan.",
23
- "longDescription": "Use Rowan to choose and run molecular and protein workflows, including quantum chemistry, docking, molecular dynamics, protein structure prediction, and cheminformatics. The bundled skill provides workflow selection guidance, safe defaults, result retrieval patterns, and links to detailed workflow references.",
23
+ "longDescription": "Use Rowan to choose and run molecular and protein workflows, including quantum chemistry, docking, molecular dynamics, protein structure prediction, and cheminformatics. The bundled skill provides shared scientific and workflow guidance for Rowan MCP tools and rowan-python, including safe defaults, result retrieval patterns, and detailed references.",
24
24
  "developerName": "Rowan",
25
25
  "category": "Science",
26
26
  "capabilities": [
@@ -31,3 +31,4 @@ jobs:
31
31
  - run: pixi run fmt
32
32
  - run: pixi run lint
33
33
  - run: pixi run types
34
+ - run: pixi run test
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rowan-python
3
- Version: 3.1.6
3
+ Version: 3.1.8
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
@@ -30,9 +30,27 @@ The documentation is available [here](https://docs.rowansci.com/python-api).
30
30
 
31
31
  ## Agent skill
32
32
 
33
- Ships with a [skill](skills/computational-chemistry-and-biology/) that makes it easy for coding agents to use Rowan's tools to power chemistry and biology tasks. To use it, copy the directory into your agent's skills folder.
33
+ Ships with a [computational chemistry and biology skill](skills/computational-chemistry-and-biology/)
34
+ that helps coding agents choose and run Rowan workflows through either Rowan MCP tools or the
35
+ Rowan Python SDK.
34
36
 
35
- Download the latest skill as a zip [here](https://github.com/rowansci/rowan-python/releases/download/skill-latest/computational-chemistry-and-biology-skill.zip), then unzip it into your agent's skills folder.
37
+ ### Claude Code
38
+
39
+ ```bash
40
+ claude plugin marketplace add https://github.com/rowansci/rowan-python.git
41
+ claude plugin install computational-chemistry-and-biology@rowan
42
+ ```
43
+
44
+ ### Codex
45
+
46
+ ```bash
47
+ codex plugin marketplace add rowansci/rowan-python --ref master
48
+ codex plugin add computational-chemistry-and-biology@rowan
49
+ ```
50
+
51
+ Start a new Claude Code or Codex session after installation. For manual installation, download the
52
+ [latest skill ZIP](https://github.com/rowansci/rowan-python/releases/download/skill-latest/computational-chemistry-and-biology-skill.zip)
53
+ and extract it into your agent's skills directory.
36
54
 
37
55
  ## Running examples
38
56
 
@@ -14,9 +14,27 @@ The documentation is available [here](https://docs.rowansci.com/python-api).
14
14
 
15
15
  ## Agent skill
16
16
 
17
- Ships with a [skill](skills/computational-chemistry-and-biology/) that makes it easy for coding agents to use Rowan's tools to power chemistry and biology tasks. To use it, copy the directory into your agent's skills folder.
17
+ Ships with a [computational chemistry and biology skill](skills/computational-chemistry-and-biology/)
18
+ that helps coding agents choose and run Rowan workflows through either Rowan MCP tools or the
19
+ Rowan Python SDK.
18
20
 
19
- Download the latest skill as a zip [here](https://github.com/rowansci/rowan-python/releases/download/skill-latest/computational-chemistry-and-biology-skill.zip), then unzip it into your agent's skills folder.
21
+ ### Claude Code
22
+
23
+ ```bash
24
+ claude plugin marketplace add https://github.com/rowansci/rowan-python.git
25
+ claude plugin install computational-chemistry-and-biology@rowan
26
+ ```
27
+
28
+ ### Codex
29
+
30
+ ```bash
31
+ codex plugin marketplace add rowansci/rowan-python --ref master
32
+ codex plugin add computational-chemistry-and-biology@rowan
33
+ ```
34
+
35
+ Start a new Claude Code or Codex session after installation. For manual installation, download the
36
+ [latest skill ZIP](https://github.com/rowansci/rowan-python/releases/download/skill-latest/computational-chemistry-and-biology-skill.zip)
37
+ and extract it into your agent's skills directory.
20
38
 
21
39
  ## Running examples
22
40
 
@@ -7,11 +7,12 @@ import rowan
7
7
 
8
8
  folder = rowan.get_folder("examples")
9
9
 
10
- citalopram_analogues = [
11
- "CN(C)CCC[C@@]1(c2ccccc2)OCc2cc(C#N)ccc21",
12
- "CN(C)CCC[C@@]1(c2ccc(F)cc2)OCc2c(CC)c(C#N)ccc21",
13
- "CN(C)CCC[C@@]1(c2ccc(CCC)cc2)OCc2cc(C#N)ccc21",
14
- ]
10
+ # Name the analogues up front; the names ride along onto each docked pose.
11
+ citalopram_analogues = {
12
+ "analogue-1": "CN(C)CCC[C@@]1(c2ccccc2)OCc2cc(C#N)ccc21",
13
+ "analogue-2": "CN(C)CCC[C@@]1(c2ccc(F)cc2)OCc2c(CC)c(C#N)ccc21",
14
+ "analogue-3": "CN(C)CCC[C@@]1(c2ccc(CCC)cc2)OCc2cc(C#N)ccc21",
15
+ }
15
16
 
16
17
  data_dir = Path(__file__).parent / "data"
17
18
  bound_pose = rowan.Molecule.from_xyz_file(str(data_dir / "citalopram_1iep.xyz"))
@@ -19,7 +20,8 @@ bound_pose = rowan.Molecule.from_xyz_file(str(data_dir / "citalopram_1iep.xyz"))
19
20
  protein = rowan.upload_protein("1IEP receptor", data_dir / "1iep_receptorH.pdb")
20
21
 
21
22
  workflow = rowan.submit_analogue_docking_workflow(
22
- analogues=citalopram_analogues,
23
+ analogues=list(citalopram_analogues.values()),
24
+ analogue_names=list(citalopram_analogues.keys()),
23
25
  protein=protein,
24
26
  initial_molecule=bound_pose,
25
27
  folder=folder,