lamindb 0.75.1__tar.gz → 0.76.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lamindb-0.75.1 → lamindb-0.76.1}/.github/workflows/build.yml +1 -1
- {lamindb-0.75.1 → lamindb-0.76.1}/.pre-commit-config.yaml +1 -1
- {lamindb-0.75.1 → lamindb-0.76.1}/PKG-INFO +5 -5
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/api.md +8 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/faq/idempotency.ipynb +3 -4
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/faq/keep-artifacts-local.ipynb +2 -3
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/faq/key.ipynb +2 -3
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/faq/setup.ipynb +3 -4
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/faq/track-run-inputs.ipynb +10 -11
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/introduction.ipynb +17 -28
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/records.ipynb +23 -2
- lamindb-0.76.1/docs/rest.md +3 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/track.ipynb +6 -7
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/transfer.ipynb +2 -3
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/tutorial.ipynb +5 -7
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/tutorial2.ipynb +2 -11
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/__init__.py +6 -8
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/_artifact.py +2 -1
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/_collection.py +1 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/_curate.py +4 -4
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/_feature.py +1 -1
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/_finish.py +9 -52
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/_from_values.py +28 -12
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/_query_manager.py +2 -2
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/_query_set.py +5 -30
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/_record.py +73 -15
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/_run.py +1 -1
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/_transform.py +1 -1
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/__init__.py +9 -3
- lamindb-0.76.1/lamindb/core/_context.py +513 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/_data.py +8 -6
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/_label_manager.py +4 -3
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/_mapped_collection.py +82 -26
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/_settings.py +4 -8
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/datasets/_core.py +30 -23
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/exceptions.py +22 -5
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/storage/_valid_suffixes.py +2 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/versioning.py +13 -1
- {lamindb-0.75.1 → lamindb-0.76.1}/pyproject.toml +4 -4
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/__init__.py +1 -1
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/sources.yaml +3 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/core/_add_ontology.py +83 -38
- lamindb-0.76.1/sub/bionty/bionty/migrations/0035_alter_protein_gene_symbol.py +19 -0
- lamindb-0.76.1/sub/bionty/bionty/migrations/0036_alter_source_artifacts_and_more.py +32 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/models.py +16 -13
- lamindb-0.76.1/sub/lamin-cli/lamin_cli/__init__.py +3 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/lamin_cli/__main__.py +12 -5
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/lamin_cli/_save.py +30 -19
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +2 -3
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +1 -1
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/tests/scripts/run-track-and-finish-sync-git.py +3 -4
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/tests/scripts/run-track-and-finish.py +3 -4
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/tests/test_save_notebooks.py +17 -16
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/tests/test_save_scripts.py +22 -22
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/__init__.py +1 -1
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/_init_instance.py +1 -1
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/_set_managed_storage.py +16 -2
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/_hub_core.py +9 -9
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/_hub_crud.py +22 -5
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/_settings_instance.py +1 -1
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/_settings_load.py +2 -7
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/_settings_storage.py +17 -4
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/upath.py +4 -4
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/tests/hub-local/conftest.py +5 -3
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/tests/hub-local/test_all.py +2 -2
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/tests/storage/test_storage_stats.py +15 -1
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/__init__.py +1 -1
- lamindb-0.76.1/sub/lnschema-core/lnschema_core/migrations/0061_alter_collection_meta_artifact_alter_run_environment_and_more.py +45 -0
- lamindb-0.76.1/sub/lnschema-core/lnschema_core/migrations/0062_add_is_latest_field.py +32 -0
- lamindb-0.76.1/sub/lnschema-core/lnschema_core/migrations/0063_populate_latest_field.py +45 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/models.py +48 -21
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/tests/test_models.py +1 -3
- lamindb-0.75.1/tests/notebooks/initialized-with-nbproject.ipynb → lamindb-0.76.1/tests/notebooks/duplicate/with-title-initialized-consecutive-finish.ipynb +15 -17
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/notebooks/no-title.ipynb +3 -4
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/notebooks/not-initialized.ipynb +10 -3
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/notebooks/with-title-initialized-consecutive-finish-not-last-cell.ipynb +2 -1
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/notebooks/with-title-initialized-consecutive-finish.ipynb +2 -3
- lamindb-0.76.1/tests/scripts/duplicate1/script-to-test-versioning.py +5 -0
- lamindb-0.76.1/tests/scripts/duplicate2/script-to-test-versioning.py +8 -0
- lamindb-0.76.1/tests/scripts/duplicate3/script-to-test-versioning.py +6 -0
- lamindb-0.76.1/tests/scripts/script-to-test-filename-change.py +4 -0
- lamindb-0.76.1/tests/scripts/script-to-test-versioning.py +5 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_artifact.py +2 -3
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_collection.py +28 -10
- lamindb-0.76.1/tests/test_context.py +236 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_curate.py +7 -7
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_feature_manager.py +1 -1
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_notebooks.py +2 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_parents.py +21 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_queryset.py +2 -2
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_record.py +20 -8
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_versioning.py +36 -4
- lamindb-0.75.1/lamindb/core/_run_context.py +0 -514
- lamindb-0.75.1/sub/lamin-cli/lamin_cli/__init__.py +0 -3
- lamindb-0.75.1/tests/test_run_context.py +0 -188
- {lamindb-0.75.1 → lamindb-0.76.1}/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/.gitignore +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/.gitmodules +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/CONTRIBUTING.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/LICENSE +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/README.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/arrays.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/bio-registries.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/bionty.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/changelog.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/curate-any.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/curate-df.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/curate.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/faq/acid.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/faq/delete.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/faq/import-schema.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/faq/reference-field.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/faq/test_notebooks.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/faq/visibility.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/faq.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/guide.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/includes/features-lamindb.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/includes/features-laminhub.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/includes/installation.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/index.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/lamindb.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/query-search.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/readfcs.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/schemas.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/setup.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/signup-login.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/storage/add-replace-cache.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/storage/anndata-accessor.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/storage/prepare-transfer-local-to-cloud.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/storage/test-files/iris.csv +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/storage/test-files/iris.data +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/storage/test-files/new_iris.csv +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/storage/test_notebooks.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/storage/transfer-local-to-cloud.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/storage/upload.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/storage/vitessce.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/storage.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/test_notebooks.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/docs/wetlab.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/_can_validate.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/_feature_set.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/_filter.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/_is_versioned.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/_parents.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/_save.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/_storage.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/_ulabel.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/_utils.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/_view.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/_feature_manager.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/_sync_git.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/_track_environment.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/datasets/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/datasets/_fake.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/fields.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/schema.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/storage/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/storage/_anndata_accessor.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/storage/_anndata_sizes.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/storage/_backed_access.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/storage/_zarr.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/storage/objects.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/storage/paths.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/subsettings/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/subsettings/_creation_settings.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/subsettings/_transform_settings.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/core/types.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/integrations/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/integrations/_vitessce.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/setup/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/lamindb/setup/core/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/noxfile.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/.github/workflows/build.yml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/.github/workflows/update_ontologies.yml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/.gitignore +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/.pre-commit-config.yaml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/LICENSE +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/README.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/_bionty.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/_display_sources.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/_ontology.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/_public_ontology.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/_settings.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/_sync_sources.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/dev/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/dev/_handle_sources.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/dev/_io.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/dev/_md5.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/entities/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/entities/_bfxpipeline.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/entities/_biosample.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/entities/_cellline.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/entities/_cellmarker.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/entities/_celltype.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/entities/_developmentalstage.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/entities/_disease.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/entities/_drug.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/entities/_ethnicity.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/entities/_experimentalfactor.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/entities/_gene.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/entities/_organism.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/entities/_pathway.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/entities/_phenotype.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/entities/_protein.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/entities/_shared_docstrings.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/entities/_tissue.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/scripts/bfxpipelines_info/custom_pipelines.json +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/scripts/check_ontologies_reachable.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/scripts/determine_md5s.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/scripts/generate_bfxpipelines.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/scripts/update_new_ontologies.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/base/scripts/upload_new_ontologies.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/core/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/core/_bionty.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/core/_settings.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/ids.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/migrations/0023_rename_publicsource_encode_uid.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/migrations/0024_remove_cellline_collections_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/migrations/0025_artifactcellline_alter_cellline_artifacts_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/migrations/0026_artifactcellline_cell_line_ref_is_name_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/migrations/0027_remove_artifactcellline_created_at_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/migrations/0028_artifactcellline_created_at_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/migrations/0028_squashed.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/migrations/0029_alter_cellline_previous_runs_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/migrations/0030_rename_publicsource_source_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/migrations/0031_alter_cellmarker_name_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/migrations/0032_rename_source_name_source_description_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/migrations/0033_alter_artifactcellline_artifact_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/migrations/0034_alter_source_unique_together.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/bionty/migrations/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/docs/developer/updating_source.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/docs/guide/comparison.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/docs/guide/concepts.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/docs/guide/config.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/docs/guide/extend.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/docs/guide/ontology.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/docs/guide/search.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/docs/guide/sources.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/docs/guide/test_notebooks.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/docs/guide/validate.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/docs/guide.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/docs/index.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/docs/reference.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/lamin-project.yaml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/noxfile.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/pyproject.toml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/tests/dev/test_handle_sources.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/tests/dev/test_io.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/tests/entities/test_bfxpipeline.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/tests/entities/test_biosample.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/tests/entities/test_cellline.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/tests/entities/test_cellmarker.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/tests/entities/test_celltype.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/tests/entities/test_developmentalstage.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/tests/entities/test_disease.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/tests/entities/test_drug.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/tests/entities/test_ethnicity.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/tests/entities/test_experimentalfactor.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/tests/entities/test_gene.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/tests/entities/test_organism.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/tests/entities/test_pathway.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/tests/entities/test_phenotype.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/tests/entities/test_protein.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/tests/entities/test_tissue.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/tests/test_bionty.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/tests/test_lamindb.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/tests/test_md5.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/bionty/tests/test_ontology.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/.gitignore +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/.pre-commit-config.yaml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/README.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/lamin_cli/_cache.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/lamin_cli/_get.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/lamin_cli/_migration.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/pyproject.toml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/tests/conftest.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/tests/scripts/merely-import-lamindb.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/tests/test_cli.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/tests/test_get.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/tests/test_migrate.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/tests/test_multi_process.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamin-cli/tests/test_save_files.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/.github/workflows/build.yml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/.gitignore +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/.pre-commit-config.yaml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/LICENSE +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/README.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/docs/changelog.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/docs/hub-cloud/01-init-local-instance.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/docs/hub-cloud/02-connect-local-instance.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/docs/hub-cloud/03-add-managed-storage.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/docs/hub-cloud/04-test-bionty.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/docs/hub-cloud/05-init-hosted-instance.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/docs/hub-cloud/06-connect-hosted-instance.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/docs/hub-cloud/07-keep-artifacts-local.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/docs/hub-cloud/test-multi-session.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/docs/hub-cloud/test_notebooks.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/docs/hub-prod/test-cache-management.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/docs/hub-prod/test-cloud-sync.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/docs/hub-prod/test-connect-anonymously.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/docs/hub-prod/test-empty-init.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/docs/hub-prod/test-import-schema.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/docs/hub-prod/test-insufficient-user-info.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/docs/hub-prod/test-invalid-schema.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/docs/hub-prod/test-sqlite-lock.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/docs/hub-prod/test_notebooks2.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/docs/index.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/docs/notebooks.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/docs/reference.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/_check.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/_check_setup.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/_connect_instance.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/_delete.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/_django.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/_exportdb.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/_importdb.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/_migrate.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/_schema_metadata.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/_setup_user.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/_aws_credentials.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/_aws_storage.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/_deprecated.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/_docs.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/_hub_client.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/_hub_utils.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/_private_django_api.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/_settings.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/_settings_save.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/_settings_store.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/_settings_user.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/_setup_bionty_sources.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/cloud_sqlite_locker.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/django.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/exceptions.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/hashing.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/lamindb_setup/core/types.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/noxfile.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/pyproject.toml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/tests/hub-cloud/test_connect_instance.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/tests/hub-cloud/test_delete_instance.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/tests/hub-cloud/test_init_instance.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/tests/hub-cloud/test_login.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/tests/hub-cloud/test_migrate.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/tests/hub-cloud/test_set_storage.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/tests/hub-local/test_update_schema_in_hub.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/tests/hub-prod/conftest.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/tests/hub-prod/test_django.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/tests/hub-prod/test_global_settings.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/tests/hub-prod/test_switch_and_fallback_env.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/tests/hub-prod/test_upath.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/tests/storage/test_hashing.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/tests/storage/test_storage_access.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/tests/storage/test_storage_basis.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lamindb-setup/tests/storage/test_to_url.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/.github/workflows/build.yml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/.gitignore +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/.pre-commit-config.yaml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/CHANGELOG.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/LICENSE +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/README.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/ids.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0037_rename_dataset_to_collection.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0038_alter_collection_artifact_alter_collection_artifacts_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0039_remove_collection_artifacts_collectionartifact_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0040_alter_transform_type.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0041_remove_transform_short_name_transform_description_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0042_rename_run_at_run_started_at_run_finished_at.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0043_run_json.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0044_run_replicated_outputs_transform_ulabels_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0045_rename_replicated_outputs_run_replicated_output_artifacts_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0046_storage_instance_uid.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0047_featurevalue_artifactfeaturevalue_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0048_alter_artifactulabel_feature_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0049_rename_type_feature_dtype_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0050_artifactfeatureset_feature_ref_is_semantic_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0051_remove_feature_feature_sets_featuresetfeature_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0052_rename_feature_value_artifactfeaturevalue_featurevalue_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0052_squashed.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0053_alter_featureset_hash_alter_paramvalue_created_by_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0054_alter_feature_previous_runs_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0055_artifact_type_artifactparamvalue_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0056_rename_ulabel_ref_is_name_artifactulabel_label_ref_is_name_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0057_link_models_latest_report_and_others.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0058_artifact__actions_collection__actions.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0059_alter_artifact__accessor_alter_artifact__hash_type_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/0060_alter_artifact__actions.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/mocks.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/types.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/lnschema_core/users.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/noxfile.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/pyproject.toml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/tests/conftest.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/tests/test_integrity.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/lnschema-core/tests/test_types.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/.github/workflows/build.yml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/.gitignore +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/.pre-commit-config.yaml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/README.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/docs/changelog.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/docs/guide/get-started.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/docs/guide/modeling_perturbations.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/docs/guide.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/docs/index.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/docs/reference.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/noxfile.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/pyproject.toml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/tests/test_integrity.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/tests/test_notebooks.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/wetlab/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/wetlab/migrations/0017_remove_biosample_artifacts.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/wetlab/migrations/0018_squashed.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/wetlab/migrations/0018_well_created_at_well_created_by_well_updated_at.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/wetlab/migrations/0019_alter_treatment_system.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/wetlab/migrations/0020_treatmenttarget_pathways_treatmenttarget_proteins_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/wetlab/migrations/0021_alter_compoundtreatment_duration_unit_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/wetlab/migrations/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/sub/wetlab/wetlab/models.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/conftest.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_artifact_folders.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_cache.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_can_validate.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_data.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_db.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_delete.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_feature.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_feature_set.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_from_values.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_label_manager.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_load.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_manager.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_run.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_save.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_search.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_settings.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_storage.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_transfer.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_transform.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_uid.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_ulabel.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_view.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.1}/tests/test_visibility.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: lamindb
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.76.1
|
4
4
|
Summary: A data framework for biology.
|
5
5
|
Author-email: Lamin Labs <open-source@lamin.ai>
|
6
6
|
Requires-Python: >=3.8
|
@@ -9,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.
|
13
|
-
Requires-Dist: lamindb_setup==0.76.
|
12
|
+
Requires-Dist: lnschema_core==0.73.1
|
13
|
+
Requires-Dist: lamindb_setup==0.76.5
|
14
14
|
Requires-Dist: lamin_utils==0.13.2
|
15
|
-
Requires-Dist: lamin_cli==0.16.
|
15
|
+
Requires-Dist: lamin_cli==0.16.2
|
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.48.
|
27
|
+
Requires-Dist: bionty==0.48.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"
|
@@ -71,9 +71,8 @@
|
|
71
71
|
"import pytest\n",
|
72
72
|
"\n",
|
73
73
|
"ln.settings.verbosity = \"hint\"\n",
|
74
|
-
"ln.
|
75
|
-
"ln.
|
76
|
-
"ln.track()"
|
74
|
+
"ln.context.uid = \"ANW20Fr4eZgM0000\"\n",
|
75
|
+
"ln.context.track()"
|
77
76
|
]
|
78
77
|
},
|
79
78
|
{
|
@@ -398,7 +397,7 @@
|
|
398
397
|
},
|
399
398
|
"outputs": [],
|
400
399
|
"source": [
|
401
|
-
"ln.track(new_run=True)\n",
|
400
|
+
"ln.context.track(new_run=True)\n",
|
402
401
|
"artifact3 = ln.Artifact(filepath, description=\"My fcs artifact\")\n",
|
403
402
|
"assert artifact3.id == artifact2.id\n",
|
404
403
|
"assert artifact3.run != artifact2.run\n",
|
@@ -37,9 +37,8 @@
|
|
37
37
|
"# !pip install 'lamindb[jupyter,aws]'\n",
|
38
38
|
"import lamindb as ln\n",
|
39
39
|
"\n",
|
40
|
-
"ln.
|
41
|
-
"ln.
|
42
|
-
"ln.track()"
|
40
|
+
"ln.context.uid = \"l9lFf83aPwRc0000\"\n",
|
41
|
+
"ln.context.track()"
|
43
42
|
]
|
44
43
|
},
|
45
44
|
{
|
@@ -119,9 +119,8 @@
|
|
119
119
|
"metadata": {},
|
120
120
|
"outputs": [],
|
121
121
|
"source": [
|
122
|
-
"ln.
|
123
|
-
"ln.
|
124
|
-
"ln.track()"
|
122
|
+
"ln.context.uid = \"WIwaNDvlEkwS0000\"\n",
|
123
|
+
"ln.context.track()"
|
125
124
|
]
|
126
125
|
},
|
127
126
|
{
|
@@ -56,7 +56,7 @@
|
|
56
56
|
"outputs": [],
|
57
57
|
"source": [
|
58
58
|
"with pytest.raises(ln._InstanceNotSetupError):\n",
|
59
|
-
" ln.track()"
|
59
|
+
" ln.context.track()"
|
60
60
|
]
|
61
61
|
},
|
62
62
|
{
|
@@ -85,9 +85,8 @@
|
|
85
85
|
"metadata": {},
|
86
86
|
"outputs": [],
|
87
87
|
"source": [
|
88
|
-
"ln.
|
89
|
-
"ln.
|
90
|
-
"ln.track()"
|
88
|
+
"ln.context.uid = \"2lhqA4uTKSFP0000\"\n",
|
89
|
+
"ln.context.track()"
|
91
90
|
]
|
92
91
|
},
|
93
92
|
{
|
@@ -53,7 +53,7 @@
|
|
53
53
|
"metadata": {},
|
54
54
|
"outputs": [],
|
55
55
|
"source": [
|
56
|
-
"ln.track(transform=ln.Transform(name=\"Dummpy pipeline\"))\n",
|
56
|
+
"ln.context.track(transform=ln.Transform(name=\"Dummpy pipeline\"))\n",
|
57
57
|
"ln.Artifact(ln.core.datasets.file_jpg_paradisi05(), description=\"My image\").save()\n",
|
58
58
|
"ln.Artifact(ln.core.datasets.file_mini_csv(), description=\"My csv\").save()"
|
59
59
|
]
|
@@ -63,7 +63,7 @@
|
|
63
63
|
"cell_type": "markdown",
|
64
64
|
"metadata": {},
|
65
65
|
"source": [
|
66
|
-
"Call `ln.track()`:"
|
66
|
+
"Call `ln.context.track()`:"
|
67
67
|
]
|
68
68
|
},
|
69
69
|
{
|
@@ -72,9 +72,8 @@
|
|
72
72
|
"metadata": {},
|
73
73
|
"outputs": [],
|
74
74
|
"source": [
|
75
|
-
"ln.
|
76
|
-
"ln.
|
77
|
-
"ln.track()"
|
75
|
+
"ln.context.uid = \"Rx2s9aPTMQLY0000\"\n",
|
76
|
+
"ln.context.track()"
|
78
77
|
]
|
79
78
|
},
|
80
79
|
{
|
@@ -126,7 +125,7 @@
|
|
126
125
|
"metadata": {},
|
127
126
|
"outputs": [],
|
128
127
|
"source": [
|
129
|
-
"ln.Run.filter(id=ln.
|
128
|
+
"ln.Run.filter(id=ln.context.run.id).one().input_artifacts.all()"
|
130
129
|
]
|
131
130
|
},
|
132
131
|
{
|
@@ -139,7 +138,7 @@
|
|
139
138
|
},
|
140
139
|
"outputs": [],
|
141
140
|
"source": [
|
142
|
-
"assert len(ln.Run.filter(id=ln.
|
141
|
+
"assert len(ln.Run.filter(id=ln.context.run.id).one().input_artifacts.all()) == 0"
|
143
142
|
]
|
144
143
|
},
|
145
144
|
{
|
@@ -181,7 +180,7 @@
|
|
181
180
|
"metadata": {},
|
182
181
|
"outputs": [],
|
183
182
|
"source": [
|
184
|
-
"for input in ln.Run.filter(id=ln.
|
183
|
+
"for input in ln.Run.filter(id=ln.context.run.id).one().input_artifacts.all():\n",
|
185
184
|
" print(input)"
|
186
185
|
]
|
187
186
|
},
|
@@ -195,7 +194,7 @@
|
|
195
194
|
},
|
196
195
|
"outputs": [],
|
197
196
|
"source": [
|
198
|
-
"assert len(ln.Run.filter(id=ln.
|
197
|
+
"assert len(ln.Run.filter(id=ln.context.run.id).one().input_artifacts.all()) == 1"
|
199
198
|
]
|
200
199
|
},
|
201
200
|
{
|
@@ -247,7 +246,7 @@
|
|
247
246
|
"metadata": {},
|
248
247
|
"outputs": [],
|
249
248
|
"source": [
|
250
|
-
"for input in ln.Run.filter(id=ln.
|
249
|
+
"for input in ln.Run.filter(id=ln.context.run.id).one().input_artifacts.all():\n",
|
251
250
|
" print(input)"
|
252
251
|
]
|
253
252
|
},
|
@@ -261,7 +260,7 @@
|
|
261
260
|
},
|
262
261
|
"outputs": [],
|
263
262
|
"source": [
|
264
|
-
"assert len(ln.Run.filter(id=ln.
|
263
|
+
"assert len(ln.Run.filter(id=ln.context.run.id).one().input_artifacts.all()) == 2"
|
265
264
|
]
|
266
265
|
},
|
267
266
|
{
|
@@ -60,7 +60,7 @@
|
|
60
60
|
"pip install 'lamindb[jupyter,bionty]'\n",
|
61
61
|
"```\n",
|
62
62
|
"\n",
|
63
|
-
"Initialize a LaminDB instance mounting plugin {py:mod}`bionty
|
63
|
+
"Initialize a LaminDB instance mounting plugin {py:mod}`bionty`."
|
64
64
|
]
|
65
65
|
},
|
66
66
|
{
|
@@ -103,13 +103,11 @@
|
|
103
103
|
"cell_type": "markdown",
|
104
104
|
"metadata": {},
|
105
105
|
"source": [
|
106
|
-
"### Track\n",
|
106
|
+
"### Track data transformations\n",
|
107
107
|
"\n",
|
108
|
-
"
|
108
|
+
"When you first call {meth}`~lamindb.core.Context.track`, it auto-generates a `uid` to identify a notebook or script.\n",
|
109
109
|
"\n",
|
110
|
-
"When you
|
111
|
-
"\n",
|
112
|
-
"When you call it a second time, `ln.track()` saves transform and run records in their registries. The {class}`~lamindb.Transform` registry allows you to find your notebooks, scripts and pipelines. The {class}`~lamindb.Run` registry allows you to find their runs."
|
110
|
+
"When you call it a second time, it saves transform and run records: {class}`~lamindb.Transform` stores your notebooks, script, functions, and pipelines and {class}`~lamindb.Run` stores runs."
|
113
111
|
]
|
114
112
|
},
|
115
113
|
{
|
@@ -122,14 +120,10 @@
|
|
122
120
|
},
|
123
121
|
"outputs": [],
|
124
122
|
"source": [
|
125
|
-
"ln.
|
126
|
-
"ln.settings.transform.version = \"1\" # <-- auto-generated by ln.track()\n",
|
127
|
-
"\n",
|
128
|
-
"# track the execution of your notebook or script\n",
|
129
|
-
"run = ln.track()\n",
|
123
|
+
"ln.context.uid = \"FPnfDtJz8qbE0000\" # <-- auto-generated by ln.context.track()\n",
|
130
124
|
"\n",
|
131
|
-
"#
|
132
|
-
"
|
125
|
+
"# track the execution of your notebook or script with inputs & outputs\n",
|
126
|
+
"ln.context.track()"
|
133
127
|
]
|
134
128
|
},
|
135
129
|
{
|
@@ -142,21 +136,13 @@
|
|
142
136
|
"\n",
|
143
137
|
":::\n",
|
144
138
|
"\n",
|
145
|
-
":::{dropdown}
|
139
|
+
":::{dropdown} Why is the global `ln.context.uid` necessary?\n",
|
146
140
|
"\n",
|
147
|
-
"
|
141
|
+
"To tie a piece of code to a record in a database in a way that survives name and content changes, you need to attach the code to an immutable identifier, e.g., LaminDB's `uid`.\n",
|
148
142
|
"\n",
|
149
|
-
"
|
143
|
+
"git, by comparison, identifies code by its content hash & name. If you rename a notebook or script file and change the content, you lose the identity of the file. Notebook platforms like Google Colab and DeepNote support renaming and changing content of a given notebook, but they do not support versioning (every notebook version comes with the same [notebook id](https://lamin.ai/blog/nbproject#metadata-tracking) without versioning appearing in its metadata).\n",
|
150
144
|
"\n",
|
151
|
-
"
|
152
|
-
"\n",
|
153
|
-
"```python\n",
|
154
|
-
"stem_uid = random_base62(n_char) # a random base62 sequence of length n_char\n",
|
155
|
-
"version_uid = encode_base62(md5_hash(version))[:4] # version is, e.g., \"1\" or \"2.1.0\" or \"2022-03-01\"\n",
|
156
|
-
"uid = f\"{stem_uid}{version_uid}\" # concatenate the stem_uid & version_uid\n",
|
157
|
-
"```\n",
|
158
|
-
"\n",
|
159
|
-
"git, by comparison, identifies code by its content hash alone. Notebook platforms like Google Colab and DeepNote [do not encode versions into their notebook ids](https://lamin.ai/blog/nbproject#metadata-tracking). \n",
|
145
|
+
"To enable versioning, LaminDB auto-generates `uid` values so that different versions of a notebook or script are grouped by a random \"stem uid\" `suid`, consisting in the same first 12 characters of the `uid`. The remaining 4 characters encode a revision in a `ruid`, hence, `uid = f\"{suid}{ruid}\"`. You can optionally label any given version with a semantic tag via the `transform.version` field.\n",
|
160
146
|
"\n",
|
161
147
|
":::"
|
162
148
|
]
|
@@ -424,10 +410,13 @@
|
|
424
410
|
"metadata": {},
|
425
411
|
"outputs": [],
|
426
412
|
"source": [
|
427
|
-
"# get
|
413
|
+
"# get a single record by uid (here, the current notebook)\n",
|
428
414
|
"transform = ln.Transform.get(\"FPnfDtJz8qbE\")\n",
|
429
415
|
"\n",
|
430
|
-
"#
|
416
|
+
"# get a single record by matching a field\n",
|
417
|
+
"transform = ln.Transform.get(name=\"Introduction\")\n",
|
418
|
+
"\n",
|
419
|
+
"# get a set of records by filtering on description\n",
|
431
420
|
"ln.Artifact.filter(description=\"my RNA-seq\").df()\n",
|
432
421
|
"\n",
|
433
422
|
"# query all artifacts ingested from the current notebook\n",
|
@@ -1073,7 +1062,7 @@
|
|
1073
1062
|
"<img src=\"https://lamin-site-assets.s3.amazonaws.com/.lamindb/KQmzmmLOeBN0C8Ykitjn.svg\" width=\"800\">\n",
|
1074
1063
|
"\n",
|
1075
1064
|
"\n",
|
1076
|
-
"Both figures are based on mere calls to `ln.track()` in notebooks, pipelines & app."
|
1065
|
+
"Both figures are based on mere calls to `ln.context.track()` in notebooks, pipelines & app."
|
1077
1066
|
]
|
1078
1067
|
},
|
1079
1068
|
{
|
@@ -110,13 +110,34 @@
|
|
110
110
|
"users_dict = ln.User.lookup().dict()"
|
111
111
|
]
|
112
112
|
},
|
113
|
+
{
|
114
|
+
"cell_type": "markdown",
|
115
|
+
"id": "d54676dd",
|
116
|
+
"metadata": {},
|
117
|
+
"source": [
|
118
|
+
"## Query exactly one record"
|
119
|
+
]
|
120
|
+
},
|
121
|
+
{
|
122
|
+
"cell_type": "code",
|
123
|
+
"execution_count": null,
|
124
|
+
"id": "463ff17c",
|
125
|
+
"metadata": {},
|
126
|
+
"outputs": [],
|
127
|
+
"source": [
|
128
|
+
"# by uid\n",
|
129
|
+
"ln.User.get(\"DzTjkKse\")\n",
|
130
|
+
"# by any expression involving fields\n",
|
131
|
+
"ln.User.get(handle=\"testuser1\")"
|
132
|
+
]
|
133
|
+
},
|
113
134
|
{
|
114
135
|
"attachments": {},
|
115
136
|
"cell_type": "markdown",
|
116
137
|
"id": "45ac3b5c",
|
117
138
|
"metadata": {},
|
118
139
|
"source": [
|
119
|
-
"##
|
140
|
+
"## Query sets of records"
|
120
141
|
]
|
121
142
|
},
|
122
143
|
{
|
@@ -148,7 +169,7 @@
|
|
148
169
|
"\n",
|
149
170
|
"- `.df()`: A pandas `DataFrame` with each record in a row.\n",
|
150
171
|
"- `.all()`: A {class}`~lamindb.core.QuerySet`.\n",
|
151
|
-
"- `.one()`: Exactly one record. Will raise an error if there is none.\n",
|
172
|
+
"- `.one()`: Exactly one record. Will raise an error if there is none. Is equivalent to the `.get()` method shown above.\n",
|
152
173
|
"- `.one_or_none()`: Either one record or `None` if there is no query result."
|
153
174
|
]
|
154
175
|
},
|
@@ -6,7 +6,7 @@
|
|
6
6
|
"source": [
|
7
7
|
"# Track notebooks & scripts\n",
|
8
8
|
"\n",
|
9
|
-
"Call {meth}`~lamindb.track` to track code along with its inputs and outputs.\n",
|
9
|
+
"Call {meth}`~lamindb.core.Context.track` to track code along with its inputs and outputs.\n",
|
10
10
|
"\n",
|
11
11
|
"```{note}\n",
|
12
12
|
"\n",
|
@@ -39,9 +39,9 @@
|
|
39
39
|
"cell_type": "markdown",
|
40
40
|
"metadata": {},
|
41
41
|
"source": [
|
42
|
-
"When you first call `ln.track()`, it raises an exception and creates a `stem_uid` & `version` to identify a notebook or script in your database.\n",
|
42
|
+
"When you first call `ln.context.track()`, it raises an exception and creates a `stem_uid` & `version` to identify a notebook or script in your database.\n",
|
43
43
|
"\n",
|
44
|
-
"When you call it a second time, `ln.track()` saves transform and run records in their registries. The {class}`~lamindb.Transform` registry allows you to find your notebooks, scripts and pipelines. The {class}`~lamindb.Run` registry allows you to find their runs."
|
44
|
+
"When you call it a second time, `ln.context.track()` saves transform and run records in their registries. The {class}`~lamindb.Transform` registry allows you to find your notebooks, scripts and pipelines. The {class}`~lamindb.Run` registry allows you to find their runs."
|
45
45
|
]
|
46
46
|
},
|
47
47
|
{
|
@@ -52,9 +52,8 @@
|
|
52
52
|
"source": [
|
53
53
|
"import lamindb as ln\n",
|
54
54
|
"\n",
|
55
|
-
"ln.
|
56
|
-
"ln.
|
57
|
-
"ln.track()"
|
55
|
+
"ln.context.uid = \"9priar0hoE5u0000\"\n",
|
56
|
+
"ln.context.track()"
|
58
57
|
]
|
59
58
|
},
|
60
59
|
{
|
@@ -153,7 +152,7 @@
|
|
153
152
|
"ln.settings.sync_git_repo = \"https://github.com/...\"\n",
|
154
153
|
"ln.settings.transform.stem_uid = \"9priar0hoE5u\"\n",
|
155
154
|
"ln.settings.transform.version = \"1\"\n",
|
156
|
-
"
|
155
|
+
"ln.context.track()\n",
|
157
156
|
"\n",
|
158
157
|
"# load input artifacts\n",
|
159
158
|
"artifact = ln.Artifact.filter(...).one()\n",
|
@@ -40,9 +40,8 @@
|
|
40
40
|
"source": [
|
41
41
|
"import lamindb as ln\n",
|
42
42
|
"\n",
|
43
|
-
"ln.
|
44
|
-
"ln.
|
45
|
-
"ln.track()"
|
43
|
+
"ln.context.uid = \"ITeOtm7bhtdq0000\"\n",
|
44
|
+
"ln.context.track()"
|
46
45
|
]
|
47
46
|
},
|
48
47
|
{
|
@@ -132,12 +132,10 @@
|
|
132
132
|
},
|
133
133
|
"outputs": [],
|
134
134
|
"source": [
|
135
|
-
"
|
136
|
-
"ln.settings.transform.stem_uid = \"NJvdsWWbJlZS\" # <-- auto-generated by running ln.track()\n",
|
137
|
-
"ln.settings.transform.version = \"1\" # <-- auto-generated by running ln.track()\n",
|
135
|
+
"ln.context.uid = \"NJvdsWWbJlZS0000\" # <-- auto-generated by ln.context.track()\n",
|
138
136
|
"\n",
|
139
137
|
"# track the execution of your notebook or script\n",
|
140
|
-
"ln.track()"
|
138
|
+
"ln.context.track()"
|
141
139
|
]
|
142
140
|
},
|
143
141
|
{
|
@@ -145,7 +143,7 @@
|
|
145
143
|
"cell_type": "markdown",
|
146
144
|
"metadata": {},
|
147
145
|
"source": [
|
148
|
-
"By calling {func}`~lamindb.track`, the notebook is automatically linked as the source of all data that's about to be saved!"
|
146
|
+
"By calling {func}`~lamindb.core.Context.track`, the notebook is automatically linked as the source of all data that's about to be saved!"
|
149
147
|
]
|
150
148
|
},
|
151
149
|
{
|
@@ -169,7 +167,7 @@
|
|
169
167
|
"\n",
|
170
168
|
"```python\n",
|
171
169
|
"transform = ln.Transform(name=\"My pipeline\", version=\"1.2.0\")\n",
|
172
|
-
"ln.track(transform)\n",
|
170
|
+
"ln.context.track(transform)\n",
|
173
171
|
"```\n",
|
174
172
|
"\n",
|
175
173
|
":::\n",
|
@@ -182,7 +180,7 @@
|
|
182
180
|
"\n",
|
183
181
|
"A notebook that's run a single time on specific data is not a pipeline: it's a (versioned) **document** that produced insight or some other form of data representation (with parallels to an ELN in the wetlab).\n",
|
184
182
|
"\n",
|
185
|
-
"Because humans are in the loop, most mistakes happen when using notebooks: {func}`~lamindb.track` helps avoiding some.\n",
|
183
|
+
"Because humans are in the loop, most mistakes happen when using notebooks: {func}`~lamindb.core.Context.track` helps avoiding some.\n",
|
186
184
|
"\n",
|
187
185
|
"(An early blog post on this is [here](https://lamin.ai/blog/2022/nbproject).)\n",
|
188
186
|
"\n",
|
@@ -391,7 +391,7 @@
|
|
391
391
|
" return output_data\n",
|
392
392
|
"\n",
|
393
393
|
"transform = ln.Transform(name=\"Petal & sepal regressor\", type=\"pipeline\")\n",
|
394
|
-
"
|
394
|
+
"ln.context.track(transform=transform)\n",
|
395
395
|
"df = run_ml_model()"
|
396
396
|
]
|
397
397
|
},
|
@@ -422,15 +422,6 @@
|
|
422
422
|
"And this is the pipeline that produced the dataframe:"
|
423
423
|
]
|
424
424
|
},
|
425
|
-
{
|
426
|
-
"cell_type": "code",
|
427
|
-
"execution_count": null,
|
428
|
-
"metadata": {},
|
429
|
-
"outputs": [],
|
430
|
-
"source": [
|
431
|
-
"run"
|
432
|
-
]
|
433
|
-
},
|
434
425
|
{
|
435
426
|
"cell_type": "code",
|
436
427
|
"execution_count": null,
|
@@ -441,7 +432,7 @@
|
|
441
432
|
},
|
442
433
|
"outputs": [],
|
443
434
|
"source": [
|
444
|
-
"
|
435
|
+
"ln.context.transform.view_lineage()"
|
445
436
|
]
|
446
437
|
},
|
447
438
|
{
|
@@ -21,9 +21,8 @@ Key functionality:
|
|
21
21
|
.. autosummary::
|
22
22
|
:toctree: .
|
23
23
|
|
24
|
+
context
|
24
25
|
connect
|
25
|
-
track
|
26
|
-
finish
|
27
26
|
Curate
|
28
27
|
view
|
29
28
|
save
|
@@ -42,7 +41,7 @@ Modules & settings:
|
|
42
41
|
"""
|
43
42
|
|
44
43
|
# denote a release candidate for 0.1.0 with 0.1rc1, 0.1a1, 0.1b1, etc.
|
45
|
-
__version__ = "0.
|
44
|
+
__version__ = "0.76.1"
|
46
45
|
|
47
46
|
import os as _os
|
48
47
|
|
@@ -93,10 +92,9 @@ if _check_instance_setup(from_lamindb=True):
|
|
93
92
|
integrations,
|
94
93
|
)
|
95
94
|
from ._curate import Curate
|
96
|
-
from ._finish import finish
|
97
95
|
from ._save import save
|
98
96
|
from ._view import view
|
99
|
-
from .core.
|
97
|
+
from .core._context import context
|
100
98
|
from .core._settings import settings
|
101
99
|
|
102
100
|
# schema modules
|
@@ -107,8 +105,8 @@ if _check_instance_setup(from_lamindb=True):
|
|
107
105
|
|
108
106
|
_reload_schema_modules(_lamindb_setup.settings.instance)
|
109
107
|
|
110
|
-
track =
|
108
|
+
track = context.track # backward compat
|
109
|
+
finish = context.finish # backward compat
|
111
110
|
settings.__doc__ = """Global :class:`~lamindb.core.Settings`."""
|
111
|
+
context.__doc__ = """Global :class:`~lamindb.core.Context`."""
|
112
112
|
from django.db.models import Q
|
113
|
-
|
114
|
-
Annotate = Curate # backward compat
|
@@ -107,7 +107,7 @@ def process_pathlike(
|
|
107
107
|
new_root = list(filepath.parents)[-1]
|
108
108
|
# do not register remote storage locations on hub if the current instance
|
109
109
|
# is not managed on the hub
|
110
|
-
storage_settings = init_storage(
|
110
|
+
storage_settings, _ = init_storage(
|
111
111
|
new_root, prevent_register_hub=not setup_settings.instance.is_on_hub
|
112
112
|
)
|
113
113
|
storage_record = register_storage_in_instance(storage_settings)
|
@@ -594,6 +594,7 @@ def __init__(artifact: Artifact, *args, **kwargs):
|
|
594
594
|
kwargs["description"] = description
|
595
595
|
kwargs["visibility"] = visibility
|
596
596
|
kwargs["_accessor"] = accessor
|
597
|
+
kwargs["is_new_version_of"] = is_new_version_of
|
597
598
|
# this check needs to come down here because key might be populated from an
|
598
599
|
# existing file path during get_artifact_kwargs_from_data()
|
599
600
|
if (
|
@@ -313,11 +313,11 @@ class DataFrameCurator:
|
|
313
313
|
|
314
314
|
def clean_up_failed_runs(self):
|
315
315
|
"""Clean up previous failed runs that don't save any outputs."""
|
316
|
-
from lamindb.core.
|
316
|
+
from lamindb.core._context import context
|
317
317
|
|
318
|
-
if
|
319
|
-
Run.filter(transform=
|
320
|
-
uid=
|
318
|
+
if context.run is not None:
|
319
|
+
Run.filter(transform=context.run.transform, output_artifacts=None).exclude(
|
320
|
+
uid=context.run.uid
|
321
321
|
).delete()
|
322
322
|
|
323
323
|
|
@@ -42,7 +42,7 @@ def __init__(self, *args, **kwargs):
|
|
42
42
|
return None
|
43
43
|
# now we proceed with the user-facing constructor
|
44
44
|
if len(args) != 0:
|
45
|
-
raise ValueError("Only
|
45
|
+
raise ValueError("Only keyword args allowed")
|
46
46
|
dtype: type | str = kwargs.pop("dtype") if "dtype" in kwargs else None
|
47
47
|
# cast type
|
48
48
|
if dtype is None:
|