@synsci/cli-darwin-x64-baseline 1.1.77 → 1.1.78

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 (830) hide show
  1. package/bin/skills/adaptyv/SKILL.md +114 -0
  2. package/bin/skills/adaptyv/reference/api_reference.md +308 -0
  3. package/bin/skills/adaptyv/reference/examples.md +913 -0
  4. package/bin/skills/adaptyv/reference/experiments.md +360 -0
  5. package/bin/skills/adaptyv/reference/protein_optimization.md +637 -0
  6. package/bin/skills/aeon/SKILL.md +374 -0
  7. package/bin/skills/aeon/references/anomaly_detection.md +154 -0
  8. package/bin/skills/aeon/references/classification.md +144 -0
  9. package/bin/skills/aeon/references/clustering.md +123 -0
  10. package/bin/skills/aeon/references/datasets_benchmarking.md +387 -0
  11. package/bin/skills/aeon/references/distances.md +256 -0
  12. package/bin/skills/aeon/references/forecasting.md +140 -0
  13. package/bin/skills/aeon/references/networks.md +289 -0
  14. package/bin/skills/aeon/references/regression.md +118 -0
  15. package/bin/skills/aeon/references/segmentation.md +163 -0
  16. package/bin/skills/aeon/references/similarity_search.md +187 -0
  17. package/bin/skills/aeon/references/transformations.md +246 -0
  18. package/bin/skills/alphafold-database/SKILL.md +513 -0
  19. package/bin/skills/alphafold-database/references/api_reference.md +423 -0
  20. package/bin/skills/anndata/SKILL.md +400 -0
  21. package/bin/skills/anndata/references/best_practices.md +525 -0
  22. package/bin/skills/anndata/references/concatenation.md +396 -0
  23. package/bin/skills/anndata/references/data_structure.md +314 -0
  24. package/bin/skills/anndata/references/io_operations.md +404 -0
  25. package/bin/skills/anndata/references/manipulation.md +516 -0
  26. package/bin/skills/arboreto/SKILL.md +243 -0
  27. package/bin/skills/arboreto/references/algorithms.md +138 -0
  28. package/bin/skills/arboreto/references/basic_inference.md +151 -0
  29. package/bin/skills/arboreto/references/distributed_computing.md +242 -0
  30. package/bin/skills/arboreto/scripts/basic_grn_inference.py +97 -0
  31. package/bin/skills/astropy/SKILL.md +331 -0
  32. package/bin/skills/astropy/references/coordinates.md +273 -0
  33. package/bin/skills/astropy/references/cosmology.md +307 -0
  34. package/bin/skills/astropy/references/fits.md +396 -0
  35. package/bin/skills/astropy/references/tables.md +489 -0
  36. package/bin/skills/astropy/references/time.md +404 -0
  37. package/bin/skills/astropy/references/units.md +178 -0
  38. package/bin/skills/astropy/references/wcs_and_other_modules.md +373 -0
  39. package/bin/skills/benchling-integration/SKILL.md +480 -0
  40. package/bin/skills/benchling-integration/references/api_endpoints.md +883 -0
  41. package/bin/skills/benchling-integration/references/authentication.md +379 -0
  42. package/bin/skills/benchling-integration/references/sdk_reference.md +774 -0
  43. package/bin/skills/biopython/SKILL.md +443 -0
  44. package/bin/skills/biopython/references/advanced.md +577 -0
  45. package/bin/skills/biopython/references/alignment.md +362 -0
  46. package/bin/skills/biopython/references/blast.md +455 -0
  47. package/bin/skills/biopython/references/databases.md +484 -0
  48. package/bin/skills/biopython/references/phylogenetics.md +566 -0
  49. package/bin/skills/biopython/references/sequence_io.md +285 -0
  50. package/bin/skills/biopython/references/structure.md +564 -0
  51. package/bin/skills/biorxiv-database/SKILL.md +483 -0
  52. package/bin/skills/biorxiv-database/references/api_reference.md +280 -0
  53. package/bin/skills/biorxiv-database/scripts/biorxiv_search.py +445 -0
  54. package/bin/skills/bioservices/SKILL.md +361 -0
  55. package/bin/skills/bioservices/references/identifier_mapping.md +685 -0
  56. package/bin/skills/bioservices/references/services_reference.md +636 -0
  57. package/bin/skills/bioservices/references/workflow_patterns.md +811 -0
  58. package/bin/skills/bioservices/scripts/batch_id_converter.py +347 -0
  59. package/bin/skills/bioservices/scripts/compound_cross_reference.py +378 -0
  60. package/bin/skills/bioservices/scripts/pathway_analysis.py +309 -0
  61. package/bin/skills/bioservices/scripts/protein_analysis_workflow.py +408 -0
  62. package/bin/skills/brenda-database/SKILL.md +719 -0
  63. package/bin/skills/brenda-database/references/api_reference.md +537 -0
  64. package/bin/skills/brenda-database/scripts/brenda_queries.py +844 -0
  65. package/bin/skills/brenda-database/scripts/brenda_visualization.py +772 -0
  66. package/bin/skills/brenda-database/scripts/enzyme_pathway_builder.py +1053 -0
  67. package/bin/skills/cellxgene-census/SKILL.md +511 -0
  68. package/bin/skills/cellxgene-census/references/census_schema.md +182 -0
  69. package/bin/skills/cellxgene-census/references/common_patterns.md +351 -0
  70. package/bin/skills/chembl-database/SKILL.md +389 -0
  71. package/bin/skills/chembl-database/references/api_reference.md +272 -0
  72. package/bin/skills/chembl-database/scripts/example_queries.py +278 -0
  73. package/bin/skills/cirq/SKILL.md +346 -0
  74. package/bin/skills/cirq/references/building.md +307 -0
  75. package/bin/skills/cirq/references/experiments.md +572 -0
  76. package/bin/skills/cirq/references/hardware.md +515 -0
  77. package/bin/skills/cirq/references/noise.md +515 -0
  78. package/bin/skills/cirq/references/simulation.md +350 -0
  79. package/bin/skills/cirq/references/transformation.md +416 -0
  80. package/bin/skills/clinicaltrials-database/SKILL.md +507 -0
  81. package/bin/skills/clinicaltrials-database/references/api_reference.md +358 -0
  82. package/bin/skills/clinicaltrials-database/scripts/query_clinicaltrials.py +215 -0
  83. package/bin/skills/clinpgx-database/SKILL.md +638 -0
  84. package/bin/skills/clinpgx-database/references/api_reference.md +757 -0
  85. package/bin/skills/clinpgx-database/scripts/query_clinpgx.py +518 -0
  86. package/bin/skills/clinvar-database/SKILL.md +362 -0
  87. package/bin/skills/clinvar-database/references/api_reference.md +227 -0
  88. package/bin/skills/clinvar-database/references/clinical_significance.md +218 -0
  89. package/bin/skills/clinvar-database/references/data_formats.md +358 -0
  90. package/bin/skills/cobrapy/SKILL.md +463 -0
  91. package/bin/skills/cobrapy/references/api_quick_reference.md +655 -0
  92. package/bin/skills/cobrapy/references/workflows.md +593 -0
  93. package/bin/skills/cosmic-database/SKILL.md +336 -0
  94. package/bin/skills/cosmic-database/references/cosmic_data_reference.md +220 -0
  95. package/bin/skills/cosmic-database/scripts/download_cosmic.py +231 -0
  96. package/bin/skills/dask/SKILL.md +456 -0
  97. package/bin/skills/dask/references/arrays.md +497 -0
  98. package/bin/skills/dask/references/bags.md +468 -0
  99. package/bin/skills/dask/references/best-practices.md +277 -0
  100. package/bin/skills/dask/references/dataframes.md +368 -0
  101. package/bin/skills/dask/references/futures.md +541 -0
  102. package/bin/skills/dask/references/schedulers.md +504 -0
  103. package/bin/skills/datacommons-client/SKILL.md +255 -0
  104. package/bin/skills/datacommons-client/references/getting_started.md +417 -0
  105. package/bin/skills/datacommons-client/references/node.md +250 -0
  106. package/bin/skills/datacommons-client/references/observation.md +185 -0
  107. package/bin/skills/datacommons-client/references/resolve.md +246 -0
  108. package/bin/skills/datamol/SKILL.md +706 -0
  109. package/bin/skills/datamol/references/conformers_module.md +131 -0
  110. package/bin/skills/datamol/references/core_api.md +130 -0
  111. package/bin/skills/datamol/references/descriptors_viz.md +195 -0
  112. package/bin/skills/datamol/references/fragments_scaffolds.md +174 -0
  113. package/bin/skills/datamol/references/io_module.md +109 -0
  114. package/bin/skills/datamol/references/reactions_data.md +218 -0
  115. package/bin/skills/deepchem/SKILL.md +597 -0
  116. package/bin/skills/deepchem/references/api_reference.md +303 -0
  117. package/bin/skills/deepchem/references/workflows.md +491 -0
  118. package/bin/skills/deepchem/scripts/graph_neural_network.py +338 -0
  119. package/bin/skills/deepchem/scripts/predict_solubility.py +224 -0
  120. package/bin/skills/deepchem/scripts/transfer_learning.py +375 -0
  121. package/bin/skills/deeptools/SKILL.md +531 -0
  122. package/bin/skills/deeptools/assets/quick_reference.md +58 -0
  123. package/bin/skills/deeptools/references/effective_genome_sizes.md +116 -0
  124. package/bin/skills/deeptools/references/normalization_methods.md +410 -0
  125. package/bin/skills/deeptools/references/tools_reference.md +533 -0
  126. package/bin/skills/deeptools/references/workflows.md +474 -0
  127. package/bin/skills/deeptools/scripts/validate_files.py +195 -0
  128. package/bin/skills/deeptools/scripts/workflow_generator.py +454 -0
  129. package/bin/skills/denario/SKILL.md +215 -0
  130. package/bin/skills/denario/references/examples.md +494 -0
  131. package/bin/skills/denario/references/installation.md +213 -0
  132. package/bin/skills/denario/references/llm_configuration.md +265 -0
  133. package/bin/skills/denario/references/research_pipeline.md +471 -0
  134. package/bin/skills/diffdock/SKILL.md +483 -0
  135. package/bin/skills/diffdock/assets/batch_template.csv +4 -0
  136. package/bin/skills/diffdock/assets/custom_inference_config.yaml +90 -0
  137. package/bin/skills/diffdock/references/confidence_and_limitations.md +182 -0
  138. package/bin/skills/diffdock/references/parameters_reference.md +163 -0
  139. package/bin/skills/diffdock/references/workflows_examples.md +392 -0
  140. package/bin/skills/diffdock/scripts/analyze_results.py +334 -0
  141. package/bin/skills/diffdock/scripts/prepare_batch_csv.py +254 -0
  142. package/bin/skills/diffdock/scripts/setup_check.py +278 -0
  143. package/bin/skills/dnanexus-integration/SKILL.md +383 -0
  144. package/bin/skills/dnanexus-integration/references/app-development.md +247 -0
  145. package/bin/skills/dnanexus-integration/references/configuration.md +646 -0
  146. package/bin/skills/dnanexus-integration/references/data-operations.md +400 -0
  147. package/bin/skills/dnanexus-integration/references/job-execution.md +412 -0
  148. package/bin/skills/dnanexus-integration/references/python-sdk.md +523 -0
  149. package/bin/skills/document-skills/docx/LICENSE.txt +30 -0
  150. package/bin/skills/document-skills/docx/SKILL.md +233 -0
  151. package/bin/skills/document-skills/docx/docx-js.md +350 -0
  152. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  153. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  154. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  155. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  156. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  157. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  158. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  159. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  160. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  161. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  162. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  163. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  164. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  165. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  166. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  167. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  168. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  169. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  170. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  171. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  172. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  173. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  174. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  175. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  176. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  177. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  178. package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  179. package/bin/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  180. package/bin/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  181. package/bin/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  182. package/bin/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  183. package/bin/skills/document-skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
  184. package/bin/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  185. package/bin/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  186. package/bin/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  187. package/bin/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  188. package/bin/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  189. package/bin/skills/document-skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  190. package/bin/skills/document-skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  191. package/bin/skills/document-skills/docx/ooxml/scripts/pack.py +159 -0
  192. package/bin/skills/document-skills/docx/ooxml/scripts/unpack.py +29 -0
  193. package/bin/skills/document-skills/docx/ooxml/scripts/validate.py +69 -0
  194. package/bin/skills/document-skills/docx/ooxml/scripts/validation/__init__.py +15 -0
  195. package/bin/skills/document-skills/docx/ooxml/scripts/validation/base.py +951 -0
  196. package/bin/skills/document-skills/docx/ooxml/scripts/validation/docx.py +274 -0
  197. package/bin/skills/document-skills/docx/ooxml/scripts/validation/pptx.py +315 -0
  198. package/bin/skills/document-skills/docx/ooxml/scripts/validation/redlining.py +279 -0
  199. package/bin/skills/document-skills/docx/ooxml.md +610 -0
  200. package/bin/skills/document-skills/docx/scripts/__init__.py +1 -0
  201. package/bin/skills/document-skills/docx/scripts/document.py +1276 -0
  202. package/bin/skills/document-skills/docx/scripts/templates/comments.xml +3 -0
  203. package/bin/skills/document-skills/docx/scripts/templates/commentsExtended.xml +3 -0
  204. package/bin/skills/document-skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  205. package/bin/skills/document-skills/docx/scripts/templates/commentsIds.xml +3 -0
  206. package/bin/skills/document-skills/docx/scripts/templates/people.xml +3 -0
  207. package/bin/skills/document-skills/docx/scripts/utilities.py +374 -0
  208. package/bin/skills/document-skills/pdf/LICENSE.txt +30 -0
  209. package/bin/skills/document-skills/pdf/SKILL.md +330 -0
  210. package/bin/skills/document-skills/pdf/forms.md +205 -0
  211. package/bin/skills/document-skills/pdf/reference.md +612 -0
  212. package/bin/skills/document-skills/pdf/scripts/check_bounding_boxes.py +70 -0
  213. package/bin/skills/document-skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
  214. package/bin/skills/document-skills/pdf/scripts/check_fillable_fields.py +12 -0
  215. package/bin/skills/document-skills/pdf/scripts/convert_pdf_to_images.py +35 -0
  216. package/bin/skills/document-skills/pdf/scripts/create_validation_image.py +41 -0
  217. package/bin/skills/document-skills/pdf/scripts/extract_form_field_info.py +152 -0
  218. package/bin/skills/document-skills/pdf/scripts/fill_fillable_fields.py +114 -0
  219. package/bin/skills/document-skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
  220. package/bin/skills/document-skills/pptx/LICENSE.txt +30 -0
  221. package/bin/skills/document-skills/pptx/SKILL.md +520 -0
  222. package/bin/skills/document-skills/pptx/html2pptx.md +625 -0
  223. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  224. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  225. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  226. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  227. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  228. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  229. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  230. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  231. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  232. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  233. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  234. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  235. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  236. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  237. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  238. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  239. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  240. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  241. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  242. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  243. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  244. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  245. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  246. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  247. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  248. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  249. package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  250. package/bin/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  251. package/bin/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  252. package/bin/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  253. package/bin/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  254. package/bin/skills/document-skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
  255. package/bin/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  256. package/bin/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  257. package/bin/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  258. package/bin/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  259. package/bin/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  260. package/bin/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  261. package/bin/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  262. package/bin/skills/document-skills/pptx/ooxml/scripts/pack.py +159 -0
  263. package/bin/skills/document-skills/pptx/ooxml/scripts/unpack.py +29 -0
  264. package/bin/skills/document-skills/pptx/ooxml/scripts/validate.py +69 -0
  265. package/bin/skills/document-skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
  266. package/bin/skills/document-skills/pptx/ooxml/scripts/validation/base.py +951 -0
  267. package/bin/skills/document-skills/pptx/ooxml/scripts/validation/docx.py +274 -0
  268. package/bin/skills/document-skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
  269. package/bin/skills/document-skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
  270. package/bin/skills/document-skills/pptx/ooxml.md +427 -0
  271. package/bin/skills/document-skills/pptx/scripts/html2pptx.js +979 -0
  272. package/bin/skills/document-skills/pptx/scripts/inventory.py +1020 -0
  273. package/bin/skills/document-skills/pptx/scripts/rearrange.py +231 -0
  274. package/bin/skills/document-skills/pptx/scripts/replace.py +385 -0
  275. package/bin/skills/document-skills/pptx/scripts/thumbnail.py +450 -0
  276. package/bin/skills/document-skills/xlsx/LICENSE.txt +30 -0
  277. package/bin/skills/document-skills/xlsx/SKILL.md +325 -0
  278. package/bin/skills/document-skills/xlsx/recalc.py +178 -0
  279. package/bin/skills/drugbank-database/SKILL.md +190 -0
  280. package/bin/skills/drugbank-database/references/chemical-analysis.md +590 -0
  281. package/bin/skills/drugbank-database/references/data-access.md +242 -0
  282. package/bin/skills/drugbank-database/references/drug-queries.md +386 -0
  283. package/bin/skills/drugbank-database/references/interactions.md +425 -0
  284. package/bin/skills/drugbank-database/references/targets-pathways.md +518 -0
  285. package/bin/skills/drugbank-database/scripts/drugbank_helper.py +350 -0
  286. package/bin/skills/ena-database/SKILL.md +204 -0
  287. package/bin/skills/ena-database/references/api_reference.md +490 -0
  288. package/bin/skills/ensembl-database/SKILL.md +311 -0
  289. package/bin/skills/ensembl-database/references/api_endpoints.md +346 -0
  290. package/bin/skills/ensembl-database/scripts/ensembl_query.py +427 -0
  291. package/bin/skills/esm/SKILL.md +306 -0
  292. package/bin/skills/esm/references/esm-c-api.md +583 -0
  293. package/bin/skills/esm/references/esm3-api.md +452 -0
  294. package/bin/skills/esm/references/forge-api.md +657 -0
  295. package/bin/skills/esm/references/workflows.md +685 -0
  296. package/bin/skills/etetoolkit/SKILL.md +623 -0
  297. package/bin/skills/etetoolkit/references/api_reference.md +583 -0
  298. package/bin/skills/etetoolkit/references/visualization.md +783 -0
  299. package/bin/skills/etetoolkit/references/workflows.md +774 -0
  300. package/bin/skills/etetoolkit/scripts/quick_visualize.py +214 -0
  301. package/bin/skills/etetoolkit/scripts/tree_operations.py +229 -0
  302. package/bin/skills/exploratory-data-analysis/SKILL.md +446 -0
  303. package/bin/skills/exploratory-data-analysis/assets/report_template.md +196 -0
  304. package/bin/skills/exploratory-data-analysis/references/bioinformatics_genomics_formats.md +664 -0
  305. package/bin/skills/exploratory-data-analysis/references/chemistry_molecular_formats.md +664 -0
  306. package/bin/skills/exploratory-data-analysis/references/general_scientific_formats.md +518 -0
  307. package/bin/skills/exploratory-data-analysis/references/microscopy_imaging_formats.md +620 -0
  308. package/bin/skills/exploratory-data-analysis/references/proteomics_metabolomics_formats.md +517 -0
  309. package/bin/skills/exploratory-data-analysis/references/spectroscopy_analytical_formats.md +633 -0
  310. package/bin/skills/exploratory-data-analysis/scripts/eda_analyzer.py +547 -0
  311. package/bin/skills/fda-database/SKILL.md +518 -0
  312. package/bin/skills/fda-database/references/animal_veterinary.md +377 -0
  313. package/bin/skills/fda-database/references/api_basics.md +687 -0
  314. package/bin/skills/fda-database/references/devices.md +632 -0
  315. package/bin/skills/fda-database/references/drugs.md +468 -0
  316. package/bin/skills/fda-database/references/foods.md +374 -0
  317. package/bin/skills/fda-database/references/other.md +472 -0
  318. package/bin/skills/fda-database/scripts/fda_examples.py +335 -0
  319. package/bin/skills/fda-database/scripts/fda_query.py +440 -0
  320. package/bin/skills/flowio/SKILL.md +608 -0
  321. package/bin/skills/flowio/references/api_reference.md +372 -0
  322. package/bin/skills/fluidsim/SKILL.md +349 -0
  323. package/bin/skills/fluidsim/references/advanced_features.md +398 -0
  324. package/bin/skills/fluidsim/references/installation.md +68 -0
  325. package/bin/skills/fluidsim/references/output_analysis.md +283 -0
  326. package/bin/skills/fluidsim/references/parameters.md +198 -0
  327. package/bin/skills/fluidsim/references/simulation_workflow.md +172 -0
  328. package/bin/skills/fluidsim/references/solvers.md +94 -0
  329. package/bin/skills/fred-economic-data/SKILL.md +433 -0
  330. package/bin/skills/fred-economic-data/references/api_basics.md +212 -0
  331. package/bin/skills/fred-economic-data/references/categories.md +442 -0
  332. package/bin/skills/fred-economic-data/references/geofred.md +588 -0
  333. package/bin/skills/fred-economic-data/references/releases.md +642 -0
  334. package/bin/skills/fred-economic-data/references/series.md +584 -0
  335. package/bin/skills/fred-economic-data/references/sources.md +423 -0
  336. package/bin/skills/fred-economic-data/references/tags.md +485 -0
  337. package/bin/skills/fred-economic-data/scripts/fred_examples.py +354 -0
  338. package/bin/skills/fred-economic-data/scripts/fred_query.py +590 -0
  339. package/bin/skills/gene-database/SKILL.md +179 -0
  340. package/bin/skills/gene-database/references/api_reference.md +404 -0
  341. package/bin/skills/gene-database/references/common_workflows.md +428 -0
  342. package/bin/skills/gene-database/scripts/batch_gene_lookup.py +298 -0
  343. package/bin/skills/gene-database/scripts/fetch_gene_data.py +277 -0
  344. package/bin/skills/gene-database/scripts/query_gene.py +251 -0
  345. package/bin/skills/geniml/SKILL.md +318 -0
  346. package/bin/skills/geniml/references/bedspace.md +127 -0
  347. package/bin/skills/geniml/references/consensus_peaks.md +238 -0
  348. package/bin/skills/geniml/references/region2vec.md +90 -0
  349. package/bin/skills/geniml/references/scembed.md +197 -0
  350. package/bin/skills/geniml/references/utilities.md +385 -0
  351. package/bin/skills/geo-database/SKILL.md +815 -0
  352. package/bin/skills/geo-database/references/geo_reference.md +829 -0
  353. package/bin/skills/geopandas/SKILL.md +251 -0
  354. package/bin/skills/geopandas/references/crs-management.md +243 -0
  355. package/bin/skills/geopandas/references/data-io.md +165 -0
  356. package/bin/skills/geopandas/references/data-structures.md +70 -0
  357. package/bin/skills/geopandas/references/geometric-operations.md +221 -0
  358. package/bin/skills/geopandas/references/spatial-analysis.md +184 -0
  359. package/bin/skills/geopandas/references/visualization.md +243 -0
  360. package/bin/skills/get-available-resources/SKILL.md +277 -0
  361. package/bin/skills/get-available-resources/scripts/detect_resources.py +401 -0
  362. package/bin/skills/gget/SKILL.md +871 -0
  363. package/bin/skills/gget/references/database_info.md +300 -0
  364. package/bin/skills/gget/references/module_reference.md +467 -0
  365. package/bin/skills/gget/references/workflows.md +814 -0
  366. package/bin/skills/gget/scripts/batch_sequence_analysis.py +191 -0
  367. package/bin/skills/gget/scripts/enrichment_pipeline.py +235 -0
  368. package/bin/skills/gget/scripts/gene_analysis.py +161 -0
  369. package/bin/skills/gtars/SKILL.md +285 -0
  370. package/bin/skills/gtars/references/cli.md +222 -0
  371. package/bin/skills/gtars/references/coverage.md +172 -0
  372. package/bin/skills/gtars/references/overlap.md +156 -0
  373. package/bin/skills/gtars/references/python-api.md +211 -0
  374. package/bin/skills/gtars/references/refget.md +147 -0
  375. package/bin/skills/gtars/references/tokenizers.md +103 -0
  376. package/bin/skills/gwas-database/SKILL.md +608 -0
  377. package/bin/skills/gwas-database/references/api_reference.md +793 -0
  378. package/bin/skills/histolab/SKILL.md +678 -0
  379. package/bin/skills/histolab/references/filters_preprocessing.md +514 -0
  380. package/bin/skills/histolab/references/slide_management.md +172 -0
  381. package/bin/skills/histolab/references/tile_extraction.md +421 -0
  382. package/bin/skills/histolab/references/tissue_masks.md +251 -0
  383. package/bin/skills/histolab/references/visualization.md +547 -0
  384. package/bin/skills/hmdb-database/SKILL.md +196 -0
  385. package/bin/skills/hmdb-database/references/hmdb_data_fields.md +267 -0
  386. package/bin/skills/hypogenic/SKILL.md +655 -0
  387. package/bin/skills/hypogenic/references/config_template.yaml +150 -0
  388. package/bin/skills/imaging-data-commons/SKILL.md +1182 -0
  389. package/bin/skills/imaging-data-commons/references/bigquery_guide.md +556 -0
  390. package/bin/skills/imaging-data-commons/references/cli_guide.md +272 -0
  391. package/bin/skills/imaging-data-commons/references/cloud_storage_guide.md +333 -0
  392. package/bin/skills/imaging-data-commons/references/dicomweb_guide.md +399 -0
  393. package/bin/skills/infographics/SKILL.md +563 -0
  394. package/bin/skills/infographics/references/color_palettes.md +496 -0
  395. package/bin/skills/infographics/references/design_principles.md +636 -0
  396. package/bin/skills/infographics/references/infographic_types.md +907 -0
  397. package/bin/skills/infographics/scripts/generate_infographic.py +234 -0
  398. package/bin/skills/infographics/scripts/generate_infographic_ai.py +1290 -0
  399. package/bin/skills/iso-13485-certification/SKILL.md +680 -0
  400. package/bin/skills/iso-13485-certification/assets/templates/procedures/CAPA-procedure-template.md +453 -0
  401. package/bin/skills/iso-13485-certification/assets/templates/procedures/document-control-procedure-template.md +567 -0
  402. package/bin/skills/iso-13485-certification/assets/templates/quality-manual-template.md +521 -0
  403. package/bin/skills/iso-13485-certification/references/gap-analysis-checklist.md +568 -0
  404. package/bin/skills/iso-13485-certification/references/iso-13485-requirements.md +610 -0
  405. package/bin/skills/iso-13485-certification/references/mandatory-documents.md +606 -0
  406. package/bin/skills/iso-13485-certification/references/quality-manual-guide.md +688 -0
  407. package/bin/skills/iso-13485-certification/scripts/gap_analyzer.py +440 -0
  408. package/bin/skills/kegg-database/SKILL.md +377 -0
  409. package/bin/skills/kegg-database/references/kegg_reference.md +326 -0
  410. package/bin/skills/kegg-database/scripts/kegg_api.py +251 -0
  411. package/bin/skills/labarchive-integration/SKILL.md +268 -0
  412. package/bin/skills/labarchive-integration/references/api_reference.md +342 -0
  413. package/bin/skills/labarchive-integration/references/authentication_guide.md +357 -0
  414. package/bin/skills/labarchive-integration/references/integrations.md +425 -0
  415. package/bin/skills/labarchive-integration/scripts/entry_operations.py +334 -0
  416. package/bin/skills/labarchive-integration/scripts/notebook_operations.py +269 -0
  417. package/bin/skills/labarchive-integration/scripts/setup_config.py +205 -0
  418. package/bin/skills/lamindb/SKILL.md +390 -0
  419. package/bin/skills/lamindb/references/annotation-validation.md +513 -0
  420. package/bin/skills/lamindb/references/core-concepts.md +380 -0
  421. package/bin/skills/lamindb/references/data-management.md +433 -0
  422. package/bin/skills/lamindb/references/integrations.md +642 -0
  423. package/bin/skills/lamindb/references/ontologies.md +497 -0
  424. package/bin/skills/lamindb/references/setup-deployment.md +733 -0
  425. package/bin/skills/latchbio-integration/SKILL.md +353 -0
  426. package/bin/skills/latchbio-integration/references/data-management.md +427 -0
  427. package/bin/skills/latchbio-integration/references/resource-configuration.md +429 -0
  428. package/bin/skills/latchbio-integration/references/verified-workflows.md +487 -0
  429. package/bin/skills/latchbio-integration/references/workflow-creation.md +254 -0
  430. package/bin/skills/matchms/SKILL.md +203 -0
  431. package/bin/skills/matchms/references/filtering.md +288 -0
  432. package/bin/skills/matchms/references/importing_exporting.md +416 -0
  433. package/bin/skills/matchms/references/similarity.md +380 -0
  434. package/bin/skills/matchms/references/workflows.md +647 -0
  435. package/bin/skills/matlab/SKILL.md +376 -0
  436. package/bin/skills/matlab/references/data-import-export.md +479 -0
  437. package/bin/skills/matlab/references/executing-scripts.md +444 -0
  438. package/bin/skills/matlab/references/graphics-visualization.md +579 -0
  439. package/bin/skills/matlab/references/mathematics.md +553 -0
  440. package/bin/skills/matlab/references/matrices-arrays.md +349 -0
  441. package/bin/skills/matlab/references/octave-compatibility.md +544 -0
  442. package/bin/skills/matlab/references/programming.md +672 -0
  443. package/bin/skills/matlab/references/python-integration.md +433 -0
  444. package/bin/skills/matplotlib/SKILL.md +361 -0
  445. package/bin/skills/matplotlib/references/api_reference.md +412 -0
  446. package/bin/skills/matplotlib/references/common_issues.md +563 -0
  447. package/bin/skills/matplotlib/references/plot_types.md +476 -0
  448. package/bin/skills/matplotlib/references/styling_guide.md +589 -0
  449. package/bin/skills/matplotlib/scripts/plot_template.py +401 -0
  450. package/bin/skills/matplotlib/scripts/style_configurator.py +409 -0
  451. package/bin/skills/medchem/SKILL.md +406 -0
  452. package/bin/skills/medchem/references/api_guide.md +600 -0
  453. package/bin/skills/medchem/references/rules_catalog.md +604 -0
  454. package/bin/skills/medchem/scripts/filter_molecules.py +418 -0
  455. package/bin/skills/metabolomics-workbench-database/SKILL.md +259 -0
  456. package/bin/skills/metabolomics-workbench-database/references/api_reference.md +494 -0
  457. package/bin/skills/modal-research-gpu/SKILL.md +238 -0
  458. package/bin/skills/molfeat/SKILL.md +511 -0
  459. package/bin/skills/molfeat/references/api_reference.md +428 -0
  460. package/bin/skills/molfeat/references/available_featurizers.md +333 -0
  461. package/bin/skills/molfeat/references/examples.md +723 -0
  462. package/bin/skills/networkx/SKILL.md +437 -0
  463. package/bin/skills/networkx/references/algorithms.md +383 -0
  464. package/bin/skills/networkx/references/generators.md +378 -0
  465. package/bin/skills/networkx/references/graph-basics.md +283 -0
  466. package/bin/skills/networkx/references/io.md +441 -0
  467. package/bin/skills/networkx/references/visualization.md +529 -0
  468. package/bin/skills/neurokit2/SKILL.md +356 -0
  469. package/bin/skills/neurokit2/references/bio_module.md +417 -0
  470. package/bin/skills/neurokit2/references/complexity.md +715 -0
  471. package/bin/skills/neurokit2/references/ecg_cardiac.md +355 -0
  472. package/bin/skills/neurokit2/references/eda.md +497 -0
  473. package/bin/skills/neurokit2/references/eeg.md +506 -0
  474. package/bin/skills/neurokit2/references/emg.md +408 -0
  475. package/bin/skills/neurokit2/references/eog.md +407 -0
  476. package/bin/skills/neurokit2/references/epochs_events.md +471 -0
  477. package/bin/skills/neurokit2/references/hrv.md +480 -0
  478. package/bin/skills/neurokit2/references/ppg.md +413 -0
  479. package/bin/skills/neurokit2/references/rsp.md +510 -0
  480. package/bin/skills/neurokit2/references/signal_processing.md +648 -0
  481. package/bin/skills/neuropixels-analysis/SKILL.md +350 -0
  482. package/bin/skills/neuropixels-analysis/assets/analysis_template.py +271 -0
  483. package/bin/skills/neuropixels-analysis/references/AI_CURATION.md +345 -0
  484. package/bin/skills/neuropixels-analysis/references/ANALYSIS.md +392 -0
  485. package/bin/skills/neuropixels-analysis/references/AUTOMATED_CURATION.md +358 -0
  486. package/bin/skills/neuropixels-analysis/references/MOTION_CORRECTION.md +323 -0
  487. package/bin/skills/neuropixels-analysis/references/PREPROCESSING.md +273 -0
  488. package/bin/skills/neuropixels-analysis/references/QUALITY_METRICS.md +359 -0
  489. package/bin/skills/neuropixels-analysis/references/SPIKE_SORTING.md +339 -0
  490. package/bin/skills/neuropixels-analysis/references/api_reference.md +415 -0
  491. package/bin/skills/neuropixels-analysis/references/plotting_guide.md +454 -0
  492. package/bin/skills/neuropixels-analysis/references/standard_workflow.md +385 -0
  493. package/bin/skills/neuropixels-analysis/scripts/compute_metrics.py +178 -0
  494. package/bin/skills/neuropixels-analysis/scripts/explore_recording.py +168 -0
  495. package/bin/skills/neuropixels-analysis/scripts/export_to_phy.py +79 -0
  496. package/bin/skills/neuropixels-analysis/scripts/neuropixels_pipeline.py +432 -0
  497. package/bin/skills/neuropixels-analysis/scripts/preprocess_recording.py +122 -0
  498. package/bin/skills/neuropixels-analysis/scripts/run_sorting.py +98 -0
  499. package/bin/skills/offer-k-dense-web/SKILL.md +21 -0
  500. package/bin/skills/omero-integration/SKILL.md +251 -0
  501. package/bin/skills/omero-integration/references/advanced.md +631 -0
  502. package/bin/skills/omero-integration/references/connection.md +369 -0
  503. package/bin/skills/omero-integration/references/data_access.md +544 -0
  504. package/bin/skills/omero-integration/references/image_processing.md +665 -0
  505. package/bin/skills/omero-integration/references/metadata.md +688 -0
  506. package/bin/skills/omero-integration/references/rois.md +648 -0
  507. package/bin/skills/omero-integration/references/scripts.md +637 -0
  508. package/bin/skills/omero-integration/references/tables.md +532 -0
  509. package/bin/skills/openalex-database/SKILL.md +494 -0
  510. package/bin/skills/openalex-database/references/api_guide.md +371 -0
  511. package/bin/skills/openalex-database/references/common_queries.md +381 -0
  512. package/bin/skills/openalex-database/scripts/openalex_client.py +337 -0
  513. package/bin/skills/openalex-database/scripts/query_helpers.py +306 -0
  514. package/bin/skills/opentargets-database/SKILL.md +373 -0
  515. package/bin/skills/opentargets-database/references/api_reference.md +249 -0
  516. package/bin/skills/opentargets-database/references/evidence_types.md +306 -0
  517. package/bin/skills/opentargets-database/references/target_annotations.md +401 -0
  518. package/bin/skills/opentargets-database/scripts/query_opentargets.py +403 -0
  519. package/bin/skills/opentrons-integration/SKILL.md +573 -0
  520. package/bin/skills/opentrons-integration/references/api_reference.md +366 -0
  521. package/bin/skills/opentrons-integration/scripts/basic_protocol_template.py +67 -0
  522. package/bin/skills/opentrons-integration/scripts/pcr_setup_template.py +154 -0
  523. package/bin/skills/opentrons-integration/scripts/serial_dilution_template.py +96 -0
  524. package/bin/skills/pathml/SKILL.md +166 -0
  525. package/bin/skills/pathml/references/data_management.md +742 -0
  526. package/bin/skills/pathml/references/graphs.md +653 -0
  527. package/bin/skills/pathml/references/image_loading.md +448 -0
  528. package/bin/skills/pathml/references/machine_learning.md +725 -0
  529. package/bin/skills/pathml/references/multiparametric.md +686 -0
  530. package/bin/skills/pathml/references/preprocessing.md +722 -0
  531. package/bin/skills/pdb-database/SKILL.md +309 -0
  532. package/bin/skills/pdb-database/references/api_reference.md +617 -0
  533. package/bin/skills/pennylane/SKILL.md +226 -0
  534. package/bin/skills/pennylane/references/advanced_features.md +667 -0
  535. package/bin/skills/pennylane/references/devices_backends.md +596 -0
  536. package/bin/skills/pennylane/references/getting_started.md +227 -0
  537. package/bin/skills/pennylane/references/optimization.md +671 -0
  538. package/bin/skills/pennylane/references/quantum_chemistry.md +567 -0
  539. package/bin/skills/pennylane/references/quantum_circuits.md +437 -0
  540. package/bin/skills/pennylane/references/quantum_ml.md +571 -0
  541. package/bin/skills/perplexity-search/SKILL.md +448 -0
  542. package/bin/skills/perplexity-search/assets/.env.example +16 -0
  543. package/bin/skills/perplexity-search/references/model_comparison.md +386 -0
  544. package/bin/skills/perplexity-search/references/openrouter_setup.md +454 -0
  545. package/bin/skills/perplexity-search/references/search_strategies.md +258 -0
  546. package/bin/skills/perplexity-search/scripts/perplexity_search.py +277 -0
  547. package/bin/skills/perplexity-search/scripts/setup_env.py +171 -0
  548. package/bin/skills/plotly/SKILL.md +267 -0
  549. package/bin/skills/plotly/references/chart-types.md +488 -0
  550. package/bin/skills/plotly/references/export-interactivity.md +453 -0
  551. package/bin/skills/plotly/references/graph-objects.md +302 -0
  552. package/bin/skills/plotly/references/layouts-styling.md +457 -0
  553. package/bin/skills/plotly/references/plotly-express.md +213 -0
  554. package/bin/skills/polars/SKILL.md +387 -0
  555. package/bin/skills/polars/references/best_practices.md +649 -0
  556. package/bin/skills/polars/references/core_concepts.md +378 -0
  557. package/bin/skills/polars/references/io_guide.md +557 -0
  558. package/bin/skills/polars/references/operations.md +602 -0
  559. package/bin/skills/polars/references/pandas_migration.md +417 -0
  560. package/bin/skills/polars/references/transformations.md +549 -0
  561. package/bin/skills/protocolsio-integration/SKILL.md +421 -0
  562. package/bin/skills/protocolsio-integration/references/additional_features.md +387 -0
  563. package/bin/skills/protocolsio-integration/references/authentication.md +100 -0
  564. package/bin/skills/protocolsio-integration/references/discussions.md +225 -0
  565. package/bin/skills/protocolsio-integration/references/file_manager.md +412 -0
  566. package/bin/skills/protocolsio-integration/references/protocols_api.md +294 -0
  567. package/bin/skills/protocolsio-integration/references/workspaces.md +293 -0
  568. package/bin/skills/pubchem-database/SKILL.md +574 -0
  569. package/bin/skills/pubchem-database/references/api_reference.md +440 -0
  570. package/bin/skills/pubchem-database/scripts/bioactivity_query.py +367 -0
  571. package/bin/skills/pubchem-database/scripts/compound_search.py +297 -0
  572. package/bin/skills/pubmed-database/SKILL.md +460 -0
  573. package/bin/skills/pubmed-database/references/api_reference.md +298 -0
  574. package/bin/skills/pubmed-database/references/common_queries.md +453 -0
  575. package/bin/skills/pubmed-database/references/search_syntax.md +436 -0
  576. package/bin/skills/pufferlib/SKILL.md +436 -0
  577. package/bin/skills/pufferlib/references/environments.md +508 -0
  578. package/bin/skills/pufferlib/references/integration.md +621 -0
  579. package/bin/skills/pufferlib/references/policies.md +653 -0
  580. package/bin/skills/pufferlib/references/training.md +360 -0
  581. package/bin/skills/pufferlib/references/vectorization.md +557 -0
  582. package/bin/skills/pufferlib/scripts/env_template.py +340 -0
  583. package/bin/skills/pufferlib/scripts/train_template.py +239 -0
  584. package/bin/skills/pydeseq2/SKILL.md +559 -0
  585. package/bin/skills/pydeseq2/references/api_reference.md +228 -0
  586. package/bin/skills/pydeseq2/references/workflow_guide.md +582 -0
  587. package/bin/skills/pydeseq2/scripts/run_deseq2_analysis.py +353 -0
  588. package/bin/skills/pydicom/SKILL.md +434 -0
  589. package/bin/skills/pydicom/references/common_tags.md +228 -0
  590. package/bin/skills/pydicom/references/transfer_syntaxes.md +352 -0
  591. package/bin/skills/pydicom/scripts/anonymize_dicom.py +137 -0
  592. package/bin/skills/pydicom/scripts/dicom_to_image.py +172 -0
  593. package/bin/skills/pydicom/scripts/extract_metadata.py +173 -0
  594. package/bin/skills/pyhealth/SKILL.md +491 -0
  595. package/bin/skills/pyhealth/references/datasets.md +178 -0
  596. package/bin/skills/pyhealth/references/medical_coding.md +284 -0
  597. package/bin/skills/pyhealth/references/models.md +594 -0
  598. package/bin/skills/pyhealth/references/preprocessing.md +638 -0
  599. package/bin/skills/pyhealth/references/tasks.md +379 -0
  600. package/bin/skills/pyhealth/references/training_evaluation.md +648 -0
  601. package/bin/skills/pylabrobot/SKILL.md +185 -0
  602. package/bin/skills/pylabrobot/references/analytical-equipment.md +464 -0
  603. package/bin/skills/pylabrobot/references/hardware-backends.md +480 -0
  604. package/bin/skills/pylabrobot/references/liquid-handling.md +403 -0
  605. package/bin/skills/pylabrobot/references/material-handling.md +620 -0
  606. package/bin/skills/pylabrobot/references/resources.md +489 -0
  607. package/bin/skills/pylabrobot/references/visualization.md +532 -0
  608. package/bin/skills/pymatgen/SKILL.md +691 -0
  609. package/bin/skills/pymatgen/references/analysis_modules.md +530 -0
  610. package/bin/skills/pymatgen/references/core_classes.md +318 -0
  611. package/bin/skills/pymatgen/references/io_formats.md +469 -0
  612. package/bin/skills/pymatgen/references/materials_project_api.md +517 -0
  613. package/bin/skills/pymatgen/references/transformations_workflows.md +591 -0
  614. package/bin/skills/pymatgen/scripts/phase_diagram_generator.py +233 -0
  615. package/bin/skills/pymatgen/scripts/structure_analyzer.py +266 -0
  616. package/bin/skills/pymatgen/scripts/structure_converter.py +169 -0
  617. package/bin/skills/pymc/SKILL.md +572 -0
  618. package/bin/skills/pymc/assets/hierarchical_model_template.py +333 -0
  619. package/bin/skills/pymc/assets/linear_regression_template.py +241 -0
  620. package/bin/skills/pymc/references/distributions.md +320 -0
  621. package/bin/skills/pymc/references/sampling_inference.md +424 -0
  622. package/bin/skills/pymc/references/workflows.md +526 -0
  623. package/bin/skills/pymc/scripts/model_comparison.py +387 -0
  624. package/bin/skills/pymc/scripts/model_diagnostics.py +350 -0
  625. package/bin/skills/pymoo/SKILL.md +571 -0
  626. package/bin/skills/pymoo/references/algorithms.md +180 -0
  627. package/bin/skills/pymoo/references/constraints_mcdm.md +417 -0
  628. package/bin/skills/pymoo/references/operators.md +345 -0
  629. package/bin/skills/pymoo/references/problems.md +265 -0
  630. package/bin/skills/pymoo/references/visualization.md +353 -0
  631. package/bin/skills/pymoo/scripts/custom_problem_example.py +181 -0
  632. package/bin/skills/pymoo/scripts/decision_making_example.py +161 -0
  633. package/bin/skills/pymoo/scripts/many_objective_example.py +72 -0
  634. package/bin/skills/pymoo/scripts/multi_objective_example.py +63 -0
  635. package/bin/skills/pymoo/scripts/single_objective_example.py +59 -0
  636. package/bin/skills/pyopenms/SKILL.md +217 -0
  637. package/bin/skills/pyopenms/references/data_structures.md +497 -0
  638. package/bin/skills/pyopenms/references/feature_detection.md +410 -0
  639. package/bin/skills/pyopenms/references/file_io.md +349 -0
  640. package/bin/skills/pyopenms/references/identification.md +422 -0
  641. package/bin/skills/pyopenms/references/metabolomics.md +482 -0
  642. package/bin/skills/pyopenms/references/signal_processing.md +433 -0
  643. package/bin/skills/pysam/SKILL.md +265 -0
  644. package/bin/skills/pysam/references/alignment_files.md +280 -0
  645. package/bin/skills/pysam/references/common_workflows.md +520 -0
  646. package/bin/skills/pysam/references/sequence_files.md +407 -0
  647. package/bin/skills/pysam/references/variant_files.md +365 -0
  648. package/bin/skills/pytdc/SKILL.md +460 -0
  649. package/bin/skills/pytdc/references/datasets.md +246 -0
  650. package/bin/skills/pytdc/references/oracles.md +400 -0
  651. package/bin/skills/pytdc/references/utilities.md +684 -0
  652. package/bin/skills/pytdc/scripts/benchmark_evaluation.py +327 -0
  653. package/bin/skills/pytdc/scripts/load_and_split_data.py +214 -0
  654. package/bin/skills/pytdc/scripts/molecular_generation.py +404 -0
  655. package/bin/skills/qiskit/SKILL.md +275 -0
  656. package/bin/skills/qiskit/references/algorithms.md +607 -0
  657. package/bin/skills/qiskit/references/backends.md +433 -0
  658. package/bin/skills/qiskit/references/circuits.md +197 -0
  659. package/bin/skills/qiskit/references/patterns.md +533 -0
  660. package/bin/skills/qiskit/references/primitives.md +277 -0
  661. package/bin/skills/qiskit/references/setup.md +99 -0
  662. package/bin/skills/qiskit/references/transpilation.md +286 -0
  663. package/bin/skills/qiskit/references/visualization.md +415 -0
  664. package/bin/skills/qutip/SKILL.md +318 -0
  665. package/bin/skills/qutip/references/advanced.md +555 -0
  666. package/bin/skills/qutip/references/analysis.md +523 -0
  667. package/bin/skills/qutip/references/core_concepts.md +293 -0
  668. package/bin/skills/qutip/references/time_evolution.md +348 -0
  669. package/bin/skills/qutip/references/visualization.md +431 -0
  670. package/bin/skills/rdkit/SKILL.md +780 -0
  671. package/bin/skills/rdkit/references/api_reference.md +432 -0
  672. package/bin/skills/rdkit/references/descriptors_reference.md +595 -0
  673. package/bin/skills/rdkit/references/smarts_patterns.md +668 -0
  674. package/bin/skills/rdkit/scripts/molecular_properties.py +243 -0
  675. package/bin/skills/rdkit/scripts/similarity_search.py +297 -0
  676. package/bin/skills/rdkit/scripts/substructure_filter.py +386 -0
  677. package/bin/skills/reactome-database/SKILL.md +278 -0
  678. package/bin/skills/reactome-database/references/api_reference.md +465 -0
  679. package/bin/skills/reactome-database/scripts/reactome_query.py +286 -0
  680. package/bin/skills/rowan/SKILL.md +427 -0
  681. package/bin/skills/rowan/references/api_reference.md +413 -0
  682. package/bin/skills/rowan/references/molecule_handling.md +429 -0
  683. package/bin/skills/rowan/references/proteins_and_organization.md +499 -0
  684. package/bin/skills/rowan/references/rdkit_native.md +438 -0
  685. package/bin/skills/rowan/references/results_interpretation.md +481 -0
  686. package/bin/skills/rowan/references/workflow_types.md +591 -0
  687. package/bin/skills/scanpy/SKILL.md +386 -0
  688. package/bin/skills/scanpy/assets/analysis_template.py +295 -0
  689. package/bin/skills/scanpy/references/api_reference.md +251 -0
  690. package/bin/skills/scanpy/references/plotting_guide.md +352 -0
  691. package/bin/skills/scanpy/references/standard_workflow.md +206 -0
  692. package/bin/skills/scanpy/scripts/qc_analysis.py +200 -0
  693. package/bin/skills/scientific-brainstorming/SKILL.md +191 -0
  694. package/bin/skills/scientific-brainstorming/references/brainstorming_methods.md +326 -0
  695. package/bin/skills/scientific-visualization/SKILL.md +779 -0
  696. package/bin/skills/scientific-visualization/assets/color_palettes.py +197 -0
  697. package/bin/skills/scientific-visualization/assets/nature.mplstyle +63 -0
  698. package/bin/skills/scientific-visualization/assets/presentation.mplstyle +61 -0
  699. package/bin/skills/scientific-visualization/assets/publication.mplstyle +68 -0
  700. package/bin/skills/scientific-visualization/references/color_palettes.md +348 -0
  701. package/bin/skills/scientific-visualization/references/journal_requirements.md +320 -0
  702. package/bin/skills/scientific-visualization/references/matplotlib_examples.md +620 -0
  703. package/bin/skills/scientific-visualization/references/publication_guidelines.md +205 -0
  704. package/bin/skills/scientific-visualization/scripts/figure_export.py +343 -0
  705. package/bin/skills/scientific-visualization/scripts/style_presets.py +416 -0
  706. package/bin/skills/scikit-bio/SKILL.md +437 -0
  707. package/bin/skills/scikit-bio/references/api_reference.md +749 -0
  708. package/bin/skills/scikit-learn/SKILL.md +521 -0
  709. package/bin/skills/scikit-learn/references/model_evaluation.md +592 -0
  710. package/bin/skills/scikit-learn/references/pipelines_and_composition.md +612 -0
  711. package/bin/skills/scikit-learn/references/preprocessing.md +606 -0
  712. package/bin/skills/scikit-learn/references/quick_reference.md +433 -0
  713. package/bin/skills/scikit-learn/references/supervised_learning.md +378 -0
  714. package/bin/skills/scikit-learn/references/unsupervised_learning.md +505 -0
  715. package/bin/skills/scikit-learn/scripts/classification_pipeline.py +257 -0
  716. package/bin/skills/scikit-learn/scripts/clustering_analysis.py +386 -0
  717. package/bin/skills/scikit-survival/SKILL.md +399 -0
  718. package/bin/skills/scikit-survival/references/competing-risks.md +397 -0
  719. package/bin/skills/scikit-survival/references/cox-models.md +182 -0
  720. package/bin/skills/scikit-survival/references/data-handling.md +494 -0
  721. package/bin/skills/scikit-survival/references/ensemble-models.md +327 -0
  722. package/bin/skills/scikit-survival/references/evaluation-metrics.md +378 -0
  723. package/bin/skills/scikit-survival/references/svm-models.md +411 -0
  724. package/bin/skills/scvi-tools/SKILL.md +190 -0
  725. package/bin/skills/scvi-tools/references/differential-expression.md +581 -0
  726. package/bin/skills/scvi-tools/references/models-atac-seq.md +321 -0
  727. package/bin/skills/scvi-tools/references/models-multimodal.md +367 -0
  728. package/bin/skills/scvi-tools/references/models-scrna-seq.md +330 -0
  729. package/bin/skills/scvi-tools/references/models-spatial.md +438 -0
  730. package/bin/skills/scvi-tools/references/models-specialized.md +408 -0
  731. package/bin/skills/scvi-tools/references/theoretical-foundations.md +438 -0
  732. package/bin/skills/scvi-tools/references/workflows.md +546 -0
  733. package/bin/skills/seaborn/SKILL.md +673 -0
  734. package/bin/skills/seaborn/references/examples.md +822 -0
  735. package/bin/skills/seaborn/references/function_reference.md +770 -0
  736. package/bin/skills/seaborn/references/objects_interface.md +964 -0
  737. package/bin/skills/shap/SKILL.md +566 -0
  738. package/bin/skills/shap/references/explainers.md +339 -0
  739. package/bin/skills/shap/references/plots.md +507 -0
  740. package/bin/skills/shap/references/theory.md +449 -0
  741. package/bin/skills/shap/references/workflows.md +605 -0
  742. package/bin/skills/simpy/SKILL.md +429 -0
  743. package/bin/skills/simpy/references/events.md +374 -0
  744. package/bin/skills/simpy/references/monitoring.md +475 -0
  745. package/bin/skills/simpy/references/process-interaction.md +424 -0
  746. package/bin/skills/simpy/references/real-time.md +395 -0
  747. package/bin/skills/simpy/references/resources.md +275 -0
  748. package/bin/skills/simpy/scripts/basic_simulation_template.py +193 -0
  749. package/bin/skills/simpy/scripts/resource_monitor.py +345 -0
  750. package/bin/skills/stable-baselines3/SKILL.md +299 -0
  751. package/bin/skills/stable-baselines3/references/algorithms.md +333 -0
  752. package/bin/skills/stable-baselines3/references/callbacks.md +556 -0
  753. package/bin/skills/stable-baselines3/references/custom_environments.md +526 -0
  754. package/bin/skills/stable-baselines3/references/vectorized_envs.md +568 -0
  755. package/bin/skills/stable-baselines3/scripts/custom_env_template.py +314 -0
  756. package/bin/skills/stable-baselines3/scripts/evaluate_agent.py +245 -0
  757. package/bin/skills/stable-baselines3/scripts/train_rl_agent.py +165 -0
  758. package/bin/skills/statistical-analysis/SKILL.md +632 -0
  759. package/bin/skills/statistical-analysis/references/assumptions_and_diagnostics.md +369 -0
  760. package/bin/skills/statistical-analysis/references/bayesian_statistics.md +661 -0
  761. package/bin/skills/statistical-analysis/references/effect_sizes_and_power.md +581 -0
  762. package/bin/skills/statistical-analysis/references/reporting_standards.md +469 -0
  763. package/bin/skills/statistical-analysis/references/test_selection_guide.md +129 -0
  764. package/bin/skills/statistical-analysis/scripts/assumption_checks.py +539 -0
  765. package/bin/skills/statsmodels/SKILL.md +614 -0
  766. package/bin/skills/statsmodels/references/discrete_choice.md +669 -0
  767. package/bin/skills/statsmodels/references/glm.md +619 -0
  768. package/bin/skills/statsmodels/references/linear_models.md +447 -0
  769. package/bin/skills/statsmodels/references/stats_diagnostics.md +859 -0
  770. package/bin/skills/statsmodels/references/time_series.md +716 -0
  771. package/bin/skills/string-database/SKILL.md +534 -0
  772. package/bin/skills/string-database/references/string_reference.md +455 -0
  773. package/bin/skills/string-database/scripts/string_api.py +369 -0
  774. package/bin/skills/sympy/SKILL.md +500 -0
  775. package/bin/skills/sympy/references/advanced-topics.md +635 -0
  776. package/bin/skills/sympy/references/code-generation-printing.md +599 -0
  777. package/bin/skills/sympy/references/core-capabilities.md +348 -0
  778. package/bin/skills/sympy/references/matrices-linear-algebra.md +526 -0
  779. package/bin/skills/sympy/references/physics-mechanics.md +592 -0
  780. package/bin/skills/torch_geometric/SKILL.md +676 -0
  781. package/bin/skills/torch_geometric/references/datasets_reference.md +574 -0
  782. package/bin/skills/torch_geometric/references/layers_reference.md +485 -0
  783. package/bin/skills/torch_geometric/references/transforms_reference.md +679 -0
  784. package/bin/skills/torch_geometric/scripts/benchmark_model.py +309 -0
  785. package/bin/skills/torch_geometric/scripts/create_gnn_template.py +529 -0
  786. package/bin/skills/torch_geometric/scripts/visualize_graph.py +313 -0
  787. package/bin/skills/torchdrug/SKILL.md +450 -0
  788. package/bin/skills/torchdrug/references/core_concepts.md +565 -0
  789. package/bin/skills/torchdrug/references/datasets.md +380 -0
  790. package/bin/skills/torchdrug/references/knowledge_graphs.md +320 -0
  791. package/bin/skills/torchdrug/references/models_architectures.md +541 -0
  792. package/bin/skills/torchdrug/references/molecular_generation.md +352 -0
  793. package/bin/skills/torchdrug/references/molecular_property_prediction.md +169 -0
  794. package/bin/skills/torchdrug/references/protein_modeling.md +272 -0
  795. package/bin/skills/torchdrug/references/retrosynthesis.md +436 -0
  796. package/bin/skills/transformers/SKILL.md +164 -0
  797. package/bin/skills/transformers/references/generation.md +467 -0
  798. package/bin/skills/transformers/references/models.md +361 -0
  799. package/bin/skills/transformers/references/pipelines.md +335 -0
  800. package/bin/skills/transformers/references/tokenizers.md +447 -0
  801. package/bin/skills/transformers/references/training.md +500 -0
  802. package/bin/skills/umap-learn/SKILL.md +479 -0
  803. package/bin/skills/umap-learn/references/api_reference.md +532 -0
  804. package/bin/skills/uniprot-database/SKILL.md +195 -0
  805. package/bin/skills/uniprot-database/references/api_examples.md +413 -0
  806. package/bin/skills/uniprot-database/references/api_fields.md +275 -0
  807. package/bin/skills/uniprot-database/references/id_mapping_databases.md +285 -0
  808. package/bin/skills/uniprot-database/references/query_syntax.md +256 -0
  809. package/bin/skills/uniprot-database/scripts/uniprot_client.py +341 -0
  810. package/bin/skills/uspto-database/SKILL.md +607 -0
  811. package/bin/skills/uspto-database/references/additional_apis.md +394 -0
  812. package/bin/skills/uspto-database/references/patentsearch_api.md +266 -0
  813. package/bin/skills/uspto-database/references/peds_api.md +212 -0
  814. package/bin/skills/uspto-database/references/trademark_api.md +358 -0
  815. package/bin/skills/uspto-database/scripts/patent_search.py +290 -0
  816. package/bin/skills/uspto-database/scripts/peds_client.py +285 -0
  817. package/bin/skills/uspto-database/scripts/trademark_client.py +311 -0
  818. package/bin/skills/vaex/SKILL.md +182 -0
  819. package/bin/skills/vaex/references/core_dataframes.md +367 -0
  820. package/bin/skills/vaex/references/data_processing.md +555 -0
  821. package/bin/skills/vaex/references/io_operations.md +703 -0
  822. package/bin/skills/vaex/references/machine_learning.md +728 -0
  823. package/bin/skills/vaex/references/performance.md +571 -0
  824. package/bin/skills/vaex/references/visualization.md +613 -0
  825. package/bin/skills/zarr-python/SKILL.md +779 -0
  826. package/bin/skills/zarr-python/references/api_reference.md +515 -0
  827. package/bin/skills/zinc-database/SKILL.md +404 -0
  828. package/bin/skills/zinc-database/references/api_reference.md +692 -0
  829. package/bin/synsc +0 -0
  830. package/package.json +1 -1
