lamindb 0.76.2__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.2 → lamindb-0.76.3}/.github/workflows/build.yml +4 -3
- {lamindb-0.76.2 → lamindb-0.76.3}/.gitignore +2 -0
- {lamindb-0.76.2/sub/lnschema-core → lamindb-0.76.3}/.pre-commit-config.yaml +3 -4
- {lamindb-0.76.2 → lamindb-0.76.3}/PKG-INFO +4 -4
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/arrays.ipynb +2 -2
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/bio-registries.ipynb +4 -4
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/curate-df.ipynb +89 -61
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/faq/keep-artifacts-local.ipynb +1 -1
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/faq/key.ipynb +2 -2
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/faq/track-run-inputs.ipynb +8 -8
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/introduction.ipynb +119 -111
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/schemas.ipynb +8 -10
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/storage/transfer-local-to-cloud.ipynb +1 -1
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/storage/vitessce.ipynb +1 -1
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/track.ipynb +17 -18
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/tutorial.ipynb +2 -4
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/tutorial2.ipynb +3 -3
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/__init__.py +4 -3
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/_artifact.py +8 -2
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/_curate.py +97 -34
- lamindb-0.76.3/lamindb/_filter.py +23 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/_finish.py +1 -1
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/_query_set.py +26 -1
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/__init__.py +2 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/_context.py +3 -3
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/_mapped_collection.py +31 -1
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/exceptions.py +1 -1
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/storage/__init__.py +1 -1
- lamindb-0.76.3/lamindb/core/storage/_tiledbsoma.py +192 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/integrations/__init__.py +3 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/noxfile.py +28 -8
- {lamindb-0.76.2 → lamindb-0.76.3}/pyproject.toml +3 -3
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/__init__.py +1 -1
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/_bionty.py +7 -5
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/_public_ontology.py +33 -37
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/core/_add_ontology.py +19 -17
- lamindb-0.76.3/sub/bionty/bionty/migrations/0037_alter_cellline_source_alter_cellmarker_source_and_more.py +130 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/models.py +107 -152
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/tests/entities/test_gene.py +0 -4
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/lamin_cli/__main__.py +14 -14
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/tests/test_cli.py +0 -6
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-cloud/03-add-managed-storage.ipynb +10 -4
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/__init__.py +1 -1
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_migrate.py +6 -3
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_hub_client.py +8 -5
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_settings_instance.py +3 -2
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/noxfile.py +2 -2
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/pyproject.toml +3 -2
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-local/test_all.py +1 -0
- {lamindb-0.76.2 → lamindb-0.76.3/sub/lnschema-core}/.pre-commit-config.yaml +1 -1
- {lamindb-0.76.2 → 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.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/models.py +3 -3
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/users.py +4 -1
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/tests/test_models.py +0 -2
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/conftest.py +14 -9
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_artifact.py +7 -5
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_cache.py +2 -2
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_collection.py +13 -2
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_context.py +8 -5
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_curate.py +22 -10
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_label_manager.py +4 -4
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_settings.py +5 -2
- lamindb-0.76.3/tests/storage/conftest.py +41 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/storage}/test_storage.py +26 -50
- lamindb-0.76.2/lamindb/_filter.py +0 -37
- lamindb-0.76.2/lamindb/core/storage/_tiledbsoma.py +0 -229
- {lamindb-0.76.2 → lamindb-0.76.3}/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/.gitmodules +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/CONTRIBUTING.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/LICENSE +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/README.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/api.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/bionty.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/changelog.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/curate-any.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/curate.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/faq/acid.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/faq/delete.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/faq/idempotency.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/faq/import-schema.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/faq/reference-field.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/faq/setup.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/faq/test_notebooks.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/faq/visibility.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/faq.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/guide.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/includes/features-lamindb.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/includes/features-laminhub.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/includes/installation.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/index.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/lamindb.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/query-search.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/readfcs.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/records.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/rest.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/setup.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/signup-login.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/storage/add-replace-cache.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/storage/anndata-accessor.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/storage/prepare-transfer-local-to-cloud.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/storage/test-files/iris.csv +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/storage/test-files/iris.data +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/storage/test-files/new_iris.csv +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/storage/test_notebooks.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/storage/upload.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/storage.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/test_notebooks.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/transfer.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/docs/wetlab.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/_can_validate.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/_collection.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/_feature.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/_feature_set.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/_from_values.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/_is_versioned.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/_parents.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/_query_manager.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/_record.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/_run.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/_save.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/_storage.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/_transform.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/_ulabel.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/_utils.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/_view.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/_data.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/_feature_manager.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/_label_manager.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/_settings.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/_sync_git.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/_track_environment.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/datasets/__init__.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/datasets/_core.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/datasets/_fake.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/fields.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/schema.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/storage/_anndata_accessor.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/storage/_anndata_sizes.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/storage/_backed_access.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/storage/_valid_suffixes.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/storage/_zarr.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/storage/objects.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/storage/paths.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/subsettings/__init__.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/subsettings/_creation_settings.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/subsettings/_transform_settings.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/types.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/core/versioning.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/integrations/_vitessce.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/setup/__init__.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/lamindb/setup/core/__init__.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/.github/workflows/build.yml +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/.github/workflows/update_ontologies.yml +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/.gitignore +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/.pre-commit-config.yaml +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/LICENSE +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/README.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/__init__.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/_display_sources.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/_ontology.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/_settings.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/_sync_sources.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/dev/__init__.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/dev/_handle_sources.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/dev/_io.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/dev/_md5.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/__init__.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_bfxpipeline.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_biosample.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_cellline.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_cellmarker.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_celltype.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_developmentalstage.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_disease.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_drug.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_ethnicity.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_experimentalfactor.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_gene.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_organism.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_pathway.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_phenotype.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_protein.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_shared_docstrings.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/entities/_tissue.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/scripts/bfxpipelines_info/custom_pipelines.json +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/scripts/check_ontologies_reachable.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/scripts/determine_md5s.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/scripts/generate_bfxpipelines.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/scripts/update_new_ontologies.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/scripts/upload_new_ontologies.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/base/sources.yaml +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/core/__init__.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/core/_bionty.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/core/_settings.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/ids.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0023_rename_publicsource_encode_uid.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0024_remove_cellline_collections_and_more.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0025_artifactcellline_alter_cellline_artifacts_and_more.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0026_artifactcellline_cell_line_ref_is_name_and_more.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0027_remove_artifactcellline_created_at_and_more.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0028_artifactcellline_created_at_and_more.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0028_squashed.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0029_alter_cellline_previous_runs_and_more.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0030_rename_publicsource_source_and_more.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0031_alter_cellmarker_name_and_more.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0032_rename_source_name_source_description_and_more.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0033_alter_artifactcellline_artifact_and_more.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0034_alter_source_unique_together.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0035_alter_protein_gene_symbol.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/migrations/0036_alter_source_artifacts_and_more.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/bionty/migrations/__init__.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/docs/guide/concepts.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/docs/guide/config.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/docs/guide/extend.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/docs/guide/test_notebooks.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/docs/guide.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/docs/index.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/docs/reference.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/lamin-project.yaml +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/noxfile.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/pyproject.toml +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/tests/dev/test_handle_sources.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/tests/dev/test_io.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/tests/entities/test_bfxpipeline.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/tests/entities/test_biosample.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/tests/entities/test_cellline.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/tests/entities/test_cellmarker.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/tests/entities/test_celltype.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/tests/entities/test_developmentalstage.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/tests/entities/test_disease.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/tests/entities/test_drug.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/tests/entities/test_ethnicity.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/tests/entities/test_experimentalfactor.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/tests/entities/test_organism.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/tests/entities/test_pathway.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/tests/entities/test_phenotype.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/tests/entities/test_protein.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/tests/entities/test_tissue.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/tests/test_bionty.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/tests/test_lamindb.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/tests/test_md5.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/bionty/tests/test_ontology.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/.gitignore +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/.pre-commit-config.yaml +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/README.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/lamin_cli/__init__.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/lamin_cli/_cache.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/lamin_cli/_get.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/lamin_cli/_migration.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/lamin_cli/_save.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/pyproject.toml +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/tests/conftest.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/tests/scripts/merely-import-lamindb.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/tests/scripts/run-track-and-finish-sync-git.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/tests/scripts/run-track-and-finish.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/tests/test_get.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/tests/test_migrate.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/tests/test_multi_process.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/tests/test_save_files.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/tests/test_save_notebooks.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamin-cli/tests/test_save_scripts.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/.github/workflows/build.yml +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/.gitignore +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/.pre-commit-config.yaml +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/LICENSE +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/README.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/docs/changelog.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-cloud/01-init-local-instance.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-cloud/02-connect-local-instance.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-cloud/04-test-bionty.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-cloud/05-init-hosted-instance.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-cloud/06-connect-hosted-instance.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-cloud/07-keep-artifacts-local.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-cloud/08-test-multi-session.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-cloud/test_notebooks.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-prod/test-cache-management.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-prod/test-cloud-sync.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-prod/test-connect-anonymously.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-prod/test-empty-init.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-prod/test-import-schema.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-prod/test-insufficient-user-info.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-prod/test-invalid-schema.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-prod/test-sqlite-lock.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/docs/hub-prod/test_notebooks2.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/docs/index.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/docs/notebooks.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/docs/reference.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_check.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_check_setup.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_connect_instance.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_delete.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_django.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_exportdb.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_importdb.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_init_instance.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_schema_metadata.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_set_managed_storage.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_setup_user.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/__init__.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_aws_credentials.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_aws_storage.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_deprecated.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_docs.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_hub_core.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_hub_crud.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_hub_utils.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_private_django_api.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_settings.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_settings_load.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_settings_save.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_settings_storage.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_settings_store.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_settings_user.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/_setup_bionty_sources.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/cloud_sqlite_locker.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/django.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/exceptions.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/hashing.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/types.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/lamindb_setup/core/upath.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-cloud/scripts/script-to-fail-managed-storage.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-cloud/test_connect_instance.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-cloud/test_delete_instance.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-cloud/test_fail_managed_storage.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-cloud/test_init_instance.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-cloud/test_login.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-cloud/test_migrate.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-cloud/test_set_storage.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-local/conftest.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-local/test_update_schema_in_hub.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-prod/conftest.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-prod/test_django.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-prod/test_global_settings.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-prod/test_switch_and_fallback_env.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/tests/hub-prod/test_upath.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/tests/storage/test_hashing.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/tests/storage/test_storage_access.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/tests/storage/test_storage_basis.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/tests/storage/test_storage_stats.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lamindb-setup/tests/storage/test_to_url.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/.github/workflows/build.yml +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/.gitignore +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/CHANGELOG.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/LICENSE +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/README.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/ids.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0037_rename_dataset_to_collection.py +0 -0
- {lamindb-0.76.2 → 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.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0039_remove_collection_artifacts_collectionartifact_and_more.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0040_alter_transform_type.py +0 -0
- {lamindb-0.76.2 → 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.2 → 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.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0043_run_json.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0044_run_replicated_outputs_transform_ulabels_and_more.py +0 -0
- {lamindb-0.76.2 → 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.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0046_storage_instance_uid.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0047_featurevalue_artifactfeaturevalue_and_more.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0048_alter_artifactulabel_feature_and_more.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0049_rename_type_feature_dtype_and_more.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0050_artifactfeatureset_feature_ref_is_semantic_and_more.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0051_remove_feature_feature_sets_featuresetfeature_and_more.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0052_rename_feature_value_artifactfeaturevalue_featurevalue_and_more.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0052_squashed.py +0 -0
- {lamindb-0.76.2 → 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.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0054_alter_feature_previous_runs_and_more.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0055_artifact_type_artifactparamvalue_and_more.py +0 -0
- {lamindb-0.76.2 → 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.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0057_link_models_latest_report_and_others.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0058_artifact__actions_collection__actions.py +0 -0
- {lamindb-0.76.2 → 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.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0060_alter_artifact__actions.py +0 -0
- {lamindb-0.76.2 → 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.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0062_add_is_latest_field.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/0063_populate_latest_field.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/mocks.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/lnschema_core/types.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/noxfile.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/pyproject.toml +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/tests/conftest.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/tests/test_integrity.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/lnschema-core/tests/test_types.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/.github/workflows/build.yml +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/.gitignore +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/.pre-commit-config.yaml +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/README.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/docs/changelog.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/docs/guide/get-started.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/docs/guide/modeling_perturbations.ipynb +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/docs/guide.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/docs/index.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/docs/reference.md +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/noxfile.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/pyproject.toml +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/tests/test_integrity.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/tests/test_notebooks.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/wetlab/__init__.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/wetlab/migrations/0017_remove_biosample_artifacts.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/wetlab/migrations/0018_squashed.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/wetlab/migrations/0018_well_created_at_well_created_by_well_updated_at.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/wetlab/migrations/0019_alter_treatment_system.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/wetlab/migrations/0020_treatmenttarget_pathways_treatmenttarget_proteins_and_more.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/wetlab/migrations/0021_alter_compoundtreatment_duration_unit_and_more.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/wetlab/migrations/__init__.py +0 -0
- {lamindb-0.76.2 → lamindb-0.76.3}/sub/wetlab/wetlab/models.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/notebooks/duplicate/with-title-initialized-consecutive-finish.ipynb +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/notebooks/no-title.ipynb +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/notebooks/not-initialized.ipynb +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/notebooks/with-title-initialized-consecutive-finish-not-last-cell.ipynb +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/notebooks/with-title-initialized-consecutive-finish.ipynb +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/scripts/duplicate1/script-to-test-versioning.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/scripts/duplicate2/script-to-test-versioning.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/scripts/duplicate3/script-to-test-versioning.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/scripts/script-to-test-filename-change.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/scripts/script-to-test-versioning.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_artifact_folders.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_can_validate.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_data.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_db.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_delete.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_feature.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_feature_manager.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_feature_set.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_from_values.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_load.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_manager.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_notebooks.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_parents.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_queryset.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_record.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_run.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_save.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_search.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_transfer.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_transform.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_uid.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_ulabel.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_versioning.py +0 -0
- {lamindb-0.76.2/tests → lamindb-0.76.3/tests/core}/test_view.py +0 -0
- {lamindb-0.76.2/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
|
@@ -42,7 +43,7 @@ jobs:
|
|
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
48
|
uses: actions/cache@v4
|
48
49
|
with:
|
@@ -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,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.73.
|
13
|
-
Requires-Dist: lamindb_setup==0.76.
|
12
|
+
Requires-Dist: lnschema_core==0.73.3
|
13
|
+
Requires-Dist: lamindb_setup==0.76.7
|
14
14
|
Requires-Dist: lamin_utils==0.13.4
|
15
15
|
Requires-Dist: lamin_cli==0.16.2
|
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.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"
|
@@ -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
|
}
|
@@ -99,7 +99,7 @@
|
|
99
99
|
"metadata": {},
|
100
100
|
"outputs": [],
|
101
101
|
"source": [
|
102
|
-
"artifact = ln.Artifact.
|
102
|
+
"artifact = ln.Artifact.get(description=\"My image\")"
|
103
103
|
]
|
104
104
|
},
|
105
105
|
{
|
@@ -125,7 +125,7 @@
|
|
125
125
|
"metadata": {},
|
126
126
|
"outputs": [],
|
127
127
|
"source": [
|
128
|
-
"ln.Run.
|
128
|
+
"ln.Run.get(id=ln.context.run.id).input_artifacts.all()"
|
129
129
|
]
|
130
130
|
},
|
131
131
|
{
|
@@ -138,7 +138,7 @@
|
|
138
138
|
},
|
139
139
|
"outputs": [],
|
140
140
|
"source": [
|
141
|
-
"assert len(ln.Run.
|
141
|
+
"assert len(ln.Run.get(id=ln.context.run.id).input_artifacts.all()) == 0"
|
142
142
|
]
|
143
143
|
},
|
144
144
|
{
|
@@ -180,7 +180,7 @@
|
|
180
180
|
"metadata": {},
|
181
181
|
"outputs": [],
|
182
182
|
"source": [
|
183
|
-
"for input in ln.Run.
|
183
|
+
"for input in ln.Run.get(id=ln.context.run.id).input_artifacts.all():\n",
|
184
184
|
" print(input)"
|
185
185
|
]
|
186
186
|
},
|
@@ -194,7 +194,7 @@
|
|
194
194
|
},
|
195
195
|
"outputs": [],
|
196
196
|
"source": [
|
197
|
-
"assert len(ln.Run.
|
197
|
+
"assert len(ln.Run.get(id=ln.context.run.id).input_artifacts.all()) == 1"
|
198
198
|
]
|
199
199
|
},
|
200
200
|
{
|
@@ -228,7 +228,7 @@
|
|
228
228
|
"metadata": {},
|
229
229
|
"outputs": [],
|
230
230
|
"source": [
|
231
|
-
"artifact = ln.Artifact.
|
231
|
+
"artifact = ln.Artifact.get(description=\"My csv\")"
|
232
232
|
]
|
233
233
|
},
|
234
234
|
{
|
@@ -246,7 +246,7 @@
|
|
246
246
|
"metadata": {},
|
247
247
|
"outputs": [],
|
248
248
|
"source": [
|
249
|
-
"for input in ln.Run.
|
249
|
+
"for input in ln.Run.get(id=ln.context.run.id).input_artifacts.all():\n",
|
250
250
|
" print(input)"
|
251
251
|
]
|
252
252
|
},
|
@@ -260,7 +260,7 @@
|
|
260
260
|
},
|
261
261
|
"outputs": [],
|
262
262
|
"source": [
|
263
|
-
"assert len(ln.Run.
|
263
|
+
"assert len(ln.Run.get(id=ln.context.run.id).input_artifacts.all()) == 2"
|
264
264
|
]
|
265
265
|
},
|
266
266
|
{
|