lamindb 0.76.1__tar.gz → 0.76.3__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.76.3/.github/ISSUE_TEMPLATE/bug_report.yml +94 -0
- lamindb-0.76.3/.github/ISSUE_TEMPLATE/config.yml +8 -0
- lamindb-0.76.3/.github/ISSUE_TEMPLATE/feature_request.yml +19 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/.github/workflows/build.yml +8 -7
- {lamindb-0.76.1 → lamindb-0.76.3}/.gitignore +3 -0
- {lamindb-0.76.1/sub/lnschema-core → lamindb-0.76.3}/.pre-commit-config.yaml +3 -4
- {lamindb-0.76.1 → lamindb-0.76.3}/PKG-INFO +6 -14
- {lamindb-0.76.1 → lamindb-0.76.3}/README.md +1 -9
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/arrays.ipynb +2 -2
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/bio-registries.ipynb +4 -4
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/curate-df.ipynb +89 -61
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/faq/keep-artifacts-local.ipynb +1 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/faq/key.ipynb +2 -2
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/faq/track-run-inputs.ipynb +8 -8
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/introduction.ipynb +248 -227
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/schemas.ipynb +8 -10
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/storage/transfer-local-to-cloud.ipynb +1 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/storage/vitessce.ipynb +1 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/track.ipynb +17 -18
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/tutorial.ipynb +10 -11
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/tutorial2.ipynb +3 -3
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/__init__.py +10 -6
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/_artifact.py +86 -53
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/_can_validate.py +10 -3
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/_collection.py +17 -18
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/_curate.py +130 -49
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/_feature.py +0 -49
- lamindb-0.76.3/lamindb/_filter.py +23 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/_finish.py +3 -3
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/_from_values.py +14 -10
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/_is_versioned.py +3 -5
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/_query_manager.py +2 -2
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/_query_set.py +58 -5
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/_record.py +29 -39
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/_save.py +2 -3
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/_transform.py +23 -10
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/__init__.py +2 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/_context.py +19 -14
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/_feature_manager.py +25 -8
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/_label_manager.py +1 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/_mapped_collection.py +31 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/exceptions.py +1 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/storage/__init__.py +1 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/storage/_backed_access.py +2 -38
- lamindb-0.76.3/lamindb/core/storage/_tiledbsoma.py +192 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/storage/paths.py +2 -6
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/versioning.py +43 -47
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/integrations/__init__.py +3 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/integrations/_vitessce.py +2 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/noxfile.py +28 -8
- {lamindb-0.76.1 → lamindb-0.76.3}/pyproject.toml +4 -4
- lamindb-0.76.3/sub/bionty/README.md +14 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/__init__.py +11 -4
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/_bionty.py +62 -51
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/__init__.py +39 -7
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/_ontology.py +55 -17
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/_public_ontology.py +53 -53
- lamindb-0.76.3/sub/bionty/bionty/base/entities/_bfxpipeline.py +28 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_cellline.py +4 -2
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_cellmarker.py +0 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_celltype.py +0 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_developmentalstage.py +1 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_drug.py +4 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_ethnicity.py +0 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_experimentalfactor.py +0 -3
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_gene.py +0 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_organism.py +0 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_pathway.py +0 -2
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_phenotype.py +0 -4
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_protein.py +0 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_tissue.py +1 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/scripts/generate_bfxpipelines.py +18 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/sources.yaml +25 -2
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/core/_add_ontology.py +20 -18
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/core/_bionty.py +67 -2
- lamindb-0.76.3/sub/bionty/bionty/migrations/0037_alter_cellline_source_alter_cellmarker_source_and_more.py +130 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/models.py +177 -158
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/docs/guide/concepts.md +1 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/docs/guide/config.md +7 -14
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/docs/guide/extend.md +1 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/docs/guide.md +1 -6
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/pyproject.toml +6 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/tests/entities/test_bfxpipeline.py +2 -2
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/tests/entities/test_biosample.py +2 -2
- lamindb-0.76.3/sub/bionty/tests/entities/test_cellline.py +42 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/tests/entities/test_cellmarker.py +3 -3
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/tests/entities/test_celltype.py +4 -4
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/tests/entities/test_developmentalstage.py +2 -2
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/tests/entities/test_disease.py +6 -6
- lamindb-0.76.3/sub/bionty/tests/entities/test_drug.py +47 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/tests/entities/test_ethnicity.py +2 -2
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/tests/entities/test_experimentalfactor.py +3 -3
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/tests/entities/test_gene.py +3 -7
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/tests/entities/test_organism.py +4 -4
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/tests/entities/test_pathway.py +3 -3
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/tests/entities/test_phenotype.py +6 -6
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/tests/entities/test_protein.py +2 -2
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/tests/entities/test_tissue.py +2 -2
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/tests/test_bionty.py +12 -12
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/tests/test_lamindb.py +2 -2
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/tests/test_ontology.py +2 -2
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/lamin_cli/__main__.py +14 -14
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/lamin_cli/_save.py +1 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/tests/test_cli.py +0 -6
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-cloud/03-add-managed-storage.ipynb +11 -5
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/docs/notebooks.md +2 -2
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/__init__.py +1 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_migrate.py +6 -3
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_set_managed_storage.py +3 -3
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_hub_client.py +8 -5
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_hub_core.py +5 -5
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_settings_instance.py +3 -2
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_settings_storage.py +9 -5
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/noxfile.py +2 -2
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/pyproject.toml +3 -2
- lamindb-0.76.3/sub/lamindb-setup/tests/hub-cloud/scripts/script-to-fail-managed-storage.py +26 -0
- lamindb-0.76.3/sub/lamindb-setup/tests/hub-cloud/test_fail_managed_storage.py +12 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-local/test_all.py +1 -0
- {lamindb-0.76.1 → lamindb-0.76.3/sub/lnschema-core}/.pre-commit-config.yaml +1 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/__init__.py +1 -1
- lamindb-0.76.3/sub/lnschema-core/lnschema_core/migrations/0064_alter_artifact_version_alter_collection_version_and_more.py +33 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/models.py +57 -70
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/users.py +4 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/tests/test_models.py +0 -2
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/conftest.py +14 -9
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_artifact.py +72 -53
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_artifact_folders.py +1 -1
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_cache.py +2 -2
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_can_validate.py +4 -4
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_collection.py +38 -50
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_context.py +9 -6
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_curate.py +22 -10
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_db.py +1 -1
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_feature.py +1 -1
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_feature_manager.py +12 -9
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_label_manager.py +4 -4
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_queryset.py +3 -3
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_record.py +1 -1
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_save.py +1 -1
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_settings.py +5 -2
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_transfer.py +1 -1
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_transform.py +33 -22
- lamindb-0.76.3/tests/core/test_uid.py +39 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_versioning.py +10 -7
- lamindb-0.76.3/tests/storage/conftest.py +41 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/storage}/test_storage.py +87 -24
- lamindb-0.76.1/lamindb/_filter.py +0 -36
- lamindb-0.76.1/sub/bionty/README.md +0 -5
- lamindb-0.76.1/sub/bionty/bionty/base/entities/_bfxpipeline.py +0 -55
- lamindb-0.76.1/sub/bionty/docs/developer/updating_source.md +0 -21
- lamindb-0.76.1/sub/bionty/docs/guide/comparison.md +0 -37
- lamindb-0.76.1/sub/bionty/docs/guide/ontology.ipynb +0 -376
- lamindb-0.76.1/sub/bionty/docs/guide/search.ipynb +0 -25
- lamindb-0.76.1/sub/bionty/docs/guide/sources.ipynb +0 -276
- lamindb-0.76.1/sub/bionty/docs/guide/validate.ipynb +0 -50
- lamindb-0.76.1/sub/bionty/tests/entities/test_cellline.py +0 -22
- lamindb-0.76.1/sub/bionty/tests/entities/test_drug.py +0 -22
- lamindb-0.76.1/tests/test_uid.py +0 -23
- {lamindb-0.76.1 → lamindb-0.76.3}/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/.gitmodules +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/CONTRIBUTING.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/LICENSE +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/api.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/bionty.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/changelog.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/curate-any.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/curate.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/faq/acid.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/faq/delete.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/faq/idempotency.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/faq/import-schema.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/faq/reference-field.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/faq/setup.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/faq/test_notebooks.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/faq/visibility.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/faq.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/guide.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/includes/features-lamindb.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/includes/features-laminhub.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/includes/installation.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/index.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/lamindb.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/query-search.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/readfcs.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/records.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/rest.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/setup.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/signup-login.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/storage/add-replace-cache.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/storage/anndata-accessor.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/storage/prepare-transfer-local-to-cloud.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/storage/test-files/iris.csv +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/storage/test-files/iris.data +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/storage/test-files/new_iris.csv +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/storage/test_notebooks.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/storage/upload.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/storage.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/test_notebooks.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/transfer.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/docs/wetlab.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/_feature_set.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/_parents.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/_run.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/_storage.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/_ulabel.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/_utils.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/_view.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/_data.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/_settings.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/_sync_git.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/_track_environment.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/datasets/__init__.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/datasets/_core.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/datasets/_fake.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/fields.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/schema.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/storage/_anndata_accessor.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/storage/_anndata_sizes.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/storage/_valid_suffixes.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/storage/_zarr.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/storage/objects.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/subsettings/__init__.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/subsettings/_creation_settings.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/subsettings/_transform_settings.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/core/types.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/setup/__init__.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/lamindb/setup/core/__init__.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/.github/workflows/build.yml +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/.github/workflows/update_ontologies.yml +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/.gitignore +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/.pre-commit-config.yaml +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/LICENSE +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/_display_sources.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/_settings.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/_sync_sources.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/dev/__init__.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/dev/_handle_sources.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/dev/_io.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/dev/_md5.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/__init__.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_biosample.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_disease.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_shared_docstrings.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/scripts/bfxpipelines_info/custom_pipelines.json +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/scripts/check_ontologies_reachable.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/scripts/determine_md5s.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/scripts/update_new_ontologies.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/base/scripts/upload_new_ontologies.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/core/__init__.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/core/_settings.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/ids.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0023_rename_publicsource_encode_uid.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0024_remove_cellline_collections_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0025_artifactcellline_alter_cellline_artifacts_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0026_artifactcellline_cell_line_ref_is_name_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0027_remove_artifactcellline_created_at_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0028_artifactcellline_created_at_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0028_squashed.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0029_alter_cellline_previous_runs_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0030_rename_publicsource_source_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0031_alter_cellmarker_name_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0032_rename_source_name_source_description_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0033_alter_artifactcellline_artifact_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0034_alter_source_unique_together.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0035_alter_protein_gene_symbol.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0036_alter_source_artifacts_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/bionty/migrations/__init__.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/docs/guide/test_notebooks.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/docs/index.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/docs/reference.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/lamin-project.yaml +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/noxfile.py +1 -1
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/tests/dev/test_handle_sources.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/tests/dev/test_io.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/bionty/tests/test_md5.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/.gitignore +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/.pre-commit-config.yaml +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/README.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/lamin_cli/__init__.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/lamin_cli/_cache.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/lamin_cli/_get.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/lamin_cli/_migration.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/pyproject.toml +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/tests/conftest.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/tests/scripts/merely-import-lamindb.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/tests/scripts/run-track-and-finish-sync-git.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/tests/scripts/run-track-and-finish.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/tests/test_get.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/tests/test_migrate.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/tests/test_multi_process.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/tests/test_save_files.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/tests/test_save_notebooks.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamin-cli/tests/test_save_scripts.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/.github/workflows/build.yml +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/.gitignore +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/.pre-commit-config.yaml +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/LICENSE +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/README.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/docs/changelog.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-cloud/01-init-local-instance.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-cloud/02-connect-local-instance.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-cloud/04-test-bionty.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-cloud/05-init-hosted-instance.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-cloud/06-connect-hosted-instance.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-cloud/07-keep-artifacts-local.ipynb +0 -0
- /lamindb-0.76.1/sub/lamindb-setup/docs/hub-cloud/test-multi-session.ipynb → /lamindb-0.76.3/sub/lamindb-setup/docs/hub-cloud/08-test-multi-session.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-cloud/test_notebooks.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-prod/test-cache-management.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-prod/test-cloud-sync.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-prod/test-connect-anonymously.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-prod/test-empty-init.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-prod/test-import-schema.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-prod/test-insufficient-user-info.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-prod/test-invalid-schema.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-prod/test-sqlite-lock.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-prod/test_notebooks2.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/docs/index.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/docs/reference.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_check.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_check_setup.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_connect_instance.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_delete.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_django.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_exportdb.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_importdb.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_init_instance.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_schema_metadata.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_setup_user.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/__init__.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_aws_credentials.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_aws_storage.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_deprecated.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_docs.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_hub_crud.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_hub_utils.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_private_django_api.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_settings.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_settings_load.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_settings_save.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_settings_store.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_settings_user.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_setup_bionty_sources.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/cloud_sqlite_locker.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/django.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/exceptions.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/hashing.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/types.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/upath.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-cloud/test_connect_instance.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-cloud/test_delete_instance.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-cloud/test_init_instance.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-cloud/test_login.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-cloud/test_migrate.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-cloud/test_set_storage.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-local/conftest.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-local/test_update_schema_in_hub.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-prod/conftest.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-prod/test_django.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-prod/test_global_settings.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-prod/test_switch_and_fallback_env.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-prod/test_upath.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/tests/storage/test_hashing.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/tests/storage/test_storage_access.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/tests/storage/test_storage_basis.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/tests/storage/test_storage_stats.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lamindb-setup/tests/storage/test_to_url.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/.github/workflows/build.yml +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/.gitignore +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/CHANGELOG.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/LICENSE +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/README.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/ids.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0037_rename_dataset_to_collection.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0038_alter_collection_artifact_alter_collection_artifacts_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0039_remove_collection_artifacts_collectionartifact_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0040_alter_transform_type.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0041_remove_transform_short_name_transform_description_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0042_rename_run_at_run_started_at_run_finished_at.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0043_run_json.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0044_run_replicated_outputs_transform_ulabels_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0045_rename_replicated_outputs_run_replicated_output_artifacts_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0046_storage_instance_uid.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0047_featurevalue_artifactfeaturevalue_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0048_alter_artifactulabel_feature_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0049_rename_type_feature_dtype_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0050_artifactfeatureset_feature_ref_is_semantic_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0051_remove_feature_feature_sets_featuresetfeature_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0052_rename_feature_value_artifactfeaturevalue_featurevalue_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0052_squashed.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0053_alter_featureset_hash_alter_paramvalue_created_by_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0054_alter_feature_previous_runs_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0055_artifact_type_artifactparamvalue_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0056_rename_ulabel_ref_is_name_artifactulabel_label_ref_is_name_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0057_link_models_latest_report_and_others.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0058_artifact__actions_collection__actions.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0059_alter_artifact__accessor_alter_artifact__hash_type_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0060_alter_artifact__actions.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0061_alter_collection_meta_artifact_alter_run_environment_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0062_add_is_latest_field.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0063_populate_latest_field.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/mocks.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/types.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/noxfile.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/pyproject.toml +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/tests/conftest.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/tests/test_integrity.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/lnschema-core/tests/test_types.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/.github/workflows/build.yml +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/.gitignore +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/.pre-commit-config.yaml +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/README.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/docs/changelog.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/docs/guide/get-started.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/docs/guide/modeling_perturbations.ipynb +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/docs/guide.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/docs/index.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/docs/reference.md +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/noxfile.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/pyproject.toml +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/tests/test_integrity.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/tests/test_notebooks.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/wetlab/__init__.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/wetlab/migrations/0017_remove_biosample_artifacts.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/wetlab/migrations/0018_squashed.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/wetlab/migrations/0018_well_created_at_well_created_by_well_updated_at.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/wetlab/migrations/0019_alter_treatment_system.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/wetlab/migrations/0020_treatmenttarget_pathways_treatmenttarget_proteins_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/wetlab/migrations/0021_alter_compoundtreatment_duration_unit_and_more.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/wetlab/migrations/__init__.py +0 -0
- {lamindb-0.76.1 → lamindb-0.76.3}/sub/wetlab/wetlab/models.py +0 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/notebooks/duplicate/with-title-initialized-consecutive-finish.ipynb +0 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/notebooks/no-title.ipynb +0 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/notebooks/not-initialized.ipynb +0 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/notebooks/with-title-initialized-consecutive-finish-not-last-cell.ipynb +0 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/notebooks/with-title-initialized-consecutive-finish.ipynb +0 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/scripts/duplicate1/script-to-test-versioning.py +0 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/scripts/duplicate2/script-to-test-versioning.py +0 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/scripts/duplicate3/script-to-test-versioning.py +0 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/scripts/script-to-test-filename-change.py +0 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/scripts/script-to-test-versioning.py +0 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_data.py +0 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_delete.py +0 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_feature_set.py +0 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_from_values.py +0 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_load.py +0 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_manager.py +0 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_notebooks.py +0 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_parents.py +0 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_run.py +0 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_search.py +0 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_ulabel.py +0 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_view.py +0 -0
- {lamindb-0.76.1/tests → lamindb-0.76.3/tests/core}/test_visibility.py +0 -0
@@ -0,0 +1,94 @@
|
|
1
|
+
name: Bug report
|
2
|
+
description: Report something that is broken or incorrect
|
3
|
+
labels: bug
|
4
|
+
body:
|
5
|
+
- type: markdown
|
6
|
+
attributes:
|
7
|
+
value: |
|
8
|
+
**Note**: This is a public repository! Do not reveal any internal information.
|
9
|
+
Please read [this guide](https://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports) detailing how to provide the necessary information for us to reproduce your bug.
|
10
|
+
In brief:
|
11
|
+
* Please provide exact steps how to reproduce the bug in a clean Python environment if possible.
|
12
|
+
|
13
|
+
- type: textarea
|
14
|
+
id: report
|
15
|
+
attributes:
|
16
|
+
label: Report
|
17
|
+
description: A clear and concise description of what the bug is.
|
18
|
+
placeholder: |
|
19
|
+
This is a public repository!
|
20
|
+
Do not reveal any internal information.
|
21
|
+
validations:
|
22
|
+
required: true
|
23
|
+
|
24
|
+
- type: textarea
|
25
|
+
id: versions
|
26
|
+
attributes:
|
27
|
+
label: Version information
|
28
|
+
description: |
|
29
|
+
Please paste below the output of
|
30
|
+
|
31
|
+
```bash
|
32
|
+
pip install session-info
|
33
|
+
```
|
34
|
+
|
35
|
+
```python
|
36
|
+
import session_info
|
37
|
+
session_info.show(html=False, dependencies=True)
|
38
|
+
```
|
39
|
+
placeholder: |
|
40
|
+
-----
|
41
|
+
anndata 0.8.0rc2.dev27+ge524389
|
42
|
+
session_info 1.0.0
|
43
|
+
-----
|
44
|
+
asttokens NA
|
45
|
+
awkward 1.8.0
|
46
|
+
backcall 0.2.0
|
47
|
+
cython_runtime NA
|
48
|
+
dateutil 2.8.2
|
49
|
+
debugpy 1.6.0
|
50
|
+
decorator 5.1.1
|
51
|
+
entrypoints 0.4
|
52
|
+
executing 0.8.3
|
53
|
+
h5py 3.7.0
|
54
|
+
ipykernel 6.15.0
|
55
|
+
jedi 0.18.1
|
56
|
+
mpl_toolkits NA
|
57
|
+
natsort 8.1.0
|
58
|
+
numpy 1.22.4
|
59
|
+
packaging 21.3
|
60
|
+
pandas 1.4.2
|
61
|
+
parso 0.8.3
|
62
|
+
pexpect 4.8.0
|
63
|
+
pickleshare 0.7.5
|
64
|
+
pkg_resources NA
|
65
|
+
prompt_toolkit 3.0.29
|
66
|
+
psutil 5.9.1
|
67
|
+
ptyprocess 0.7.0
|
68
|
+
pure_eval 0.2.2
|
69
|
+
pydev_ipython NA
|
70
|
+
pydevconsole NA
|
71
|
+
pydevd 2.8.0
|
72
|
+
pydevd_file_utils NA
|
73
|
+
pydevd_plugins NA
|
74
|
+
pydevd_tracing NA
|
75
|
+
pygments 2.12.0
|
76
|
+
pytz 2022.1
|
77
|
+
scipy 1.8.1
|
78
|
+
setuptools 62.5.0
|
79
|
+
setuptools_scm NA
|
80
|
+
six 1.16.0
|
81
|
+
stack_data 0.3.0
|
82
|
+
tornado 6.1
|
83
|
+
traitlets 5.3.0
|
84
|
+
wcwidth 0.2.5
|
85
|
+
zmq 23.1.0
|
86
|
+
-----
|
87
|
+
IPython 8.4.0
|
88
|
+
jupyter_client 7.3.4
|
89
|
+
jupyter_core 4.10.0
|
90
|
+
-----
|
91
|
+
Python 3.9.13 | packaged by conda-forge | (main, May 27 2022, 16:58:50) [GCC 10.3.0]
|
92
|
+
Linux-5.18.6-arch1-1-x86_64-with-glibc2.35
|
93
|
+
-----
|
94
|
+
Session information updated at 2022-07-07 17:55
|
@@ -0,0 +1,8 @@
|
|
1
|
+
blank_issues_enabled: false
|
2
|
+
contact_links:
|
3
|
+
- name: LaminHub issues
|
4
|
+
url: https://github.com/laminlabs/laminhub-public
|
5
|
+
about: If you have issues with LaminHub, please report them here.
|
6
|
+
- name: Enterprise support
|
7
|
+
url: https://lamin.ai/contact
|
8
|
+
about: If you have non-technical inquiries, please contact us directly.
|
@@ -0,0 +1,19 @@
|
|
1
|
+
name: Feature request
|
2
|
+
description: Propose a new feature for lamindb
|
3
|
+
labels: enhancement
|
4
|
+
body:
|
5
|
+
- type: markdown
|
6
|
+
attributes:
|
7
|
+
value: |
|
8
|
+
**Note**: This is a public repository! Do not reveal any internal information.
|
9
|
+
|
10
|
+
- type: textarea
|
11
|
+
id: description
|
12
|
+
attributes:
|
13
|
+
label: Description of feature
|
14
|
+
description: Please describe your suggestion for a new feature. It might help to describe a problem or use case, plus any alternatives that you have considered.
|
15
|
+
placeholder: |
|
16
|
+
This is a public repository!
|
17
|
+
Do not reveal any internal information.
|
18
|
+
validations:
|
19
|
+
required: true
|
@@ -14,14 +14,15 @@ jobs:
|
|
14
14
|
fail-fast: false
|
15
15
|
matrix:
|
16
16
|
group:
|
17
|
-
- "unit"
|
17
|
+
- "unit-core"
|
18
|
+
- "unit-storage"
|
18
19
|
- "tutorial"
|
19
20
|
- "guide"
|
20
21
|
- "biology"
|
21
22
|
- "faq"
|
22
23
|
- "storage"
|
23
24
|
- "cli"
|
24
|
-
timeout-minutes:
|
25
|
+
timeout-minutes: 10
|
25
26
|
|
26
27
|
steps:
|
27
28
|
- uses: actions/checkout@v4
|
@@ -37,14 +38,14 @@ jobs:
|
|
37
38
|
with:
|
38
39
|
python-version: "3.11"
|
39
40
|
- name: cache pre-commit
|
40
|
-
uses: actions/cache@
|
41
|
+
uses: actions/cache@v4
|
41
42
|
with:
|
42
43
|
path: ~/.cache/pre-commit
|
43
44
|
key: pre-commit-${{ runner.os }}-${{ hashFiles('.pre-commit-config.yaml') }}
|
44
45
|
- name: cache postgres
|
45
|
-
if: ${{ matrix.group == 'faq' || matrix.group == 'unit' }}
|
46
|
+
if: ${{ matrix.group == 'faq' || matrix.group == 'unit-core' || matrix.group == 'unit-storage' }}
|
46
47
|
id: cache-postgres
|
47
|
-
uses: actions/cache@
|
48
|
+
uses: actions/cache@v4
|
48
49
|
with:
|
49
50
|
path: ~/postgres.tar
|
50
51
|
key: cache-postgres-0
|
@@ -64,7 +65,7 @@ jobs:
|
|
64
65
|
- run: nox -s lint
|
65
66
|
if: ${{ matrix.group == 'tutorial' }} # choose a fast-running a group
|
66
67
|
- run: nox -s "install_ci(group='${{ matrix.group }}')"
|
67
|
-
- uses: aws-actions/configure-aws-credentials@
|
68
|
+
- uses: aws-actions/configure-aws-credentials@v4
|
68
69
|
with:
|
69
70
|
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
70
71
|
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
@@ -97,7 +98,7 @@ jobs:
|
|
97
98
|
ssh-key: ${{ secrets.READ_LNDOCS }}
|
98
99
|
path: lndocs
|
99
100
|
ref: main
|
100
|
-
- uses: aws-actions/configure-aws-credentials@
|
101
|
+
- uses: aws-actions/configure-aws-credentials@v4
|
101
102
|
with:
|
102
103
|
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
103
104
|
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
@@ -12,7 +12,7 @@ repos:
|
|
12
12
|
- id: prettier
|
13
13
|
exclude: |
|
14
14
|
(?x)(
|
15
|
-
docs/changelog.md
|
15
|
+
docs/changelog.md|.github/ISSUE_TEMPLATE/config.yml
|
16
16
|
)
|
17
17
|
- repo: https://github.com/kynan/nbstripout
|
18
18
|
rev: 0.6.1
|
@@ -48,9 +48,8 @@ repos:
|
|
48
48
|
hooks:
|
49
49
|
- id: mypy
|
50
50
|
args: [--no-strict-optional, --ignore-missing-imports]
|
51
|
-
additional_dependencies:
|
52
|
-
["types-pkg-resources", "types-requests", "types-attrs"]
|
51
|
+
additional_dependencies: ["types-requests", "types-attrs"]
|
53
52
|
exclude: |
|
54
53
|
(?x)(
|
55
|
-
test_notebooks.py
|
54
|
+
test_notebooks.py|script-to-test-versioning.py|tests/storage/conftest.py
|
56
55
|
)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: lamindb
|
3
|
-
Version: 0.76.
|
3
|
+
Version: 0.76.3
|
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,9 +9,9 @@ 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.73.
|
13
|
-
Requires-Dist: lamindb_setup==0.76.
|
14
|
-
Requires-Dist: lamin_utils==0.13.
|
12
|
+
Requires-Dist: lnschema_core==0.73.3
|
13
|
+
Requires-Dist: lamindb_setup==0.76.7
|
14
|
+
Requires-Dist: lamin_utils==0.13.4
|
15
15
|
Requires-Dist: lamin_cli==0.16.2
|
16
16
|
Requires-Dist: rapidfuzz
|
17
17
|
Requires-Dist: pyarrow
|
@@ -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.49.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"
|
@@ -57,13 +57,5 @@ Provides-Extra: zarr
|
|
57
57
|
|
58
58
|
# LaminDB - A data framework for biology
|
59
59
|
|
60
|
-
|
61
|
-
- Track data lineage across notebooks & pipelines.
|
62
|
-
- Integrate registries for experimental metadata & in-house ontologies.
|
63
|
-
- Validate, standardize & annotate.
|
64
|
-
- Collaborate across distributed databases.
|
65
|
-
|
66
|
-
## Documentation
|
67
|
-
|
68
|
-
Read the [docs](https://lamin.ai/docs).
|
60
|
+
Read the [docs](https://docs.lamin.ai).
|
69
61
|
|
@@ -4,12 +4,4 @@
|
|
4
4
|
|
5
5
|
# LaminDB - A data framework for biology
|
6
6
|
|
7
|
-
|
8
|
-
- Track data lineage across notebooks & pipelines.
|
9
|
-
- Integrate registries for experimental metadata & in-house ontologies.
|
10
|
-
- Validate, standardize & annotate.
|
11
|
-
- Collaborate across distributed databases.
|
12
|
-
|
13
|
-
## Documentation
|
14
|
-
|
15
|
-
Read the [docs](https://lamin.ai/docs).
|
7
|
+
Read the [docs](https://docs.lamin.ai).
|
@@ -116,7 +116,7 @@
|
|
116
116
|
"metadata": {},
|
117
117
|
"outputs": [],
|
118
118
|
"source": [
|
119
|
-
"artifact = ln.Artifact.
|
119
|
+
"artifact = ln.Artifact.get(key=\"lndb-storage/pbmc68k.h5ad\")"
|
120
120
|
]
|
121
121
|
},
|
122
122
|
{
|
@@ -248,7 +248,7 @@
|
|
248
248
|
"metadata": {},
|
249
249
|
"outputs": [],
|
250
250
|
"source": [
|
251
|
-
"artifact = ln.Artifact.
|
251
|
+
"artifact = ln.Artifact.get(key=\"lndb-storage/testfile.hdf5\")"
|
252
252
|
]
|
253
253
|
},
|
254
254
|
{
|
@@ -162,7 +162,7 @@
|
|
162
162
|
"metadata": {},
|
163
163
|
"outputs": [],
|
164
164
|
"source": [
|
165
|
-
"gdt_cell = bt.CellType.
|
165
|
+
"gdt_cell = bt.CellType.get(ontology_id=\"CL:0000798\", created_by__handle=\"testuser1\")\n",
|
166
166
|
"gdt_cell"
|
167
167
|
]
|
168
168
|
},
|
@@ -644,7 +644,7 @@
|
|
644
644
|
},
|
645
645
|
"outputs": [],
|
646
646
|
"source": [
|
647
|
-
"hepatocyte = bt.CellType.
|
647
|
+
"hepatocyte = bt.CellType.get(name=\"hepatocyte\")\n",
|
648
648
|
"hepatocyte.source"
|
649
649
|
]
|
650
650
|
},
|
@@ -685,7 +685,7 @@
|
|
685
685
|
"metadata": {},
|
686
686
|
"outputs": [],
|
687
687
|
"source": [
|
688
|
-
"source = bt.Source.
|
688
|
+
"source = bt.Source.get(entity=\"bionty.Organism\", name=\"ncbitaxon\")\n",
|
689
689
|
"source"
|
690
690
|
]
|
691
691
|
},
|
@@ -722,7 +722,7 @@
|
|
722
722
|
"ln.save(records)\n",
|
723
723
|
"\n",
|
724
724
|
"# now we can query a iris organism and view its parents and children\n",
|
725
|
-
"iris = bt.Organism.
|
725
|
+
"iris = bt.Organism.get(name=\"iris\")\n",
|
726
726
|
"iris.view_parents(with_children=True)"
|
727
727
|
]
|
728
728
|
},
|
@@ -5,19 +5,21 @@
|
|
5
5
|
"id": "1d2cd769",
|
6
6
|
"metadata": {},
|
7
7
|
"source": [
|
8
|
-
"# Curate
|
8
|
+
"# Curate DataFrames and AnnDatas\n",
|
9
9
|
"\n",
|
10
|
-
"
|
10
|
+
"Curating datasets typically means three things:\n",
|
11
11
|
"\n",
|
12
|
-
"1. Validate: ensure a dataset meets predefined
|
12
|
+
"1. Validate: ensure a dataset meets predefined _validation criteria_\n",
|
13
13
|
"2. Standardize: transform a dataset so that it meets validation criteria, e.g., by fixing typos or using standardized identifiers\n",
|
14
14
|
"3. Annotate: link a dataset against metadata records\n",
|
15
15
|
"\n",
|
16
|
-
"
|
16
|
+
"In LaminDB, valid metadata is metadata that's stored in a metadata registry and _validation criteria_ merely defines a mapping onto a field of a registry.\n",
|
17
17
|
"\n",
|
18
|
-
"
|
18
|
+
"```{admonition} Example\n",
|
19
19
|
"\n",
|
20
|
-
"
|
20
|
+
"`\"Experiment 1\"` is a valid value for `ULabel.name` if a record with this name exists in the {class}`~lamindb.ULabel` registry.\n",
|
21
|
+
"\n",
|
22
|
+
"```"
|
21
23
|
]
|
22
24
|
},
|
23
25
|
{
|
@@ -35,25 +37,12 @@
|
|
35
37
|
"!lamin init --storage ./test-curate --schema bionty"
|
36
38
|
]
|
37
39
|
},
|
38
|
-
{
|
39
|
-
"cell_type": "code",
|
40
|
-
"execution_count": null,
|
41
|
-
"id": "a691aae0",
|
42
|
-
"metadata": {},
|
43
|
-
"outputs": [],
|
44
|
-
"source": [
|
45
|
-
"import lamindb as ln\n",
|
46
|
-
"import bionty as bt\n",
|
47
|
-
"import pandas as pd\n",
|
48
|
-
"import anndata as ad"
|
49
|
-
]
|
50
|
-
},
|
51
40
|
{
|
52
41
|
"cell_type": "markdown",
|
53
42
|
"id": "946a3371",
|
54
43
|
"metadata": {},
|
55
44
|
"source": [
|
56
|
-
"## Validate
|
45
|
+
"## Validate a DataFrame"
|
57
46
|
]
|
58
47
|
},
|
59
48
|
{
|
@@ -61,7 +50,7 @@
|
|
61
50
|
"id": "52bbbac2",
|
62
51
|
"metadata": {},
|
63
52
|
"source": [
|
64
|
-
"Let's start with a DataFrame that we'd like to validate
|
53
|
+
"Let's start with a DataFrame that we'd like to validate."
|
65
54
|
]
|
66
55
|
},
|
67
56
|
{
|
@@ -75,6 +64,11 @@
|
|
75
64
|
},
|
76
65
|
"outputs": [],
|
77
66
|
"source": [
|
67
|
+
"import lamindb as ln\n",
|
68
|
+
"import bionty as bt\n",
|
69
|
+
"import pandas as pd\n",
|
70
|
+
"\n",
|
71
|
+
"\n",
|
78
72
|
"df = pd.DataFrame(\n",
|
79
73
|
" {\n",
|
80
74
|
" \"temperature\": [37.2, 36.3, 38.2],\n",
|
@@ -92,7 +86,7 @@
|
|
92
86
|
"id": "c7d74af9",
|
93
87
|
"metadata": {},
|
94
88
|
"source": [
|
95
|
-
"
|
89
|
+
"Define validation criteria and create a {class}`~lamindb.Curator` object."
|
96
90
|
]
|
97
91
|
},
|
98
92
|
{
|
@@ -106,33 +100,16 @@
|
|
106
100
|
},
|
107
101
|
"outputs": [],
|
108
102
|
"source": [
|
109
|
-
"#
|
110
|
-
"#
|
103
|
+
"# in the dictionary, each key is a column name of the dataframe, and each value\n",
|
104
|
+
"# is a registry field onto which values are mapped\n",
|
111
105
|
"categoricals = {\n",
|
112
106
|
" \"cell_type\": bt.CellType.name,\n",
|
113
107
|
" \"assay_ontology_id\": bt.ExperimentalFactor.ontology_id,\n",
|
114
108
|
" \"donor\": ln.ULabel.name,\n",
|
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": [
|
133
|
-
"# create an Curate object to guide validation and annotation\n",
|
134
|
-
"# this object will use our DataFrame and the defined categorical criteria\n",
|
135
|
-
"curate = ln.Curate.from_df(df, categoricals=categoricals)"
|
109
|
+
"}\n",
|
110
|
+
"\n",
|
111
|
+
"# pass validation criteria\n",
|
112
|
+
"curate = ln.Curator.from_df(df, categoricals=categoricals)"
|
136
113
|
]
|
137
114
|
},
|
138
115
|
{
|
@@ -140,7 +117,7 @@
|
|
140
117
|
"id": "804ae191",
|
141
118
|
"metadata": {},
|
142
119
|
"source": [
|
143
|
-
"The
|
120
|
+
"The {meth}`~lamindb.core.BaseCurator.validate` method checks our data against the defined criteria. It identifies which values are already validated (exist in our registries) and which are potentially problematic (do not yet exist in our registries)."
|
144
121
|
]
|
145
122
|
},
|
146
123
|
{
|
@@ -164,9 +141,9 @@
|
|
164
141
|
"source": [
|
165
142
|
"## Register new metadata values\n",
|
166
143
|
"\n",
|
167
|
-
"If you see
|
144
|
+
"If you see \"non-validated\" values, you'll need to decide whether to add them to your registries or \"fix\" them in your dataset.\n",
|
168
145
|
"\n",
|
169
|
-
"Because our current
|
146
|
+
"Because our current registries are still empty, we'll start by populating our {class}`~bionty.CellType` registry with values from a public ontology."
|
170
147
|
]
|
171
148
|
},
|
172
149
|
{
|
@@ -180,10 +157,36 @@
|
|
180
157
|
},
|
181
158
|
"outputs": [],
|
182
159
|
"source": [
|
183
|
-
"# this adds cell types that were validated
|
160
|
+
"# this adds cell types that were validated based on a public ontology\n",
|
184
161
|
"curate.add_validated_from(\"cell_type\")"
|
185
162
|
]
|
186
163
|
},
|
164
|
+
{
|
165
|
+
"cell_type": "markdown",
|
166
|
+
"id": "5bcfc09f",
|
167
|
+
"metadata": {},
|
168
|
+
"source": [
|
169
|
+
"If we call `validate()` again, we see that one cell type still doesn't pass validation."
|
170
|
+
]
|
171
|
+
},
|
172
|
+
{
|
173
|
+
"cell_type": "code",
|
174
|
+
"execution_count": null,
|
175
|
+
"id": "104f9932",
|
176
|
+
"metadata": {},
|
177
|
+
"outputs": [],
|
178
|
+
"source": [
|
179
|
+
"curate.validate()"
|
180
|
+
]
|
181
|
+
},
|
182
|
+
{
|
183
|
+
"cell_type": "markdown",
|
184
|
+
"id": "8c2417c7",
|
185
|
+
"metadata": {},
|
186
|
+
"source": [
|
187
|
+
"Hence, let's understand which cell type in the public ontology might be the actual match."
|
188
|
+
]
|
189
|
+
},
|
187
190
|
{
|
188
191
|
"cell_type": "code",
|
189
192
|
"execution_count": null,
|
@@ -195,7 +198,7 @@
|
|
195
198
|
},
|
196
199
|
"outputs": [],
|
197
200
|
"source": [
|
198
|
-
"# use a lookup object to get the correct spelling of categories from a public
|
201
|
+
"# use a lookup object to get the correct spelling of categories from a public ontology\n",
|
199
202
|
"lookup = curate.lookup(\"public\")\n",
|
200
203
|
"lookup"
|
201
204
|
]
|
@@ -211,7 +214,8 @@
|
|
211
214
|
},
|
212
215
|
"outputs": [],
|
213
216
|
"source": [
|
214
|
-
"
|
217
|
+
"# here is an example for the cell_type column\n",
|
218
|
+
"cell_types = lookup[\"cell_type\"]\n",
|
215
219
|
"cell_types.cerebral_cortex_pyramidal_neuron"
|
216
220
|
]
|
217
221
|
},
|
@@ -226,12 +230,20 @@
|
|
226
230
|
},
|
227
231
|
"outputs": [],
|
228
232
|
"source": [
|
229
|
-
"#
|
233
|
+
"# fix the cell type\n",
|
230
234
|
"df.cell_type = df.cell_type.replace({\"cerebral pyramidal neuron\": cell_types.cerebral_cortex_pyramidal_neuron.name})\n",
|
231
235
|
"# now register curated and validated cell types\n",
|
232
236
|
"curate.add_validated_from(df.cell_type.name)"
|
233
237
|
]
|
234
238
|
},
|
239
|
+
{
|
240
|
+
"cell_type": "markdown",
|
241
|
+
"id": "752142a1",
|
242
|
+
"metadata": {},
|
243
|
+
"source": [
|
244
|
+
"Now, do the same for `\"assay_ontology_id`\" and `\"donor\"`."
|
245
|
+
]
|
246
|
+
},
|
235
247
|
{
|
236
248
|
"cell_type": "code",
|
237
249
|
"execution_count": null,
|
@@ -243,7 +255,7 @@
|
|
243
255
|
},
|
244
256
|
"outputs": [],
|
245
257
|
"source": [
|
246
|
-
"# this adds assays that were validated
|
258
|
+
"# this adds assays that were validated based on a public ontology\n",
|
247
259
|
"curate.add_validated_from(\"assay_ontology_id\")"
|
248
260
|
]
|
249
261
|
},
|
@@ -259,7 +271,7 @@
|
|
259
271
|
"outputs": [],
|
260
272
|
"source": [
|
261
273
|
"# this adds donors that were _not_ validated\n",
|
262
|
-
"curate.add_new_from(
|
274
|
+
"curate.add_new_from(\"donor\")"
|
263
275
|
]
|
264
276
|
},
|
265
277
|
{
|
@@ -283,7 +295,7 @@
|
|
283
295
|
"id": "b9d09a10",
|
284
296
|
"metadata": {},
|
285
297
|
"source": [
|
286
|
-
"## Validate an AnnData
|
298
|
+
"## Validate an AnnData\n",
|
287
299
|
"\n",
|
288
300
|
"Here we addtionally specify which `var_index` to validate against."
|
289
301
|
]
|
@@ -299,6 +311,8 @@
|
|
299
311
|
},
|
300
312
|
"outputs": [],
|
301
313
|
"source": [
|
314
|
+
"import anndata as ad\n",
|
315
|
+
"\n",
|
302
316
|
"X = pd.DataFrame(\n",
|
303
317
|
" {\n",
|
304
318
|
" \"ENSG00000081059\": [1, 2, 3], \n",
|
@@ -326,7 +340,7 @@
|
|
326
340
|
},
|
327
341
|
"outputs": [],
|
328
342
|
"source": [
|
329
|
-
"curate = ln.
|
343
|
+
"curate = ln.Curator.from_anndata(\n",
|
330
344
|
" adata, \n",
|
331
345
|
" var_index=bt.Gene.ensembl_gene_id, # validate var.index against Gene.ensembl_gene_id\n",
|
332
346
|
" categoricals=categoricals, \n",
|
@@ -350,10 +364,20 @@
|
|
350
364
|
},
|
351
365
|
{
|
352
366
|
"cell_type": "markdown",
|
353
|
-
"id": "
|
367
|
+
"id": "71a917d1",
|
368
|
+
"metadata": {},
|
369
|
+
"source": [
|
370
|
+
"Save the validated genes following the instruction:"
|
371
|
+
]
|
372
|
+
},
|
373
|
+
{
|
374
|
+
"cell_type": "code",
|
375
|
+
"execution_count": null,
|
376
|
+
"id": "e31dabcc",
|
354
377
|
"metadata": {},
|
378
|
+
"outputs": [],
|
355
379
|
"source": [
|
356
|
-
"
|
380
|
+
"curate.add_validated_from_var_index()"
|
357
381
|
]
|
358
382
|
},
|
359
383
|
{
|
@@ -368,7 +392,11 @@
|
|
368
392
|
"cell_type": "code",
|
369
393
|
"execution_count": null,
|
370
394
|
"id": "4e2fd290",
|
371
|
-
"metadata": {
|
395
|
+
"metadata": {
|
396
|
+
"tags": [
|
397
|
+
"hide-output"
|
398
|
+
]
|
399
|
+
},
|
372
400
|
"outputs": [],
|
373
401
|
"source": [
|
374
402
|
"curate.non_validated"
|
@@ -379,7 +407,7 @@
|
|
379
407
|
"id": "b2ec4aeb",
|
380
408
|
"metadata": {},
|
381
409
|
"source": [
|
382
|
-
"Subset
|
410
|
+
"Subset the `AnnData` to validated genes only:"
|
383
411
|
]
|
384
412
|
},
|
385
413
|
{
|
@@ -411,7 +439,7 @@
|
|
411
439
|
},
|
412
440
|
"outputs": [],
|
413
441
|
"source": [
|
414
|
-
"curate = ln.
|
442
|
+
"curate = ln.Curator.from_anndata(\n",
|
415
443
|
" adata_validated, \n",
|
416
444
|
" var_index=bt.Gene.ensembl_gene_id, # validate var.index against Gene.ensembl_gene_id\n",
|
417
445
|
" categoricals=categoricals, \n",
|
@@ -112,7 +112,7 @@
|
|
112
112
|
"metadata": {},
|
113
113
|
"outputs": [],
|
114
114
|
"source": [
|
115
|
-
"storage_record = ln.Storage.
|
115
|
+
"storage_record = ln.Storage.get(root=ln.settings.storage_local.root)\n",
|
116
116
|
"storage_record.description = \"Files stored locally in site X on server Y for reason ABC\"\n",
|
117
117
|
"storage_record.save()\n",
|
118
118
|
"ln.Storage.df()"
|
@@ -928,7 +928,7 @@
|
|
928
928
|
"metadata": {},
|
929
929
|
"outputs": [],
|
930
930
|
"source": [
|
931
|
-
"ln.Artifact.
|
931
|
+
"ln.Artifact.get(key__icontains=\"raw_feature_bc_matrix/matrix.mtx.gz\").path"
|
932
932
|
]
|
933
933
|
},
|
934
934
|
{
|
@@ -937,7 +937,7 @@
|
|
937
937
|
"metadata": {},
|
938
938
|
"outputs": [],
|
939
939
|
"source": [
|
940
|
-
"artifact = ln.Artifact.
|
940
|
+
"artifact = ln.Artifact.get(description=\"cellranger raw\")\n",
|
941
941
|
"artifact.path.glob(\"*\")"
|
942
942
|
]
|
943
943
|
}
|