@@ -0,0 +1,964 @@
1
+ # Seaborn Objects Interface
2
+
3
+ The `seaborn.objects` interface provides a modern, declarative API for building visualizations through composition. This guide covers the complete objects interface introduced in seaborn 0.12+.
4
+
5
+ ## Core Concept
6
+
7
+ The objects interface separates **what you want to show** (data and mappings) from **how to show it** (marks, stats, and moves). Build plots by:
8
+
9
+ 1. Creating a `Plot` object with data and aesthetic mappings
10
+ 2. Adding layers with `.add()` combining marks and statistical transformations
11
+ 3. Customizing with `.scale()`, `.label()`, `.limit()`, `.theme()`, etc.
12
+ 4. Rendering with `.show()` or `.save()`
13
+
14
+ ## Basic Usage
15
+
16
+ ```python
17
+ from seaborn import objects as so
18
+ import pandas as pd
19
+
20
+ # Create plot with data and mappings
21
+ p = so.Plot(data=df, x='x_var', y='y_var')
22
+
23
+ # Add mark (visual representation)
24
+ p = p.add(so.Dot())
25
+
26
+ # Display (automatic in Jupyter)
27
+ p.show()
28
+ ```
29
+
30
+ ## Plot Class
31
+
32
+ The `Plot` class is the foundation of the objects interface.
33
+
34
+ ### Initialization
35
+
36
+ ```python
37
+ so.Plot(data=None, x=None, y=None, color=None, alpha=None,
38
+ fill=None, fillalpha=None, fillcolor=None, marker=None,
39
+ pointsize=None, stroke=None, text=None, **variables)
40
+ ```
41
+
42
+ **Parameters:**
43
+ - `data` - DataFrame or dict of data vectors
44
+ - `x, y` - Variables for position
45
+ - `color` - Variable for color encoding
46
+ - `alpha` - Variable for transparency
47
+ - `marker` - Variable for marker shape
48
+ - `pointsize` - Variable for point size
49
+ - `stroke` - Variable for line width
50
+ - `text` - Variable for text labels
51
+ - `**variables` - Additional mappings using property names
52
+
53
+ **Examples:**
54
+ ```python
55
+ # Basic mapping
56
+ so.Plot(df, x='total_bill', y='tip')
57
+
58
+ # Multiple mappings
59
+ so.Plot(df, x='total_bill', y='tip', color='day', pointsize='size')
60
+
61
+ # All variables in Plot
62
+ p = so.Plot(df, x='x', y='y', color='cat')
63
+ p.add(so.Dot()) # Uses all mappings
64
+
65
+ # Some variables in add()
66
+ p = so.Plot(df, x='x', y='y')
67
+ p.add(so.Dot(), color='cat') # Only this layer uses color
68
+ ```
69
+
70
+ ### Methods
71
+
72
+ #### add()
73
+
74
+ Add a layer to the plot with mark and optional stat/move.
75
+
76
+ ```python
77
+ Plot.add(mark, *transforms, orient=None, legend=True, data=None,
78
+ **variables)
79
+ ```
80
+
81
+ **Parameters:**
82
+ - `mark` - Mark object defining visual representation
83
+ - `*transforms` - Stat and/or Move objects for data transformation
84
+ - `orient` - "x", "y", or "v"/"h" for orientation
85
+ - `legend` - Include in legend (True/False)
86
+ - `data` - Override data for this layer
87
+ - `**variables` - Override or add variable mappings
88
+
89
+ **Examples:**
90
+ ```python
91
+ # Simple mark
92
+ p.add(so.Dot())
93
+
94
+ # Mark with stat
95
+ p.add(so.Line(), so.PolyFit(order=2))
96
+
97
+ # Mark with multiple transforms
98
+ p.add(so.Bar(), so.Agg(), so.Dodge())
99
+
100
+ # Layer-specific mappings
101
+ p.add(so.Dot(), color='category')
102
+ p.add(so.Line(), so.Agg(), color='category')
103
+
104
+ # Layer-specific data
105
+ p.add(so.Dot())
106
+ p.add(so.Line(), data=summary_df)
107
+ ```
108
+
109
+ #### facet()
110
+
111
+ Create subplots from categorical variables.
112
+
113
+ ```python
114
+ Plot.facet(col=None, row=None, order=None, wrap=None)
115
+ ```
116
+
117
+ **Parameters:**
118
+ - `col` - Variable for column facets
119
+ - `row` - Variable for row facets
120
+ - `order` - Dict with facet orders (keys: variable names)
121
+ - `wrap` - Wrap columns after this many
122
+
123
+ **Example:**
124
+ ```python
125
+ p.facet(col='time', row='sex')
126
+ p.facet(col='category', wrap=3)
127
+ p.facet(col='day', order={'day': ['Thur', 'Fri', 'Sat', 'Sun']})
128
+ ```
129
+
130
+ #### pair()
131
+
132
+ Create pairwise subplots for multiple variables.
133
+
134
+ ```python
135
+ Plot.pair(x=None, y=None, wrap=None, cross=True)
136
+ ```
137
+
138
+ **Parameters:**
139
+ - `x` - Variables for x-axis pairings
140
+ - `y` - Variables for y-axis pairings (if None, uses x)
141
+ - `wrap` - Wrap after this many columns
142
+ - `cross` - Include all x/y combinations (vs. only diagonal)
143
+
144
+ **Example:**
145
+ ```python
146
+ # Pairs of all variables
147
+ p = so.Plot(df).pair(x=['a', 'b', 'c'])
148
+ p.add(so.Dot())
149
+
150
+ # Rectangular grid
151
+ p = so.Plot(df).pair(x=['a', 'b'], y=['c', 'd'])
152
+ p.add(so.Dot(), alpha=0.5)
153
+ ```
154
+
155
+ #### scale()
156
+
157
+ Customize how data maps to visual properties.
158
+
159
+ ```python
160
+ Plot.scale(**scales)
161
+ ```
162
+
163
+ **Parameters:** Keyword arguments with property names and Scale objects
164
+
165
+ **Example:**
166
+ ```python
167
+ p.scale(
168
+ x=so.Continuous().tick(every=5),
169
+ y=so.Continuous().label(like='{x:.1f}'),
170
+ color=so.Nominal(['#1f77b4', '#ff7f0e', '#2ca02c']),
171
+ pointsize=(5, 10) # Shorthand for range
172
+ )
173
+ ```
174
+
175
+ #### limit()
176
+
177
+ Set axis limits.
178
+
179
+ ```python
180
+ Plot.limit(x=None, y=None)
181
+ ```
182
+
183
+ **Parameters:**
184
+ - `x` - Tuple of (min, max) for x-axis
185
+ - `y` - Tuple of (min, max) for y-axis
186
+
187
+ **Example:**
188
+ ```python
189
+ p.limit(x=(0, 100), y=(0, 50))
190
+ ```
191
+
192
+ #### label()
193
+
194
+ Set axis labels and titles.
195
+
196
+ ```python
197
+ Plot.label(x=None, y=None, color=None, title=None, **labels)
198
+ ```
199
+
200
+ **Parameters:** Keyword arguments with property names and label strings
201
+
202
+ **Example:**
203
+ ```python
204
+ p.label(
205
+ x='Total Bill ($)',
206
+ y='Tip Amount ($)',
207
+ color='Day of Week',
208
+ title='Restaurant Tips Analysis'
209
+ )
210
+ ```
211
+
212
+ #### theme()
213
+
214
+ Apply matplotlib style settings.
215
+
216
+ ```python
217
+ Plot.theme(config, **kwargs)
218
+ ```
219
+
220
+ **Parameters:**
221
+ - `config` - Dict of rcParams or seaborn theme dict
222
+ - `**kwargs` - Individual rcParams
223
+
224
+ **Example:**
225
+ ```python
226
+ # Seaborn theme
227
+ p.theme({**sns.axes_style('whitegrid'), **sns.plotting_context('talk')})
228
+
229
+ # Custom rcParams
230
+ p.theme({'axes.facecolor': 'white', 'axes.grid': True})
231
+
232
+ # Individual parameters
233
+ p.theme(axes_facecolor='white', font_scale=1.2)
234
+ ```
235
+
236
+ #### layout()
237
+
238
+ Configure subplot layout.
239
+
240
+ ```python
241
+ Plot.layout(size=None, extent=None, engine=None)
242
+ ```
243
+
244
+ **Parameters:**
245
+ - `size` - (width, height) in inches
246
+ - `extent` - (left, bottom, right, top) for subplots
247
+ - `engine` - "tight", "constrained", or None
248
+
249
+ **Example:**
250
+ ```python
251
+ p.layout(size=(10, 6), engine='constrained')
252
+ ```
253
+
254
+ #### share()
255
+
256
+ Control axis sharing across facets.
257
+
258
+ ```python
259
+ Plot.share(x=None, y=None)
260
+ ```
261
+
262
+ **Parameters:**
263
+ - `x` - Share x-axis: True, False, or "col"/"row"
264
+ - `y` - Share y-axis: True, False, or "col"/"row"
265
+
266
+ **Example:**
267
+ ```python
268
+ p.share(x=True, y=False) # Share x across all, independent y
269
+ p.share(x='col') # Share x within columns only
270
+ ```
271
+
272
+ #### on()
273
+
274
+ Plot on existing matplotlib figure or axes.
275
+
276
+ ```python
277
+ Plot.on(target)
278
+ ```
279
+
280
+ **Parameters:**
281
+ - `target` - matplotlib Figure or Axes object
282
+
283
+ **Example:**
284
+ ```python
285
+ import matplotlib.pyplot as plt
286
+
287
+ fig, axes = plt.subplots(2, 2, figsize=(10, 10))
288
+ so.Plot(df, x='x', y='y').add(so.Dot()).on(axes[0, 0])
289
+ so.Plot(df, x='x', y='z').add(so.Line()).on(axes[0, 1])
290
+ ```
291
+
292
+ #### show()
293
+
294
+ Render and display the plot.
295
+
296
+ ```python
297
+ Plot.show(**kwargs)
298
+ ```
299
+
300
+ **Parameters:** Passed to `matplotlib.pyplot.show()`
301
+
302
+ #### save()
303
+
304
+ Save the plot to file.
305
+
306
+ ```python
307
+ Plot.save(filename, **kwargs)
308
+ ```
309
+
310
+ **Parameters:**
311
+ - `filename` - Output filename
312
+ - `**kwargs` - Passed to `matplotlib.figure.Figure.savefig()`
313
+
314
+ **Example:**
315
+ ```python
316
+ p.save('plot.png', dpi=300, bbox_inches='tight')
317
+ p.save('plot.pdf')
318
+ ```
319
+
320
+ ## Mark Objects
321
+
322
+ Marks define how data is visually represented.
323
+
324
+ ### Dot
325
+
326
+ Points/markers for individual observations.
327
+
328
+ ```python
329
+ so.Dot(artist_kws=None, **kwargs)
330
+ ```
331
+
332
+ **Properties:**
333
+ - `color` - Fill color
334
+ - `alpha` - Transparency
335
+ - `fillcolor` - Alternate color property
336
+ - `fillalpha` - Alternate alpha property
337
+ - `edgecolor` - Edge color
338
+ - `edgealpha` - Edge transparency
339
+ - `edgewidth` - Edge line width
340
+ - `marker` - Marker style
341
+ - `pointsize` - Marker size
342
+ - `stroke` - Edge width
343
+
344
+ **Example:**
345
+ ```python
346
+ so.Plot(df, x='x', y='y').add(so.Dot(color='blue', pointsize=10))
347
+ so.Plot(df, x='x', y='y', color='cat').add(so.Dot(alpha=0.5))
348
+ ```
349
+
350
+ ### Line
351
+
352
+ Lines connecting observations.
353
+
354
+ ```python
355
+ so.Line(artist_kws=None, **kwargs)
356
+ ```
357
+
358
+ **Properties:**
359
+ - `color` - Line color
360
+ - `alpha` - Transparency
361
+ - `linewidth` - Line width
362
+ - `linestyle` - Line style ("-", "--", "-.", ":")
363
+ - `marker` - Marker at data points
364
+ - `pointsize` - Marker size
365
+ - `edgecolor` - Marker edge color
366
+ - `edgewidth` - Marker edge width
367
+
368
+ **Example:**
369
+ ```python
370
+ so.Plot(df, x='x', y='y').add(so.Line())
371
+ so.Plot(df, x='x', y='y', color='cat').add(so.Line(linewidth=2))
372
+ ```
373
+
374
+ ### Path
375
+
376
+ Like Line but connects points in data order (not sorted by x).
377
+
378
+ ```python
379
+ so.Path(artist_kws=None, **kwargs)
380
+ ```
381
+
382
+ Properties same as `Line`.
383
+
384
+ **Example:**
385
+ ```python
386
+ # For trajectories, loops, etc.
387
+ so.Plot(trajectory_df, x='x', y='y').add(so.Path())
388
+ ```
389
+
390
+ ### Bar
391
+
392
+ Rectangular bars.
393
+
394
+ ```python
395
+ so.Bar(artist_kws=None, **kwargs)
396
+ ```
397
+
398
+ **Properties:**
399
+ - `color` - Fill color
400
+ - `alpha` - Transparency
401
+ - `edgecolor` - Edge color
402
+ - `edgealpha` - Edge transparency
403
+ - `edgewidth` - Edge line width
404
+ - `width` - Bar width (data units)
405
+
406
+ **Example:**
407
+ ```python
408
+ so.Plot(df, x='category', y='value').add(so.Bar())
409
+ so.Plot(df, x='x', y='y').add(so.Bar(color='#1f77b4', width=0.5))
410
+ ```
411
+
412
+ ### Bars
413
+
414
+ Multiple bars (for aggregated data with error bars).
415
+
416
+ ```python
417
+ so.Bars(artist_kws=None, **kwargs)
418
+ ```
419
+
420
+ Properties same as `Bar`. Used with `Agg()` or `Est()` stats.
421
+
422
+ **Example:**
423
+ ```python
424
+ so.Plot(df, x='category', y='value').add(so.Bars(), so.Agg())
425
+ ```
426
+
427
+ ### Area
428
+
429
+ Filled area between line and baseline.
430
+
431
+ ```python
432
+ so.Area(artist_kws=None, **kwargs)
433
+ ```
434
+
435
+ **Properties:**
436
+ - `color` - Fill color
437
+ - `alpha` - Transparency
438
+ - `edgecolor` - Edge color
439
+ - `edgealpha` - Edge transparency
440
+ - `edgewidth` - Edge line width
441
+ - `baseline` - Baseline value (default: 0)
442
+
443
+ **Example:**
444
+ ```python
445
+ so.Plot(df, x='x', y='y').add(so.Area(alpha=0.3))
446
+ so.Plot(df, x='x', y='y', color='cat').add(so.Area())
447
+ ```
448
+
449
+ ### Band
450
+
451
+ Filled band between two lines (for ranges/intervals).
452
+
453
+ ```python
454
+ so.Band(artist_kws=None, **kwargs)
455
+ ```
456
+
457
+ Properties same as `Area`. Requires `ymin` and `ymax` mappings or used with `Est()` stat.
458
+
459
+ **Example:**
460
+ ```python
461
+ so.Plot(df, x='x', ymin='lower', ymax='upper').add(so.Band())
462
+ so.Plot(df, x='x', y='y').add(so.Band(), so.Est())
463
+ ```
464
+
465
+ ### Range
466
+
467
+ Line with markers at endpoints (for ranges).
468
+
469
+ ```python
470
+ so.Range(artist_kws=None, **kwargs)
471
+ ```
472
+
473
+ **Properties:**
474
+ - `color` - Line and marker color
475
+ - `alpha` - Transparency
476
+ - `linewidth` - Line width
477
+ - `marker` - Marker style at endpoints
478
+ - `pointsize` - Marker size
479
+ - `edgewidth` - Marker edge width
480
+
481
+ **Example:**
482
+ ```python
483
+ so.Plot(df, x='x', y='y').add(so.Range(), so.Est())
484
+ ```
485
+
486
+ ### Dash
487
+
488
+ Short horizontal/vertical lines (for distribution marks).
489
+
490
+ ```python
491
+ so.Dash(artist_kws=None, **kwargs)
492
+ ```
493
+
494
+ **Properties:**
495
+ - `color` - Line color
496
+ - `alpha` - Transparency
497
+ - `linewidth` - Line width
498
+ - `width` - Dash length (data units)
499
+
500
+ **Example:**
501
+ ```python
502
+ so.Plot(df, x='category', y='value').add(so.Dash())
503
+ ```
504
+
505
+ ### Text
506
+
507
+ Text labels at data points.
508
+
509
+ ```python
510
+ so.Text(artist_kws=None, **kwargs)
511
+ ```
512
+
513
+ **Properties:**
514
+ - `color` - Text color
515
+ - `alpha` - Transparency
516
+ - `fontsize` - Font size
517
+ - `halign` - Horizontal alignment: "left", "center", "right"
518
+ - `valign` - Vertical alignment: "bottom", "center", "top"
519
+ - `offset` - (x, y) offset from point
520
+
521
+ Requires `text` mapping.
522
+
523
+ **Example:**
524
+ ```python
525
+ so.Plot(df, x='x', y='y', text='label').add(so.Text())
526
+ so.Plot(df, x='x', y='y', text='value').add(so.Text(fontsize=10, offset=(0, 5)))
527
+ ```
528
+
529
+ ## Stat Objects
530
+
531
+ Stats transform data before rendering. Compose with marks in `.add()`.
532
+
533
+ ### Agg
534
+
535
+ Aggregate observations by group.
536
+
537
+ ```python
538
+ so.Agg(func='mean')
539
+ ```
540
+
541
+ **Parameters:**
542
+ - `func` - Aggregation function: "mean", "median", "sum", "min", "max", "count", or callable
543
+
544
+ **Example:**
545
+ ```python
546
+ so.Plot(df, x='category', y='value').add(so.Bar(), so.Agg('mean'))
547
+ so.Plot(df, x='x', y='y', color='group').add(so.Line(), so.Agg('median'))
548
+ ```
549
+
550
+ ### Est
551
+
552
+ Estimate central tendency with error intervals.
553
+
554
+ ```python
555
+ so.Est(func='mean', errorbar=('ci', 95), n_boot=1000, seed=None)
556
+ ```
557
+
558
+ **Parameters:**
559
+ - `func` - Estimator: "mean", "median", "sum", or callable
560
+ - `errorbar` - Error representation:
561
+ - `("ci", level)` - Confidence interval via bootstrap
562
+ - `("pi", level)` - Percentile interval
563
+ - `("se", scale)` - Standard error scaled by factor
564
+ - `"sd"` - Standard deviation
565
+ - `n_boot` - Bootstrap iterations
566
+ - `seed` - Random seed
567
+
568
+ **Example:**
569
+ ```python
570
+ so.Plot(df, x='category', y='value').add(so.Bar(), so.Est())
571
+ so.Plot(df, x='x', y='y').add(so.Line(), so.Est(errorbar='sd'))
572
+ so.Plot(df, x='x', y='y').add(so.Line(), so.Est(errorbar=('ci', 95)))
573
+ so.Plot(df, x='x', y='y').add(so.Band(), so.Est())
574
+ ```
575
+
576
+ ### Hist
577
+
578
+ Bin observations and count/aggregate.
579
+
580
+ ```python
581
+ so.Hist(stat='count', bins='auto', binwidth=None, binrange=None,
582
+ common_norm=True, common_bins=True, cumulative=False)
583
+ ```
584
+
585
+ **Parameters:**
586
+ - `stat` - "count", "density", "probability", "percent", "frequency"
587
+ - `bins` - Number of bins, bin method, or edges
588
+ - `binwidth` - Width of bins
589
+ - `binrange` - (min, max) range for binning
590
+ - `common_norm` - Normalize across groups together
591
+ - `common_bins` - Use same bins for all groups
592
+ - `cumulative` - Cumulative histogram
593
+
594
+ **Example:**
595
+ ```python
596
+ so.Plot(df, x='value').add(so.Bars(), so.Hist())
597
+ so.Plot(df, x='value').add(so.Bars(), so.Hist(bins=20, stat='density'))
598
+ so.Plot(df, x='value', color='group').add(so.Area(), so.Hist(cumulative=True))
599
+ ```
600
+
601
+ ### KDE
602
+
603
+ Kernel density estimate.
604
+
605
+ ```python
606
+ so.KDE(bw_method='scott', bw_adjust=1, gridsize=200,
607
+ cut=3, cumulative=False)
608
+ ```
609
+
610
+ **Parameters:**
611
+ - `bw_method` - Bandwidth method: "scott", "silverman", or scalar
612
+ - `bw_adjust` - Bandwidth multiplier
613
+ - `gridsize` - Resolution of density curve
614
+ - `cut` - Extension beyond data range (in bandwidth units)
615
+ - `cumulative` - Cumulative density
616
+
617
+ **Example:**
618
+ ```python
619
+ so.Plot(df, x='value').add(so.Line(), so.KDE())
620
+ so.Plot(df, x='value', color='group').add(so.Area(alpha=0.5), so.KDE())
621
+ so.Plot(df, x='x', y='y').add(so.Line(), so.KDE(bw_adjust=0.5))
622
+ ```
623
+
624
+ ### Count
625
+
626
+ Count observations per group.
627
+
628
+ ```python
629
+ so.Count()
630
+ ```
631
+
632
+ **Example:**
633
+ ```python
634
+ so.Plot(df, x='category').add(so.Bar(), so.Count())
635
+ ```
636
+
637
+ ### PolyFit
638
+
639
+ Polynomial regression fit.
640
+
641
+ ```python
642
+ so.PolyFit(order=1)
643
+ ```
644
+
645
+ **Parameters:**
646
+ - `order` - Polynomial order (1 = linear, 2 = quadratic, etc.)
647
+
648
+ **Example:**
649
+ ```python
650
+ so.Plot(df, x='x', y='y').add(so.Dot())
651
+ so.Plot(df, x='x', y='y').add(so.Line(), so.PolyFit(order=2))
652
+ ```
653
+
654
+ ### Perc
655
+
656
+ Compute percentiles.
657
+
658
+ ```python
659
+ so.Perc(k=5, method='linear')
660
+ ```
661
+
662
+ **Parameters:**
663
+ - `k` - Number of percentile intervals
664
+ - `method` - Interpolation method
665
+
666
+ **Example:**
667
+ ```python
668
+ so.Plot(df, x='x', y='y').add(so.Band(), so.Perc())
669
+ ```
670
+
671
+ ## Move Objects
672
+
673
+ Moves adjust positions to resolve overlaps or create specific layouts.
674
+
675
+ ### Dodge
676
+
677
+ Shift positions side-by-side.
678
+
679
+ ```python
680
+ so.Dodge(empty='keep', gap=0)
681
+ ```
682
+
683
+ **Parameters:**
684
+ - `empty` - How to handle empty groups: "keep", "drop", "fill"
685
+ - `gap` - Gap between dodged elements (proportion)
686
+
687
+ **Example:**
688
+ ```python
689
+ so.Plot(df, x='category', y='value', color='group').add(so.Bar(), so.Dodge())
690
+ so.Plot(df, x='cat', y='val', color='hue').add(so.Dot(), so.Dodge(gap=0.1))
691
+ ```
692
+
693
+ ### Stack
694
+
695
+ Stack marks vertically.
696
+
697
+ ```python
698
+ so.Stack()
699
+ ```
700
+
701
+ **Example:**
702
+ ```python
703
+ so.Plot(df, x='x', y='y', color='category').add(so.Bar(), so.Stack())
704
+ so.Plot(df, x='x', y='y', color='group').add(so.Area(), so.Stack())
705
+ ```
706
+
707
+ ### Jitter
708
+
709
+ Add random noise to positions.
710
+
711
+ ```python
712
+ so.Jitter(width=None, height=None, seed=None)
713
+ ```
714
+
715
+ **Parameters:**
716
+ - `width` - Jitter in x direction (data units or proportion)
717
+ - `height` - Jitter in y direction
718
+ - `seed` - Random seed
719
+
720
+ **Example:**
721
+ ```python
722
+ so.Plot(df, x='category', y='value').add(so.Dot(), so.Jitter())
723
+ so.Plot(df, x='cat', y='val').add(so.Dot(), so.Jitter(width=0.2))
724
+ ```
725
+
726
+ ### Shift
727
+
728
+ Shift positions by constant amount.
729
+
730
+ ```python
731
+ so.Shift(x=0, y=0)
732
+ ```
733
+
734
+ **Parameters:**
735
+ - `x` - Shift in x direction (data units)
736
+ - `y` - Shift in y direction
737
+
738
+ **Example:**
739
+ ```python
740
+ so.Plot(df, x='x', y='y').add(so.Dot(), so.Shift(x=1))
741
+ ```
742
+
743
+ ### Norm
744
+
745
+ Normalize values.
746
+
747
+ ```python
748
+ so.Norm(func='max', where=None, by=None, percent=False)
749
+ ```
750
+
751
+ **Parameters:**
752
+ - `func` - Normalization: "max", "sum", "area", or callable
753
+ - `where` - Apply to which axis: "x", "y", or None
754
+ - `by` - Grouping variables for separate normalization
755
+ - `percent` - Show as percentage
756
+
757
+ **Example:**
758
+ ```python
759
+ so.Plot(df, x='x', y='y', color='group').add(so.Area(), so.Norm())
760
+ ```
761
+
762
+ ## Scale Objects
763
+
764
+ Scales control how data values map to visual properties.
765
+
766
+ ### Continuous
767
+
768
+ For numeric data.
769
+
770
+ ```python
771
+ so.Continuous(values=None, norm=None, trans=None)
772
+ ```
773
+
774
+ **Methods:**
775
+ - `.tick(at=None, every=None, between=None, minor=None)` - Configure ticks
776
+ - `.label(like=None, base=None, unit=None)` - Format labels
777
+
778
+ **Parameters:**
779
+ - `values` - Explicit value range (min, max)
780
+ - `norm` - Normalization function
781
+ - `trans` - Transformation: "log", "sqrt", "symlog", "logit", "pow10", or callable
782
+
783
+ **Example:**
784
+ ```python
785
+ p.scale(
786
+ x=so.Continuous().tick(every=10),
787
+ y=so.Continuous(trans='log').tick(at=[1, 10, 100]),
788
+ color=so.Continuous(values=(0, 1)),
789
+ pointsize=(5, 20) # Shorthand for Continuous range
790
+ )
791
+ ```
792
+
793
+ ### Nominal
794
+
795
+ For categorical data.
796
+
797
+ ```python
798
+ so.Nominal(values=None, order=None)
799
+ ```
800
+
801
+ **Parameters:**
802
+ - `values` - Explicit values (e.g., colors, markers)
803
+ - `order` - Category order
804
+
805
+ **Example:**
806
+ ```python
807
+ p.scale(
808
+ color=so.Nominal(['#1f77b4', '#ff7f0e', '#2ca02c']),
809
+ marker=so.Nominal(['o', 's', '^']),
810
+ x=so.Nominal(order=['Low', 'Medium', 'High'])
811
+ )
812
+ ```
813
+
814
+ ### Temporal
815
+
816
+ For datetime data.
817
+
818
+ ```python
819
+ so.Temporal(values=None, trans=None)
820
+ ```
821
+
822
+ **Methods:**
823
+ - `.tick(every=None, between=None)` - Configure ticks
824
+ - `.label(concise=False)` - Format labels
825
+
826
+ **Example:**
827
+ ```python
828
+ p.scale(x=so.Temporal().tick(every=('month', 1)).label(concise=True))
829
+ ```
830
+
831
+ ## Complete Examples
832
+
833
+ ### Layered Plot with Statistics
834
+
835
+ ```python
836
+ (
837
+ so.Plot(df, x='total_bill', y='tip', color='time')
838
+ .add(so.Dot(), alpha=0.5)
839
+ .add(so.Line(), so.PolyFit(order=2))
840
+ .scale(color=so.Nominal(['#1f77b4', '#ff7f0e']))
841
+ .label(x='Total Bill ($)', y='Tip ($)', title='Tips Analysis')
842
+ .theme({**sns.axes_style('whitegrid')})
843
+ )
844
+ ```
845
+
846
+ ### Faceted Distribution
847
+
848
+ ```python
849
+ (
850
+ so.Plot(df, x='measurement', color='treatment')
851
+ .facet(col='timepoint', wrap=3)
852
+ .add(so.Area(alpha=0.5), so.KDE())
853
+ .add(so.Dot(), so.Jitter(width=0.1), y=0)
854
+ .scale(x=so.Continuous().tick(every=5))
855
+ .label(x='Measurement (units)', title='Treatment Effects Over Time')
856
+ .share(x=True, y=False)
857
+ )
858
+ ```
859
+
860
+ ### Grouped Bar Chart
861
+
862
+ ```python
863
+ (
864
+ so.Plot(df, x='category', y='value', color='group')
865
+ .add(so.Bar(), so.Agg('mean'), so.Dodge())
866
+ .add(so.Range(), so.Est(errorbar='se'), so.Dodge())
867
+ .scale(color=so.Nominal(order=['A', 'B', 'C']))
868
+ .label(y='Mean Value', title='Comparison by Category and Group')
869
+ )
870
+ ```
871
+
872
+ ### Complex Multi-Layer
873
+
874
+ ```python
875
+ (
876
+ so.Plot(df, x='date', y='value')
877
+ .add(so.Dot(color='gray', pointsize=3), alpha=0.3)
878
+ .add(so.Line(color='blue', linewidth=2), so.Agg('mean'))
879
+ .add(so.Band(color='blue', alpha=0.2), so.Est(errorbar=('ci', 95)))
880
+ .facet(col='sensor', row='location')
881
+ .scale(
882
+ x=so.Temporal().label(concise=True),
883
+ y=so.Continuous().tick(every=10)
884
+ )
885
+ .label(
886
+ x='Date',
887
+ y='Measurement',
888
+ title='Sensor Measurements by Location'
889
+ )
890
+ .layout(size=(12, 8), engine='constrained')
891
+ )
892
+ ```
893
+
894
+ ## Migration from Function Interface
895
+
896
+ ### Scatter Plot
897
+
898
+ **Function interface:**
899
+ ```python
900
+ sns.scatterplot(data=df, x='x', y='y', hue='category', size='value')
901
+ ```
902
+
903
+ **Objects interface:**
904
+ ```python
905
+ so.Plot(df, x='x', y='y', color='category', pointsize='value').add(so.Dot())
906
+ ```
907
+
908
+ ### Line Plot with CI
909
+
910
+ **Function interface:**
911
+ ```python
912
+ sns.lineplot(data=df, x='time', y='measurement', hue='group', errorbar='ci')
913
+ ```
914
+
915
+ **Objects interface:**
916
+ ```python
917
+ (
918
+ so.Plot(df, x='time', y='measurement', color='group')
919
+ .add(so.Line(), so.Est())
920
+ )
921
+ ```
922
+
923
+ ### Histogram
924
+
925
+ **Function interface:**
926
+ ```python
927
+ sns.histplot(data=df, x='value', hue='category', stat='density', kde=True)
928
+ ```
929
+
930
+ **Objects interface:**
931
+ ```python
932
+ (
933
+ so.Plot(df, x='value', color='category')
934
+ .add(so.Bars(), so.Hist(stat='density'))
935
+ .add(so.Line(), so.KDE())
936
+ )
937
+ ```
938
+
939
+ ### Bar Plot with Error Bars
940
+
941
+ **Function interface:**
942
+ ```python
943
+ sns.barplot(data=df, x='category', y='value', hue='group', errorbar='ci')
944
+ ```
945
+
946
+ **Objects interface:**
947
+ ```python
948
+ (
949
+ so.Plot(df, x='category', y='value', color='group')
950
+ .add(so.Bar(), so.Agg(), so.Dodge())
951
+ .add(so.Range(), so.Est(), so.Dodge())
952
+ )
953
+ ```
954
+
955
+ ## Tips and Best Practices
956
+
957
+ 1. **Method chaining**: Each method returns a new Plot object, enabling fluent chaining
958
+ 2. **Layer composition**: Combine multiple `.add()` calls to overlay different marks
959
+ 3. **Transform order**: In `.add(mark, stat, move)`, stat applies first, then move
960
+ 4. **Variable priority**: Layer-specific mappings override Plot-level mappings
961
+ 5. **Scale shortcuts**: Use tuples for simple ranges: `color=(min, max)` vs full Scale object
962
+ 6. **Jupyter rendering**: Plots render automatically when returned; use `.show()` otherwise
963
+ 7. **Saving**: Use `.save()` rather than `plt.savefig()` for proper handling
964
+ 8. **Matplotlib access**: Use `.on(ax)` to integrate with matplotlib figures