lamindb 0.76.6__tar.gz → 0.76.7__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.6 → lamindb-0.76.7}/.github/ISSUE_TEMPLATE/bug_report.yml +2 -1
- {lamindb-0.76.6 → lamindb-0.76.7}/.github/ISSUE_TEMPLATE/feature_request.yml +2 -1
- lamindb-0.76.7/.github/ISSUE_TEMPLATE/usage_question.yml +20 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/PKG-INFO +5 -5
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/schemas.ipynb +4 -4
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/setup.ipynb +2 -13
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/signup-login.md +3 -3
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/storage/prepare-transfer-local-to-cloud.ipynb +2 -5
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/storage/transfer-local-to-cloud.ipynb +3 -7
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/tutorial.ipynb +20 -2
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/__init__.py +1 -1
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/_artifact.py +23 -19
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/_collection.py +6 -1
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/_curate.py +1 -1
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/__init__.py +2 -1
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/_context.py +28 -12
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/_data.py +5 -5
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/_feature_manager.py +2 -1
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/_label_manager.py +2 -1
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/exceptions.py +3 -3
- lamindb-0.76.7/lamindb/core/loaders.py +164 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/storage/__init__.py +1 -1
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/storage/_tiledbsoma.py +17 -9
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/storage/_zarr.py +1 -1
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/storage/paths.py +0 -104
- {lamindb-0.76.6 → lamindb-0.76.7}/noxfile.py +6 -4
- {lamindb-0.76.6 → lamindb-0.76.7}/pyproject.toml +4 -4
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/.github/workflows/build.yml +5 -4
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/.gitignore +1 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/__init__.py +11 -1
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/_public_ontology.py +31 -5
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/dev/_handle_sources.py +1 -1
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/entities/_bfxpipeline.py +5 -5
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/entities/_biosample.py +5 -3
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/entities/_cellline.py +5 -3
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/entities/_cellmarker.py +5 -3
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/entities/_celltype.py +15 -3
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/entities/_developmentalstage.py +5 -3
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/entities/_disease.py +23 -3
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/entities/_drug.py +6 -3
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/entities/_ethnicity.py +5 -3
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/entities/_experimentalfactor.py +7 -4
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/entities/_gene.py +8 -7
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/entities/_organism.py +17 -5
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/entities/_pathway.py +5 -3
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/entities/_phenotype.py +21 -3
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/entities/_protein.py +5 -3
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/entities/_tissue.py +16 -3
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/sources.yaml +12 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/core/_add_ontology.py +12 -3
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/models.py +14 -1
- lamindb-0.76.7/sub/lamin-cli/lamin_cli/__init__.py +3 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/lamin_cli/__main__.py +52 -56
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/lamin_cli/_get.py +17 -1
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/tests/test_cli.py +22 -4
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/tests/test_get.py +2 -1
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/.github/workflows/build.yml +13 -9
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/__init__.py +1 -1
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/_connect_instance.py +5 -1
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/_setup_user.py +10 -7
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/_hub_client.py +1 -1
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/_hub_core.py +68 -2
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/_settings_instance.py +6 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/_settings_save.py +1 -1
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/_settings_store.py +2 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/django.py +1 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/tests/hub-cloud/test_login.py +20 -5
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/tests/hub-local/test_all.py +45 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/tests/hub-local/test_update_schema_in_hub.py +2 -2
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/__init__.py +1 -1
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/models.py +11 -12
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/.github/workflows/build.yml +5 -5
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/.pre-commit-config.yaml +1 -2
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/docs/guide/modeling_perturbations.ipynb +3 -5
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/wetlab/__init__.py +18 -17
- lamindb-0.76.7/sub/wetlab/wetlab/migrations/0022_remove_experiment_experiment_type_and_more.py +991 -0
- lamindb-0.76.7/sub/wetlab/wetlab/migrations/0023_compoundtreatment_duration_and_more.py +183 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/wetlab/models.py +333 -172
- lamindb-0.76.7/tests/core/notebooks/duplicate/with-title-initialized-consecutive-finish.ipynb +73 -0
- lamindb-0.76.7/tests/core/notebooks/not-initialized.ipynb +64 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_artifact.py +3 -5
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_cache.py +3 -3
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_collection.py +3 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/storage/test_storage.py +10 -8
- lamindb-0.76.6/sub/lamin-cli/lamin_cli/__init__.py +0 -3
- lamindb-0.76.6/tests/core/notebooks/duplicate/with-title-initialized-consecutive-finish.ipynb +0 -63
- lamindb-0.76.6/tests/core/notebooks/not-initialized.ipynb +0 -48
- {lamindb-0.76.6 → lamindb-0.76.7}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/.github/workflows/build.yml +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/.gitignore +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/.gitmodules +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/.pre-commit-config.yaml +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/CONTRIBUTING.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/LICENSE +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/README.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/api.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/arrays.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/bio-registries.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/bionty.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/changelog.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/curate-any.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/curate-df.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/curate.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/faq/acid.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/faq/delete.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/faq/idempotency.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/faq/import-schema.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/faq/keep-artifacts-local.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/faq/key.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/faq/reference-field.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/faq/setup.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/faq/test_notebooks.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/faq/track-run-inputs.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/faq/visibility.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/faq.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/guide.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/includes/features-lamindb.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/includes/features-laminhub.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/includes/installation.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/index.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/introduction.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/lamindb.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/laminr.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/query-search.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/registries.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/rest.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/storage/add-replace-cache.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/storage/anndata-accessor.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/storage/test-files/iris.csv +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/storage/test-files/iris.data +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/storage/test-files/new_iris.csv +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/storage/test_notebooks.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/storage/upload.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/storage/vitessce.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/storage.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/test_notebooks.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/track.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/transfer.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/tutorial2.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/docs/wetlab.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/_can_validate.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/_feature.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/_feature_set.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/_filter.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/_finish.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/_from_values.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/_is_versioned.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/_parents.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/_query_manager.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/_query_set.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/_record.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/_run.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/_save.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/_storage.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/_transform.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/_ulabel.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/_utils.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/_view.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/_mapped_collection.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/_settings.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/_sync_git.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/_track_environment.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/datasets/__init__.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/datasets/_core.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/datasets/_fake.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/fields.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/schema.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/storage/_anndata_accessor.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/storage/_anndata_sizes.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/storage/_backed_access.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/storage/_valid_suffixes.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/storage/objects.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/subsettings/__init__.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/subsettings/_creation_settings.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/subsettings/_transform_settings.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/types.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/core/versioning.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/integrations/__init__.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/integrations/_vitessce.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/setup/__init__.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/lamindb/setup/core/__init__.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/.github/workflows/update_ontologies.yml +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/.pre-commit-config.yaml +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/LICENSE +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/README.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/_bionty.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/__init__.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/_display_sources.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/_ontology.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/_settings.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/_sync_sources.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/dev/__init__.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/dev/_io.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/dev/_md5.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/entities/__init__.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/entities/_shared_docstrings.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/scripts/bfxpipelines_info/custom_pipelines.json +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/scripts/check_ontologies_reachable.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/scripts/determine_md5s.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/scripts/generate_bfxpipelines.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/scripts/update_new_ontologies.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/base/scripts/upload_new_ontologies.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/core/__init__.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/core/_bionty.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/core/_settings.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/ids.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/migrations/0023_rename_publicsource_encode_uid.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/migrations/0024_remove_cellline_collections_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/migrations/0025_artifactcellline_alter_cellline_artifacts_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/migrations/0026_artifactcellline_cell_line_ref_is_name_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/migrations/0027_remove_artifactcellline_created_at_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/migrations/0028_artifactcellline_created_at_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/migrations/0028_squashed.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/migrations/0029_alter_cellline_previous_runs_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/migrations/0030_rename_publicsource_source_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/migrations/0031_alter_cellmarker_name_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/migrations/0032_rename_source_name_source_description_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/migrations/0033_alter_artifactcellline_artifact_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/migrations/0034_alter_source_unique_together.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/migrations/0035_alter_protein_gene_symbol.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/migrations/0036_alter_source_artifacts_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/migrations/0037_alter_cellline_source_alter_cellmarker_source_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/migrations/0038_alter_artifactcellline_created_by_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/migrations/0039_alter_cellline_source_alter_cellmarker_source_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/bionty/migrations/__init__.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/docs/guide/concepts.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/docs/guide/config.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/docs/guide/extend.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/docs/guide/test_notebooks.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/docs/guide.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/docs/index.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/docs/reference.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/lamin-project.yaml +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/noxfile.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/pyproject.toml +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/tests/dev/test_handle_sources.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/tests/dev/test_io.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/tests/entities/test_bfxpipeline.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/tests/entities/test_biosample.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/tests/entities/test_cellline.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/tests/entities/test_cellmarker.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/tests/entities/test_celltype.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/tests/entities/test_developmentalstage.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/tests/entities/test_disease.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/tests/entities/test_drug.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/tests/entities/test_ethnicity.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/tests/entities/test_experimentalfactor.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/tests/entities/test_gene.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/tests/entities/test_organism.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/tests/entities/test_pathway.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/tests/entities/test_phenotype.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/tests/entities/test_protein.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/tests/entities/test_tissue.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/tests/test_bionty.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/tests/test_lamindb.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/tests/test_md5.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/bionty/tests/test_ontology.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/.gitignore +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/.pre-commit-config.yaml +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/LICENSE +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/README.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/lamin_cli/_cache.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/lamin_cli/_migration.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/lamin_cli/_save.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/pyproject.toml +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/tests/conftest.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/tests/scripts/merely-import-lamindb.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/tests/scripts/run-track-and-finish-sync-git.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/tests/scripts/run-track-and-finish.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/tests/test_migrate.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/tests/test_multi_process.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/tests/test_save_files.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/tests/test_save_notebooks.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamin-cli/tests/test_save_scripts.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/.gitignore +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/.pre-commit-config.yaml +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/LICENSE +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/README.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/docs/changelog.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/docs/hub-cloud/01-init-local-instance.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/docs/hub-cloud/02-connect-local-instance.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/docs/hub-cloud/03-add-managed-storage.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/docs/hub-cloud/04-test-bionty.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/docs/hub-cloud/05-init-hosted-instance.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/docs/hub-cloud/06-connect-hosted-instance.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/docs/hub-cloud/07-keep-artifacts-local.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/docs/hub-cloud/08-test-multi-session.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/docs/hub-cloud/test_notebooks.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/docs/hub-prod/test-cache-management.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/docs/hub-prod/test-cloud-sync.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/docs/hub-prod/test-connect-anonymously.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/docs/hub-prod/test-empty-init.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/docs/hub-prod/test-import-schema.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/docs/hub-prod/test-init-load-local-anonymously.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/docs/hub-prod/test-insufficient-user-info.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/docs/hub-prod/test-invalid-schema.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/docs/hub-prod/test-sqlite-lock.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/docs/hub-prod/test_notebooks2.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/docs/index.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/docs/notebooks.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/docs/reference.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/_check.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/_check_setup.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/_delete.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/_django.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/_entry_points.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/_exportdb.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/_importdb.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/_init_instance.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/_migrate.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/_schema_metadata.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/_set_managed_storage.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/__init__.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/_aws_credentials.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/_aws_storage.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/_deprecated.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/_docs.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/_hub_crud.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/_hub_utils.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/_private_django_api.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/_settings.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/_settings_load.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/_settings_storage.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/_settings_user.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/_setup_bionty_sources.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/cloud_sqlite_locker.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/exceptions.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/hashing.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/types.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/lamindb_setup/core/upath.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/noxfile.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/pyproject.toml +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/tests/hub-cloud/scripts/script-to-fail-managed-storage.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/tests/hub-cloud/test_connect_instance.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/tests/hub-cloud/test_delete_instance.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/tests/hub-cloud/test_fail_managed_storage.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/tests/hub-cloud/test_init_instance.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/tests/hub-cloud/test_migrate.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/tests/hub-cloud/test_set_storage.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/tests/hub-local/conftest.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/tests/hub-prod/conftest.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/tests/hub-prod/test_django.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/tests/hub-prod/test_global_settings.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/tests/hub-prod/test_switch_and_fallback_env.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/tests/hub-prod/test_upath.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/tests/storage/test_entry_point.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/tests/storage/test_hashing.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/tests/storage/test_storage_access.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/tests/storage/test_storage_basis.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/tests/storage/test_storage_stats.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lamindb-setup/tests/storage/test_to_url.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/.github/workflows/build.yml +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/.gitignore +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/.pre-commit-config.yaml +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/CHANGELOG.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/LICENSE +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/README.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/ids.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0037_rename_dataset_to_collection.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0038_alter_collection_artifact_alter_collection_artifacts_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0039_remove_collection_artifacts_collectionartifact_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0040_alter_transform_type.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0041_remove_transform_short_name_transform_description_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0042_rename_run_at_run_started_at_run_finished_at.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0043_run_json.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0044_run_replicated_outputs_transform_ulabels_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0045_rename_replicated_outputs_run_replicated_output_artifacts_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0046_storage_instance_uid.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0047_featurevalue_artifactfeaturevalue_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0048_alter_artifactulabel_feature_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0049_rename_type_feature_dtype_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0050_artifactfeatureset_feature_ref_is_semantic_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0051_remove_feature_feature_sets_featuresetfeature_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0052_rename_feature_value_artifactfeaturevalue_featurevalue_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0052_squashed.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0053_alter_featureset_hash_alter_paramvalue_created_by_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0054_alter_feature_previous_runs_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0055_artifact_type_artifactparamvalue_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/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.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0057_link_models_latest_report_and_others.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0058_artifact__actions_collection__actions.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0059_alter_artifact__accessor_alter_artifact__hash_type_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0060_alter_artifact__actions.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0061_alter_collection_meta_artifact_alter_run_environment_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0062_add_is_latest_field.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0063_populate_latest_field.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0064_alter_artifact_version_alter_collection_version_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0065_remove_collection_feature_sets_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/0066_alter_artifact__feature_values_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/mocks.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/types.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/lnschema_core/users.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/noxfile.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/pyproject.toml +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/tests/conftest.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/tests/test_integrity.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/tests/test_models.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/lnschema-core/tests/test_types.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/.gitignore +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/README.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/docs/changelog.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/docs/guide/get-started.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/docs/guide.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/docs/index.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/docs/reference.md +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/noxfile.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/pyproject.toml +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/tests/test_integrity.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/tests/test_notebooks.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/wetlab/migrations/0017_remove_biosample_artifacts.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/wetlab/migrations/0018_squashed.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/wetlab/migrations/0018_well_created_at_well_created_by_well_updated_at.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/wetlab/migrations/0019_alter_treatment_system.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/wetlab/migrations/0020_treatmenttarget_pathways_treatmenttarget_proteins_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/wetlab/migrations/0021_alter_compoundtreatment_duration_unit_and_more.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/sub/wetlab/wetlab/migrations/__init__.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/conftest.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/notebooks/no-title.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/notebooks/with-title-initialized-consecutive-finish-not-last-cell.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/notebooks/with-title-initialized-consecutive-finish.ipynb +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/scripts/duplicate1/script-to-test-versioning.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/scripts/duplicate2/script-to-test-versioning.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/scripts/duplicate3/script-to-test-versioning.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/scripts/script-to-test-filename-change.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/scripts/script-to-test-versioning.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_artifact_folders.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_can_validate.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_context.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_curate.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_data.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_db.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_delete.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_feature.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_feature_manager.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_feature_set.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_from_values.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_label_manager.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_load.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_manager.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_notebooks.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_parents.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_queryset.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_record.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_run.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_save.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_search.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_settings.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_transform.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_uid.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_ulabel.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_versioning.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_view.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/core/test_visibility.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/storage/conftest.py +0 -0
- {lamindb-0.76.6 → lamindb-0.76.7}/tests/storage/test_transfer.py +0 -0
@@ -0,0 +1,20 @@
|
|
1
|
+
name: Usage question
|
2
|
+
description: Ask a usage question
|
3
|
+
labels:
|
4
|
+
- ":children_crossing: ux"
|
5
|
+
body:
|
6
|
+
- type: markdown
|
7
|
+
attributes:
|
8
|
+
value: |
|
9
|
+
**Note**: This is a public repository! Do not reveal any internal information.
|
10
|
+
|
11
|
+
- type: textarea
|
12
|
+
id: description
|
13
|
+
attributes:
|
14
|
+
label: Usage question
|
15
|
+
description: Please ask your question.
|
16
|
+
placeholder: |
|
17
|
+
This is a public repository!
|
18
|
+
Do not reveal any internal information.
|
19
|
+
validations:
|
20
|
+
required: true
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: lamindb
|
3
|
-
Version: 0.76.
|
3
|
+
Version: 0.76.7
|
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,10 +9,10 @@ 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.74.
|
13
|
-
Requires-Dist: lamindb_setup==0.77.
|
12
|
+
Requires-Dist: lnschema_core==0.74.3
|
13
|
+
Requires-Dist: lamindb_setup==0.77.2
|
14
14
|
Requires-Dist: lamin_utils==0.13.4
|
15
|
-
Requires-Dist: lamin_cli==0.17.
|
15
|
+
Requires-Dist: lamin_cli==0.17.3
|
16
16
|
Requires-Dist: rapidfuzz
|
17
17
|
Requires-Dist: pyarrow
|
18
18
|
Requires-Dist: typing_extensions!=4.6.0
|
@@ -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.50.
|
27
|
+
Requires-Dist: bionty==0.50.2 ; 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"
|
@@ -44,7 +44,7 @@
|
|
44
44
|
"id": "7e7c43f8",
|
45
45
|
"metadata": {},
|
46
46
|
"source": [
|
47
|
-
"<img src=\"https://lamin-site-assets.s3.amazonaws.com/.lamindb/
|
47
|
+
"<img src=\"https://lamin-site-assets.s3.amazonaws.com/.lamindb/XoTQFCmmj2uU4d2xyj9u.png\" width=\"350px\" style=\"background: transparent\" align=\"right\">\n"
|
48
48
|
]
|
49
49
|
},
|
50
50
|
{
|
@@ -64,7 +64,7 @@
|
|
64
64
|
"id": "f5375b44",
|
65
65
|
"metadata": {},
|
66
66
|
"source": [
|
67
|
-
"### View the
|
67
|
+
"### View the schema"
|
68
68
|
]
|
69
69
|
},
|
70
70
|
{
|
@@ -73,9 +73,9 @@
|
|
73
73
|
"id": "de6fdc7e",
|
74
74
|
"metadata": {},
|
75
75
|
"source": [
|
76
|
-
"For your given instance, you view the registries by running `lamin schema
|
76
|
+
"For your given instance, you view the registries by running `lamin info schema` on the command line.\n",
|
77
77
|
"\n",
|
78
|
-
"
|
78
|
+
"Your browser will show an interactive version of a graph similar to the one on the right. In the left side panel, you can choose to hide the relationships you're not interested in and you'll be able to trace some relationships."
|
79
79
|
]
|
80
80
|
},
|
81
81
|
{
|
@@ -56,16 +56,6 @@
|
|
56
56
|
"- `schema` (optional): comma-separated string of schema modules"
|
57
57
|
]
|
58
58
|
},
|
59
|
-
{
|
60
|
-
"attachments": {},
|
61
|
-
"cell_type": "markdown",
|
62
|
-
"metadata": {},
|
63
|
-
"source": [
|
64
|
-
"### Examples\n",
|
65
|
-
"\n",
|
66
|
-
"#### Local storage + SQLite"
|
67
|
-
]
|
68
|
-
},
|
69
59
|
{
|
70
60
|
"attachments": {},
|
71
61
|
"cell_type": "markdown",
|
@@ -91,11 +81,10 @@
|
|
91
81
|
]
|
92
82
|
},
|
93
83
|
{
|
94
|
-
"attachments": {},
|
95
84
|
"cell_type": "markdown",
|
96
85
|
"metadata": {},
|
97
86
|
"source": [
|
98
|
-
"
|
87
|
+
"You can also pass an AWS S3 bucket."
|
99
88
|
]
|
100
89
|
},
|
101
90
|
{
|
@@ -113,7 +102,7 @@
|
|
113
102
|
"cell_type": "markdown",
|
114
103
|
"metadata": {},
|
115
104
|
"source": [
|
116
|
-
"
|
105
|
+
"Instead of SQLite, you can pass a Postgres connection string."
|
117
106
|
]
|
118
107
|
},
|
119
108
|
{
|
@@ -8,9 +8,9 @@
|
|
8
8
|
|
9
9
|
An account is free & [signing up](https://lamin.ai/signup) takes 1 min.
|
10
10
|
|
11
|
-
Lamin does _not_ store or see any of your data, but only _basic_ metadata about you (email address, etc.).
|
11
|
+
Through signing up, Lamin does _not_ store or see any of your data, but only _basic_ metadata about you (email address, etc.).
|
12
12
|
|
13
|
-
If you register a LaminDB instance
|
13
|
+
If you register a LaminDB instance to LaminHub, we store metadata about the involved infrastructure (database server, storage locations, etc.). But we don't store any secrets when you call `lamin init` and can't see your data or metadata. If you want to connect your instance to LaminHub for exploration with read-write access: please [reach out](https://lamin.ai/contact).
|
14
14
|
|
15
15
|
For more, see [doc](inv:docs#access), [the source code](https://github.com/laminlabs/lamindb-setup), or the [privacy policy](https://lamin.ai/legal/privacy-policy).
|
16
16
|
|
@@ -32,5 +32,5 @@ lamin login <email> --key <API-key>
|
|
32
32
|
Log out:
|
33
33
|
|
34
34
|
```
|
35
|
-
lamin
|
35
|
+
lamin login --logout
|
36
36
|
```
|
@@ -55,10 +55,7 @@
|
|
55
55
|
"organism.save()\n",
|
56
56
|
"artifact.labels.add(organism)\n",
|
57
57
|
"\n",
|
58
|
-
"experiment_type = wl.ExperimentType(name=\"experiment-type-test-transfer-to-cloud\")\n",
|
59
|
-
"experiment_type.save()\n",
|
60
58
|
"experiment = wl.Experiment(name=\"experiment-test-transfer-to-cloud\")\n",
|
61
|
-
"experiment.experiment_type = experiment_type\n",
|
62
59
|
"experiment.save()\n",
|
63
60
|
"\n",
|
64
61
|
"artifact.experiments.add(experiment)\n",
|
@@ -78,7 +75,7 @@
|
|
78
75
|
],
|
79
76
|
"metadata": {
|
80
77
|
"kernelspec": {
|
81
|
-
"display_name": "
|
78
|
+
"display_name": "Python 3 (ipykernel)",
|
82
79
|
"language": "python",
|
83
80
|
"name": "python3"
|
84
81
|
},
|
@@ -92,7 +89,7 @@
|
|
92
89
|
"name": "python",
|
93
90
|
"nbconvert_exporter": "python",
|
94
91
|
"pygments_lexer": "ipython3",
|
95
|
-
"version": "3.
|
92
|
+
"version": "3.9.17"
|
96
93
|
}
|
97
94
|
},
|
98
95
|
"nbformat": 4,
|
@@ -33,11 +33,7 @@
|
|
33
33
|
"def cleanup(artifact: ln.Artifact):\n",
|
34
34
|
" features_sets = artifact.feature_sets.all()\n",
|
35
35
|
" experiments = artifact.experiments.all()\n",
|
36
|
-
"
|
37
|
-
" artifact.delete(permanent=True, storage=False)\n",
|
38
|
-
" except Exception as e:\n",
|
39
|
-
" print(e)\n",
|
40
|
-
" pass\n",
|
36
|
+
" artifact.delete(permanent=True, storage=False)\n",
|
41
37
|
" features_sets.delete()\n",
|
42
38
|
" experiments.delete()\n",
|
43
39
|
"\n",
|
@@ -99,7 +95,7 @@
|
|
99
95
|
],
|
100
96
|
"metadata": {
|
101
97
|
"kernelspec": {
|
102
|
-
"display_name": "
|
98
|
+
"display_name": "Python 3 (ipykernel)",
|
103
99
|
"language": "python",
|
104
100
|
"name": "python3"
|
105
101
|
},
|
@@ -113,7 +109,7 @@
|
|
113
109
|
"name": "python",
|
114
110
|
"nbconvert_exporter": "python",
|
115
111
|
"pygments_lexer": "ipython3",
|
116
|
-
"version": "3.
|
112
|
+
"version": "3.9.17"
|
117
113
|
}
|
118
114
|
},
|
119
115
|
"nbformat": 4,
|
@@ -722,7 +722,25 @@
|
|
722
722
|
"cell_type": "markdown",
|
723
723
|
"metadata": {},
|
724
724
|
"source": [
|
725
|
-
"
|
725
|
+
"## File-like artifacts"
|
726
|
+
]
|
727
|
+
},
|
728
|
+
{
|
729
|
+
"cell_type": "markdown",
|
730
|
+
"metadata": {},
|
731
|
+
"source": [
|
732
|
+
"Above, we looked at a folder-like artifact. Here is a file-like artifact."
|
733
|
+
]
|
734
|
+
},
|
735
|
+
{
|
736
|
+
"cell_type": "code",
|
737
|
+
"execution_count": null,
|
738
|
+
"metadata": {},
|
739
|
+
"outputs": [],
|
740
|
+
"source": [
|
741
|
+
"local_filepath = ln.core.datasets.file_jpg_paradisi05()\n",
|
742
|
+
"artifact = ln.Artifact(local_filepath, description=\"My single image\").save()\n",
|
743
|
+
"artifact.load()"
|
726
744
|
]
|
727
745
|
},
|
728
746
|
{
|
@@ -886,7 +904,7 @@
|
|
886
904
|
"metadata": {},
|
887
905
|
"source": [
|
888
906
|
"```\n",
|
889
|
-
"ln.finish()\n",
|
907
|
+
"ln.context.finish()\n",
|
890
908
|
"```"
|
891
909
|
]
|
892
910
|
},
|
@@ -31,12 +31,12 @@ from lamindb._utils import attach_func_to_class_method
|
|
31
31
|
from lamindb.core._data import _track_run_input, describe, view_lineage
|
32
32
|
from lamindb.core._settings import settings
|
33
33
|
from lamindb.core.exceptions import IntegrityError
|
34
|
+
from lamindb.core.loaders import load_to_memory
|
34
35
|
from lamindb.core.storage import (
|
35
36
|
LocalPathClasses,
|
36
37
|
UPath,
|
37
38
|
delete_storage,
|
38
39
|
infer_suffix,
|
39
|
-
load_to_memory,
|
40
40
|
write_to_disk,
|
41
41
|
)
|
42
42
|
from lamindb.core.storage.paths import (
|
@@ -955,24 +955,8 @@ def open(
|
|
955
955
|
return access
|
956
956
|
|
957
957
|
|
958
|
-
#
|
959
|
-
def
|
960
|
-
if hasattr(self, "_memory_rep") and self._memory_rep is not None:
|
961
|
-
access_memory = self._memory_rep
|
962
|
-
else:
|
963
|
-
using_key = settings._using_key
|
964
|
-
access_memory = load_to_memory(
|
965
|
-
filepath_from_artifact(self, using_key=using_key), stream=stream, **kwargs
|
966
|
-
)
|
967
|
-
# only call if load is successfull
|
968
|
-
_track_run_input(self, is_run_input)
|
969
|
-
return access_memory
|
970
|
-
|
971
|
-
|
972
|
-
# docstring handled through attach_func_to_class_method
|
973
|
-
def cache(self, is_run_input: bool | None = None) -> Path:
|
974
|
-
using_key = settings._using_key
|
975
|
-
filepath = filepath_from_artifact(self, using_key=using_key)
|
958
|
+
# can't really just call .cache in .load because of double tracking
|
959
|
+
def _synchronize_cleanup_on_error(filepath: UPath) -> UPath:
|
976
960
|
try:
|
977
961
|
cache_path = setup_settings.instance.storage.cloud_to_local(
|
978
962
|
filepath, print_progress=True
|
@@ -987,6 +971,26 @@ def cache(self, is_run_input: bool | None = None) -> Path:
|
|
987
971
|
elif cache_path.is_dir():
|
988
972
|
shutil.rmtree(cache_path)
|
989
973
|
raise e
|
974
|
+
return cache_path
|
975
|
+
|
976
|
+
|
977
|
+
# docstring handled through attach_func_to_class_method
|
978
|
+
def load(self, is_run_input: bool | None = None, **kwargs) -> Any:
|
979
|
+
if hasattr(self, "_memory_rep") and self._memory_rep is not None:
|
980
|
+
access_memory = self._memory_rep
|
981
|
+
else:
|
982
|
+
filepath = filepath_from_artifact(self, using_key=settings._using_key)
|
983
|
+
cache_path = _synchronize_cleanup_on_error(filepath)
|
984
|
+
access_memory = load_to_memory(cache_path, **kwargs)
|
985
|
+
# only call if load is successfull
|
986
|
+
_track_run_input(self, is_run_input)
|
987
|
+
return access_memory
|
988
|
+
|
989
|
+
|
990
|
+
# docstring handled through attach_func_to_class_method
|
991
|
+
def cache(self, is_run_input: bool | None = None) -> Path:
|
992
|
+
filepath = filepath_from_artifact(self, using_key=settings._using_key)
|
993
|
+
cache_path = _synchronize_cleanup_on_error(filepath)
|
990
994
|
# only call if sync is successfull
|
991
995
|
_track_run_input(self, is_run_input)
|
992
996
|
return cache_path
|
@@ -221,7 +221,12 @@ def mapped(
|
|
221
221
|
is_run_input: bool | None = None,
|
222
222
|
) -> MappedCollection:
|
223
223
|
path_list = []
|
224
|
-
|
224
|
+
if self._state.adding:
|
225
|
+
artifacts = self._artifacts
|
226
|
+
logger.warning("The collection isn't saved, consider calling `.save()`")
|
227
|
+
else:
|
228
|
+
artifacts = self.ordered_artifacts.all()
|
229
|
+
for artifact in artifacts:
|
225
230
|
if artifact.suffix not in {".h5ad", ".zarr"}:
|
226
231
|
logger.warning(f"Ignoring artifact with suffix {artifact.suffix}")
|
227
232
|
continue
|
@@ -1188,7 +1188,7 @@ def validate_categories(
|
|
1188
1188
|
print_values = _print_values(non_validated)
|
1189
1189
|
warning_message = (
|
1190
1190
|
f"{colors.red(f'{n_non_validated} terms')} {are} not validated: "
|
1191
|
-
f"{colors.red(print_values)}\n → save terms via "
|
1191
|
+
f"{colors.red(print_values)}\n → fix typos, remove non-existent values, or save terms via "
|
1192
1192
|
f"{colors.red(non_validated_hint_print)}"
|
1193
1193
|
)
|
1194
1194
|
if logger.indent == "":
|
@@ -54,6 +54,7 @@ Modules:
|
|
54
54
|
.. autosummary::
|
55
55
|
:toctree: .
|
56
56
|
|
57
|
+
loaders
|
57
58
|
datasets
|
58
59
|
storage
|
59
60
|
types
|
@@ -87,7 +88,7 @@ from lamindb._query_set import QuerySet, RecordsList
|
|
87
88
|
from lamindb.core._feature_manager import FeatureManager, ParamManager
|
88
89
|
from lamindb.core._label_manager import LabelManager
|
89
90
|
|
90
|
-
from . import _data, datasets, exceptions, fields, subsettings, types
|
91
|
+
from . import _data, datasets, exceptions, fields, loaders, subsettings, types
|
91
92
|
from ._context import Context
|
92
93
|
from ._mapped_collection import MappedCollection
|
93
94
|
from ._settings import Settings
|
@@ -18,8 +18,8 @@ from ._settings import settings
|
|
18
18
|
from ._sync_git import get_transform_reference_from_git_repo
|
19
19
|
from ._track_environment import track_environment
|
20
20
|
from .exceptions import (
|
21
|
-
|
22
|
-
|
21
|
+
MissingContextUID,
|
22
|
+
NotebookNotSaved,
|
23
23
|
NotebookNotSavedError,
|
24
24
|
NoTitleError,
|
25
25
|
TrackNotCalled,
|
@@ -81,21 +81,30 @@ def get_notebook_name_colab() -> str:
|
|
81
81
|
return name.rstrip(".ipynb")
|
82
82
|
|
83
83
|
|
84
|
-
def raise_missing_context(transform_type: str, key: str) ->
|
84
|
+
def raise_missing_context(transform_type: str, key: str) -> bool:
|
85
85
|
transform = Transform.filter(key=key).latest_version().first()
|
86
86
|
if transform is None:
|
87
87
|
new_uid = f"{base62_12()}0000"
|
88
|
-
message = f"To track this {transform_type},
|
88
|
+
message = f"To track this {transform_type}, copy & paste the below into the current cell and re-run it\n\n"
|
89
|
+
message += f'ln.context.uid = "{new_uid}"\nln.context.track()'
|
89
90
|
else:
|
90
91
|
uid = transform.uid
|
91
92
|
suid, vuid = uid[: Transform._len_stem_uid], uid[Transform._len_stem_uid :]
|
92
93
|
new_vuid = increment_base62(vuid)
|
93
94
|
new_uid = f"{suid}{new_vuid}"
|
94
|
-
message = f"You already have a
|
95
|
-
message += f'ln.context.uid = "{new_uid}"'
|
95
|
+
message = f"You already have a version family with key '{key}' (stem_uid='{transform.stem_uid}').\n\n- to make a revision, set `ln.context.uid = '{new_uid}'`\n- to start a new version family, rename your file and rerun: `ln.context.track()`"
|
96
96
|
if transform_type == "notebook":
|
97
|
-
message
|
98
|
-
|
97
|
+
print(f"→ {message}\n")
|
98
|
+
response = input("→ Ready to re-run? (y/n)")
|
99
|
+
if response == "y":
|
100
|
+
logger.important(
|
101
|
+
"Note: Restart your notebook if you want consecutive cell execution"
|
102
|
+
)
|
103
|
+
return True
|
104
|
+
raise MissingContextUID("Please follow the instructions.")
|
105
|
+
else:
|
106
|
+
raise MissingContextUID(message)
|
107
|
+
return False
|
99
108
|
|
100
109
|
|
101
110
|
def pretty_pypackages(dependencies: dict) -> str:
|
@@ -280,7 +289,9 @@ class Context:
|
|
280
289
|
# if no error is raised, the transform is tracked
|
281
290
|
is_tracked = True
|
282
291
|
if not is_tracked:
|
283
|
-
raise_missing_context(transform_type, key)
|
292
|
+
early_return = raise_missing_context(transform_type, key)
|
293
|
+
if early_return:
|
294
|
+
return None
|
284
295
|
else:
|
285
296
|
if transform.type in {"notebook", "script"}:
|
286
297
|
raise ValueError(
|
@@ -508,7 +519,7 @@ class Context:
|
|
508
519
|
When called in the last cell of a notebook:
|
509
520
|
|
510
521
|
- prompts for user input if not consecutively executed
|
511
|
-
- requires to save the notebook in your editor
|
522
|
+
- requires to save the notebook in your editor right before
|
512
523
|
- saves a run report: `run.report`
|
513
524
|
|
514
525
|
Args:
|
@@ -530,6 +541,11 @@ class Context:
|
|
530
541
|
def get_seconds_since_modified(filepath) -> float:
|
531
542
|
return datetime.now().timestamp() - filepath.stat().st_mtime
|
532
543
|
|
544
|
+
def get_shortcut() -> str:
|
545
|
+
import platform
|
546
|
+
|
547
|
+
return "CMD + s" if platform.system() == "Darwin" else "CTRL + s"
|
548
|
+
|
533
549
|
if context.run is None:
|
534
550
|
raise TrackNotCalled("Please run `ln.context.track()` before `ln.finish()`")
|
535
551
|
if context._path is None:
|
@@ -543,8 +559,8 @@ class Context:
|
|
543
559
|
return None
|
544
560
|
if is_run_from_ipython: # notebooks
|
545
561
|
if get_seconds_since_modified(context._path) > 2 and not ln_setup._TESTING:
|
546
|
-
raise
|
547
|
-
"Please save the notebook
|
562
|
+
raise NotebookNotSaved(
|
563
|
+
f"Please save the notebook in your editor (shortcut `{get_shortcut()}`) right before calling `ln.context.finish()`"
|
548
564
|
)
|
549
565
|
save_context_core(
|
550
566
|
run=context.run,
|
@@ -39,10 +39,13 @@ from .schema import (
|
|
39
39
|
if TYPE_CHECKING:
|
40
40
|
from lnschema_core.types import StrField
|
41
41
|
|
42
|
+
|
42
43
|
WARNING_RUN_TRANSFORM = (
|
43
|
-
"no run & transform
|
44
|
+
"no run & transform got linked, call `ln.context.track()` & re-run`"
|
44
45
|
)
|
45
46
|
|
47
|
+
WARNING_NO_INPUT = "run input wasn't tracked, call `ln.context.track()` and re-run"
|
48
|
+
|
46
49
|
|
47
50
|
def get_run(run: Run | None) -> Run | None:
|
48
51
|
if run is None:
|
@@ -384,10 +387,7 @@ def _track_run_input(
|
|
384
387
|
# we don't have a run record
|
385
388
|
if run is None:
|
386
389
|
if settings.track_run_inputs:
|
387
|
-
logger.
|
388
|
-
"you can auto-track these data as a run input by calling"
|
389
|
-
" `ln.context.track()`"
|
390
|
-
)
|
390
|
+
logger.warning(WARNING_NO_INPUT)
|
391
391
|
# assume we have a run record
|
392
392
|
else:
|
393
393
|
# assume there is non-cyclic candidate input data
|
@@ -808,7 +808,8 @@ def _add_from(self, data: Artifact | Collection, transfer_logs: dict = None):
|
|
808
808
|
# create records from ontology_id
|
809
809
|
if hasattr(registry, "_ontology_id_field") and len(member_uids) > 0:
|
810
810
|
# create from bionty
|
811
|
-
|
811
|
+
members_records = registry.from_values(member_uids, field=field)
|
812
|
+
save([r for r in members_records if r._state.adding])
|
812
813
|
validated = registry.validate(member_uids, field=field, mute=True)
|
813
814
|
new_members_uids = list(compress(member_uids, ~validated))
|
814
815
|
new_members = members.filter(**{f"{field}__in": new_members_uids}).all()
|
@@ -98,7 +98,8 @@ def validate_labels(labels: QuerySet | list | dict):
|
|
98
98
|
# save labels from ontology_ids
|
99
99
|
if hasattr(registry, "_ontology_id_field") and len(label_uids) > 0:
|
100
100
|
try:
|
101
|
-
|
101
|
+
labels_records = registry.from_values(label_uids, field=field)
|
102
|
+
save([r for r in labels_records if r._state.adding])
|
102
103
|
except Exception: # noqa S110
|
103
104
|
pass
|
104
105
|
field = "uid"
|
@@ -9,7 +9,7 @@ The registry base class:
|
|
9
9
|
ValidationError
|
10
10
|
NotebookNotSavedError
|
11
11
|
NoTitleError
|
12
|
-
|
12
|
+
MissingContextUID
|
13
13
|
UpdateContext
|
14
14
|
IntegrityError
|
15
15
|
|
@@ -20,7 +20,7 @@ class TrackNotCalled(SystemExit):
|
|
20
20
|
pass
|
21
21
|
|
22
22
|
|
23
|
-
class
|
23
|
+
class NotebookNotSaved(SystemExit):
|
24
24
|
pass
|
25
25
|
|
26
26
|
|
@@ -65,7 +65,7 @@ class NoTitleError(Exception):
|
|
65
65
|
pass
|
66
66
|
|
67
67
|
|
68
|
-
class
|
68
|
+
class MissingContextUID(SystemExit):
|
69
69
|
"""User didn't define transform settings."""
|
70
70
|
|
71
71
|
pass
|