lamindb 0.76.11__tar.gz → 0.76.13__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.11 → lamindb-0.76.13}/PKG-INFO +5 -5
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/faq/idempotency.ipynb +8 -7
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/faq/setup.ipynb +3 -1
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/scripts/run-track-with-params.py +5 -2
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/setup.ipynb +33 -19
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/storage/prepare-transfer-local-to-cloud.ipynb +1 -1
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/storage/vitessce.ipynb +10 -32
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/track.ipynb +45 -4
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/tutorial.ipynb +4 -4
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/__init__.py +1 -1
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/_artifact.py +8 -11
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/_collection.py +6 -5
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/_feature_set.py +3 -1
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/_filter.py +0 -2
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/_finish.py +3 -3
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/_parents.py +18 -3
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/_query_manager.py +0 -15
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/_query_set.py +3 -3
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/_record.py +10 -12
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/_save.py +1 -1
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/_context.py +17 -11
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/_django.py +19 -5
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/_feature_manager.py +43 -10
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/_label_manager.py +70 -93
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/_settings.py +5 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/_sync_git.py +2 -2
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/_track_environment.py +1 -1
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/exceptions.py +1 -1
- lamindb-0.76.13/lamindb/core/schema.py +95 -0
- lamindb-0.76.13/lamindb/integrations/_vitessce.py +101 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/noxfile.py +1 -1
- {lamindb-0.76.11 → lamindb-0.76.13}/pyproject.toml +5 -4
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/__init__.py +1 -1
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/entities/_experimentalfactor.py +3 -1
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/sources.yaml +3 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/clinicore/.github/workflows/build.yml +3 -3
- lamindb-0.76.13/sub/clinicore/README.md +8 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/clinicore/clinicore/models.py +65 -44
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/clinicore/pyproject.toml +1 -1
- lamindb-0.76.13/sub/lamin-cli/lamin_cli/__init__.py +3 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/lamin_cli/__main__.py +3 -3
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/lamin_cli/_cache.py +1 -1
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/lamin_cli/_load.py +4 -3
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/pyproject.toml +5 -2
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/docs/hub-cloud/02-connect-local-instance.ipynb +0 -23
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/docs/hub-cloud/08-test-multi-session.ipynb +7 -3
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/docs/hub-prod/test-cache-management.ipynb +23 -47
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/docs/hub-prod/test-cloud-sync.ipynb +3 -3
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/__init__.py +1 -1
- lamindb-0.76.13/sub/lamindb-setup/lamindb_setup/_cache.py +48 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/_check_setup.py +1 -1
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/_connect_instance.py +14 -4
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/_delete.py +1 -1
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/_django.py +0 -2
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/_init_instance.py +21 -9
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/_setup_user.py +1 -1
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/_hub_core.py +5 -66
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/_hub_utils.py +1 -1
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/_settings.py +39 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/_settings_instance.py +5 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/_settings_load.py +13 -1
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/_settings_save.py +20 -9
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/_settings_storage.py +4 -65
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/_settings_user.py +1 -1
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/cloud_sqlite_locker.py +1 -1
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/django.py +11 -1
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/exceptions.py +0 -2
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/hashing.py +3 -1
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/types.py +1 -3
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/pyproject.toml +1 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/hub-cloud/test_edge_request.py +12 -1
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/hub-cloud/test_init_instance.py +8 -2
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/hub-local/test_all.py +34 -58
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/hub-prod/test_switch_and_fallback_env.py +2 -2
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/__init__.py +1 -1
- lamindb-0.76.13/sub/lnschema-core/lnschema_core/migrations/0067_alter_featurevalue_unique_together_and_more.py +20 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/models.py +56 -42
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/pyproject.toml +0 -1
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_artifact.py +4 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_cache.py +6 -6
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_feature_manager.py +14 -1
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_parents.py +15 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_record.py +5 -0
- lamindb-0.76.11/lamindb/core/schema.py +0 -56
- lamindb-0.76.11/lamindb/integrations/_vitessce.py +0 -107
- lamindb-0.76.11/sub/clinicore/README.md +0 -7
- lamindb-0.76.11/sub/lamin-cli/lamin_cli/__init__.py +0 -3
- lamindb-0.76.11/sub/lamindb-setup/lamindb_setup/_cache.py +0 -34
- {lamindb-0.76.11 → lamindb-0.76.13}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/.github/ISSUE_TEMPLATE/usage_question.yml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/.github/workflows/build.yml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/.gitignore +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/.gitmodules +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/.pre-commit-config.yaml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/CONTRIBUTING.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/LICENSE +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/README.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/api.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/arrays.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/bio-registries.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/bionty.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/changelog.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/clinicore.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/curate-any.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/curate-df.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/curate.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/faq/acid.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/faq/delete.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/faq/import-schema.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/faq/keep-artifacts-local.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/faq/key.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/faq/reference-field.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/faq/test_notebooks.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/faq/track-run-inputs.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/faq/visibility.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/faq.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/findrefs.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/guide.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/includes/features-lamindb.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/includes/features-laminhub.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/includes/installation.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/index.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/introduction.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/lamindb.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/laminr.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/query-search.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/registries.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/rest.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/schemas.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/scripts/synced-with-git.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/signup-login.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/storage/add-replace-cache.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/storage/anndata-accessor.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/storage/test-files/iris.csv +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/storage/test-files/iris.data +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/storage/test-files/new_iris.csv +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/storage/test_notebooks.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/storage/transfer-local-to-cloud.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/storage/upload.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/storage.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/test_notebooks.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/transfer.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/tutorial2.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/docs/wetlab.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/_can_validate.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/_curate.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/_feature.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/_from_values.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/_is_versioned.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/_run.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/_storage.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/_transform.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/_ulabel.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/_utils.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/_view.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/__init__.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/_data.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/_mapped_collection.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/datasets/__init__.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/datasets/_core.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/datasets/_fake.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/fields.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/loaders.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/storage/__init__.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/storage/_anndata_accessor.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/storage/_anndata_sizes.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/storage/_backed_access.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/storage/_tiledbsoma.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/storage/_valid_suffixes.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/storage/_zarr.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/storage/objects.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/storage/paths.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/subsettings/__init__.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/subsettings/_creation_settings.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/subsettings/_transform_settings.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/types.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/core/versioning.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/integrations/__init__.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/setup/__init__.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/lamindb/setup/core/__init__.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/.github/workflows/build.yml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/.github/workflows/update_ontologies.yml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/.gitignore +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/.pre-commit-config.yaml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/LICENSE +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/README.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/_bionty.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/__init__.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/_display_sources.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/_ontology.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/_public_ontology.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/_settings.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/_sync_sources.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/dev/__init__.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/dev/_handle_sources.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/dev/_io.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/dev/_md5.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/entities/__init__.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/entities/_bfxpipeline.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/entities/_biosample.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/entities/_cellline.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/entities/_cellmarker.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/entities/_celltype.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/entities/_developmentalstage.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/entities/_disease.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/entities/_drug.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/entities/_ethnicity.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/entities/_gene.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/entities/_organism.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/entities/_pathway.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/entities/_phenotype.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/entities/_protein.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/entities/_shared_docstrings.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/entities/_tissue.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/scripts/bfxpipelines_info/custom_pipelines.json +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/scripts/check_ontologies_reachable.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/scripts/determine_md5s.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/scripts/generate_bfxpipelines.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/scripts/update_new_ontologies.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/base/scripts/upload_new_ontologies.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/core/__init__.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/core/_add_ontology.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/core/_bionty.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/core/_settings.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/ids.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/migrations/0023_rename_publicsource_encode_uid.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/migrations/0024_remove_cellline_collections_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/migrations/0025_artifactcellline_alter_cellline_artifacts_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/migrations/0026_artifactcellline_cell_line_ref_is_name_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/migrations/0027_remove_artifactcellline_created_at_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/migrations/0028_artifactcellline_created_at_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/migrations/0028_squashed.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/migrations/0029_alter_cellline_previous_runs_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/migrations/0030_rename_publicsource_source_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/migrations/0031_alter_cellmarker_name_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/migrations/0032_rename_source_name_source_description_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/migrations/0033_alter_artifactcellline_artifact_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/migrations/0034_alter_source_unique_together.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/migrations/0035_alter_protein_gene_symbol.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/migrations/0036_alter_source_artifacts_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/migrations/0037_alter_cellline_source_alter_cellmarker_source_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/migrations/0038_alter_artifactcellline_created_by_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/migrations/0039_alter_cellline_source_alter_cellmarker_source_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/migrations/__init__.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/bionty/models.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/docs/guide/concepts.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/docs/guide/config.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/docs/guide/extend.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/docs/guide/test_notebooks.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/docs/guide.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/docs/index.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/docs/reference.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/lamin-project.yaml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/noxfile.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/pyproject.toml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/tests/dev/test_handle_sources.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/tests/dev/test_io.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/tests/entities/test_bfxpipeline.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/tests/entities/test_biosample.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/tests/entities/test_cellline.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/tests/entities/test_cellmarker.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/tests/entities/test_celltype.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/tests/entities/test_developmentalstage.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/tests/entities/test_disease.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/tests/entities/test_drug.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/tests/entities/test_ethnicity.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/tests/entities/test_experimentalfactor.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/tests/entities/test_gene.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/tests/entities/test_organism.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/tests/entities/test_pathway.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/tests/entities/test_phenotype.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/tests/entities/test_protein.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/tests/entities/test_tissue.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/tests/test_bionty.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/tests/test_lamindb.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/tests/test_md5.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/bionty/tests/test_ontology.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/clinicore/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/clinicore/.gitignore +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/clinicore/.pre-commit-config.yaml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/clinicore/LICENSE +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/clinicore/clinicore/__init__.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/clinicore/clinicore/migrations/0001_initial.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/clinicore/clinicore/migrations/0002_biosample_patient_biosample_project.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/clinicore/clinicore/migrations/0003_alter_project_uid.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/clinicore/clinicore/migrations/0004_remove_biosample_project_clinicaltrial_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/clinicore/clinicore/migrations/0005_alter_biosample_created_by_alter_biosample_run_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/clinicore/clinicore/migrations/0006_artifactbiosample_artifactclinicaltrial_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/clinicore/clinicore/migrations/__init__.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/clinicore/docs/changelog.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/clinicore/docs/guide.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/clinicore/docs/index.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/clinicore/docs/quickstart.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/clinicore/docs/reference.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/clinicore/noxfile.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/clinicore/tests/test_notebooks.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/findrefs/.github/workflows/build.yml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/findrefs/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/findrefs/.gitignore +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/findrefs/.pre-commit-config.yaml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/findrefs/LICENSE +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/findrefs/README.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/findrefs/findrefs/__init__.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/findrefs/findrefs/migrations/0001_initial.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/findrefs/findrefs/migrations/__init__.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/findrefs/findrefs/models.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/findrefs/noxfile.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/findrefs/pyproject.toml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/findrefs/tests/test_integrity.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/.gitignore +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/.pre-commit-config.yaml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/LICENSE +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/README.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/lamin_cli/_migration.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/lamin_cli/_save.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/lamin_cli/_settings.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/tests/conftest.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/tests/scripts/merely-import-lamindb.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/tests/scripts/run-track-and-finish-sync-git.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/tests/scripts/run-track-and-finish.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/tests/scripts/run-track-with-params.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/tests/test_cli.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/tests/test_load.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/tests/test_migrate.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/tests/test_multi_process.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/tests/test_save_files.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/tests/test_save_notebooks.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamin-cli/tests/test_save_scripts.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/.github/workflows/build.yml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/.gitignore +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/.pre-commit-config.yaml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/LICENSE +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/README.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/docs/changelog.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/docs/hub-cloud/01-init-local-instance.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/docs/hub-cloud/03-add-managed-storage.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/docs/hub-cloud/04-test-bionty.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/docs/hub-cloud/05-init-hosted-instance.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/docs/hub-cloud/06-connect-hosted-instance.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/docs/hub-cloud/07-keep-artifacts-local.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/docs/hub-cloud/test_notebooks.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/docs/hub-prod/test-connect-anonymously.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/docs/hub-prod/test-empty-init.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/docs/hub-prod/test-import-schema.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/docs/hub-prod/test-init-load-local-anonymously.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/docs/hub-prod/test-insufficient-user-info.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/docs/hub-prod/test-invalid-schema.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/docs/hub-prod/test-sqlite-lock.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/docs/hub-prod/test_notebooks2.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/docs/index.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/docs/notebooks.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/docs/reference.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/_check.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/_entry_points.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/_exportdb.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/_importdb.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/_migrate.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/_schema_metadata.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/_set_managed_storage.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/__init__.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/_aws_credentials.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/_aws_storage.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/_deprecated.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/_docs.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/_hub_client.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/_hub_crud.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/_private_django_api.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/_settings_store.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/_setup_bionty_sources.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/lamindb_setup/core/upath.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/noxfile.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/hub-cloud/scripts/script-init-pass-user-no-writes.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/hub-cloud/scripts/script-to-fail-managed-storage.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/hub-cloud/test_connect_instance.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/hub-cloud/test_delete_instance.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/hub-cloud/test_fail_managed_storage.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/hub-cloud/test_init_pass_user_no_writes.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/hub-cloud/test_login.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/hub-cloud/test_migrate.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/hub-cloud/test_set_storage.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/hub-local/conftest.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/hub-local/test_update_schema_in_hub.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/hub-prod/conftest.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/hub-prod/test_django.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/hub-prod/test_global_settings.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/hub-prod/test_upath.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/storage/test_entry_point.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/storage/test_hashing.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/storage/test_storage_access.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/storage/test_storage_basis.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/storage/test_storage_stats.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lamindb-setup/tests/storage/test_to_url.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/.github/workflows/build.yml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/.gitignore +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/.pre-commit-config.yaml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/CHANGELOG.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/LICENSE +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/README.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/ids.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0037_rename_dataset_to_collection.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0038_alter_collection_artifact_alter_collection_artifacts_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0039_remove_collection_artifacts_collectionartifact_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0040_alter_transform_type.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0041_remove_transform_short_name_transform_description_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0042_rename_run_at_run_started_at_run_finished_at.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0043_run_json.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0044_run_replicated_outputs_transform_ulabels_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0045_rename_replicated_outputs_run_replicated_output_artifacts_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0046_storage_instance_uid.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0047_featurevalue_artifactfeaturevalue_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0048_alter_artifactulabel_feature_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0049_rename_type_feature_dtype_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0050_artifactfeatureset_feature_ref_is_semantic_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0051_remove_feature_feature_sets_featuresetfeature_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0052_rename_feature_value_artifactfeaturevalue_featurevalue_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0052_squashed.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0053_alter_featureset_hash_alter_paramvalue_created_by_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0054_alter_feature_previous_runs_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0055_artifact_type_artifactparamvalue_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/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.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0057_link_models_latest_report_and_others.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0058_artifact__actions_collection__actions.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0059_alter_artifact__accessor_alter_artifact__hash_type_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0060_alter_artifact__actions.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0061_alter_collection_meta_artifact_alter_run_environment_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0062_add_is_latest_field.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0063_populate_latest_field.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0064_alter_artifact_version_alter_collection_version_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0065_remove_collection_feature_sets_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/0066_alter_artifact__feature_values_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/mocks.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/types.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/lnschema_core/users.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/noxfile.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/tests/conftest.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/tests/test_integrity.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/tests/test_models.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/lnschema-core/tests/test_types.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/.github/workflows/build.yml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/.gitignore +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/.pre-commit-config.yaml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/README.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/docs/changelog.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/docs/guide/get-started.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/docs/guide/modeling_perturbations.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/docs/guide.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/docs/index.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/docs/reference.md +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/noxfile.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/pyproject.toml +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/tests/test_integrity.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/tests/test_notebooks.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/wetlab/__init__.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/wetlab/migrations/0017_remove_biosample_artifacts.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/wetlab/migrations/0018_squashed.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/wetlab/migrations/0018_well_created_at_well_created_by_well_updated_at.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/wetlab/migrations/0019_alter_treatment_system.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/wetlab/migrations/0020_treatmenttarget_pathways_treatmenttarget_proteins_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/wetlab/migrations/0021_alter_compoundtreatment_duration_unit_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/wetlab/migrations/0022_remove_experiment_experiment_type_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/wetlab/migrations/0023_compoundtreatment_duration_and_more.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/wetlab/migrations/0024_compound_chembl_id.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/wetlab/migrations/__init__.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/sub/wetlab/wetlab/models.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/conftest.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/notebooks/duplicate/with-title-initialized-consecutive-finish.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/notebooks/no-title.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/notebooks/not-initialized.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/notebooks/with-title-initialized-consecutive-finish-not-last-cell.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/notebooks/with-title-initialized-consecutive-finish.ipynb +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/scripts/duplicate1/script-to-test-versioning.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/scripts/duplicate2/script-to-test-versioning.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/scripts/duplicate3/script-to-test-versioning.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/scripts/script-to-test-filename-change.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/scripts/script-to-test-versioning.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_artifact_folders.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_can_validate.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_collection.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_context.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_curate.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_data.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_db.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_delete.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_feature.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_feature_set.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_from_values.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_label_manager.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_load.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_manager.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_notebooks.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_queryset.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_run.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_save.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_search.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_settings.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_transform.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_uid.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_ulabel.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_versioning.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_view.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/core/test_visibility.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/storage/conftest.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/storage/test_storage.py +0 -0
- {lamindb-0.76.11 → lamindb-0.76.13}/tests/storage/test_transfer.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: lamindb
|
3
|
-
Version: 0.76.
|
3
|
+
Version: 0.76.13
|
4
4
|
Summary: A data framework for biology.
|
5
5
|
Author-email: Lamin Labs <open-source@lamin.ai>
|
6
6
|
Requires-Python: >=3.9
|
@@ -8,10 +8,10 @@ Description-Content-Type: text/markdown
|
|
8
8
|
Classifier: Programming Language :: Python :: 3.9
|
9
9
|
Classifier: Programming Language :: Python :: 3.10
|
10
10
|
Classifier: Programming Language :: Python :: 3.11
|
11
|
-
Requires-Dist: lnschema_core==0.
|
12
|
-
Requires-Dist: lamindb_setup==0.77.7
|
11
|
+
Requires-Dist: lnschema_core==0.75.0
|
13
12
|
Requires-Dist: lamin_utils==0.13.6
|
14
|
-
Requires-Dist: lamin_cli==0.
|
13
|
+
Requires-Dist: lamin_cli==0.19.0
|
14
|
+
Requires-Dist: lamindb_setup
|
15
15
|
Requires-Dist: rapidfuzz
|
16
16
|
Requires-Dist: pyarrow
|
17
17
|
Requires-Dist: typing_extensions!=4.6.0
|
@@ -23,7 +23,7 @@ Requires-Dist: pandas
|
|
23
23
|
Requires-Dist: graphviz
|
24
24
|
Requires-Dist: psycopg2-binary
|
25
25
|
Requires-Dist: lamindb_setup[aws] ; extra == "aws"
|
26
|
-
Requires-Dist: bionty==0.51.
|
26
|
+
Requires-Dist: bionty==0.51.2 ; extra == "bionty"
|
27
27
|
Requires-Dist: line_profiler ; extra == "dev"
|
28
28
|
Requires-Dist: pre-commit ; extra == "dev"
|
29
29
|
Requires-Dist: nox ; extra == "dev"
|
@@ -70,7 +70,6 @@
|
|
70
70
|
"import lamindb as ln\n",
|
71
71
|
"import pytest\n",
|
72
72
|
"\n",
|
73
|
-
"ln.settings.verbosity = \"hint\"\n",
|
74
73
|
"ln.track(\"ANW20Fr4eZgM0000\")"
|
75
74
|
]
|
76
75
|
},
|
@@ -301,8 +300,7 @@
|
|
301
300
|
"metadata": {},
|
302
301
|
"outputs": [],
|
303
302
|
"source": [
|
304
|
-
"artifact = ln.Artifact(filepath, description=\"My fcs artifact\")
|
305
|
-
"artifact.save()"
|
303
|
+
"artifact = ln.Artifact(filepath, description=\"My fcs artifact\").save()"
|
306
304
|
]
|
307
305
|
},
|
308
306
|
{
|
@@ -316,7 +314,9 @@
|
|
316
314
|
},
|
317
315
|
"outputs": [],
|
318
316
|
"source": [
|
319
|
-
"assert artifact.hash == \"KCEXRahJ-Ui9Y6nksQ8z1A\""
|
317
|
+
"assert artifact.hash == \"KCEXRahJ-Ui9Y6nksQ8z1A\"\n",
|
318
|
+
"assert artifact.run == ln.context.run\n",
|
319
|
+
"assert len(artifact._previous_runs.all()) == 0"
|
320
320
|
]
|
321
321
|
},
|
322
322
|
{
|
@@ -355,7 +355,8 @@
|
|
355
355
|
"outputs": [],
|
356
356
|
"source": [
|
357
357
|
"assert artifact.id == artifact2.id\n",
|
358
|
-
"assert artifact.run == artifact2.run"
|
358
|
+
"assert artifact.run == artifact2.run\n",
|
359
|
+
"assert len(artifact._previous_runs.all()) == 0"
|
359
360
|
]
|
360
361
|
},
|
361
362
|
{
|
@@ -485,8 +486,7 @@
|
|
485
486
|
"metadata": {},
|
486
487
|
"outputs": [],
|
487
488
|
"source": [
|
488
|
-
"artifact4 = ln.Artifact(filepath, description=\"My new fcs artifact\")
|
489
|
-
"artifact4.save()"
|
489
|
+
"artifact4 = ln.Artifact(filepath, description=\"My new fcs artifact\").save()"
|
490
490
|
]
|
491
491
|
},
|
492
492
|
{
|
@@ -543,6 +543,7 @@
|
|
543
543
|
},
|
544
544
|
"outputs": [],
|
545
545
|
"source": [
|
546
|
+
"!rm -rf ./test-idempotency\n",
|
546
547
|
"!lamin delete --force test-idempotency"
|
547
548
|
]
|
548
549
|
}
|
@@ -100,7 +100,9 @@
|
|
100
100
|
"metadata": {},
|
101
101
|
"outputs": [],
|
102
102
|
"source": [
|
103
|
-
"
|
103
|
+
"from lamindb_setup._init_instance import CannotSwitchDefaultInstance\n",
|
104
|
+
"\n",
|
105
|
+
"with pytest.raises(CannotSwitchDefaultInstance):\n",
|
104
106
|
" ln.setup.init(storage=\"./testsetup2\")"
|
105
107
|
]
|
106
108
|
},
|
@@ -10,8 +10,11 @@ if __name__ == "__main__":
|
|
10
10
|
params = {
|
11
11
|
"input_dir": args.input_dir,
|
12
12
|
"learning_rate": args.learning_rate,
|
13
|
-
"
|
13
|
+
"preprocess_params": {
|
14
|
+
"downsample": args.downsample,
|
15
|
+
"normalization": "the_good_one",
|
16
|
+
},
|
14
17
|
}
|
15
|
-
ln.track("
|
18
|
+
ln.track("JjRF4mACd9m00001", params=params)
|
16
19
|
# your code
|
17
20
|
ln.finish()
|
@@ -254,25 +254,39 @@
|
|
254
254
|
"source": [
|
255
255
|
"`lamindb` mantains cache for cloud instances, i.e. instances having storage set to an AWS S3 bucket.\n",
|
256
256
|
"\n",
|
257
|
-
"Cache directory can be accessed via {class}`lamindb.settings
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
"
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
"
|
274
|
-
|
275
|
-
|
257
|
+
"Cache directory can be accessed via {class}`lamindb.settings`."
|
258
|
+
]
|
259
|
+
},
|
260
|
+
{
|
261
|
+
"cell_type": "code",
|
262
|
+
"execution_count": null,
|
263
|
+
"metadata": {},
|
264
|
+
"outputs": [],
|
265
|
+
"source": [
|
266
|
+
"ln.settings.cache_dir"
|
267
|
+
]
|
268
|
+
},
|
269
|
+
{
|
270
|
+
"cell_type": "markdown",
|
271
|
+
"metadata": {},
|
272
|
+
"source": [
|
273
|
+
"or print the cache directory path with CLI"
|
274
|
+
]
|
275
|
+
},
|
276
|
+
{
|
277
|
+
"cell_type": "code",
|
278
|
+
"execution_count": null,
|
279
|
+
"metadata": {},
|
280
|
+
"outputs": [],
|
281
|
+
"source": [
|
282
|
+
"!lamin cache get"
|
283
|
+
]
|
284
|
+
},
|
285
|
+
{
|
286
|
+
"cell_type": "markdown",
|
287
|
+
"metadata": {},
|
288
|
+
"source": [
|
289
|
+
"It can be also configured via \n",
|
276
290
|
"\n",
|
277
291
|
"```\n",
|
278
292
|
"lamin cache set some/path/to/cache\n",
|
@@ -34,7 +34,7 @@
|
|
34
34
|
"metadata": {},
|
35
35
|
"outputs": [],
|
36
36
|
"source": [
|
37
|
-
"ln.setup.init(storage=\"./test-transfer-to-cloud\", schema=\"bionty,wetlab\")\n",
|
37
|
+
"ln.setup.init(storage=\"./test-transfer-to-cloud\", schema=\"bionty,wetlab,findrefs\")\n",
|
38
38
|
"ln.setup.settings.auto_connect = False"
|
39
39
|
]
|
40
40
|
},
|
@@ -82,7 +82,7 @@
|
|
82
82
|
"vc = VitessceConfig(schema_version=\"1.0.15\")\n",
|
83
83
|
"vc.add_dataset(name=\"test1\").add_object(\n",
|
84
84
|
" AnnDataWrapper(\n",
|
85
|
-
"
|
85
|
+
" adata_artifact=dataset_artifact,\n",
|
86
86
|
" obs_embedding_paths=[\"obsm/X_umap\"],\n",
|
87
87
|
" ),\n",
|
88
88
|
")\n",
|
@@ -134,39 +134,17 @@
|
|
134
134
|
"metadata": {},
|
135
135
|
"outputs": [],
|
136
136
|
"source": [
|
137
|
-
"#
|
137
|
+
"# pass an artifact URL instead of the artifact object itself\n",
|
138
138
|
"vc = VitessceConfig(schema_version=\"1.0.15\")\n",
|
139
|
-
"
|
140
|
-
"
|
141
|
-
"
|
142
|
-
"
|
143
|
-
"
|
144
|
-
")
|
145
|
-
"
|
146
|
-
" ln.integrations.save_vitessce_config(vc)\n",
|
147
|
-
"print(error.exconly())\n",
|
148
|
-
"assert error.exconly().startswith(\"ValueError: Suffix should be '.zarr' or one of\")\n",
|
149
|
-
"assert error.exconly().endswith(\".random\")\n"
|
150
|
-
]
|
151
|
-
},
|
152
|
-
{
|
153
|
-
"cell_type": "code",
|
154
|
-
"execution_count": null,
|
155
|
-
"metadata": {},
|
156
|
-
"outputs": [],
|
157
|
-
"source": [
|
158
|
-
"# use a corrupted stem_uid\n",
|
159
|
-
"vc = VitessceConfig(schema_version=\"1.0.15\")\n",
|
160
|
-
"vc.add_dataset(name=\"test1\").add_object(\n",
|
161
|
-
" AnnDataWrapper(\n",
|
162
|
-
" adata_url=dataset_artifact.path.to_url().replace(dataset_artifact.stem_uid, \"not-a-valid-uid\"),\n",
|
163
|
-
" obs_embedding_paths=[\"obsm/X_umap\"],\n",
|
164
|
-
" ),\n",
|
165
|
-
")\n",
|
166
|
-
"with pytest.raises(ValueError) as error:\n",
|
167
|
-
" ln.integrations.save_vitessce_config(vc)\n",
|
139
|
+
"with pytest.raises(AttributeError) as error:\n",
|
140
|
+
" vc.add_dataset(name=\"test1\").add_object(\n",
|
141
|
+
" AnnDataWrapper(\n",
|
142
|
+
" adata_artifact=dataset_artifact.path.to_url(),\n",
|
143
|
+
" obs_embedding_paths=[\"obsm/X_umap\"],\n",
|
144
|
+
" ),\n",
|
145
|
+
" )\n",
|
168
146
|
"print(error.exconly())\n",
|
169
|
-
"assert error.exconly().startswith(\"
|
147
|
+
"assert error.exconly().startswith(\"AttributeError: 'str' object has no attribute 'path'\")\n"
|
170
148
|
]
|
171
149
|
},
|
172
150
|
{
|
@@ -141,6 +141,8 @@
|
|
141
141
|
"cell_type": "markdown",
|
142
142
|
"metadata": {},
|
143
143
|
"source": [
|
144
|
+
"(track-run-parameters)=\n",
|
145
|
+
"\n",
|
144
146
|
"## Track run parameters"
|
145
147
|
]
|
146
148
|
},
|
@@ -165,7 +167,7 @@
|
|
165
167
|
"\n",
|
166
168
|
"ln.Param(name=\"input_dir\", dtype=\"str\").save()\n",
|
167
169
|
"ln.Param(name=\"learning_rate\", dtype=\"float\").save()\n",
|
168
|
-
"ln.Param(name=\"
|
170
|
+
"ln.Param(name=\"preprocess_params\", dtype=\"dict\").save()"
|
169
171
|
]
|
170
172
|
},
|
171
173
|
{
|
@@ -223,14 +225,24 @@
|
|
223
225
|
},
|
224
226
|
"outputs": [],
|
225
227
|
"source": [
|
226
|
-
"ln.Run.params.filter(learning_rate=0.01, input_dir=\"./mydataset\").df()"
|
228
|
+
"ln.Run.params.filter(learning_rate=0.01, input_dir=\"./mydataset\", preprocess_params__downsample=True).df()"
|
227
229
|
]
|
228
230
|
},
|
229
231
|
{
|
230
232
|
"cell_type": "markdown",
|
231
233
|
"metadata": {},
|
232
234
|
"source": [
|
233
|
-
"
|
235
|
+
"Note that:\n",
|
236
|
+
"\n",
|
237
|
+
"* `preprocess_params__downsample=True` traverses the dictionary `preprocess_params` to find the key `\"downsample\"` and match it to `True`\n",
|
238
|
+
"* nested keys like `\"downsample\"` in a dictionary do not appear in `Param` and hence, do not get validated"
|
239
|
+
]
|
240
|
+
},
|
241
|
+
{
|
242
|
+
"cell_type": "markdown",
|
243
|
+
"metadata": {},
|
244
|
+
"source": [
|
245
|
+
"Below is how you get the parameter values that were used for a given run."
|
234
246
|
]
|
235
247
|
},
|
236
248
|
{
|
@@ -247,6 +259,35 @@
|
|
247
259
|
"run.params.get_values()"
|
248
260
|
]
|
249
261
|
},
|
262
|
+
{
|
263
|
+
"cell_type": "markdown",
|
264
|
+
"metadata": {},
|
265
|
+
"source": [
|
266
|
+
"Or [on the hub](https://lamin.ai/laminlabs/lamindata/transform/JjRF4mACd9m00001).\n",
|
267
|
+
"\n",
|
268
|
+
"<img width=\"500\" alt=\"image\" src=\"https://github.com/user-attachments/assets/d8a5df37-d585-4940-b6f0-91f99b6c436c\">"
|
269
|
+
]
|
270
|
+
},
|
271
|
+
{
|
272
|
+
"cell_type": "markdown",
|
273
|
+
"metadata": {},
|
274
|
+
"source": [
|
275
|
+
"If you want to query all parameter values across all runs, use {class}`~lamindb.core.ParamValue`."
|
276
|
+
]
|
277
|
+
},
|
278
|
+
{
|
279
|
+
"cell_type": "code",
|
280
|
+
"execution_count": null,
|
281
|
+
"metadata": {
|
282
|
+
"tags": [
|
283
|
+
"hide-output"
|
284
|
+
]
|
285
|
+
},
|
286
|
+
"outputs": [],
|
287
|
+
"source": [
|
288
|
+
"ln.core.ParamValue.df(include=[\"param__name\", \"created_by__handle\"])"
|
289
|
+
]
|
290
|
+
},
|
250
291
|
{
|
251
292
|
"cell_type": "markdown",
|
252
293
|
"metadata": {},
|
@@ -297,7 +338,7 @@
|
|
297
338
|
},
|
298
339
|
"outputs": [],
|
299
340
|
"source": [
|
300
|
-
"assert run.params.get_values() == {'
|
341
|
+
"assert run.params.get_values() == {'input_dir': './mydataset', 'learning_rate': 0.01, 'preprocess_params': {'downsample': True, 'normalization': 'the_good_one'}}\n",
|
301
342
|
"\n",
|
302
343
|
"# clean up test instance\n",
|
303
344
|
"!rm -r ./test-track\n",
|
@@ -197,7 +197,8 @@
|
|
197
197
|
},
|
198
198
|
"outputs": [],
|
199
199
|
"source": [
|
200
|
-
"
|
200
|
+
"# we use anon=True here in case no aws credentials are configured\n",
|
201
|
+
"ln.UPath(\"s3://lamindata/iris_studies\", anon=True).view_tree()"
|
201
202
|
]
|
202
203
|
},
|
203
204
|
{
|
@@ -574,7 +575,6 @@
|
|
574
575
|
"ln.Artifact.filter(\n",
|
575
576
|
" created_by=users.anonymous,\n",
|
576
577
|
" transform=transform,\n",
|
577
|
-
" suffix=\".csv\",\n",
|
578
578
|
").df().head()"
|
579
579
|
]
|
580
580
|
},
|
@@ -595,7 +595,7 @@
|
|
595
595
|
},
|
596
596
|
"outputs": [],
|
597
597
|
"source": [
|
598
|
-
"ln.Artifact.filter(key__startswith=\"iris_studies/study0_raw_images
|
598
|
+
"ln.Artifact.filter(key__startswith=\"iris_studies/study0_raw_images\").df().head()"
|
599
599
|
]
|
600
600
|
},
|
601
601
|
{
|
@@ -947,7 +947,7 @@
|
|
947
947
|
"name": "python",
|
948
948
|
"nbconvert_exporter": "python",
|
949
949
|
"pygments_lexer": "ipython3",
|
950
|
-
"version": "3.
|
950
|
+
"version": "3.9.17"
|
951
951
|
},
|
952
952
|
"vscode": {
|
953
953
|
"interpreter": {
|
@@ -10,7 +10,7 @@ import fsspec
|
|
10
10
|
import lamindb_setup as ln_setup
|
11
11
|
import pandas as pd
|
12
12
|
from anndata import AnnData
|
13
|
-
from django.db.models import Q
|
13
|
+
from django.db.models import Q
|
14
14
|
from lamin_utils import colors, logger
|
15
15
|
from lamindb_setup import settings as setup_settings
|
16
16
|
from lamindb_setup._init_instance import register_storage_in_instance
|
@@ -180,7 +180,7 @@ def process_data(
|
|
180
180
|
f" be '{suffix}'."
|
181
181
|
)
|
182
182
|
cache_name = f"{provisional_uid}{suffix}"
|
183
|
-
path = settings.
|
183
|
+
path = settings.cache_dir / cache_name
|
184
184
|
# Alex: I don't understand the line below
|
185
185
|
if path.suffixes == []:
|
186
186
|
path = path.with_suffix(suffix)
|
@@ -331,9 +331,10 @@ def get_artifact_kwargs_from_data(
|
|
331
331
|
artifact = stat_or_artifact
|
332
332
|
# update the run of the existing artifact
|
333
333
|
if run is not None:
|
334
|
-
# save the information that this artifact was previously
|
335
|
-
#
|
336
|
-
|
334
|
+
# save the information that this artifact was previously produced by
|
335
|
+
# another run
|
336
|
+
# note: same logic exists for _output_collections_with_later_updates
|
337
|
+
if artifact.run is not None and artifact.run != run:
|
337
338
|
artifact.run._output_artifacts_with_later_updates.add(artifact)
|
338
339
|
# update the run of the artifact with the latest run
|
339
340
|
stat_or_artifact.run = run
|
@@ -344,7 +345,7 @@ def get_artifact_kwargs_from_data(
|
|
344
345
|
|
345
346
|
if revises is not None: # update provisional_uid
|
346
347
|
provisional_uid, revises = create_uid(revises=revises, version=version)
|
347
|
-
if settings.
|
348
|
+
if settings.cache_dir in path.parents:
|
348
349
|
path = path.rename(path.with_name(f"{provisional_uid}{suffix}"))
|
349
350
|
|
350
351
|
check_path_in_storage = False
|
@@ -749,10 +750,6 @@ def from_dir(
|
|
749
750
|
run: Run | None = None,
|
750
751
|
) -> list[Artifact]:
|
751
752
|
"""{}""" # noqa: D415
|
752
|
-
logger.warning(
|
753
|
-
"this creates one artifact per file in the directory - consider"
|
754
|
-
" ln.Artifact(dir_path) to get one artifact for the entire directory"
|
755
|
-
)
|
756
753
|
folderpath: UPath = create_path(path) # returns Path for local
|
757
754
|
default_storage = settings.storage.record
|
758
755
|
using_key = settings._using_key
|
@@ -1125,7 +1122,7 @@ def save(self, upload: bool | None = None, **kwargs) -> Artifact:
|
|
1125
1122
|
raise RuntimeError(exception)
|
1126
1123
|
if local_path is not None and not state_was_adding:
|
1127
1124
|
# only move the local artifact to cache if it was not newly created
|
1128
|
-
local_path_cache = ln_setup.settings.
|
1125
|
+
local_path_cache = ln_setup.settings.cache_dir / local_path.name
|
1129
1126
|
# don't use Path.rename here because of cross-device link error
|
1130
1127
|
# https://laminlabs.slack.com/archives/C04A0RMA0SC/p1710259102686969
|
1131
1128
|
shutil.move(
|
@@ -145,15 +145,16 @@ def __init__(
|
|
145
145
|
logger.warning(
|
146
146
|
f"returning existing collection with same hash: {existing_collection}"
|
147
147
|
)
|
148
|
-
# update the run of the existing
|
148
|
+
# update the run of the existing collection
|
149
149
|
if run is not None:
|
150
|
-
# save the information that this
|
151
|
-
#
|
152
|
-
|
150
|
+
# save the information that this collection was previously produced
|
151
|
+
# by another run
|
152
|
+
# note: same logic exists for _output_artifacts_with_later_updates
|
153
|
+
if existing_collection.run is not None and existing_collection.run != run:
|
153
154
|
existing_collection.run._output_collections_with_later_updates.add(
|
154
155
|
existing_collection
|
155
156
|
)
|
156
|
-
# update the run of the
|
157
|
+
# update the run of the collection with the latest run
|
157
158
|
existing_collection.run = run
|
158
159
|
existing_collection.transform = run.transform
|
159
160
|
init_self_from_db(collection, existing_collection)
|
@@ -216,7 +216,9 @@ def members(self) -> QuerySet:
|
|
216
216
|
|
217
217
|
|
218
218
|
def _get_related_name(self: FeatureSet) -> str:
|
219
|
-
feature_sets_related_models = dict_related_model_to_related_name(
|
219
|
+
feature_sets_related_models = dict_related_model_to_related_name(
|
220
|
+
self, instance=self._state.db
|
221
|
+
)
|
220
222
|
related_name = feature_sets_related_models.get(self.registry)
|
221
223
|
return related_name
|
222
224
|
|
@@ -130,12 +130,12 @@ def save_context_core(
|
|
130
130
|
if response != "y":
|
131
131
|
return "aborted-non-consecutive"
|
132
132
|
# write the report
|
133
|
-
report_path = ln_setup.settings.
|
133
|
+
report_path = ln_setup.settings.cache_dir / filepath.name.replace(
|
134
134
|
".ipynb", ".html"
|
135
135
|
)
|
136
136
|
notebook_to_report(filepath, report_path)
|
137
137
|
# write the source code
|
138
|
-
source_code_path = ln_setup.settings.
|
138
|
+
source_code_path = ln_setup.settings.cache_dir / filepath.name.replace(
|
139
139
|
".ipynb", ".py"
|
140
140
|
)
|
141
141
|
notebook_to_script(transform, filepath, source_code_path)
|
@@ -171,7 +171,7 @@ def save_context_core(
|
|
171
171
|
transform.hash = hash
|
172
172
|
|
173
173
|
# track environment
|
174
|
-
env_path = ln_setup.settings.
|
174
|
+
env_path = ln_setup.settings.cache_dir / f"run_env_pip_{run.uid}.txt"
|
175
175
|
if env_path.exists():
|
176
176
|
overwrite_env = True
|
177
177
|
if run.environment_id is not None and from_cli:
|
@@ -310,7 +310,12 @@ def _record_label(record: Record, field: str | None = None):
|
|
310
310
|
rf' FACE="Monospace">uid={record.uid}<BR/>version={record.version}</FONT>>'
|
311
311
|
)
|
312
312
|
elif isinstance(record, Run):
|
313
|
-
|
313
|
+
if record.transform.name:
|
314
|
+
name = f'{record.transform.name.replace("&", "&")}'
|
315
|
+
elif record.transform.key:
|
316
|
+
name = f'{record.transform.key.replace("&", "&")}'
|
317
|
+
else:
|
318
|
+
name = f"{record.transform.uid}"
|
314
319
|
user_display = (
|
315
320
|
record.created_by.handle
|
316
321
|
if record.created_by.name is None
|
@@ -365,7 +370,6 @@ def _get_all_parent_runs(data: Artifact | Collection) -> list:
|
|
365
370
|
inputs_run += (
|
366
371
|
r.input_collections.all().filter(visibility__in=[0, 1]).list()
|
367
372
|
)
|
368
|
-
run_inputs_outputs += [(inputs_run, r)]
|
369
373
|
outputs_run = (
|
370
374
|
r.__getattribute__(f"output_{name}s")
|
371
375
|
.all()
|
@@ -376,7 +380,18 @@ def _get_all_parent_runs(data: Artifact | Collection) -> list:
|
|
376
380
|
outputs_run += (
|
377
381
|
r.output_collections.all().filter(visibility__in=[0, 1]).list()
|
378
382
|
)
|
379
|
-
|
383
|
+
# if inputs are outputs artifacts are the same, will result infinite loop
|
384
|
+
# so only show as outputs
|
385
|
+
overlap = set(inputs_run).intersection(outputs_run)
|
386
|
+
if overlap:
|
387
|
+
logger.warning(
|
388
|
+
f"The following artifacts are both inputs and outputs of Run(uid={r.uid}): {overlap}\n → Only showing as outputs."
|
389
|
+
)
|
390
|
+
inputs_run = list(set(inputs_run) - overlap)
|
391
|
+
if len(inputs_run) > 0:
|
392
|
+
run_inputs_outputs += [(inputs_run, r)]
|
393
|
+
if len(outputs_run) > 0:
|
394
|
+
run_inputs_outputs += [(r, outputs_run)]
|
380
395
|
inputs += inputs_run
|
381
396
|
runs = [f.run for f in inputs if f.run is not None]
|
382
397
|
return run_inputs_outputs
|
@@ -98,26 +98,11 @@ class QueryManager(models.Manager):
|
|
98
98
|
|
99
99
|
return _lookup(cls=self.all(), field=field, **kwargs)
|
100
100
|
|
101
|
-
def __getitem__(self, item: str):
|
102
|
-
try:
|
103
|
-
source_field_name = self.source_field_name
|
104
|
-
target_field_name = self.target_field_name
|
105
|
-
|
106
|
-
if (
|
107
|
-
source_field_name in {"artifact", "collection"}
|
108
|
-
and target_field_name == "feature_set"
|
109
|
-
):
|
110
|
-
return get_feature_set_by_slot_(host=self.instance).get(item)
|
111
|
-
|
112
|
-
except Exception: # pragma: no cover
|
113
|
-
return
|
114
|
-
|
115
101
|
|
116
102
|
models.Manager.list = QueryManager.list
|
117
103
|
models.Manager.df = QueryManager.df
|
118
104
|
models.Manager.search = QueryManager.search
|
119
105
|
models.Manager.lookup = QueryManager.lookup
|
120
|
-
models.Manager.__getitem__ = QueryManager.__getitem__
|
121
106
|
models.Manager._track_run_input_manager = QueryManager._track_run_input_manager
|
122
107
|
# the two lines below would be easy if we could actually inherit; like this,
|
123
108
|
# they're suboptimal
|
@@ -115,7 +115,7 @@ def get(
|
|
115
115
|
else:
|
116
116
|
assert idlike is None # noqa: S101
|
117
117
|
expressions = process_expressions(registry, expressions)
|
118
|
-
return registry.objects.get(**expressions)
|
118
|
+
return registry.objects.using(qs.db).get(**expressions)
|
119
119
|
|
120
120
|
|
121
121
|
class RecordsList(UserList):
|
@@ -139,7 +139,7 @@ class QuerySet(models.QuerySet):
|
|
139
139
|
|
140
140
|
See Also:
|
141
141
|
|
142
|
-
`django QuerySet <https://docs.djangoproject.com/en/4.2/ref/models/querysets/>`__
|
142
|
+
`django QuerySet <https://docs.djangoproject.com/en/4.2/ref/models/querysets/>`__
|
143
143
|
|
144
144
|
Examples:
|
145
145
|
|
@@ -154,7 +154,7 @@ class QuerySet(models.QuerySet):
|
|
154
154
|
) -> pd.DataFrame:
|
155
155
|
"""{}""" # noqa: D415
|
156
156
|
# re-order the columns
|
157
|
-
exclude_field_names = ["
|
157
|
+
exclude_field_names = ["updated_at"]
|
158
158
|
field_names = [
|
159
159
|
field.name
|
160
160
|
for field in self.model._meta.fields
|