lamindb 0.75.0__tar.gz → 0.75.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lamindb-0.75.0 → lamindb-0.75.1}/PKG-INFO +4 -4
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/api.md +1 -1
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/bio-registries.ipynb +4 -4
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/curate-df.ipynb +113 -37
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/introduction.ipynb +2 -1
- lamindb-0.75.1/docs/storage/vitessce.ipynb +203 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/__init__.py +1 -1
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_can_validate.py +52 -22
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_curate.py +384 -144
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_from_values.py +8 -8
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_record.py +26 -26
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_save.py +5 -5
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_view.py +13 -11
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/__init__.py +2 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/_data.py +4 -4
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/_feature_manager.py +16 -6
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/schema.py +5 -5
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/storage/__init__.py +11 -2
- lamindb-0.75.1/lamindb/core/storage/_valid_suffixes.py +19 -0
- lamindb-0.75.1/lamindb/integrations/_vitessce.py +112 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/pyproject.toml +3 -3
- lamindb-0.75.1/sub/bionty/.github/workflows/update_ontologies.yml +25 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/.gitignore +3 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/.pre-commit-config.yaml +4 -4
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/__init__.py +1 -1
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/_public_ontology.py +10 -9
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/scripts/determine_md5s.py +4 -4
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/scripts/update_new_ontologies.py +1 -1
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/scripts/upload_new_ontologies.py +2 -2
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/sources.yaml +45 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/core/_bionty.py +34 -21
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/models.py +28 -56
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/noxfile.py +7 -8
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/pyproject.toml +4 -4
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_experimentalfactor.py +1 -1
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/__init__.py +1 -1
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_schema_metadata.py +7 -3
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/upath.py +6 -9
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/storage/test_storage_basis.py +1 -1
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/__init__.py +1 -3
- lamindb-0.75.1/sub/lnschema-core/lnschema_core/migrations/0060_alter_artifact__actions.py +22 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/models.py +220 -186
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/tests/test_models.py +2 -2
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/wetlab/__init__.py +1 -1
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/wetlab/models.py +11 -11
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_curate.py +1 -1
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_transfer.py +48 -0
- lamindb-0.75.0/docs/storage/vitessce.ipynb +0 -163
- lamindb-0.75.0/lamindb/core/storage/_valid_suffixes.py +0 -5
- lamindb-0.75.0/lamindb/integrations/_vitessce.py +0 -75
- {lamindb-0.75.0 → lamindb-0.75.1}/.github/workflows/build.yml +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/.gitignore +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/.gitmodules +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/.pre-commit-config.yaml +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/CONTRIBUTING.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/LICENSE +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/README.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/arrays.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/bionty.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/changelog.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/curate-any.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/curate.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq/acid.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq/delete.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq/idempotency.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq/import-schema.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq/keep-artifacts-local.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq/key.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq/reference-field.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq/setup.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq/test_notebooks.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq/track-run-inputs.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq/visibility.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/guide.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/includes/features-lamindb.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/includes/features-laminhub.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/includes/installation.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/index.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/lamindb.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/query-search.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/readfcs.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/records.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/schemas.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/setup.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/signup-login.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/storage/add-replace-cache.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/storage/anndata-accessor.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/storage/prepare-transfer-local-to-cloud.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/storage/test-files/iris.csv +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/storage/test-files/iris.data +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/storage/test-files/new_iris.csv +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/storage/test_notebooks.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/storage/transfer-local-to-cloud.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/storage/upload.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/storage.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/test_notebooks.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/track.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/transfer.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/tutorial.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/tutorial2.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/docs/wetlab.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_artifact.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_collection.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_feature.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_feature_set.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_filter.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_finish.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_is_versioned.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_parents.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_query_manager.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_query_set.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_run.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_storage.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_transform.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_ulabel.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_utils.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/_label_manager.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/_mapped_collection.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/_run_context.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/_settings.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/_sync_git.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/_track_environment.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/datasets/__init__.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/datasets/_core.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/datasets/_fake.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/exceptions.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/fields.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/storage/_anndata_accessor.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/storage/_anndata_sizes.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/storage/_backed_access.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/storage/_zarr.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/storage/objects.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/storage/paths.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/subsettings/__init__.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/subsettings/_creation_settings.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/subsettings/_transform_settings.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/types.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/versioning.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/integrations/__init__.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/setup/__init__.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/setup/core/__init__.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/noxfile.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/.github/workflows/build.yml +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/LICENSE +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/README.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/_bionty.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/__init__.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/_display_sources.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/_ontology.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/_settings.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/_sync_sources.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/dev/__init__.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/dev/_handle_sources.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/dev/_io.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/dev/_md5.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/__init__.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_bfxpipeline.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_biosample.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_cellline.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_cellmarker.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_celltype.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_developmentalstage.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_disease.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_drug.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_ethnicity.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_experimentalfactor.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_gene.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_organism.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_pathway.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_phenotype.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_protein.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_shared_docstrings.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_tissue.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/scripts/bfxpipelines_info/custom_pipelines.json +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/scripts/check_ontologies_reachable.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/scripts/generate_bfxpipelines.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/core/__init__.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/core/_add_ontology.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/core/_settings.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/ids.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0023_rename_publicsource_encode_uid.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0024_remove_cellline_collections_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0025_artifactcellline_alter_cellline_artifacts_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0026_artifactcellline_cell_line_ref_is_name_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0027_remove_artifactcellline_created_at_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0028_artifactcellline_created_at_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0028_squashed.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0029_alter_cellline_previous_runs_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0030_rename_publicsource_source_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0031_alter_cellmarker_name_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0032_rename_source_name_source_description_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0033_alter_artifactcellline_artifact_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0034_alter_source_unique_together.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/__init__.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/developer/updating_source.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/guide/comparison.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/guide/concepts.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/guide/config.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/guide/extend.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/guide/ontology.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/guide/search.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/guide/sources.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/guide/test_notebooks.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/guide/validate.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/guide.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/index.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/reference.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/lamin-project.yaml +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/dev/test_handle_sources.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/dev/test_io.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_bfxpipeline.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_biosample.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_cellline.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_cellmarker.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_celltype.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_developmentalstage.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_disease.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_drug.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_ethnicity.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_gene.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_organism.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_pathway.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_phenotype.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_protein.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_tissue.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/test_bionty.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/test_lamindb.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/test_md5.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/test_ontology.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/.gitignore +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/.pre-commit-config.yaml +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/README.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/lamin_cli/__init__.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/lamin_cli/__main__.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/lamin_cli/_cache.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/lamin_cli/_get.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/lamin_cli/_migration.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/lamin_cli/_save.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/pyproject.toml +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/conftest.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/scripts/merely-import-lamindb.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/scripts/run-track-and-finish-sync-git.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/scripts/run-track-and-finish.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/test_cli.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/test_get.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/test_migrate.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/test_multi_process.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/test_save_files.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/test_save_notebooks.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/test_save_scripts.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/.github/workflows/build.yml +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/.gitignore +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/.pre-commit-config.yaml +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/LICENSE +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/README.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/changelog.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-cloud/01-init-local-instance.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-cloud/02-connect-local-instance.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-cloud/03-add-managed-storage.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-cloud/04-test-bionty.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-cloud/05-init-hosted-instance.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-cloud/06-connect-hosted-instance.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-cloud/07-keep-artifacts-local.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-cloud/test-multi-session.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-cloud/test_notebooks.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-prod/test-cache-management.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-prod/test-cloud-sync.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-prod/test-connect-anonymously.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-prod/test-empty-init.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-prod/test-import-schema.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-prod/test-insufficient-user-info.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-prod/test-invalid-schema.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-prod/test-sqlite-lock.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-prod/test_notebooks2.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/index.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/notebooks.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/reference.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_check.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_check_setup.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_connect_instance.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_delete.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_django.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_exportdb.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_importdb.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_init_instance.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_migrate.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_set_managed_storage.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_setup_user.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/__init__.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_aws_credentials.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_aws_storage.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_deprecated.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_docs.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_hub_client.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_hub_core.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_hub_crud.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_hub_utils.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_private_django_api.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_settings.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_settings_instance.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_settings_load.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_settings_save.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_settings_storage.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_settings_store.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_settings_user.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_setup_bionty_sources.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/cloud_sqlite_locker.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/django.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/exceptions.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/hashing.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/types.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/noxfile.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/pyproject.toml +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-cloud/test_connect_instance.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-cloud/test_delete_instance.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-cloud/test_init_instance.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-cloud/test_login.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-cloud/test_migrate.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-cloud/test_set_storage.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-local/conftest.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-local/test_all.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-local/test_update_schema_in_hub.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-prod/conftest.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-prod/test_django.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-prod/test_global_settings.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-prod/test_switch_and_fallback_env.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-prod/test_upath.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/storage/test_hashing.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/storage/test_storage_access.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/storage/test_storage_stats.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/storage/test_to_url.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/.github/workflows/build.yml +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/.gitignore +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/.pre-commit-config.yaml +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/CHANGELOG.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/LICENSE +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/README.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/ids.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0037_rename_dataset_to_collection.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0038_alter_collection_artifact_alter_collection_artifacts_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0039_remove_collection_artifacts_collectionartifact_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0040_alter_transform_type.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0041_remove_transform_short_name_transform_description_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0042_rename_run_at_run_started_at_run_finished_at.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0043_run_json.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0044_run_replicated_outputs_transform_ulabels_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0045_rename_replicated_outputs_run_replicated_output_artifacts_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0046_storage_instance_uid.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0047_featurevalue_artifactfeaturevalue_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0048_alter_artifactulabel_feature_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0049_rename_type_feature_dtype_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0050_artifactfeatureset_feature_ref_is_semantic_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0051_remove_feature_feature_sets_featuresetfeature_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0052_rename_feature_value_artifactfeaturevalue_featurevalue_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0052_squashed.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0053_alter_featureset_hash_alter_paramvalue_created_by_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0054_alter_feature_previous_runs_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0055_artifact_type_artifactparamvalue_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0056_rename_ulabel_ref_is_name_artifactulabel_label_ref_is_name_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0057_link_models_latest_report_and_others.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0058_artifact__actions_collection__actions.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0059_alter_artifact__accessor_alter_artifact__hash_type_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/mocks.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/types.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/users.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/noxfile.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/pyproject.toml +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/tests/conftest.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/tests/test_integrity.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/tests/test_types.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/.github/workflows/build.yml +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/.gitignore +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/.pre-commit-config.yaml +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/README.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/docs/changelog.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/docs/guide/get-started.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/docs/guide/modeling_perturbations.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/docs/guide.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/docs/index.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/docs/reference.md +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/noxfile.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/pyproject.toml +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/tests/test_integrity.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/tests/test_notebooks.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/wetlab/migrations/0017_remove_biosample_artifacts.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/wetlab/migrations/0018_squashed.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/wetlab/migrations/0018_well_created_at_well_created_by_well_updated_at.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/wetlab/migrations/0019_alter_treatment_system.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/wetlab/migrations/0020_treatmenttarget_pathways_treatmenttarget_proteins_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/wetlab/migrations/0021_alter_compoundtreatment_duration_unit_and_more.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/wetlab/migrations/__init__.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/conftest.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/notebooks/initialized-with-nbproject.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/notebooks/no-title.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/notebooks/not-initialized.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/notebooks/with-title-initialized-consecutive-finish-not-last-cell.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/notebooks/with-title-initialized-consecutive-finish.ipynb +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_artifact.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_artifact_folders.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_cache.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_can_validate.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_collection.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_data.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_db.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_delete.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_feature.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_feature_manager.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_feature_set.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_from_values.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_label_manager.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_load.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_manager.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_notebooks.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_parents.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_queryset.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_record.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_run.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_run_context.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_save.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_search.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_settings.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_storage.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_transform.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_uid.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_ulabel.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_versioning.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_view.py +0 -0
- {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_visibility.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: lamindb
|
3
|
-
Version: 0.75.
|
3
|
+
Version: 0.75.1
|
4
4
|
Summary: A data framework for biology.
|
5
5
|
Author-email: Lamin Labs <open-source@lamin.ai>
|
6
6
|
Requires-Python: >=3.8
|
@@ -9,8 +9,8 @@ Classifier: Programming Language :: Python :: 3.8
|
|
9
9
|
Classifier: Programming Language :: Python :: 3.9
|
10
10
|
Classifier: Programming Language :: Python :: 3.10
|
11
11
|
Classifier: Programming Language :: Python :: 3.11
|
12
|
-
Requires-Dist: lnschema_core==0.72.
|
13
|
-
Requires-Dist: lamindb_setup==0.76.
|
12
|
+
Requires-Dist: lnschema_core==0.72.2
|
13
|
+
Requires-Dist: lamindb_setup==0.76.3
|
14
14
|
Requires-Dist: lamin_utils==0.13.2
|
15
15
|
Requires-Dist: lamin_cli==0.16.0
|
16
16
|
Requires-Dist: rapidfuzz
|
@@ -24,7 +24,7 @@ Requires-Dist: pandas
|
|
24
24
|
Requires-Dist: graphviz
|
25
25
|
Requires-Dist: psycopg2-binary
|
26
26
|
Requires-Dist: lamindb_setup[aws] ; extra == "aws"
|
27
|
-
Requires-Dist: bionty==0.
|
27
|
+
Requires-Dist: bionty==0.48.0 ; extra == "bionty"
|
28
28
|
Requires-Dist: pre-commit ; extra == "dev"
|
29
29
|
Requires-Dist: nox ; extra == "dev"
|
30
30
|
Requires-Dist: laminci>=0.3 ; extra == "dev"
|
@@ -20,7 +20,7 @@
|
|
20
20
|
"cell_type": "markdown",
|
21
21
|
"metadata": {},
|
22
22
|
"source": [
|
23
|
-
"
|
23
|
+
"This guide shows how to manage metadata for basic biological entities based on plugin {mod}`bionty`."
|
24
24
|
]
|
25
25
|
},
|
26
26
|
{
|
@@ -541,7 +541,7 @@
|
|
541
541
|
"source": [
|
542
542
|
"Several registries are organism-aware (has a `.organism` field), for instance, {class}`~bionty.Gene`.\n",
|
543
543
|
"\n",
|
544
|
-
"In this case, API calls that interact with multi-organism registries
|
544
|
+
"In this case, API calls that interact with multi-organism registries require an `organism` argument when there's ambiguity."
|
545
545
|
]
|
546
546
|
},
|
547
547
|
{
|
@@ -584,7 +584,7 @@
|
|
584
584
|
"cell_type": "markdown",
|
585
585
|
"metadata": {},
|
586
586
|
"source": [
|
587
|
-
"
|
587
|
+
"When working with the same organism throughout your analysis/workflow, you can omit the `organism` argument by configuring it globally:"
|
588
588
|
]
|
589
589
|
},
|
590
590
|
{
|
@@ -757,7 +757,7 @@
|
|
757
757
|
"name": "python",
|
758
758
|
"nbconvert_exporter": "python",
|
759
759
|
"pygments_lexer": "ipython3",
|
760
|
-
"version": "3.
|
760
|
+
"version": "3.11.7"
|
761
761
|
},
|
762
762
|
"nbproject": {
|
763
763
|
"id": "s7F7PezA1HdQ",
|
@@ -75,12 +75,15 @@
|
|
75
75
|
},
|
76
76
|
"outputs": [],
|
77
77
|
"source": [
|
78
|
-
"df = pd.DataFrame(
|
79
|
-
" \
|
80
|
-
"
|
81
|
-
"
|
82
|
-
"
|
83
|
-
"
|
78
|
+
"df = pd.DataFrame(\n",
|
79
|
+
" {\n",
|
80
|
+
" \"temperature\": [37.2, 36.3, 38.2],\n",
|
81
|
+
" \"cell_type\": [\"cerebral pyramidal neuron\", \"astrocyte\", \"oligodendrocyte\"],\n",
|
82
|
+
" \"assay_ontology_id\": [\"EFO:0008913\", \"EFO:0008913\", \"EFO:0008913\"],\n",
|
83
|
+
" \"donor\": [\"D0001\", \"D0002\", \"DOOO3\"]\n",
|
84
|
+
" },\n",
|
85
|
+
" index = [\"obs1\", \"obs2\", \"obs3\"]\n",
|
86
|
+
")\n",
|
84
87
|
"df"
|
85
88
|
]
|
86
89
|
},
|
@@ -109,8 +112,24 @@
|
|
109
112
|
" \"cell_type\": bt.CellType.name,\n",
|
110
113
|
" \"assay_ontology_id\": bt.ExperimentalFactor.ontology_id,\n",
|
111
114
|
" \"donor\": ln.ULabel.name,\n",
|
112
|
-
"}
|
113
|
-
|
115
|
+
"}"
|
116
|
+
]
|
117
|
+
},
|
118
|
+
{
|
119
|
+
"cell_type": "markdown",
|
120
|
+
"id": "6c293ddf",
|
121
|
+
"metadata": {},
|
122
|
+
"source": [
|
123
|
+
"Now, initialize a Curate object by passing data and its validation criteria:"
|
124
|
+
]
|
125
|
+
},
|
126
|
+
{
|
127
|
+
"cell_type": "code",
|
128
|
+
"execution_count": null,
|
129
|
+
"id": "78424b30",
|
130
|
+
"metadata": {},
|
131
|
+
"outputs": [],
|
132
|
+
"source": [
|
114
133
|
"# create an Curate object to guide validation and annotation\n",
|
115
134
|
"# this object will use our DataFrame and the defined categorical criteria\n",
|
116
135
|
"curate = ln.Curate.from_df(df, categoricals=categoricals)"
|
@@ -150,17 +169,6 @@
|
|
150
169
|
"Because our current database instance is empty, here, we'll add values to the registries defined in the validation criteria."
|
151
170
|
]
|
152
171
|
},
|
153
|
-
{
|
154
|
-
"cell_type": "code",
|
155
|
-
"execution_count": null,
|
156
|
-
"id": "65bb5e39",
|
157
|
-
"metadata": {},
|
158
|
-
"outputs": [],
|
159
|
-
"source": [
|
160
|
-
"# this adds assays that were validated (via a public ontology)\n",
|
161
|
-
"curate.add_validated_from(\"assay_ontology_id\")"
|
162
|
-
]
|
163
|
-
},
|
164
172
|
{
|
165
173
|
"cell_type": "code",
|
166
174
|
"execution_count": null,
|
@@ -172,8 +180,8 @@
|
|
172
180
|
},
|
173
181
|
"outputs": [],
|
174
182
|
"source": [
|
175
|
-
"# this adds cell types that were
|
176
|
-
"curate.
|
183
|
+
"# this adds cell types that were validated (via a public ontology)\n",
|
184
|
+
"curate.add_validated_from(\"cell_type\")"
|
177
185
|
]
|
178
186
|
},
|
179
187
|
{
|
@@ -220,10 +228,25 @@
|
|
220
228
|
"source": [
|
221
229
|
"# curate the cell type\n",
|
222
230
|
"df.cell_type = df.cell_type.replace({\"cerebral pyramidal neuron\": cell_types.cerebral_cortex_pyramidal_neuron.name})\n",
|
223
|
-
"# register validated cell types\n",
|
231
|
+
"# now register curated and validated cell types\n",
|
224
232
|
"curate.add_validated_from(df.cell_type.name)"
|
225
233
|
]
|
226
234
|
},
|
235
|
+
{
|
236
|
+
"cell_type": "code",
|
237
|
+
"execution_count": null,
|
238
|
+
"id": "ede057e8",
|
239
|
+
"metadata": {
|
240
|
+
"tags": [
|
241
|
+
"hide-output"
|
242
|
+
]
|
243
|
+
},
|
244
|
+
"outputs": [],
|
245
|
+
"source": [
|
246
|
+
"# this adds assays that were validated (via a public ontology)\n",
|
247
|
+
"curate.add_validated_from(\"assay_ontology_id\")"
|
248
|
+
]
|
249
|
+
},
|
227
250
|
{
|
228
251
|
"cell_type": "code",
|
229
252
|
"execution_count": null,
|
@@ -235,7 +258,7 @@
|
|
235
258
|
},
|
236
259
|
"outputs": [],
|
237
260
|
"source": [
|
238
|
-
"#
|
261
|
+
"# this adds donors that were _not_ validated\n",
|
239
262
|
"curate.add_new_from(df.donor.name)"
|
240
263
|
]
|
241
264
|
},
|
@@ -262,7 +285,7 @@
|
|
262
285
|
"source": [
|
263
286
|
"## Validate an AnnData object\n",
|
264
287
|
"\n",
|
265
|
-
"Here we addtionally specify which `
|
288
|
+
"Here we addtionally specify which `var_index` to validate against."
|
266
289
|
]
|
267
290
|
},
|
268
291
|
{
|
@@ -276,9 +299,17 @@
|
|
276
299
|
},
|
277
300
|
"outputs": [],
|
278
301
|
"source": [
|
279
|
-
"
|
280
|
-
"\n",
|
281
|
-
"
|
302
|
+
"X = pd.DataFrame(\n",
|
303
|
+
" {\n",
|
304
|
+
" \"ENSG00000081059\": [1, 2, 3], \n",
|
305
|
+
" \"ENSG00000276977\": [4, 5, 6], \n",
|
306
|
+
" \"ENSG00000198851\": [7, 8, 9], \n",
|
307
|
+
" \"ENSG00000010610\": [10, 11, 12], \n",
|
308
|
+
" \"ENSG00000153563\": [13, 14, 15],\n",
|
309
|
+
" \"corrupted\": [16, 17, 18]\n",
|
310
|
+
" }, \n",
|
311
|
+
" index=df.index\n",
|
312
|
+
")\n",
|
282
313
|
"\n",
|
283
314
|
"adata = ad.AnnData(X=X, obs=df)\n",
|
284
315
|
"adata"
|
@@ -297,7 +328,7 @@
|
|
297
328
|
"source": [
|
298
329
|
"curate = ln.Curate.from_anndata(\n",
|
299
330
|
" adata, \n",
|
300
|
-
" var_index=bt.Gene.
|
331
|
+
" var_index=bt.Gene.ensembl_gene_id, # validate var.index against Gene.ensembl_gene_id\n",
|
301
332
|
" categoricals=categoricals, \n",
|
302
333
|
" organism=\"human\",\n",
|
303
334
|
")"
|
@@ -317,24 +348,62 @@
|
|
317
348
|
"curate.validate()"
|
318
349
|
]
|
319
350
|
},
|
351
|
+
{
|
352
|
+
"cell_type": "markdown",
|
353
|
+
"id": "a8a7a653",
|
354
|
+
"metadata": {},
|
355
|
+
"source": [
|
356
|
+
"## Curate data object to pass validation"
|
357
|
+
]
|
358
|
+
},
|
359
|
+
{
|
360
|
+
"cell_type": "markdown",
|
361
|
+
"id": "614545ea",
|
362
|
+
"metadata": {},
|
363
|
+
"source": [
|
364
|
+
"Non-validated terms can be accessed via:"
|
365
|
+
]
|
366
|
+
},
|
320
367
|
{
|
321
368
|
"cell_type": "code",
|
322
369
|
"execution_count": null,
|
323
|
-
"id": "
|
324
|
-
"metadata": {
|
325
|
-
"tags": [
|
326
|
-
"hide-output"
|
327
|
-
]
|
328
|
-
},
|
370
|
+
"id": "4e2fd290",
|
371
|
+
"metadata": {},
|
329
372
|
"outputs": [],
|
330
373
|
"source": [
|
331
|
-
"curate.
|
374
|
+
"curate.non_validated"
|
375
|
+
]
|
376
|
+
},
|
377
|
+
{
|
378
|
+
"cell_type": "markdown",
|
379
|
+
"id": "b2ec4aeb",
|
380
|
+
"metadata": {},
|
381
|
+
"source": [
|
382
|
+
"Subset anndata object to validated genes only:"
|
383
|
+
]
|
384
|
+
},
|
385
|
+
{
|
386
|
+
"cell_type": "code",
|
387
|
+
"execution_count": null,
|
388
|
+
"id": "3c47e4b7",
|
389
|
+
"metadata": {},
|
390
|
+
"outputs": [],
|
391
|
+
"source": [
|
392
|
+
"adata_validated = adata[:, ~adata.var.index.isin(curate.non_validated[\"var_index\"])].copy()"
|
393
|
+
]
|
394
|
+
},
|
395
|
+
{
|
396
|
+
"cell_type": "markdown",
|
397
|
+
"id": "1b0b2b10",
|
398
|
+
"metadata": {},
|
399
|
+
"source": [
|
400
|
+
"Now let's validate the subsetted object:"
|
332
401
|
]
|
333
402
|
},
|
334
403
|
{
|
335
404
|
"cell_type": "code",
|
336
405
|
"execution_count": null,
|
337
|
-
"id": "
|
406
|
+
"id": "6ac64695",
|
338
407
|
"metadata": {
|
339
408
|
"tags": [
|
340
409
|
"hide-output"
|
@@ -342,6 +411,13 @@
|
|
342
411
|
},
|
343
412
|
"outputs": [],
|
344
413
|
"source": [
|
414
|
+
"curate = ln.Curate.from_anndata(\n",
|
415
|
+
" adata_validated, \n",
|
416
|
+
" var_index=bt.Gene.ensembl_gene_id, # validate var.index against Gene.ensembl_gene_id\n",
|
417
|
+
" categoricals=categoricals, \n",
|
418
|
+
" organism=\"human\",\n",
|
419
|
+
")\n",
|
420
|
+
"\n",
|
345
421
|
"curate.validate()"
|
346
422
|
]
|
347
423
|
},
|
@@ -431,7 +507,7 @@
|
|
431
507
|
"name": "python",
|
432
508
|
"nbconvert_exporter": "python",
|
433
509
|
"pygments_lexer": "ipython3",
|
434
|
-
"version": "3.
|
510
|
+
"version": "3.10.13"
|
435
511
|
},
|
436
512
|
"nbproject": {
|
437
513
|
"id": "WOK3vP0bNGLx",
|
@@ -804,6 +804,7 @@
|
|
804
804
|
" categoricals={adata.obs.perturbation.name: ln.ULabel.name}, \n",
|
805
805
|
" organism=\"human\", # specify the organism for the Gene registry\n",
|
806
806
|
")\n",
|
807
|
+
"curate.add_validated_from_var_index()\n",
|
807
808
|
"curate.validate()\n",
|
808
809
|
"\n",
|
809
810
|
"# save curated artifact\n",
|
@@ -1163,7 +1164,7 @@
|
|
1163
1164
|
"\n",
|
1164
1165
|
"### Repositories\n",
|
1165
1166
|
"\n",
|
1166
|
-
"LaminDB and its
|
1167
|
+
"LaminDB and its plugins consist in open-source Python libraries & publicly hosted metadata assets:\n",
|
1167
1168
|
"\n",
|
1168
1169
|
"- [lamindb](https://github.com/laminlabs/lamindb): Core package.\n",
|
1169
1170
|
"- [bionty](https://github.com/laminlabs/bionty): Registries for basic biological entities, coupled to public ontologies.\n",
|
@@ -0,0 +1,203 @@
|
|
1
|
+
{
|
2
|
+
"cells": [
|
3
|
+
{
|
4
|
+
"cell_type": "markdown",
|
5
|
+
"metadata": {},
|
6
|
+
"source": [
|
7
|
+
"# Vitessce integration"
|
8
|
+
]
|
9
|
+
},
|
10
|
+
{
|
11
|
+
"cell_type": "markdown",
|
12
|
+
"metadata": {},
|
13
|
+
"source": [
|
14
|
+
"For more comprehensive integration tests, see: https://github.com/laminlabs/lamin-spatial"
|
15
|
+
]
|
16
|
+
},
|
17
|
+
{
|
18
|
+
"cell_type": "code",
|
19
|
+
"execution_count": null,
|
20
|
+
"metadata": {},
|
21
|
+
"outputs": [],
|
22
|
+
"source": [
|
23
|
+
"!lamin login testuser1\n",
|
24
|
+
"!lamin init --storage \"s3://lamindb-ci/test-vitessce\""
|
25
|
+
]
|
26
|
+
},
|
27
|
+
{
|
28
|
+
"cell_type": "code",
|
29
|
+
"execution_count": null,
|
30
|
+
"metadata": {},
|
31
|
+
"outputs": [],
|
32
|
+
"source": [
|
33
|
+
"import lamindb as ln\n",
|
34
|
+
"import pytest\n",
|
35
|
+
"from vitessce import (\n",
|
36
|
+
" VitessceConfig,\n",
|
37
|
+
" Component as cm,\n",
|
38
|
+
" AnnDataWrapper,\n",
|
39
|
+
")"
|
40
|
+
]
|
41
|
+
},
|
42
|
+
{
|
43
|
+
"cell_type": "markdown",
|
44
|
+
"metadata": {},
|
45
|
+
"source": [
|
46
|
+
"Set up test data:"
|
47
|
+
]
|
48
|
+
},
|
49
|
+
{
|
50
|
+
"cell_type": "code",
|
51
|
+
"execution_count": null,
|
52
|
+
"metadata": {},
|
53
|
+
"outputs": [],
|
54
|
+
"source": [
|
55
|
+
"pbmc68k = ln.core.datasets.anndata_pbmc68k_reduced()[:100, :200].copy()\n",
|
56
|
+
"zarr_filepath = \"my_test.zarr\"\n",
|
57
|
+
"# write the anndata to a local zarr path\n",
|
58
|
+
"pbmc68k.write_zarr(zarr_filepath)\n",
|
59
|
+
"# create an artifact from the path\n",
|
60
|
+
"dataset_artifact = ln.Artifact(zarr_filepath, description=\"Test dataset\").save()\n",
|
61
|
+
"# this is the where the zarr folder is located on a public S3 bucket\n",
|
62
|
+
"dataset_artifact.path.to_url()"
|
63
|
+
]
|
64
|
+
},
|
65
|
+
{
|
66
|
+
"cell_type": "markdown",
|
67
|
+
"metadata": {},
|
68
|
+
"source": [
|
69
|
+
"Create a `VitessceConfig` object: "
|
70
|
+
]
|
71
|
+
},
|
72
|
+
{
|
73
|
+
"cell_type": "code",
|
74
|
+
"execution_count": null,
|
75
|
+
"metadata": {
|
76
|
+
"tags": [
|
77
|
+
"hide-output"
|
78
|
+
]
|
79
|
+
},
|
80
|
+
"outputs": [],
|
81
|
+
"source": [
|
82
|
+
"vc = VitessceConfig(schema_version=\"1.0.15\")\n",
|
83
|
+
"vc.add_dataset(name=\"test1\").add_object(\n",
|
84
|
+
" AnnDataWrapper(\n",
|
85
|
+
" adata_url=dataset_artifact.path.to_url(),\n",
|
86
|
+
" obs_embedding_paths=[\"obsm/X_umap\"],\n",
|
87
|
+
" ),\n",
|
88
|
+
")\n",
|
89
|
+
"vc.to_dict()"
|
90
|
+
]
|
91
|
+
},
|
92
|
+
{
|
93
|
+
"cell_type": "code",
|
94
|
+
"execution_count": null,
|
95
|
+
"metadata": {},
|
96
|
+
"outputs": [],
|
97
|
+
"source": [
|
98
|
+
"vitessce_config_artifact = ln.integrations.save_vitessce_config(vc, description=\"View testdata in Vitessce\")"
|
99
|
+
]
|
100
|
+
},
|
101
|
+
{
|
102
|
+
"cell_type": "code",
|
103
|
+
"execution_count": null,
|
104
|
+
"metadata": {},
|
105
|
+
"outputs": [],
|
106
|
+
"source": [
|
107
|
+
"# different equivalent ways of testing that the action is attached\n",
|
108
|
+
"assert dataset_artifact._actions.get() == vitessce_config_artifact\n",
|
109
|
+
"assert vitessce_config_artifact._action_targets.get() == dataset_artifact\n",
|
110
|
+
"assert vitessce_config_artifact._actions.first() is None\n",
|
111
|
+
"assert ln.Artifact.filter(_actions=vitessce_config_artifact).one() == dataset_artifact"
|
112
|
+
]
|
113
|
+
},
|
114
|
+
{
|
115
|
+
"cell_type": "code",
|
116
|
+
"execution_count": null,
|
117
|
+
"metadata": {},
|
118
|
+
"outputs": [],
|
119
|
+
"source": [
|
120
|
+
"dataset_artifact.delete(permanent=True)\n",
|
121
|
+
"vitessce_config_artifact.delete(permanent=True)"
|
122
|
+
]
|
123
|
+
},
|
124
|
+
{
|
125
|
+
"cell_type": "markdown",
|
126
|
+
"metadata": {},
|
127
|
+
"source": [
|
128
|
+
"Test validation within `save_vitessce_config`:"
|
129
|
+
]
|
130
|
+
},
|
131
|
+
{
|
132
|
+
"cell_type": "code",
|
133
|
+
"execution_count": null,
|
134
|
+
"metadata": {},
|
135
|
+
"outputs": [],
|
136
|
+
"source": [
|
137
|
+
"# use a corrupted suffix\n",
|
138
|
+
"vc = VitessceConfig(schema_version=\"1.0.15\")\n",
|
139
|
+
"vc.add_dataset(name=\"test1\").add_object(\n",
|
140
|
+
" AnnDataWrapper(\n",
|
141
|
+
" adata_url=dataset_artifact.path.to_url() + \".random\",\n",
|
142
|
+
" obs_embedding_paths=[\"obsm/X_umap\"],\n",
|
143
|
+
" ),\n",
|
144
|
+
")\n",
|
145
|
+
"with pytest.raises(ValueError) as error:\n",
|
146
|
+
" ln.integrations.save_vitessce_config(vc)\n",
|
147
|
+
"print(error.exconly())\n",
|
148
|
+
"assert error.exconly().startswith(\"ValueError: Suffix should be '.zarr' or one of\")\n",
|
149
|
+
"assert error.exconly().endswith(\".random\")\n"
|
150
|
+
]
|
151
|
+
},
|
152
|
+
{
|
153
|
+
"cell_type": "code",
|
154
|
+
"execution_count": null,
|
155
|
+
"metadata": {},
|
156
|
+
"outputs": [],
|
157
|
+
"source": [
|
158
|
+
"# use a corrupted stem_uid\n",
|
159
|
+
"vc = VitessceConfig(schema_version=\"1.0.15\")\n",
|
160
|
+
"vc.add_dataset(name=\"test1\").add_object(\n",
|
161
|
+
" AnnDataWrapper(\n",
|
162
|
+
" adata_url=dataset_artifact.path.to_url().replace(dataset_artifact.stem_uid, \"not-a-valid-uid\"),\n",
|
163
|
+
" obs_embedding_paths=[\"obsm/X_umap\"],\n",
|
164
|
+
" ),\n",
|
165
|
+
")\n",
|
166
|
+
"with pytest.raises(ValueError) as error:\n",
|
167
|
+
" ln.integrations.save_vitessce_config(vc)\n",
|
168
|
+
"print(error.exconly())\n",
|
169
|
+
"assert error.exconly().startswith(\"ValueError: Could not find dataset with stem uid 'not-a-valid-uid' in lamindb\")"
|
170
|
+
]
|
171
|
+
},
|
172
|
+
{
|
173
|
+
"cell_type": "code",
|
174
|
+
"execution_count": null,
|
175
|
+
"metadata": {},
|
176
|
+
"outputs": [],
|
177
|
+
"source": [
|
178
|
+
"ln.setup.delete(\"test-vitessce\", force=True)"
|
179
|
+
]
|
180
|
+
}
|
181
|
+
],
|
182
|
+
"metadata": {
|
183
|
+
"kernelspec": {
|
184
|
+
"display_name": "py310",
|
185
|
+
"language": "python",
|
186
|
+
"name": "python3"
|
187
|
+
},
|
188
|
+
"language_info": {
|
189
|
+
"codemirror_mode": {
|
190
|
+
"name": "ipython",
|
191
|
+
"version": 3
|
192
|
+
},
|
193
|
+
"file_extension": ".py",
|
194
|
+
"mimetype": "text/x-python",
|
195
|
+
"name": "python",
|
196
|
+
"nbconvert_exporter": "python",
|
197
|
+
"pygments_lexer": "ipython3",
|
198
|
+
"version": "3.10.13"
|
199
|
+
}
|
200
|
+
},
|
201
|
+
"nbformat": 4,
|
202
|
+
"nbformat_minor": 2
|
203
|
+
}
|