@synsci/cli-darwin-x64-baseline 1.1.76 → 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.
- package/bin/skills/adaptyv/SKILL.md +114 -0
- package/bin/skills/adaptyv/reference/api_reference.md +308 -0
- package/bin/skills/adaptyv/reference/examples.md +913 -0
- package/bin/skills/adaptyv/reference/experiments.md +360 -0
- package/bin/skills/adaptyv/reference/protein_optimization.md +637 -0
- package/bin/skills/aeon/SKILL.md +374 -0
- package/bin/skills/aeon/references/anomaly_detection.md +154 -0
- package/bin/skills/aeon/references/classification.md +144 -0
- package/bin/skills/aeon/references/clustering.md +123 -0
- package/bin/skills/aeon/references/datasets_benchmarking.md +387 -0
- package/bin/skills/aeon/references/distances.md +256 -0
- package/bin/skills/aeon/references/forecasting.md +140 -0
- package/bin/skills/aeon/references/networks.md +289 -0
- package/bin/skills/aeon/references/regression.md +118 -0
- package/bin/skills/aeon/references/segmentation.md +163 -0
- package/bin/skills/aeon/references/similarity_search.md +187 -0
- package/bin/skills/aeon/references/transformations.md +246 -0
- package/bin/skills/alphafold-database/SKILL.md +513 -0
- package/bin/skills/alphafold-database/references/api_reference.md +423 -0
- package/bin/skills/anndata/SKILL.md +400 -0
- package/bin/skills/anndata/references/best_practices.md +525 -0
- package/bin/skills/anndata/references/concatenation.md +396 -0
- package/bin/skills/anndata/references/data_structure.md +314 -0
- package/bin/skills/anndata/references/io_operations.md +404 -0
- package/bin/skills/anndata/references/manipulation.md +516 -0
- package/bin/skills/arboreto/SKILL.md +243 -0
- package/bin/skills/arboreto/references/algorithms.md +138 -0
- package/bin/skills/arboreto/references/basic_inference.md +151 -0
- package/bin/skills/arboreto/references/distributed_computing.md +242 -0
- package/bin/skills/arboreto/scripts/basic_grn_inference.py +97 -0
- package/bin/skills/astropy/SKILL.md +331 -0
- package/bin/skills/astropy/references/coordinates.md +273 -0
- package/bin/skills/astropy/references/cosmology.md +307 -0
- package/bin/skills/astropy/references/fits.md +396 -0
- package/bin/skills/astropy/references/tables.md +489 -0
- package/bin/skills/astropy/references/time.md +404 -0
- package/bin/skills/astropy/references/units.md +178 -0
- package/bin/skills/astropy/references/wcs_and_other_modules.md +373 -0
- package/bin/skills/benchling-integration/SKILL.md +480 -0
- package/bin/skills/benchling-integration/references/api_endpoints.md +883 -0
- package/bin/skills/benchling-integration/references/authentication.md +379 -0
- package/bin/skills/benchling-integration/references/sdk_reference.md +774 -0
- package/bin/skills/biopython/SKILL.md +443 -0
- package/bin/skills/biopython/references/advanced.md +577 -0
- package/bin/skills/biopython/references/alignment.md +362 -0
- package/bin/skills/biopython/references/blast.md +455 -0
- package/bin/skills/biopython/references/databases.md +484 -0
- package/bin/skills/biopython/references/phylogenetics.md +566 -0
- package/bin/skills/biopython/references/sequence_io.md +285 -0
- package/bin/skills/biopython/references/structure.md +564 -0
- package/bin/skills/biorxiv-database/SKILL.md +483 -0
- package/bin/skills/biorxiv-database/references/api_reference.md +280 -0
- package/bin/skills/biorxiv-database/scripts/biorxiv_search.py +445 -0
- package/bin/skills/bioservices/SKILL.md +361 -0
- package/bin/skills/bioservices/references/identifier_mapping.md +685 -0
- package/bin/skills/bioservices/references/services_reference.md +636 -0
- package/bin/skills/bioservices/references/workflow_patterns.md +811 -0
- package/bin/skills/bioservices/scripts/batch_id_converter.py +347 -0
- package/bin/skills/bioservices/scripts/compound_cross_reference.py +378 -0
- package/bin/skills/bioservices/scripts/pathway_analysis.py +309 -0
- package/bin/skills/bioservices/scripts/protein_analysis_workflow.py +408 -0
- package/bin/skills/brenda-database/SKILL.md +719 -0
- package/bin/skills/brenda-database/references/api_reference.md +537 -0
- package/bin/skills/brenda-database/scripts/brenda_queries.py +844 -0
- package/bin/skills/brenda-database/scripts/brenda_visualization.py +772 -0
- package/bin/skills/brenda-database/scripts/enzyme_pathway_builder.py +1053 -0
- package/bin/skills/cellxgene-census/SKILL.md +511 -0
- package/bin/skills/cellxgene-census/references/census_schema.md +182 -0
- package/bin/skills/cellxgene-census/references/common_patterns.md +351 -0
- package/bin/skills/chembl-database/SKILL.md +389 -0
- package/bin/skills/chembl-database/references/api_reference.md +272 -0
- package/bin/skills/chembl-database/scripts/example_queries.py +278 -0
- package/bin/skills/cirq/SKILL.md +346 -0
- package/bin/skills/cirq/references/building.md +307 -0
- package/bin/skills/cirq/references/experiments.md +572 -0
- package/bin/skills/cirq/references/hardware.md +515 -0
- package/bin/skills/cirq/references/noise.md +515 -0
- package/bin/skills/cirq/references/simulation.md +350 -0
- package/bin/skills/cirq/references/transformation.md +416 -0
- package/bin/skills/clinicaltrials-database/SKILL.md +507 -0
- package/bin/skills/clinicaltrials-database/references/api_reference.md +358 -0
- package/bin/skills/clinicaltrials-database/scripts/query_clinicaltrials.py +215 -0
- package/bin/skills/clinpgx-database/SKILL.md +638 -0
- package/bin/skills/clinpgx-database/references/api_reference.md +757 -0
- package/bin/skills/clinpgx-database/scripts/query_clinpgx.py +518 -0
- package/bin/skills/clinvar-database/SKILL.md +362 -0
- package/bin/skills/clinvar-database/references/api_reference.md +227 -0
- package/bin/skills/clinvar-database/references/clinical_significance.md +218 -0
- package/bin/skills/clinvar-database/references/data_formats.md +358 -0
- package/bin/skills/cobrapy/SKILL.md +463 -0
- package/bin/skills/cobrapy/references/api_quick_reference.md +655 -0
- package/bin/skills/cobrapy/references/workflows.md +593 -0
- package/bin/skills/cosmic-database/SKILL.md +336 -0
- package/bin/skills/cosmic-database/references/cosmic_data_reference.md +220 -0
- package/bin/skills/cosmic-database/scripts/download_cosmic.py +231 -0
- package/bin/skills/dask/SKILL.md +456 -0
- package/bin/skills/dask/references/arrays.md +497 -0
- package/bin/skills/dask/references/bags.md +468 -0
- package/bin/skills/dask/references/best-practices.md +277 -0
- package/bin/skills/dask/references/dataframes.md +368 -0
- package/bin/skills/dask/references/futures.md +541 -0
- package/bin/skills/dask/references/schedulers.md +504 -0
- package/bin/skills/datacommons-client/SKILL.md +255 -0
- package/bin/skills/datacommons-client/references/getting_started.md +417 -0
- package/bin/skills/datacommons-client/references/node.md +250 -0
- package/bin/skills/datacommons-client/references/observation.md +185 -0
- package/bin/skills/datacommons-client/references/resolve.md +246 -0
- package/bin/skills/datamol/SKILL.md +706 -0
- package/bin/skills/datamol/references/conformers_module.md +131 -0
- package/bin/skills/datamol/references/core_api.md +130 -0
- package/bin/skills/datamol/references/descriptors_viz.md +195 -0
- package/bin/skills/datamol/references/fragments_scaffolds.md +174 -0
- package/bin/skills/datamol/references/io_module.md +109 -0
- package/bin/skills/datamol/references/reactions_data.md +218 -0
- package/bin/skills/deepchem/SKILL.md +597 -0
- package/bin/skills/deepchem/references/api_reference.md +303 -0
- package/bin/skills/deepchem/references/workflows.md +491 -0
- package/bin/skills/deepchem/scripts/graph_neural_network.py +338 -0
- package/bin/skills/deepchem/scripts/predict_solubility.py +224 -0
- package/bin/skills/deepchem/scripts/transfer_learning.py +375 -0
- package/bin/skills/deeptools/SKILL.md +531 -0
- package/bin/skills/deeptools/assets/quick_reference.md +58 -0
- package/bin/skills/deeptools/references/effective_genome_sizes.md +116 -0
- package/bin/skills/deeptools/references/normalization_methods.md +410 -0
- package/bin/skills/deeptools/references/tools_reference.md +533 -0
- package/bin/skills/deeptools/references/workflows.md +474 -0
- package/bin/skills/deeptools/scripts/validate_files.py +195 -0
- package/bin/skills/deeptools/scripts/workflow_generator.py +454 -0
- package/bin/skills/denario/SKILL.md +215 -0
- package/bin/skills/denario/references/examples.md +494 -0
- package/bin/skills/denario/references/installation.md +213 -0
- package/bin/skills/denario/references/llm_configuration.md +265 -0
- package/bin/skills/denario/references/research_pipeline.md +471 -0
- package/bin/skills/diffdock/SKILL.md +483 -0
- package/bin/skills/diffdock/assets/batch_template.csv +4 -0
- package/bin/skills/diffdock/assets/custom_inference_config.yaml +90 -0
- package/bin/skills/diffdock/references/confidence_and_limitations.md +182 -0
- package/bin/skills/diffdock/references/parameters_reference.md +163 -0
- package/bin/skills/diffdock/references/workflows_examples.md +392 -0
- package/bin/skills/diffdock/scripts/analyze_results.py +334 -0
- package/bin/skills/diffdock/scripts/prepare_batch_csv.py +254 -0
- package/bin/skills/diffdock/scripts/setup_check.py +278 -0
- package/bin/skills/dnanexus-integration/SKILL.md +383 -0
- package/bin/skills/dnanexus-integration/references/app-development.md +247 -0
- package/bin/skills/dnanexus-integration/references/configuration.md +646 -0
- package/bin/skills/dnanexus-integration/references/data-operations.md +400 -0
- package/bin/skills/dnanexus-integration/references/job-execution.md +412 -0
- package/bin/skills/dnanexus-integration/references/python-sdk.md +523 -0
- package/bin/skills/document-skills/docx/LICENSE.txt +30 -0
- package/bin/skills/document-skills/docx/SKILL.md +233 -0
- package/bin/skills/document-skills/docx/docx-js.md +350 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/bin/skills/document-skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/bin/skills/document-skills/docx/ooxml/scripts/pack.py +159 -0
- package/bin/skills/document-skills/docx/ooxml/scripts/unpack.py +29 -0
- package/bin/skills/document-skills/docx/ooxml/scripts/validate.py +69 -0
- package/bin/skills/document-skills/docx/ooxml/scripts/validation/__init__.py +15 -0
- package/bin/skills/document-skills/docx/ooxml/scripts/validation/base.py +951 -0
- package/bin/skills/document-skills/docx/ooxml/scripts/validation/docx.py +274 -0
- package/bin/skills/document-skills/docx/ooxml/scripts/validation/pptx.py +315 -0
- package/bin/skills/document-skills/docx/ooxml/scripts/validation/redlining.py +279 -0
- package/bin/skills/document-skills/docx/ooxml.md +610 -0
- package/bin/skills/document-skills/docx/scripts/__init__.py +1 -0
- package/bin/skills/document-skills/docx/scripts/document.py +1276 -0
- package/bin/skills/document-skills/docx/scripts/templates/comments.xml +3 -0
- package/bin/skills/document-skills/docx/scripts/templates/commentsExtended.xml +3 -0
- package/bin/skills/document-skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/bin/skills/document-skills/docx/scripts/templates/commentsIds.xml +3 -0
- package/bin/skills/document-skills/docx/scripts/templates/people.xml +3 -0
- package/bin/skills/document-skills/docx/scripts/utilities.py +374 -0
- package/bin/skills/document-skills/pdf/LICENSE.txt +30 -0
- package/bin/skills/document-skills/pdf/SKILL.md +330 -0
- package/bin/skills/document-skills/pdf/forms.md +205 -0
- package/bin/skills/document-skills/pdf/reference.md +612 -0
- package/bin/skills/document-skills/pdf/scripts/check_bounding_boxes.py +70 -0
- package/bin/skills/document-skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
- package/bin/skills/document-skills/pdf/scripts/check_fillable_fields.py +12 -0
- package/bin/skills/document-skills/pdf/scripts/convert_pdf_to_images.py +35 -0
- package/bin/skills/document-skills/pdf/scripts/create_validation_image.py +41 -0
- package/bin/skills/document-skills/pdf/scripts/extract_form_field_info.py +152 -0
- package/bin/skills/document-skills/pdf/scripts/fill_fillable_fields.py +114 -0
- package/bin/skills/document-skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
- package/bin/skills/document-skills/pptx/LICENSE.txt +30 -0
- package/bin/skills/document-skills/pptx/SKILL.md +520 -0
- package/bin/skills/document-skills/pptx/html2pptx.md +625 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/bin/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/bin/skills/document-skills/pptx/ooxml/scripts/pack.py +159 -0
- package/bin/skills/document-skills/pptx/ooxml/scripts/unpack.py +29 -0
- package/bin/skills/document-skills/pptx/ooxml/scripts/validate.py +69 -0
- package/bin/skills/document-skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
- package/bin/skills/document-skills/pptx/ooxml/scripts/validation/base.py +951 -0
- package/bin/skills/document-skills/pptx/ooxml/scripts/validation/docx.py +274 -0
- package/bin/skills/document-skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
- package/bin/skills/document-skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
- package/bin/skills/document-skills/pptx/ooxml.md +427 -0
- package/bin/skills/document-skills/pptx/scripts/html2pptx.js +979 -0
- package/bin/skills/document-skills/pptx/scripts/inventory.py +1020 -0
- package/bin/skills/document-skills/pptx/scripts/rearrange.py +231 -0
- package/bin/skills/document-skills/pptx/scripts/replace.py +385 -0
- package/bin/skills/document-skills/pptx/scripts/thumbnail.py +450 -0
- package/bin/skills/document-skills/xlsx/LICENSE.txt +30 -0
- package/bin/skills/document-skills/xlsx/SKILL.md +325 -0
- package/bin/skills/document-skills/xlsx/recalc.py +178 -0
- package/bin/skills/drugbank-database/SKILL.md +190 -0
- package/bin/skills/drugbank-database/references/chemical-analysis.md +590 -0
- package/bin/skills/drugbank-database/references/data-access.md +242 -0
- package/bin/skills/drugbank-database/references/drug-queries.md +386 -0
- package/bin/skills/drugbank-database/references/interactions.md +425 -0
- package/bin/skills/drugbank-database/references/targets-pathways.md +518 -0
- package/bin/skills/drugbank-database/scripts/drugbank_helper.py +350 -0
- package/bin/skills/ena-database/SKILL.md +204 -0
- package/bin/skills/ena-database/references/api_reference.md +490 -0
- package/bin/skills/ensembl-database/SKILL.md +311 -0
- package/bin/skills/ensembl-database/references/api_endpoints.md +346 -0
- package/bin/skills/ensembl-database/scripts/ensembl_query.py +427 -0
- package/bin/skills/esm/SKILL.md +306 -0
- package/bin/skills/esm/references/esm-c-api.md +583 -0
- package/bin/skills/esm/references/esm3-api.md +452 -0
- package/bin/skills/esm/references/forge-api.md +657 -0
- package/bin/skills/esm/references/workflows.md +685 -0
- package/bin/skills/etetoolkit/SKILL.md +623 -0
- package/bin/skills/etetoolkit/references/api_reference.md +583 -0
- package/bin/skills/etetoolkit/references/visualization.md +783 -0
- package/bin/skills/etetoolkit/references/workflows.md +774 -0
- package/bin/skills/etetoolkit/scripts/quick_visualize.py +214 -0
- package/bin/skills/etetoolkit/scripts/tree_operations.py +229 -0
- package/bin/skills/exploratory-data-analysis/SKILL.md +446 -0
- package/bin/skills/exploratory-data-analysis/assets/report_template.md +196 -0
- package/bin/skills/exploratory-data-analysis/references/bioinformatics_genomics_formats.md +664 -0
- package/bin/skills/exploratory-data-analysis/references/chemistry_molecular_formats.md +664 -0
- package/bin/skills/exploratory-data-analysis/references/general_scientific_formats.md +518 -0
- package/bin/skills/exploratory-data-analysis/references/microscopy_imaging_formats.md +620 -0
- package/bin/skills/exploratory-data-analysis/references/proteomics_metabolomics_formats.md +517 -0
- package/bin/skills/exploratory-data-analysis/references/spectroscopy_analytical_formats.md +633 -0
- package/bin/skills/exploratory-data-analysis/scripts/eda_analyzer.py +547 -0
- package/bin/skills/fda-database/SKILL.md +518 -0
- package/bin/skills/fda-database/references/animal_veterinary.md +377 -0
- package/bin/skills/fda-database/references/api_basics.md +687 -0
- package/bin/skills/fda-database/references/devices.md +632 -0
- package/bin/skills/fda-database/references/drugs.md +468 -0
- package/bin/skills/fda-database/references/foods.md +374 -0
- package/bin/skills/fda-database/references/other.md +472 -0
- package/bin/skills/fda-database/scripts/fda_examples.py +335 -0
- package/bin/skills/fda-database/scripts/fda_query.py +440 -0
- package/bin/skills/flowio/SKILL.md +608 -0
- package/bin/skills/flowio/references/api_reference.md +372 -0
- package/bin/skills/fluidsim/SKILL.md +349 -0
- package/bin/skills/fluidsim/references/advanced_features.md +398 -0
- package/bin/skills/fluidsim/references/installation.md +68 -0
- package/bin/skills/fluidsim/references/output_analysis.md +283 -0
- package/bin/skills/fluidsim/references/parameters.md +198 -0
- package/bin/skills/fluidsim/references/simulation_workflow.md +172 -0
- package/bin/skills/fluidsim/references/solvers.md +94 -0
- package/bin/skills/fred-economic-data/SKILL.md +433 -0
- package/bin/skills/fred-economic-data/references/api_basics.md +212 -0
- package/bin/skills/fred-economic-data/references/categories.md +442 -0
- package/bin/skills/fred-economic-data/references/geofred.md +588 -0
- package/bin/skills/fred-economic-data/references/releases.md +642 -0
- package/bin/skills/fred-economic-data/references/series.md +584 -0
- package/bin/skills/fred-economic-data/references/sources.md +423 -0
- package/bin/skills/fred-economic-data/references/tags.md +485 -0
- package/bin/skills/fred-economic-data/scripts/fred_examples.py +354 -0
- package/bin/skills/fred-economic-data/scripts/fred_query.py +590 -0
- package/bin/skills/gene-database/SKILL.md +179 -0
- package/bin/skills/gene-database/references/api_reference.md +404 -0
- package/bin/skills/gene-database/references/common_workflows.md +428 -0
- package/bin/skills/gene-database/scripts/batch_gene_lookup.py +298 -0
- package/bin/skills/gene-database/scripts/fetch_gene_data.py +277 -0
- package/bin/skills/gene-database/scripts/query_gene.py +251 -0
- package/bin/skills/geniml/SKILL.md +318 -0
- package/bin/skills/geniml/references/bedspace.md +127 -0
- package/bin/skills/geniml/references/consensus_peaks.md +238 -0
- package/bin/skills/geniml/references/region2vec.md +90 -0
- package/bin/skills/geniml/references/scembed.md +197 -0
- package/bin/skills/geniml/references/utilities.md +385 -0
- package/bin/skills/geo-database/SKILL.md +815 -0
- package/bin/skills/geo-database/references/geo_reference.md +829 -0
- package/bin/skills/geopandas/SKILL.md +251 -0
- package/bin/skills/geopandas/references/crs-management.md +243 -0
- package/bin/skills/geopandas/references/data-io.md +165 -0
- package/bin/skills/geopandas/references/data-structures.md +70 -0
- package/bin/skills/geopandas/references/geometric-operations.md +221 -0
- package/bin/skills/geopandas/references/spatial-analysis.md +184 -0
- package/bin/skills/geopandas/references/visualization.md +243 -0
- package/bin/skills/get-available-resources/SKILL.md +277 -0
- package/bin/skills/get-available-resources/scripts/detect_resources.py +401 -0
- package/bin/skills/gget/SKILL.md +871 -0
- package/bin/skills/gget/references/database_info.md +300 -0
- package/bin/skills/gget/references/module_reference.md +467 -0
- package/bin/skills/gget/references/workflows.md +814 -0
- package/bin/skills/gget/scripts/batch_sequence_analysis.py +191 -0
- package/bin/skills/gget/scripts/enrichment_pipeline.py +235 -0
- package/bin/skills/gget/scripts/gene_analysis.py +161 -0
- package/bin/skills/gtars/SKILL.md +285 -0
- package/bin/skills/gtars/references/cli.md +222 -0
- package/bin/skills/gtars/references/coverage.md +172 -0
- package/bin/skills/gtars/references/overlap.md +156 -0
- package/bin/skills/gtars/references/python-api.md +211 -0
- package/bin/skills/gtars/references/refget.md +147 -0
- package/bin/skills/gtars/references/tokenizers.md +103 -0
- package/bin/skills/gwas-database/SKILL.md +608 -0
- package/bin/skills/gwas-database/references/api_reference.md +793 -0
- package/bin/skills/histolab/SKILL.md +678 -0
- package/bin/skills/histolab/references/filters_preprocessing.md +514 -0
- package/bin/skills/histolab/references/slide_management.md +172 -0
- package/bin/skills/histolab/references/tile_extraction.md +421 -0
- package/bin/skills/histolab/references/tissue_masks.md +251 -0
- package/bin/skills/histolab/references/visualization.md +547 -0
- package/bin/skills/hmdb-database/SKILL.md +196 -0
- package/bin/skills/hmdb-database/references/hmdb_data_fields.md +267 -0
- package/bin/skills/hypogenic/SKILL.md +655 -0
- package/bin/skills/hypogenic/references/config_template.yaml +150 -0
- package/bin/skills/imaging-data-commons/SKILL.md +1182 -0
- package/bin/skills/imaging-data-commons/references/bigquery_guide.md +556 -0
- package/bin/skills/imaging-data-commons/references/cli_guide.md +272 -0
- package/bin/skills/imaging-data-commons/references/cloud_storage_guide.md +333 -0
- package/bin/skills/imaging-data-commons/references/dicomweb_guide.md +399 -0
- package/bin/skills/infographics/SKILL.md +563 -0
- package/bin/skills/infographics/references/color_palettes.md +496 -0
- package/bin/skills/infographics/references/design_principles.md +636 -0
- package/bin/skills/infographics/references/infographic_types.md +907 -0
- package/bin/skills/infographics/scripts/generate_infographic.py +234 -0
- package/bin/skills/infographics/scripts/generate_infographic_ai.py +1290 -0
- package/bin/skills/iso-13485-certification/SKILL.md +680 -0
- package/bin/skills/iso-13485-certification/assets/templates/procedures/CAPA-procedure-template.md +453 -0
- package/bin/skills/iso-13485-certification/assets/templates/procedures/document-control-procedure-template.md +567 -0
- package/bin/skills/iso-13485-certification/assets/templates/quality-manual-template.md +521 -0
- package/bin/skills/iso-13485-certification/references/gap-analysis-checklist.md +568 -0
- package/bin/skills/iso-13485-certification/references/iso-13485-requirements.md +610 -0
- package/bin/skills/iso-13485-certification/references/mandatory-documents.md +606 -0
- package/bin/skills/iso-13485-certification/references/quality-manual-guide.md +688 -0
- package/bin/skills/iso-13485-certification/scripts/gap_analyzer.py +440 -0
- package/bin/skills/kegg-database/SKILL.md +377 -0
- package/bin/skills/kegg-database/references/kegg_reference.md +326 -0
- package/bin/skills/kegg-database/scripts/kegg_api.py +251 -0
- package/bin/skills/labarchive-integration/SKILL.md +268 -0
- package/bin/skills/labarchive-integration/references/api_reference.md +342 -0
- package/bin/skills/labarchive-integration/references/authentication_guide.md +357 -0
- package/bin/skills/labarchive-integration/references/integrations.md +425 -0
- package/bin/skills/labarchive-integration/scripts/entry_operations.py +334 -0
- package/bin/skills/labarchive-integration/scripts/notebook_operations.py +269 -0
- package/bin/skills/labarchive-integration/scripts/setup_config.py +205 -0
- package/bin/skills/lamindb/SKILL.md +390 -0
- package/bin/skills/lamindb/references/annotation-validation.md +513 -0
- package/bin/skills/lamindb/references/core-concepts.md +380 -0
- package/bin/skills/lamindb/references/data-management.md +433 -0
- package/bin/skills/lamindb/references/integrations.md +642 -0
- package/bin/skills/lamindb/references/ontologies.md +497 -0
- package/bin/skills/lamindb/references/setup-deployment.md +733 -0
- package/bin/skills/latchbio-integration/SKILL.md +353 -0
- package/bin/skills/latchbio-integration/references/data-management.md +427 -0
- package/bin/skills/latchbio-integration/references/resource-configuration.md +429 -0
- package/bin/skills/latchbio-integration/references/verified-workflows.md +487 -0
- package/bin/skills/latchbio-integration/references/workflow-creation.md +254 -0
- package/bin/skills/matchms/SKILL.md +203 -0
- package/bin/skills/matchms/references/filtering.md +288 -0
- package/bin/skills/matchms/references/importing_exporting.md +416 -0
- package/bin/skills/matchms/references/similarity.md +380 -0
- package/bin/skills/matchms/references/workflows.md +647 -0
- package/bin/skills/matlab/SKILL.md +376 -0
- package/bin/skills/matlab/references/data-import-export.md +479 -0
- package/bin/skills/matlab/references/executing-scripts.md +444 -0
- package/bin/skills/matlab/references/graphics-visualization.md +579 -0
- package/bin/skills/matlab/references/mathematics.md +553 -0
- package/bin/skills/matlab/references/matrices-arrays.md +349 -0
- package/bin/skills/matlab/references/octave-compatibility.md +544 -0
- package/bin/skills/matlab/references/programming.md +672 -0
- package/bin/skills/matlab/references/python-integration.md +433 -0
- package/bin/skills/matplotlib/SKILL.md +361 -0
- package/bin/skills/matplotlib/references/api_reference.md +412 -0
- package/bin/skills/matplotlib/references/common_issues.md +563 -0
- package/bin/skills/matplotlib/references/plot_types.md +476 -0
- package/bin/skills/matplotlib/references/styling_guide.md +589 -0
- package/bin/skills/matplotlib/scripts/plot_template.py +401 -0
- package/bin/skills/matplotlib/scripts/style_configurator.py +409 -0
- package/bin/skills/medchem/SKILL.md +406 -0
- package/bin/skills/medchem/references/api_guide.md +600 -0
- package/bin/skills/medchem/references/rules_catalog.md +604 -0
- package/bin/skills/medchem/scripts/filter_molecules.py +418 -0
- package/bin/skills/metabolomics-workbench-database/SKILL.md +259 -0
- package/bin/skills/metabolomics-workbench-database/references/api_reference.md +494 -0
- package/bin/skills/modal-research-gpu/SKILL.md +238 -0
- package/bin/skills/molfeat/SKILL.md +511 -0
- package/bin/skills/molfeat/references/api_reference.md +428 -0
- package/bin/skills/molfeat/references/available_featurizers.md +333 -0
- package/bin/skills/molfeat/references/examples.md +723 -0
- package/bin/skills/networkx/SKILL.md +437 -0
- package/bin/skills/networkx/references/algorithms.md +383 -0
- package/bin/skills/networkx/references/generators.md +378 -0
- package/bin/skills/networkx/references/graph-basics.md +283 -0
- package/bin/skills/networkx/references/io.md +441 -0
- package/bin/skills/networkx/references/visualization.md +529 -0
- package/bin/skills/neurokit2/SKILL.md +356 -0
- package/bin/skills/neurokit2/references/bio_module.md +417 -0
- package/bin/skills/neurokit2/references/complexity.md +715 -0
- package/bin/skills/neurokit2/references/ecg_cardiac.md +355 -0
- package/bin/skills/neurokit2/references/eda.md +497 -0
- package/bin/skills/neurokit2/references/eeg.md +506 -0
- package/bin/skills/neurokit2/references/emg.md +408 -0
- package/bin/skills/neurokit2/references/eog.md +407 -0
- package/bin/skills/neurokit2/references/epochs_events.md +471 -0
- package/bin/skills/neurokit2/references/hrv.md +480 -0
- package/bin/skills/neurokit2/references/ppg.md +413 -0
- package/bin/skills/neurokit2/references/rsp.md +510 -0
- package/bin/skills/neurokit2/references/signal_processing.md +648 -0
- package/bin/skills/neuropixels-analysis/SKILL.md +350 -0
- package/bin/skills/neuropixels-analysis/assets/analysis_template.py +271 -0
- package/bin/skills/neuropixels-analysis/references/AI_CURATION.md +345 -0
- package/bin/skills/neuropixels-analysis/references/ANALYSIS.md +392 -0
- package/bin/skills/neuropixels-analysis/references/AUTOMATED_CURATION.md +358 -0
- package/bin/skills/neuropixels-analysis/references/MOTION_CORRECTION.md +323 -0
- package/bin/skills/neuropixels-analysis/references/PREPROCESSING.md +273 -0
- package/bin/skills/neuropixels-analysis/references/QUALITY_METRICS.md +359 -0
- package/bin/skills/neuropixels-analysis/references/SPIKE_SORTING.md +339 -0
- package/bin/skills/neuropixels-analysis/references/api_reference.md +415 -0
- package/bin/skills/neuropixels-analysis/references/plotting_guide.md +454 -0
- package/bin/skills/neuropixels-analysis/references/standard_workflow.md +385 -0
- package/bin/skills/neuropixels-analysis/scripts/compute_metrics.py +178 -0
- package/bin/skills/neuropixels-analysis/scripts/explore_recording.py +168 -0
- package/bin/skills/neuropixels-analysis/scripts/export_to_phy.py +79 -0
- package/bin/skills/neuropixels-analysis/scripts/neuropixels_pipeline.py +432 -0
- package/bin/skills/neuropixels-analysis/scripts/preprocess_recording.py +122 -0
- package/bin/skills/neuropixels-analysis/scripts/run_sorting.py +98 -0
- package/bin/skills/offer-k-dense-web/SKILL.md +21 -0
- package/bin/skills/omero-integration/SKILL.md +251 -0
- package/bin/skills/omero-integration/references/advanced.md +631 -0
- package/bin/skills/omero-integration/references/connection.md +369 -0
- package/bin/skills/omero-integration/references/data_access.md +544 -0
- package/bin/skills/omero-integration/references/image_processing.md +665 -0
- package/bin/skills/omero-integration/references/metadata.md +688 -0
- package/bin/skills/omero-integration/references/rois.md +648 -0
- package/bin/skills/omero-integration/references/scripts.md +637 -0
- package/bin/skills/omero-integration/references/tables.md +532 -0
- package/bin/skills/openalex-database/SKILL.md +494 -0
- package/bin/skills/openalex-database/references/api_guide.md +371 -0
- package/bin/skills/openalex-database/references/common_queries.md +381 -0
- package/bin/skills/openalex-database/scripts/openalex_client.py +337 -0
- package/bin/skills/openalex-database/scripts/query_helpers.py +306 -0
- package/bin/skills/opentargets-database/SKILL.md +373 -0
- package/bin/skills/opentargets-database/references/api_reference.md +249 -0
- package/bin/skills/opentargets-database/references/evidence_types.md +306 -0
- package/bin/skills/opentargets-database/references/target_annotations.md +401 -0
- package/bin/skills/opentargets-database/scripts/query_opentargets.py +403 -0
- package/bin/skills/opentrons-integration/SKILL.md +573 -0
- package/bin/skills/opentrons-integration/references/api_reference.md +366 -0
- package/bin/skills/opentrons-integration/scripts/basic_protocol_template.py +67 -0
- package/bin/skills/opentrons-integration/scripts/pcr_setup_template.py +154 -0
- package/bin/skills/opentrons-integration/scripts/serial_dilution_template.py +96 -0
- package/bin/skills/pathml/SKILL.md +166 -0
- package/bin/skills/pathml/references/data_management.md +742 -0
- package/bin/skills/pathml/references/graphs.md +653 -0
- package/bin/skills/pathml/references/image_loading.md +448 -0
- package/bin/skills/pathml/references/machine_learning.md +725 -0
- package/bin/skills/pathml/references/multiparametric.md +686 -0
- package/bin/skills/pathml/references/preprocessing.md +722 -0
- package/bin/skills/pdb-database/SKILL.md +309 -0
- package/bin/skills/pdb-database/references/api_reference.md +617 -0
- package/bin/skills/pennylane/SKILL.md +226 -0
- package/bin/skills/pennylane/references/advanced_features.md +667 -0
- package/bin/skills/pennylane/references/devices_backends.md +596 -0
- package/bin/skills/pennylane/references/getting_started.md +227 -0
- package/bin/skills/pennylane/references/optimization.md +671 -0
- package/bin/skills/pennylane/references/quantum_chemistry.md +567 -0
- package/bin/skills/pennylane/references/quantum_circuits.md +437 -0
- package/bin/skills/pennylane/references/quantum_ml.md +571 -0
- package/bin/skills/perplexity-search/SKILL.md +448 -0
- package/bin/skills/perplexity-search/assets/.env.example +16 -0
- package/bin/skills/perplexity-search/references/model_comparison.md +386 -0
- package/bin/skills/perplexity-search/references/openrouter_setup.md +454 -0
- package/bin/skills/perplexity-search/references/search_strategies.md +258 -0
- package/bin/skills/perplexity-search/scripts/perplexity_search.py +277 -0
- package/bin/skills/perplexity-search/scripts/setup_env.py +171 -0
- package/bin/skills/plotly/SKILL.md +267 -0
- package/bin/skills/plotly/references/chart-types.md +488 -0
- package/bin/skills/plotly/references/export-interactivity.md +453 -0
- package/bin/skills/plotly/references/graph-objects.md +302 -0
- package/bin/skills/plotly/references/layouts-styling.md +457 -0
- package/bin/skills/plotly/references/plotly-express.md +213 -0
- package/bin/skills/polars/SKILL.md +387 -0
- package/bin/skills/polars/references/best_practices.md +649 -0
- package/bin/skills/polars/references/core_concepts.md +378 -0
- package/bin/skills/polars/references/io_guide.md +557 -0
- package/bin/skills/polars/references/operations.md +602 -0
- package/bin/skills/polars/references/pandas_migration.md +417 -0
- package/bin/skills/polars/references/transformations.md +549 -0
- package/bin/skills/protocolsio-integration/SKILL.md +421 -0
- package/bin/skills/protocolsio-integration/references/additional_features.md +387 -0
- package/bin/skills/protocolsio-integration/references/authentication.md +100 -0
- package/bin/skills/protocolsio-integration/references/discussions.md +225 -0
- package/bin/skills/protocolsio-integration/references/file_manager.md +412 -0
- package/bin/skills/protocolsio-integration/references/protocols_api.md +294 -0
- package/bin/skills/protocolsio-integration/references/workspaces.md +293 -0
- package/bin/skills/pubchem-database/SKILL.md +574 -0
- package/bin/skills/pubchem-database/references/api_reference.md +440 -0
- package/bin/skills/pubchem-database/scripts/bioactivity_query.py +367 -0
- package/bin/skills/pubchem-database/scripts/compound_search.py +297 -0
- package/bin/skills/pubmed-database/SKILL.md +460 -0
- package/bin/skills/pubmed-database/references/api_reference.md +298 -0
- package/bin/skills/pubmed-database/references/common_queries.md +453 -0
- package/bin/skills/pubmed-database/references/search_syntax.md +436 -0
- package/bin/skills/pufferlib/SKILL.md +436 -0
- package/bin/skills/pufferlib/references/environments.md +508 -0
- package/bin/skills/pufferlib/references/integration.md +621 -0
- package/bin/skills/pufferlib/references/policies.md +653 -0
- package/bin/skills/pufferlib/references/training.md +360 -0
- package/bin/skills/pufferlib/references/vectorization.md +557 -0
- package/bin/skills/pufferlib/scripts/env_template.py +340 -0
- package/bin/skills/pufferlib/scripts/train_template.py +239 -0
- package/bin/skills/pydeseq2/SKILL.md +559 -0
- package/bin/skills/pydeseq2/references/api_reference.md +228 -0
- package/bin/skills/pydeseq2/references/workflow_guide.md +582 -0
- package/bin/skills/pydeseq2/scripts/run_deseq2_analysis.py +353 -0
- package/bin/skills/pydicom/SKILL.md +434 -0
- package/bin/skills/pydicom/references/common_tags.md +228 -0
- package/bin/skills/pydicom/references/transfer_syntaxes.md +352 -0
- package/bin/skills/pydicom/scripts/anonymize_dicom.py +137 -0
- package/bin/skills/pydicom/scripts/dicom_to_image.py +172 -0
- package/bin/skills/pydicom/scripts/extract_metadata.py +173 -0
- package/bin/skills/pyhealth/SKILL.md +491 -0
- package/bin/skills/pyhealth/references/datasets.md +178 -0
- package/bin/skills/pyhealth/references/medical_coding.md +284 -0
- package/bin/skills/pyhealth/references/models.md +594 -0
- package/bin/skills/pyhealth/references/preprocessing.md +638 -0
- package/bin/skills/pyhealth/references/tasks.md +379 -0
- package/bin/skills/pyhealth/references/training_evaluation.md +648 -0
- package/bin/skills/pylabrobot/SKILL.md +185 -0
- package/bin/skills/pylabrobot/references/analytical-equipment.md +464 -0
- package/bin/skills/pylabrobot/references/hardware-backends.md +480 -0
- package/bin/skills/pylabrobot/references/liquid-handling.md +403 -0
- package/bin/skills/pylabrobot/references/material-handling.md +620 -0
- package/bin/skills/pylabrobot/references/resources.md +489 -0
- package/bin/skills/pylabrobot/references/visualization.md +532 -0
- package/bin/skills/pymatgen/SKILL.md +691 -0
- package/bin/skills/pymatgen/references/analysis_modules.md +530 -0
- package/bin/skills/pymatgen/references/core_classes.md +318 -0
- package/bin/skills/pymatgen/references/io_formats.md +469 -0
- package/bin/skills/pymatgen/references/materials_project_api.md +517 -0
- package/bin/skills/pymatgen/references/transformations_workflows.md +591 -0
- package/bin/skills/pymatgen/scripts/phase_diagram_generator.py +233 -0
- package/bin/skills/pymatgen/scripts/structure_analyzer.py +266 -0
- package/bin/skills/pymatgen/scripts/structure_converter.py +169 -0
- package/bin/skills/pymc/SKILL.md +572 -0
- package/bin/skills/pymc/assets/hierarchical_model_template.py +333 -0
- package/bin/skills/pymc/assets/linear_regression_template.py +241 -0
- package/bin/skills/pymc/references/distributions.md +320 -0
- package/bin/skills/pymc/references/sampling_inference.md +424 -0
- package/bin/skills/pymc/references/workflows.md +526 -0
- package/bin/skills/pymc/scripts/model_comparison.py +387 -0
- package/bin/skills/pymc/scripts/model_diagnostics.py +350 -0
- package/bin/skills/pymoo/SKILL.md +571 -0
- package/bin/skills/pymoo/references/algorithms.md +180 -0
- package/bin/skills/pymoo/references/constraints_mcdm.md +417 -0
- package/bin/skills/pymoo/references/operators.md +345 -0
- package/bin/skills/pymoo/references/problems.md +265 -0
- package/bin/skills/pymoo/references/visualization.md +353 -0
- package/bin/skills/pymoo/scripts/custom_problem_example.py +181 -0
- package/bin/skills/pymoo/scripts/decision_making_example.py +161 -0
- package/bin/skills/pymoo/scripts/many_objective_example.py +72 -0
- package/bin/skills/pymoo/scripts/multi_objective_example.py +63 -0
- package/bin/skills/pymoo/scripts/single_objective_example.py +59 -0
- package/bin/skills/pyopenms/SKILL.md +217 -0
- package/bin/skills/pyopenms/references/data_structures.md +497 -0
- package/bin/skills/pyopenms/references/feature_detection.md +410 -0
- package/bin/skills/pyopenms/references/file_io.md +349 -0
- package/bin/skills/pyopenms/references/identification.md +422 -0
- package/bin/skills/pyopenms/references/metabolomics.md +482 -0
- package/bin/skills/pyopenms/references/signal_processing.md +433 -0
- package/bin/skills/pysam/SKILL.md +265 -0
- package/bin/skills/pysam/references/alignment_files.md +280 -0
- package/bin/skills/pysam/references/common_workflows.md +520 -0
- package/bin/skills/pysam/references/sequence_files.md +407 -0
- package/bin/skills/pysam/references/variant_files.md +365 -0
- package/bin/skills/pytdc/SKILL.md +460 -0
- package/bin/skills/pytdc/references/datasets.md +246 -0
- package/bin/skills/pytdc/references/oracles.md +400 -0
- package/bin/skills/pytdc/references/utilities.md +684 -0
- package/bin/skills/pytdc/scripts/benchmark_evaluation.py +327 -0
- package/bin/skills/pytdc/scripts/load_and_split_data.py +214 -0
- package/bin/skills/pytdc/scripts/molecular_generation.py +404 -0
- package/bin/skills/qiskit/SKILL.md +275 -0
- package/bin/skills/qiskit/references/algorithms.md +607 -0
- package/bin/skills/qiskit/references/backends.md +433 -0
- package/bin/skills/qiskit/references/circuits.md +197 -0
- package/bin/skills/qiskit/references/patterns.md +533 -0
- package/bin/skills/qiskit/references/primitives.md +277 -0
- package/bin/skills/qiskit/references/setup.md +99 -0
- package/bin/skills/qiskit/references/transpilation.md +286 -0
- package/bin/skills/qiskit/references/visualization.md +415 -0
- package/bin/skills/qutip/SKILL.md +318 -0
- package/bin/skills/qutip/references/advanced.md +555 -0
- package/bin/skills/qutip/references/analysis.md +523 -0
- package/bin/skills/qutip/references/core_concepts.md +293 -0
- package/bin/skills/qutip/references/time_evolution.md +348 -0
- package/bin/skills/qutip/references/visualization.md +431 -0
- package/bin/skills/rdkit/SKILL.md +780 -0
- package/bin/skills/rdkit/references/api_reference.md +432 -0
- package/bin/skills/rdkit/references/descriptors_reference.md +595 -0
- package/bin/skills/rdkit/references/smarts_patterns.md +668 -0
- package/bin/skills/rdkit/scripts/molecular_properties.py +243 -0
- package/bin/skills/rdkit/scripts/similarity_search.py +297 -0
- package/bin/skills/rdkit/scripts/substructure_filter.py +386 -0
- package/bin/skills/reactome-database/SKILL.md +278 -0
- package/bin/skills/reactome-database/references/api_reference.md +465 -0
- package/bin/skills/reactome-database/scripts/reactome_query.py +286 -0
- package/bin/skills/rowan/SKILL.md +427 -0
- package/bin/skills/rowan/references/api_reference.md +413 -0
- package/bin/skills/rowan/references/molecule_handling.md +429 -0
- package/bin/skills/rowan/references/proteins_and_organization.md +499 -0
- package/bin/skills/rowan/references/rdkit_native.md +438 -0
- package/bin/skills/rowan/references/results_interpretation.md +481 -0
- package/bin/skills/rowan/references/workflow_types.md +591 -0
- package/bin/skills/scanpy/SKILL.md +386 -0
- package/bin/skills/scanpy/assets/analysis_template.py +295 -0
- package/bin/skills/scanpy/references/api_reference.md +251 -0
- package/bin/skills/scanpy/references/plotting_guide.md +352 -0
- package/bin/skills/scanpy/references/standard_workflow.md +206 -0
- package/bin/skills/scanpy/scripts/qc_analysis.py +200 -0
- package/bin/skills/scientific-brainstorming/SKILL.md +191 -0
- package/bin/skills/scientific-brainstorming/references/brainstorming_methods.md +326 -0
- package/bin/skills/scientific-visualization/SKILL.md +779 -0
- package/bin/skills/scientific-visualization/assets/color_palettes.py +197 -0
- package/bin/skills/scientific-visualization/assets/nature.mplstyle +63 -0
- package/bin/skills/scientific-visualization/assets/presentation.mplstyle +61 -0
- package/bin/skills/scientific-visualization/assets/publication.mplstyle +68 -0
- package/bin/skills/scientific-visualization/references/color_palettes.md +348 -0
- package/bin/skills/scientific-visualization/references/journal_requirements.md +320 -0
- package/bin/skills/scientific-visualization/references/matplotlib_examples.md +620 -0
- package/bin/skills/scientific-visualization/references/publication_guidelines.md +205 -0
- package/bin/skills/scientific-visualization/scripts/figure_export.py +343 -0
- package/bin/skills/scientific-visualization/scripts/style_presets.py +416 -0
- package/bin/skills/scikit-bio/SKILL.md +437 -0
- package/bin/skills/scikit-bio/references/api_reference.md +749 -0
- package/bin/skills/scikit-learn/SKILL.md +521 -0
- package/bin/skills/scikit-learn/references/model_evaluation.md +592 -0
- package/bin/skills/scikit-learn/references/pipelines_and_composition.md +612 -0
- package/bin/skills/scikit-learn/references/preprocessing.md +606 -0
- package/bin/skills/scikit-learn/references/quick_reference.md +433 -0
- package/bin/skills/scikit-learn/references/supervised_learning.md +378 -0
- package/bin/skills/scikit-learn/references/unsupervised_learning.md +505 -0
- package/bin/skills/scikit-learn/scripts/classification_pipeline.py +257 -0
- package/bin/skills/scikit-learn/scripts/clustering_analysis.py +386 -0
- package/bin/skills/scikit-survival/SKILL.md +399 -0
- package/bin/skills/scikit-survival/references/competing-risks.md +397 -0
- package/bin/skills/scikit-survival/references/cox-models.md +182 -0
- package/bin/skills/scikit-survival/references/data-handling.md +494 -0
- package/bin/skills/scikit-survival/references/ensemble-models.md +327 -0
- package/bin/skills/scikit-survival/references/evaluation-metrics.md +378 -0
- package/bin/skills/scikit-survival/references/svm-models.md +411 -0
- package/bin/skills/scvi-tools/SKILL.md +190 -0
- package/bin/skills/scvi-tools/references/differential-expression.md +581 -0
- package/bin/skills/scvi-tools/references/models-atac-seq.md +321 -0
- package/bin/skills/scvi-tools/references/models-multimodal.md +367 -0
- package/bin/skills/scvi-tools/references/models-scrna-seq.md +330 -0
- package/bin/skills/scvi-tools/references/models-spatial.md +438 -0
- package/bin/skills/scvi-tools/references/models-specialized.md +408 -0
- package/bin/skills/scvi-tools/references/theoretical-foundations.md +438 -0
- package/bin/skills/scvi-tools/references/workflows.md +546 -0
- package/bin/skills/seaborn/SKILL.md +673 -0
- package/bin/skills/seaborn/references/examples.md +822 -0
- package/bin/skills/seaborn/references/function_reference.md +770 -0
- package/bin/skills/seaborn/references/objects_interface.md +964 -0
- package/bin/skills/shap/SKILL.md +566 -0
- package/bin/skills/shap/references/explainers.md +339 -0
- package/bin/skills/shap/references/plots.md +507 -0
- package/bin/skills/shap/references/theory.md +449 -0
- package/bin/skills/shap/references/workflows.md +605 -0
- package/bin/skills/simpy/SKILL.md +429 -0
- package/bin/skills/simpy/references/events.md +374 -0
- package/bin/skills/simpy/references/monitoring.md +475 -0
- package/bin/skills/simpy/references/process-interaction.md +424 -0
- package/bin/skills/simpy/references/real-time.md +395 -0
- package/bin/skills/simpy/references/resources.md +275 -0
- package/bin/skills/simpy/scripts/basic_simulation_template.py +193 -0
- package/bin/skills/simpy/scripts/resource_monitor.py +345 -0
- package/bin/skills/stable-baselines3/SKILL.md +299 -0
- package/bin/skills/stable-baselines3/references/algorithms.md +333 -0
- package/bin/skills/stable-baselines3/references/callbacks.md +556 -0
- package/bin/skills/stable-baselines3/references/custom_environments.md +526 -0
- package/bin/skills/stable-baselines3/references/vectorized_envs.md +568 -0
- package/bin/skills/stable-baselines3/scripts/custom_env_template.py +314 -0
- package/bin/skills/stable-baselines3/scripts/evaluate_agent.py +245 -0
- package/bin/skills/stable-baselines3/scripts/train_rl_agent.py +165 -0
- package/bin/skills/statistical-analysis/SKILL.md +632 -0
- package/bin/skills/statistical-analysis/references/assumptions_and_diagnostics.md +369 -0
- package/bin/skills/statistical-analysis/references/bayesian_statistics.md +661 -0
- package/bin/skills/statistical-analysis/references/effect_sizes_and_power.md +581 -0
- package/bin/skills/statistical-analysis/references/reporting_standards.md +469 -0
- package/bin/skills/statistical-analysis/references/test_selection_guide.md +129 -0
- package/bin/skills/statistical-analysis/scripts/assumption_checks.py +539 -0
- package/bin/skills/statsmodels/SKILL.md +614 -0
- package/bin/skills/statsmodels/references/discrete_choice.md +669 -0
- package/bin/skills/statsmodels/references/glm.md +619 -0
- package/bin/skills/statsmodels/references/linear_models.md +447 -0
- package/bin/skills/statsmodels/references/stats_diagnostics.md +859 -0
- package/bin/skills/statsmodels/references/time_series.md +716 -0
- package/bin/skills/string-database/SKILL.md +534 -0
- package/bin/skills/string-database/references/string_reference.md +455 -0
- package/bin/skills/string-database/scripts/string_api.py +369 -0
- package/bin/skills/sympy/SKILL.md +500 -0
- package/bin/skills/sympy/references/advanced-topics.md +635 -0
- package/bin/skills/sympy/references/code-generation-printing.md +599 -0
- package/bin/skills/sympy/references/core-capabilities.md +348 -0
- package/bin/skills/sympy/references/matrices-linear-algebra.md +526 -0
- package/bin/skills/sympy/references/physics-mechanics.md +592 -0
- package/bin/skills/torch_geometric/SKILL.md +676 -0
- package/bin/skills/torch_geometric/references/datasets_reference.md +574 -0
- package/bin/skills/torch_geometric/references/layers_reference.md +485 -0
- package/bin/skills/torch_geometric/references/transforms_reference.md +679 -0
- package/bin/skills/torch_geometric/scripts/benchmark_model.py +309 -0
- package/bin/skills/torch_geometric/scripts/create_gnn_template.py +529 -0
- package/bin/skills/torch_geometric/scripts/visualize_graph.py +313 -0
- package/bin/skills/torchdrug/SKILL.md +450 -0
- package/bin/skills/torchdrug/references/core_concepts.md +565 -0
- package/bin/skills/torchdrug/references/datasets.md +380 -0
- package/bin/skills/torchdrug/references/knowledge_graphs.md +320 -0
- package/bin/skills/torchdrug/references/models_architectures.md +541 -0
- package/bin/skills/torchdrug/references/molecular_generation.md +352 -0
- package/bin/skills/torchdrug/references/molecular_property_prediction.md +169 -0
- package/bin/skills/torchdrug/references/protein_modeling.md +272 -0
- package/bin/skills/torchdrug/references/retrosynthesis.md +436 -0
- package/bin/skills/transformers/SKILL.md +164 -0
- package/bin/skills/transformers/references/generation.md +467 -0
- package/bin/skills/transformers/references/models.md +361 -0
- package/bin/skills/transformers/references/pipelines.md +335 -0
- package/bin/skills/transformers/references/tokenizers.md +447 -0
- package/bin/skills/transformers/references/training.md +500 -0
- package/bin/skills/umap-learn/SKILL.md +479 -0
- package/bin/skills/umap-learn/references/api_reference.md +532 -0
- package/bin/skills/uniprot-database/SKILL.md +195 -0
- package/bin/skills/uniprot-database/references/api_examples.md +413 -0
- package/bin/skills/uniprot-database/references/api_fields.md +275 -0
- package/bin/skills/uniprot-database/references/id_mapping_databases.md +285 -0
- package/bin/skills/uniprot-database/references/query_syntax.md +256 -0
- package/bin/skills/uniprot-database/scripts/uniprot_client.py +341 -0
- package/bin/skills/uspto-database/SKILL.md +607 -0
- package/bin/skills/uspto-database/references/additional_apis.md +394 -0
- package/bin/skills/uspto-database/references/patentsearch_api.md +266 -0
- package/bin/skills/uspto-database/references/peds_api.md +212 -0
- package/bin/skills/uspto-database/references/trademark_api.md +358 -0
- package/bin/skills/uspto-database/scripts/patent_search.py +290 -0
- package/bin/skills/uspto-database/scripts/peds_client.py +285 -0
- package/bin/skills/uspto-database/scripts/trademark_client.py +311 -0
- package/bin/skills/vaex/SKILL.md +182 -0
- package/bin/skills/vaex/references/core_dataframes.md +367 -0
- package/bin/skills/vaex/references/data_processing.md +555 -0
- package/bin/skills/vaex/references/io_operations.md +703 -0
- package/bin/skills/vaex/references/machine_learning.md +728 -0
- package/bin/skills/vaex/references/performance.md +571 -0
- package/bin/skills/vaex/references/visualization.md +613 -0
- package/bin/skills/zarr-python/SKILL.md +779 -0
- package/bin/skills/zarr-python/references/api_reference.md +515 -0
- package/bin/skills/zinc-database/SKILL.md +404 -0
- package/bin/skills/zinc-database/references/api_reference.md +692 -0
- package/bin/synsc +0 -0
- package/package.json +1 -1
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
# LabArchives API Reference
|
|
2
|
+
|
|
3
|
+
## API Structure
|
|
4
|
+
|
|
5
|
+
All LabArchives API calls follow this URL pattern:
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
https://<base_url>/api/<api_class>/<api_method>?<authentication_parameters>&<method_parameters>
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Regional API Endpoints
|
|
12
|
+
|
|
13
|
+
| Region | Base URL |
|
|
14
|
+
|--------|----------|
|
|
15
|
+
| US/International | `https://api.labarchives.com/api` |
|
|
16
|
+
| Australia | `https://auapi.labarchives.com/api` |
|
|
17
|
+
| UK | `https://ukapi.labarchives.com/api` |
|
|
18
|
+
|
|
19
|
+
## Authentication
|
|
20
|
+
|
|
21
|
+
All API calls require authentication parameters:
|
|
22
|
+
|
|
23
|
+
- `access_key_id`: Provided by LabArchives administrator
|
|
24
|
+
- `access_password`: Provided by LabArchives administrator
|
|
25
|
+
- Additional user-specific credentials may be required for certain operations
|
|
26
|
+
|
|
27
|
+
## API Classes and Methods
|
|
28
|
+
|
|
29
|
+
### Users API Class
|
|
30
|
+
|
|
31
|
+
#### `users/user_access_info`
|
|
32
|
+
|
|
33
|
+
Retrieve user ID and notebook access information.
|
|
34
|
+
|
|
35
|
+
**Parameters:**
|
|
36
|
+
- `login_or_email` (required): User's email address or login username
|
|
37
|
+
- `password` (required): User's external applications password (not regular login password)
|
|
38
|
+
|
|
39
|
+
**Returns:** XML or JSON response containing:
|
|
40
|
+
- User ID (uid)
|
|
41
|
+
- List of accessible notebooks with IDs (nbid)
|
|
42
|
+
- Account status and permissions
|
|
43
|
+
|
|
44
|
+
**Example:**
|
|
45
|
+
```python
|
|
46
|
+
params = {
|
|
47
|
+
'login_or_email': 'researcher@university.edu',
|
|
48
|
+
'password': 'external_app_password'
|
|
49
|
+
}
|
|
50
|
+
response = client.make_call('users', 'user_access_info', params=params)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
#### `users/user_info_via_id`
|
|
54
|
+
|
|
55
|
+
Retrieve detailed user information by user ID.
|
|
56
|
+
|
|
57
|
+
**Parameters:**
|
|
58
|
+
- `uid` (required): User ID obtained from user_access_info
|
|
59
|
+
|
|
60
|
+
**Returns:** User profile information including:
|
|
61
|
+
- Name and email
|
|
62
|
+
- Account creation date
|
|
63
|
+
- Institution affiliation
|
|
64
|
+
- Role and permissions
|
|
65
|
+
- Storage quota and usage
|
|
66
|
+
|
|
67
|
+
**Example:**
|
|
68
|
+
```python
|
|
69
|
+
params = {'uid': '12345'}
|
|
70
|
+
response = client.make_call('users', 'user_info_via_id', params=params)
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Notebooks API Class
|
|
74
|
+
|
|
75
|
+
#### `notebooks/notebook_backup`
|
|
76
|
+
|
|
77
|
+
Download complete notebook data including entries, attachments, and metadata.
|
|
78
|
+
|
|
79
|
+
**Parameters:**
|
|
80
|
+
- `uid` (required): User ID
|
|
81
|
+
- `nbid` (required): Notebook ID
|
|
82
|
+
- `json` (optional, default: false): Return data in JSON format instead of XML
|
|
83
|
+
- `no_attachments` (optional, default: false): Exclude attachments from backup
|
|
84
|
+
|
|
85
|
+
**Returns:**
|
|
86
|
+
- When `no_attachments=false`: 7z compressed archive containing all notebook data
|
|
87
|
+
- When `no_attachments=true`: XML or JSON structured data with entry content
|
|
88
|
+
|
|
89
|
+
**File format:**
|
|
90
|
+
The returned archive includes:
|
|
91
|
+
- Entry text content in HTML format
|
|
92
|
+
- File attachments in original formats
|
|
93
|
+
- Metadata XML files with timestamps, authors, and version history
|
|
94
|
+
- Comment threads and annotations
|
|
95
|
+
|
|
96
|
+
**Example:**
|
|
97
|
+
```python
|
|
98
|
+
# Full backup with attachments
|
|
99
|
+
params = {
|
|
100
|
+
'uid': '12345',
|
|
101
|
+
'nbid': '67890',
|
|
102
|
+
'json': 'false',
|
|
103
|
+
'no_attachments': 'false'
|
|
104
|
+
}
|
|
105
|
+
response = client.make_call('notebooks', 'notebook_backup', params=params)
|
|
106
|
+
|
|
107
|
+
# Write to file
|
|
108
|
+
with open('notebook_backup.7z', 'wb') as f:
|
|
109
|
+
f.write(response.content)
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
```python
|
|
113
|
+
# Metadata only backup (JSON format, no attachments)
|
|
114
|
+
params = {
|
|
115
|
+
'uid': '12345',
|
|
116
|
+
'nbid': '67890',
|
|
117
|
+
'json': 'true',
|
|
118
|
+
'no_attachments': 'true'
|
|
119
|
+
}
|
|
120
|
+
response = client.make_call('notebooks', 'notebook_backup', params=params)
|
|
121
|
+
import json
|
|
122
|
+
notebook_data = json.loads(response.content)
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
#### `notebooks/list_notebooks`
|
|
126
|
+
|
|
127
|
+
Retrieve all notebooks accessible to a user (method name may vary by API version).
|
|
128
|
+
|
|
129
|
+
**Parameters:**
|
|
130
|
+
- `uid` (required): User ID
|
|
131
|
+
|
|
132
|
+
**Returns:** List of notebooks with:
|
|
133
|
+
- Notebook ID (nbid)
|
|
134
|
+
- Notebook name
|
|
135
|
+
- Creation and modification dates
|
|
136
|
+
- Access level (owner, editor, viewer)
|
|
137
|
+
- Member count
|
|
138
|
+
|
|
139
|
+
### Entries API Class
|
|
140
|
+
|
|
141
|
+
#### `entries/create_entry`
|
|
142
|
+
|
|
143
|
+
Create a new entry in a notebook.
|
|
144
|
+
|
|
145
|
+
**Parameters:**
|
|
146
|
+
- `uid` (required): User ID
|
|
147
|
+
- `nbid` (required): Notebook ID
|
|
148
|
+
- `title` (required): Entry title
|
|
149
|
+
- `content` (optional): HTML-formatted entry content
|
|
150
|
+
- `date` (optional): Entry date (defaults to current date)
|
|
151
|
+
|
|
152
|
+
**Returns:** Entry ID and creation confirmation
|
|
153
|
+
|
|
154
|
+
**Example:**
|
|
155
|
+
```python
|
|
156
|
+
params = {
|
|
157
|
+
'uid': '12345',
|
|
158
|
+
'nbid': '67890',
|
|
159
|
+
'title': 'Experiment 2025-10-20',
|
|
160
|
+
'content': '<p>Conducted PCR amplification of target gene...</p>',
|
|
161
|
+
'date': '2025-10-20'
|
|
162
|
+
}
|
|
163
|
+
response = client.make_call('entries', 'create_entry', params=params)
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
#### `entries/create_comment`
|
|
167
|
+
|
|
168
|
+
Add a comment to an existing entry.
|
|
169
|
+
|
|
170
|
+
**Parameters:**
|
|
171
|
+
- `uid` (required): User ID
|
|
172
|
+
- `nbid` (required): Notebook ID
|
|
173
|
+
- `entry_id` (required): Target entry ID
|
|
174
|
+
- `comment` (required): Comment text (HTML supported)
|
|
175
|
+
|
|
176
|
+
**Returns:** Comment ID and timestamp
|
|
177
|
+
|
|
178
|
+
#### `entries/create_part`
|
|
179
|
+
|
|
180
|
+
Add a component/part to an entry (e.g., text section, table, image).
|
|
181
|
+
|
|
182
|
+
**Parameters:**
|
|
183
|
+
- `uid` (required): User ID
|
|
184
|
+
- `nbid` (required): Notebook ID
|
|
185
|
+
- `entry_id` (required): Target entry ID
|
|
186
|
+
- `part_type` (required): Type of part (text, table, image, etc.)
|
|
187
|
+
- `content` (required): Part content in appropriate format
|
|
188
|
+
|
|
189
|
+
**Returns:** Part ID and creation confirmation
|
|
190
|
+
|
|
191
|
+
#### `entries/upload_attachment`
|
|
192
|
+
|
|
193
|
+
Upload a file attachment to an entry.
|
|
194
|
+
|
|
195
|
+
**Parameters:**
|
|
196
|
+
- `uid` (required): User ID
|
|
197
|
+
- `nbid` (required): Notebook ID
|
|
198
|
+
- `entry_id` (required): Target entry ID
|
|
199
|
+
- `file` (required): File data (multipart/form-data)
|
|
200
|
+
- `filename` (required): Original filename
|
|
201
|
+
|
|
202
|
+
**Returns:** Attachment ID and upload confirmation
|
|
203
|
+
|
|
204
|
+
**Example using requests library:**
|
|
205
|
+
```python
|
|
206
|
+
import requests
|
|
207
|
+
|
|
208
|
+
url = f'{api_url}/entries/upload_attachment'
|
|
209
|
+
files = {'file': open('/path/to/data.csv', 'rb')}
|
|
210
|
+
params = {
|
|
211
|
+
'uid': '12345',
|
|
212
|
+
'nbid': '67890',
|
|
213
|
+
'entry_id': '11111',
|
|
214
|
+
'filename': 'data.csv',
|
|
215
|
+
'access_key_id': access_key_id,
|
|
216
|
+
'access_password': access_password
|
|
217
|
+
}
|
|
218
|
+
response = requests.post(url, files=files, data=params)
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### Site Reports API Class
|
|
222
|
+
|
|
223
|
+
Enterprise-only features for institutional reporting and analytics.
|
|
224
|
+
|
|
225
|
+
#### `site_reports/detailed_usage_report`
|
|
226
|
+
|
|
227
|
+
Generate comprehensive usage statistics for the institution.
|
|
228
|
+
|
|
229
|
+
**Parameters:**
|
|
230
|
+
- `start_date` (required): Report start date (YYYY-MM-DD)
|
|
231
|
+
- `end_date` (required): Report end date (YYYY-MM-DD)
|
|
232
|
+
- `format` (optional): Output format (csv, json, xml)
|
|
233
|
+
|
|
234
|
+
**Returns:** Usage metrics including:
|
|
235
|
+
- User login frequency
|
|
236
|
+
- Entry creation counts
|
|
237
|
+
- Storage utilization
|
|
238
|
+
- Collaboration statistics
|
|
239
|
+
- Time-based activity patterns
|
|
240
|
+
|
|
241
|
+
#### `site_reports/detailed_notebook_report`
|
|
242
|
+
|
|
243
|
+
Generate detailed report on all notebooks in the institution.
|
|
244
|
+
|
|
245
|
+
**Parameters:**
|
|
246
|
+
- `include_settings` (optional, default: false): Include notebook settings
|
|
247
|
+
- `include_members` (optional, default: false): Include member lists
|
|
248
|
+
|
|
249
|
+
**Returns:** Notebook inventory with:
|
|
250
|
+
- Notebook names and IDs
|
|
251
|
+
- Owner information
|
|
252
|
+
- Creation and last modified dates
|
|
253
|
+
- Member count and access levels
|
|
254
|
+
- Storage size
|
|
255
|
+
- Settings (if requested)
|
|
256
|
+
|
|
257
|
+
#### `site_reports/pdf_offline_generation_report`
|
|
258
|
+
|
|
259
|
+
Track PDF exports for compliance and auditing purposes.
|
|
260
|
+
|
|
261
|
+
**Parameters:**
|
|
262
|
+
- `start_date` (required): Report start date
|
|
263
|
+
- `end_date` (required): Report end date
|
|
264
|
+
|
|
265
|
+
**Returns:** Export activity log with:
|
|
266
|
+
- User who generated PDF
|
|
267
|
+
- Notebook and entry exported
|
|
268
|
+
- Export timestamp
|
|
269
|
+
- IP address
|
|
270
|
+
|
|
271
|
+
### Utilities API Class
|
|
272
|
+
|
|
273
|
+
#### `utilities/institutional_login_urls`
|
|
274
|
+
|
|
275
|
+
Retrieve institutional login URLs for SSO integration.
|
|
276
|
+
|
|
277
|
+
**Parameters:** None required (uses access key authentication)
|
|
278
|
+
|
|
279
|
+
**Returns:** List of institutional login endpoints
|
|
280
|
+
|
|
281
|
+
## Response Formats
|
|
282
|
+
|
|
283
|
+
### XML Response Example
|
|
284
|
+
|
|
285
|
+
```xml
|
|
286
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
287
|
+
<response>
|
|
288
|
+
<uid>12345</uid>
|
|
289
|
+
<email>researcher@university.edu</email>
|
|
290
|
+
<notebooks>
|
|
291
|
+
<notebook>
|
|
292
|
+
<nbid>67890</nbid>
|
|
293
|
+
<name>Lab Notebook 2025</name>
|
|
294
|
+
<role>owner</role>
|
|
295
|
+
</notebook>
|
|
296
|
+
</notebooks>
|
|
297
|
+
</response>
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
### JSON Response Example
|
|
301
|
+
|
|
302
|
+
```json
|
|
303
|
+
{
|
|
304
|
+
"uid": "12345",
|
|
305
|
+
"email": "researcher@university.edu",
|
|
306
|
+
"notebooks": [
|
|
307
|
+
{
|
|
308
|
+
"nbid": "67890",
|
|
309
|
+
"name": "Lab Notebook 2025",
|
|
310
|
+
"role": "owner"
|
|
311
|
+
}
|
|
312
|
+
]
|
|
313
|
+
}
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
## Error Codes
|
|
317
|
+
|
|
318
|
+
| Code | Message | Meaning | Solution |
|
|
319
|
+
|------|---------|---------|----------|
|
|
320
|
+
| 401 | Unauthorized | Invalid credentials | Verify access_key_id and access_password |
|
|
321
|
+
| 403 | Forbidden | Insufficient permissions | Check user role and notebook access |
|
|
322
|
+
| 404 | Not Found | Resource doesn't exist | Verify uid, nbid, or entry_id are correct |
|
|
323
|
+
| 429 | Too Many Requests | Rate limit exceeded | Implement exponential backoff |
|
|
324
|
+
| 500 | Internal Server Error | Server-side issue | Retry request or contact support |
|
|
325
|
+
|
|
326
|
+
## Rate Limiting
|
|
327
|
+
|
|
328
|
+
LabArchives implements rate limiting to ensure service stability:
|
|
329
|
+
|
|
330
|
+
- **Recommended:** Maximum 60 requests per minute per API key
|
|
331
|
+
- **Burst allowance:** Short bursts up to 100 requests may be tolerated
|
|
332
|
+
- **Best practice:** Implement 1-2 second delays between requests for batch operations
|
|
333
|
+
|
|
334
|
+
## API Versioning
|
|
335
|
+
|
|
336
|
+
LabArchives API is backward compatible. New methods are added without breaking existing implementations. Monitor LabArchives announcements for new capabilities.
|
|
337
|
+
|
|
338
|
+
## Support and Documentation
|
|
339
|
+
|
|
340
|
+
For API access requests, technical questions, or feature requests:
|
|
341
|
+
- Email: support@labarchives.com
|
|
342
|
+
- Include your institution name and specific use case for faster assistance
|
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
# LabArchives Authentication Guide
|
|
2
|
+
|
|
3
|
+
## Prerequisites
|
|
4
|
+
|
|
5
|
+
### 1. Enterprise License
|
|
6
|
+
|
|
7
|
+
API access requires an Enterprise LabArchives license. Contact your LabArchives administrator or sales@labarchives.com to:
|
|
8
|
+
- Verify your institution has Enterprise access
|
|
9
|
+
- Request API access enablement for your account
|
|
10
|
+
- Obtain institutional API credentials
|
|
11
|
+
|
|
12
|
+
### 2. API Credentials
|
|
13
|
+
|
|
14
|
+
You need two sets of credentials:
|
|
15
|
+
|
|
16
|
+
#### Institutional API Credentials (from LabArchives administrator)
|
|
17
|
+
- **Access Key ID**: Institution-level identifier
|
|
18
|
+
- **Access Password**: Institution-level secret
|
|
19
|
+
|
|
20
|
+
#### User Authentication Credentials (self-configured)
|
|
21
|
+
- **Email**: Your LabArchives account email (e.g., researcher@university.edu)
|
|
22
|
+
- **External Applications Password**: Set in your LabArchives account settings
|
|
23
|
+
|
|
24
|
+
## Setting Up External Applications Password
|
|
25
|
+
|
|
26
|
+
The external applications password is different from your regular LabArchives login password. It provides API access without exposing your primary credentials.
|
|
27
|
+
|
|
28
|
+
**Steps to create external applications password:**
|
|
29
|
+
|
|
30
|
+
1. Log into your LabArchives account at mynotebook.labarchives.com (or your institutional URL)
|
|
31
|
+
2. Navigate to **Account Settings** (click your name in top-right corner)
|
|
32
|
+
3. Select **Security & Privacy** tab
|
|
33
|
+
4. Find **External Applications** section
|
|
34
|
+
5. Click **Generate New Password** or **Reset Password**
|
|
35
|
+
6. Copy and securely store this password (you won't see it again)
|
|
36
|
+
7. Use this password for all API authentication
|
|
37
|
+
|
|
38
|
+
**Security note:** Treat this password like an API token. If compromised, regenerate it immediately from account settings.
|
|
39
|
+
|
|
40
|
+
## Configuration File Setup
|
|
41
|
+
|
|
42
|
+
Create a `config.yaml` file to store your credentials securely:
|
|
43
|
+
|
|
44
|
+
```yaml
|
|
45
|
+
# Regional API endpoint
|
|
46
|
+
api_url: https://api.labarchives.com/api
|
|
47
|
+
|
|
48
|
+
# Institutional credentials (from administrator)
|
|
49
|
+
access_key_id: YOUR_ACCESS_KEY_ID_HERE
|
|
50
|
+
access_password: YOUR_ACCESS_PASSWORD_HERE
|
|
51
|
+
|
|
52
|
+
# User credentials (for user-specific operations)
|
|
53
|
+
user_email: researcher@university.edu
|
|
54
|
+
user_external_password: YOUR_EXTERNAL_APP_PASSWORD_HERE
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**Alternative: Environment variables**
|
|
58
|
+
|
|
59
|
+
For enhanced security, use environment variables instead of config file:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
export LABARCHIVES_API_URL="https://api.labarchives.com/api"
|
|
63
|
+
export LABARCHIVES_ACCESS_KEY_ID="your_key_id"
|
|
64
|
+
export LABARCHIVES_ACCESS_PASSWORD="your_access_password"
|
|
65
|
+
export LABARCHIVES_USER_EMAIL="researcher@university.edu"
|
|
66
|
+
export LABARCHIVES_USER_PASSWORD="your_external_app_password"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Regional Endpoints
|
|
70
|
+
|
|
71
|
+
Select the correct regional API endpoint for your institution:
|
|
72
|
+
|
|
73
|
+
| Region | Endpoint | Use if your LabArchives URL is |
|
|
74
|
+
|--------|----------|--------------------------------|
|
|
75
|
+
| US/International | `https://api.labarchives.com/api` | `mynotebook.labarchives.com` |
|
|
76
|
+
| Australia | `https://auapi.labarchives.com/api` | `aunotebook.labarchives.com` |
|
|
77
|
+
| UK | `https://ukapi.labarchives.com/api` | `uknotebook.labarchives.com` |
|
|
78
|
+
|
|
79
|
+
Using the wrong regional endpoint will result in authentication failures even with correct credentials.
|
|
80
|
+
|
|
81
|
+
## Authentication Flow
|
|
82
|
+
|
|
83
|
+
### Option 1: Using labarchives-py Python Wrapper
|
|
84
|
+
|
|
85
|
+
```python
|
|
86
|
+
from labarchivespy.client import Client
|
|
87
|
+
import yaml
|
|
88
|
+
|
|
89
|
+
# Load configuration
|
|
90
|
+
with open('config.yaml', 'r') as f:
|
|
91
|
+
config = yaml.safe_load(f)
|
|
92
|
+
|
|
93
|
+
# Initialize client with institutional credentials
|
|
94
|
+
client = Client(
|
|
95
|
+
config['api_url'],
|
|
96
|
+
config['access_key_id'],
|
|
97
|
+
config['access_password']
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
# Authenticate as specific user to get UID
|
|
101
|
+
login_params = {
|
|
102
|
+
'login_or_email': config['user_email'],
|
|
103
|
+
'password': config['user_external_password']
|
|
104
|
+
}
|
|
105
|
+
response = client.make_call('users', 'user_access_info', params=login_params)
|
|
106
|
+
|
|
107
|
+
# Parse response to extract UID
|
|
108
|
+
import xml.etree.ElementTree as ET
|
|
109
|
+
uid = ET.fromstring(response.content)[0].text
|
|
110
|
+
print(f"Authenticated as user ID: {uid}")
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Option 2: Direct HTTP Requests with Python requests
|
|
114
|
+
|
|
115
|
+
```python
|
|
116
|
+
import requests
|
|
117
|
+
import yaml
|
|
118
|
+
|
|
119
|
+
# Load configuration
|
|
120
|
+
with open('config.yaml', 'r') as f:
|
|
121
|
+
config = yaml.safe_load(f)
|
|
122
|
+
|
|
123
|
+
# Construct API call
|
|
124
|
+
url = f"{config['api_url']}/users/user_access_info"
|
|
125
|
+
params = {
|
|
126
|
+
'access_key_id': config['access_key_id'],
|
|
127
|
+
'access_password': config['access_password'],
|
|
128
|
+
'login_or_email': config['user_email'],
|
|
129
|
+
'password': config['user_external_password']
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
# Make authenticated request
|
|
133
|
+
response = requests.get(url, params=params)
|
|
134
|
+
|
|
135
|
+
if response.status_code == 200:
|
|
136
|
+
print("Authentication successful!")
|
|
137
|
+
print(response.content.decode('utf-8'))
|
|
138
|
+
else:
|
|
139
|
+
print(f"Authentication failed: {response.status_code}")
|
|
140
|
+
print(response.content.decode('utf-8'))
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Option 3: Using R
|
|
144
|
+
|
|
145
|
+
```r
|
|
146
|
+
library(httr)
|
|
147
|
+
library(xml2)
|
|
148
|
+
|
|
149
|
+
# Configuration
|
|
150
|
+
api_url <- "https://api.labarchives.com/api"
|
|
151
|
+
access_key_id <- "YOUR_ACCESS_KEY_ID"
|
|
152
|
+
access_password <- "YOUR_ACCESS_PASSWORD"
|
|
153
|
+
user_email <- "researcher@university.edu"
|
|
154
|
+
user_external_password <- "YOUR_EXTERNAL_APP_PASSWORD"
|
|
155
|
+
|
|
156
|
+
# Make authenticated request
|
|
157
|
+
response <- GET(
|
|
158
|
+
paste0(api_url, "/users/user_access_info"),
|
|
159
|
+
query = list(
|
|
160
|
+
access_key_id = access_key_id,
|
|
161
|
+
access_password = access_password,
|
|
162
|
+
login_or_email = user_email,
|
|
163
|
+
password = user_external_password
|
|
164
|
+
)
|
|
165
|
+
)
|
|
166
|
+
|
|
167
|
+
# Parse response
|
|
168
|
+
if (status_code(response) == 200) {
|
|
169
|
+
content <- content(response, as = "text", encoding = "UTF-8")
|
|
170
|
+
xml_data <- read_xml(content)
|
|
171
|
+
uid <- xml_text(xml_find_first(xml_data, "//uid"))
|
|
172
|
+
print(paste("Authenticated as user ID:", uid))
|
|
173
|
+
} else {
|
|
174
|
+
print(paste("Authentication failed:", status_code(response)))
|
|
175
|
+
}
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
## OAuth Authentication (New Integrations)
|
|
179
|
+
|
|
180
|
+
LabArchives now uses OAuth 2.0 for new third-party integrations. Legacy API key authentication (described above) continues to work for direct API access.
|
|
181
|
+
|
|
182
|
+
**OAuth flow (for app developers):**
|
|
183
|
+
|
|
184
|
+
1. Register your application with LabArchives
|
|
185
|
+
2. Obtain client ID and client secret
|
|
186
|
+
3. Implement OAuth 2.0 authorization code flow
|
|
187
|
+
4. Exchange authorization code for access token
|
|
188
|
+
5. Use access token for API requests
|
|
189
|
+
|
|
190
|
+
Contact LabArchives developer support for OAuth integration documentation.
|
|
191
|
+
|
|
192
|
+
## Troubleshooting Authentication Issues
|
|
193
|
+
|
|
194
|
+
### 401 Unauthorized Error
|
|
195
|
+
|
|
196
|
+
**Possible causes and solutions:**
|
|
197
|
+
|
|
198
|
+
1. **Incorrect access_key_id or access_password**
|
|
199
|
+
- Verify credentials with your LabArchives administrator
|
|
200
|
+
- Check for typos or extra whitespace in config file
|
|
201
|
+
|
|
202
|
+
2. **Wrong external applications password**
|
|
203
|
+
- Confirm you're using the external applications password, not your regular login password
|
|
204
|
+
- Regenerate external applications password in account settings
|
|
205
|
+
|
|
206
|
+
3. **API access not enabled**
|
|
207
|
+
- Contact your LabArchives administrator to enable API access for your account
|
|
208
|
+
- Verify your institution has Enterprise license
|
|
209
|
+
|
|
210
|
+
4. **Wrong regional endpoint**
|
|
211
|
+
- Confirm your api_url matches your institution's LabArchives instance
|
|
212
|
+
- Check if you're using .com, .auapi, or .ukapi domain
|
|
213
|
+
|
|
214
|
+
### 403 Forbidden Error
|
|
215
|
+
|
|
216
|
+
**Possible causes and solutions:**
|
|
217
|
+
|
|
218
|
+
1. **Insufficient permissions**
|
|
219
|
+
- Verify your account role has necessary permissions
|
|
220
|
+
- Check if you have access to the specific notebook (nbid)
|
|
221
|
+
|
|
222
|
+
2. **Account suspended or expired**
|
|
223
|
+
- Contact your LabArchives administrator to check account status
|
|
224
|
+
|
|
225
|
+
### Network and Connection Issues
|
|
226
|
+
|
|
227
|
+
**Firewall/proxy configuration:**
|
|
228
|
+
|
|
229
|
+
If your institution uses a firewall or proxy:
|
|
230
|
+
|
|
231
|
+
```python
|
|
232
|
+
import requests
|
|
233
|
+
|
|
234
|
+
# Configure proxy
|
|
235
|
+
proxies = {
|
|
236
|
+
'http': 'http://proxy.university.edu:8080',
|
|
237
|
+
'https': 'http://proxy.university.edu:8080'
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
# Make request with proxy
|
|
241
|
+
response = requests.get(url, params=params, proxies=proxies)
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
**SSL certificate verification:**
|
|
245
|
+
|
|
246
|
+
For self-signed certificates (not recommended for production):
|
|
247
|
+
|
|
248
|
+
```python
|
|
249
|
+
# Disable SSL verification (use only for testing)
|
|
250
|
+
response = requests.get(url, params=params, verify=False)
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
## Security Best Practices
|
|
254
|
+
|
|
255
|
+
1. **Never commit credentials to version control**
|
|
256
|
+
- Add `config.yaml` to `.gitignore`
|
|
257
|
+
- Use environment variables or secret management systems
|
|
258
|
+
|
|
259
|
+
2. **Rotate credentials regularly**
|
|
260
|
+
- Change external applications password every 90 days
|
|
261
|
+
- Regenerate API keys annually
|
|
262
|
+
|
|
263
|
+
3. **Use least privilege principle**
|
|
264
|
+
- Request only necessary API permissions
|
|
265
|
+
- Create separate API credentials for different applications
|
|
266
|
+
|
|
267
|
+
4. **Monitor API usage**
|
|
268
|
+
- Regularly review API access logs
|
|
269
|
+
- Set up alerts for unusual activity
|
|
270
|
+
|
|
271
|
+
5. **Secure storage**
|
|
272
|
+
- Encrypt configuration files at rest
|
|
273
|
+
- Use system keychain or secret management tools (e.g., AWS Secrets Manager, Azure Key Vault)
|
|
274
|
+
|
|
275
|
+
## Testing Authentication
|
|
276
|
+
|
|
277
|
+
Use this script to verify your authentication setup:
|
|
278
|
+
|
|
279
|
+
```python
|
|
280
|
+
#!/usr/bin/env python3
|
|
281
|
+
"""Test LabArchives API authentication"""
|
|
282
|
+
|
|
283
|
+
from labarchivespy.client import Client
|
|
284
|
+
import yaml
|
|
285
|
+
import sys
|
|
286
|
+
|
|
287
|
+
def test_authentication():
|
|
288
|
+
try:
|
|
289
|
+
# Load config
|
|
290
|
+
with open('config.yaml', 'r') as f:
|
|
291
|
+
config = yaml.safe_load(f)
|
|
292
|
+
|
|
293
|
+
print("Configuration loaded successfully")
|
|
294
|
+
print(f"API URL: {config['api_url']}")
|
|
295
|
+
|
|
296
|
+
# Initialize client
|
|
297
|
+
client = Client(
|
|
298
|
+
config['api_url'],
|
|
299
|
+
config['access_key_id'],
|
|
300
|
+
config['access_password']
|
|
301
|
+
)
|
|
302
|
+
print("Client initialized")
|
|
303
|
+
|
|
304
|
+
# Test authentication
|
|
305
|
+
login_params = {
|
|
306
|
+
'login_or_email': config['user_email'],
|
|
307
|
+
'password': config['user_external_password']
|
|
308
|
+
}
|
|
309
|
+
response = client.make_call('users', 'user_access_info', params=login_params)
|
|
310
|
+
|
|
311
|
+
if response.status_code == 200:
|
|
312
|
+
print("✅ Authentication successful!")
|
|
313
|
+
|
|
314
|
+
# Extract UID
|
|
315
|
+
import xml.etree.ElementTree as ET
|
|
316
|
+
uid = ET.fromstring(response.content)[0].text
|
|
317
|
+
print(f"User ID: {uid}")
|
|
318
|
+
|
|
319
|
+
# Get user info
|
|
320
|
+
user_response = client.make_call('users', 'user_info_via_id', params={'uid': uid})
|
|
321
|
+
print("✅ User information retrieved successfully")
|
|
322
|
+
|
|
323
|
+
return True
|
|
324
|
+
else:
|
|
325
|
+
print(f"❌ Authentication failed: {response.status_code}")
|
|
326
|
+
print(response.content.decode('utf-8'))
|
|
327
|
+
return False
|
|
328
|
+
|
|
329
|
+
except Exception as e:
|
|
330
|
+
print(f"❌ Error: {str(e)}")
|
|
331
|
+
import traceback
|
|
332
|
+
traceback.print_exc()
|
|
333
|
+
return False
|
|
334
|
+
|
|
335
|
+
if __name__ == '__main__':
|
|
336
|
+
success = test_authentication()
|
|
337
|
+
sys.exit(0 if success else 1)
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
Run this script to confirm everything is configured correctly:
|
|
341
|
+
|
|
342
|
+
```bash
|
|
343
|
+
python3 test_auth.py
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
## Getting Help
|
|
347
|
+
|
|
348
|
+
If authentication continues to fail after troubleshooting:
|
|
349
|
+
|
|
350
|
+
1. Contact your institutional LabArchives administrator
|
|
351
|
+
2. Email LabArchives support: support@labarchives.com
|
|
352
|
+
3. Include:
|
|
353
|
+
- Your institution name
|
|
354
|
+
- Your LabArchives account email
|
|
355
|
+
- Error messages and response codes
|
|
356
|
+
- Regional endpoint you're using
|
|
357
|
+
- Programming language and library versions
|