lamindb 0.73.0__tar.gz → 0.73.2__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.73.0 → lamindb-0.73.2}/.github/workflows/build.yml +6 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/PKG-INFO +4 -4
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/changelog.md +14 -2
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/introduction.ipynb +46 -4
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/tutorial.ipynb +1 -1
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/__init__.py +1 -1
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_annotate.py +5 -2
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_artifact.py +2 -1
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_registry.py +1 -22
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_view.py +9 -2
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/_label_manager.py +2 -2
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/schema.py +3 -3
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/versioning.py +1 -1
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/integrations/_vitessce.py +7 -3
- {lamindb-0.73.0 → lamindb-0.73.2}/pyproject.toml +3 -3
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/bionty/__init__.py +1 -1
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/pyproject.toml +1 -1
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/changelog.md +3 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-cloud/06-connect-hosted-instance.ipynb +4 -27
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-prod/test-cloud-sync.ipynb +2 -1
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/__init__.py +1 -1
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_init_instance.py +2 -2
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_migrate.py +5 -0
- lamindb-0.73.2/sub/lamindb-setup/lamindb_setup/_schema_metadata.py +479 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_aws_credentials.py +4 -4
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_settings_instance.py +2 -2
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_settings_storage.py +2 -3
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/upath.py +10 -29
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/noxfile.py +5 -8
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/pyproject.toml +1 -1
- lamindb-0.73.2/sub/lamindb-setup/tests/hub-local/test_update_schema_in_hub.py +142 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-prod/test_upath.py +8 -3
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/docs/changelog.md +1 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/__init__.py +1 -1
- lamindb-0.73.2/sub/lnschema-bionty/lnschema_bionty/migrations/0029_alter_cellline_previous_runs_and_more.py +83 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/pyproject.toml +1 -1
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/tests/test_integrity.py +5 -1
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/CHANGELOG.md +1 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/__init__.py +1 -1
- lamindb-0.73.2/sub/lnschema-core/lnschema_core/migrations/0054_alter_feature_previous_runs_and_more.py +35 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/models.py +21 -4
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/tests/test_integrity.py +5 -1
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_transform.py +3 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/.gitignore +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/.gitmodules +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/.pre-commit-config.yaml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/LICENSE +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/README.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/annotate-for-developers.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/annotate.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/bio-registries.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/bionty-base.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/bionty.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/can-validate.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/data.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq/acid.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq/delete.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq/idempotency.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq/import-schema.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq/keep-artifacts-local.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq/key.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq/reference-field.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq/setup.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq/test_notebooks.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq/track-run-inputs.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq/visibility.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/features-lamindb.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/features-laminhub.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/guide.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/index.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/installation.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/lamin-utils.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/lamindb.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/meta.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/nbproject.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/query-search.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/readfcs.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/reference.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/schemas.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/setup.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/signup-login.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/storage/add-replace-stage.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/storage/anndata-accessor.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/storage/prepare-transfer-local-to-cloud.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/storage/test-files/iris.csv +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/storage/test-files/iris.data +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/storage/test-files/new_iris.csv +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/storage/test_notebooks.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/storage/transfer-local-to-cloud.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/storage/upload.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/storage/vitessce.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/storage.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/test_notebooks.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/track.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/transfer.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/tutorial2.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/docs/wetlab.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_can_validate.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_collection.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_feature.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_feature_set.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_filter.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_finish.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_from_values.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_is_versioned.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_parents.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_query_manager.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_query_set.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_run.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_save.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_storage.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_transform.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_ulabel.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_utils.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/__init__.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/_data.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/_feature_manager.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/_mapped_collection.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/_run_context.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/_settings.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/_sync_git.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/_track_environment.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/_transform_settings.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/datasets/__init__.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/datasets/_core.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/datasets/_fake.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/exceptions.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/fields.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/storage/__init__.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/storage/_anndata_sizes.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/storage/_backed_access.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/storage/_valid_suffixes.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/storage/_zarr.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/storage/objects.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/storage/paths.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/types.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/integrations/__init__.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/setup/__init__.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/setup/core/__init__.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/noxfile.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/.github/workflows/build.yml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/.gitignore +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/.pre-commit-config.yaml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/LICENSE +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/README.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/bionty/core/__init__.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/docs/changelog.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/docs/index.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/docs/reference.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/lamin-project.yaml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/noxfile.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/tests/test_notebooks.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/.gitignore +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/.pre-commit-config.yaml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/README.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/lamin_cli/__init__.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/lamin_cli/__main__.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/lamin_cli/_cache.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/lamin_cli/_get.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/lamin_cli/_migration.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/lamin_cli/_save.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/pyproject.toml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/conftest.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/scripts/merely-import-lamindb.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/scripts/run-track-and-finish-sync-git.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/scripts/run-track-and-finish.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/test_cli.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/test_get.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/test_migrate.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/test_multi_process.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/test_save_files.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/test_save_notebooks.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/test_save_scripts.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/.github/workflows/build.yml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/.gitignore +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/.pre-commit-config.yaml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/LICENSE +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/README.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-cloud/01-init-local-instance.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-cloud/02-connect-local-instance.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-cloud/03-add-managed-storage.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-cloud/04-test-bionty.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-cloud/05-init-hosted-instance.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-cloud/07-keep-artifacts-local.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-cloud/test-multi-session.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-cloud/test_notebooks.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-prod/test-cache-management.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-prod/test-connect-anonymously.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-prod/test-empty-init.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-prod/test-import-schema.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-prod/test-insufficient-user-info.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-prod/test-invalid-schema.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-prod/test-sqlite-lock.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-prod/test_notebooks2.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/index.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/notebooks.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/reference.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_check.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_check_setup.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_connect_instance.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_delete.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_django.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_exportdb.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_importdb.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_set_managed_storage.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_setup_user.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/__init__.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_aws_storage.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_deprecated.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_docs.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_hub_client.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_hub_core.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_hub_crud.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_hub_utils.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_settings.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_settings_load.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_settings_save.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_settings_store.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_settings_user.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_setup_bionty_sources.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/cloud_sqlite_locker.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/django.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/exceptions.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/hashing.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/types.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-cloud/test_connect_instance.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-cloud/test_delete_instance.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-cloud/test_init_instance.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-cloud/test_login.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-cloud/test_migrate.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-cloud/test_set_storage.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-local/conftest.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-local/test_all.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-prod/conftest.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-prod/test_auto_connect.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-prod/test_django.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-prod/test_switch_and_fallback_env.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/storage/test_hashing.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/storage/test_storage_access.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/storage/test_storage_basis.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/storage/test_storage_stats.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/storage/test_to_url.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/.github/workflows/build.yml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/.gitignore +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/.pre-commit-config.yaml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/LICENSE +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/README.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/docs/index.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/docs/reference.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lamin-project.yaml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/_bionty.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/core/__init__.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/core/_bionty.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/core/_settings.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/ids.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0023_rename_publicsource_encode_uid.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0024_remove_cellline_collections_and_more.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0025_artifactcellline_alter_cellline_artifacts_and_more.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0026_artifactcellline_cell_line_ref_is_name_and_more.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0027_remove_artifactcellline_created_at_and_more.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0028_artifactcellline_created_at_and_more.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0028_squashed.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/migrations/__init__.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/models.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/noxfile.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/.github/workflows/build.yml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/.gitignore +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/.pre-commit-config.yaml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/LICENSE +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/README.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/ids.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0037_rename_dataset_to_collection.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0038_alter_collection_artifact_alter_collection_artifacts_and_more.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0039_remove_collection_artifacts_collectionartifact_and_more.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0040_alter_transform_type.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0041_remove_transform_short_name_transform_description_and_more.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0042_rename_run_at_run_started_at_run_finished_at.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0043_run_json.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0044_run_replicated_outputs_transform_ulabels_and_more.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0045_rename_replicated_outputs_run_replicated_output_artifacts_and_more.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0046_storage_instance_uid.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0047_featurevalue_artifactfeaturevalue_and_more.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0048_alter_artifactulabel_feature_and_more.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0049_rename_type_feature_dtype_and_more.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0050_artifactfeatureset_feature_ref_is_semantic_and_more.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0051_remove_feature_feature_sets_featuresetfeature_and_more.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0052_rename_feature_value_artifactfeaturevalue_featurevalue_and_more.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0052_squashed.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0053_alter_featureset_hash_alter_paramvalue_created_by_and_more.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/mocks.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/types.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/users.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/noxfile.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/pyproject.toml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/tests/test_types.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/.github/workflows/build.yml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/.github/workflows/deploy-instance-apis.yml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/.gitignore +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/.pre-commit-config.yaml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/README.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/docs/changelog.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/docs/guide/01-get-started.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/docs/guide/index.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/docs/index.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/docs/reference.md +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/noxfile.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/pyproject.toml +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/tests/test_integrity.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/tests/test_notebooks.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/wetlab/__init__.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/wetlab/migrations/0017_remove_biosample_artifacts.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/wetlab/migrations/0018_squashed.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/wetlab/migrations/0018_well_created_at_well_created_by_well_updated_at.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/wetlab/migrations/__init__.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/wetlab/models.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/conftest.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/notebooks/initialized-with-nbproject.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/notebooks/no-title.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/notebooks/not-initialized.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/notebooks/with-title-initialized-consecutive-finish-not-last-cell.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/notebooks/with-title-initialized-consecutive-finish.ipynb +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_annotate.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_artifact.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_artifact_folders.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_cache.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_can_validate.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_collection.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_data.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_db.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_delete.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_feature.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_feature_manager.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_feature_set.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_from_values.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_label_manager.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_load.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_manager.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_notebooks.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_parents.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_queryset.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_registry.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_run.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_run_context.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_save.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_search.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_settings.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_storage.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_transfer.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_uid.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_ulabel.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_versioning.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_view.py +0 -0
- {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_visibility.py +0 -0
@@ -119,6 +119,12 @@ jobs:
|
|
119
119
|
env:
|
120
120
|
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
|
121
121
|
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
|
122
|
+
- uses: peter-evans/repository-dispatch@v2
|
123
|
+
if: ${{ github.event_name == 'push' }}
|
124
|
+
with:
|
125
|
+
token: ${{ secrets.LAMIN_BUILD_DOCS }}
|
126
|
+
repository: "laminlabs/lamin-docs"
|
127
|
+
event-type: build
|
122
128
|
|
123
129
|
coverage:
|
124
130
|
needs: test
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: lamindb
|
3
|
-
Version: 0.73.
|
3
|
+
Version: 0.73.2
|
4
4
|
Summary: A data framework for biology.
|
5
5
|
Author-email: Lamin Labs <open-source@lamin.ai>
|
6
6
|
Requires-Python: >=3.8
|
@@ -9,8 +9,8 @@ Classifier: Programming Language :: Python :: 3.8
|
|
9
9
|
Classifier: Programming Language :: Python :: 3.9
|
10
10
|
Classifier: Programming Language :: Python :: 3.10
|
11
11
|
Classifier: Programming Language :: Python :: 3.11
|
12
|
-
Requires-Dist: lnschema_core==0.
|
13
|
-
Requires-Dist: lamindb_setup==0.73.
|
12
|
+
Requires-Dist: lnschema_core==0.69.0
|
13
|
+
Requires-Dist: lamindb_setup==0.73.1
|
14
14
|
Requires-Dist: lamin_utils==0.13.2
|
15
15
|
Requires-Dist: lamin_cli==0.14.0
|
16
16
|
Requires-Dist: rapidfuzz
|
@@ -25,7 +25,7 @@ Requires-Dist: graphviz
|
|
25
25
|
Requires-Dist: psycopg2-binary
|
26
26
|
Requires-Dist: psutil
|
27
27
|
Requires-Dist: lamindb_setup[aws] ; extra == "aws"
|
28
|
-
Requires-Dist: bionty==0.
|
28
|
+
Requires-Dist: bionty==0.44.0 ; extra == "bionty"
|
29
29
|
Requires-Dist: pandas<2 ; extra == "dev"
|
30
30
|
Requires-Dist: pre-commit ; extra == "dev"
|
31
31
|
Requires-Dist: nox ; extra == "dev"
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
:::{note}
|
4
4
|
|
5
|
-
If using LaminHub, please use the latest version of
|
5
|
+
If using LaminHub, please use the latest version of LaminDB.
|
6
6
|
|
7
7
|
LaminDB implements "migration-based versioning". When upgrading your LaminDB installation to a new `minor` version in `major.minor.patch`, you also migrate your database by calling `lamin migrate deploy`.
|
8
8
|
|
@@ -14,6 +14,18 @@ LaminDB implements "migration-based versioning". When upgrading your LaminDB ins
|
|
14
14
|
|
15
15
|
## 0.73
|
16
16
|
|
17
|
+
### 0.73.2 {small}`2024-06-13`
|
18
|
+
|
19
|
+
- 🐛 Fix clashing reverse accessors for `.previous_runs` and `.run` [PR](https://github.com/laminlabs/lamindb/pull/1698) [@falexwolf](https://github.com/falexwolf)
|
20
|
+
- 🐛 Import IPython inside view [PR](https://github.com/laminlabs/lamindb/pull/1696) [@Koncopd](https://github.com/Koncopd)
|
21
|
+
|
22
|
+
### 0.73.1 {small}`2024-06-05`
|
23
|
+
|
24
|
+
- 🏗️ Instantly synchronize instance schema with the hub [PR](https://github.com/laminlabs/lamindb/pull/1689) [@fredericenard](https://github.com/fredericenard)
|
25
|
+
- ⬆️ Upgrade `universal_pathlib` to 0.2.2 [PR](https://github.com/laminlabs/lamindb/pull/1687) [@Koncopd](https://github.com/Koncopd)
|
26
|
+
- 🐛 Fix generation of `uid` for manual Transform constructor [PR](https://github.com/laminlabs/lamindb/pull/1684) [@falexwolf](https://github.com/falexwolf)
|
27
|
+
- 🔥 Deleting `artifact.stage()` in favor of `artifact.cache()` (was deprecated in 0.70.0)
|
28
|
+
|
17
29
|
### 0.73.0 {small}`2024-05-29`
|
18
30
|
|
19
31
|
Annotating & querying by features improved:
|
@@ -28,7 +40,7 @@ Example:
|
|
28
40
|
# annotate dict-style (feature & category names get validated)
|
29
41
|
artifact.features.add_values({
|
30
42
|
"species": "setosa",
|
31
|
-
"scientist": ["
|
43
|
+
"scientist": ["Barbara McClintock", "Edgar Anderson"],
|
32
44
|
"instrument": "Leica IIIc Camera",
|
33
45
|
"temperature": 27.6,
|
34
46
|
"study": "Study 0: initial plant gathering",
|
@@ -77,6 +77,26 @@
|
|
77
77
|
"!lamin init --storage ./lamin-intro --schema bionty"
|
78
78
|
]
|
79
79
|
},
|
80
|
+
{
|
81
|
+
"cell_type": "markdown",
|
82
|
+
"metadata": {},
|
83
|
+
"source": [
|
84
|
+
"Now you're ready to import lamindb in a Python session."
|
85
|
+
]
|
86
|
+
},
|
87
|
+
{
|
88
|
+
"cell_type": "code",
|
89
|
+
"execution_count": null,
|
90
|
+
"metadata": {
|
91
|
+
"tags": [
|
92
|
+
"hide-output"
|
93
|
+
]
|
94
|
+
},
|
95
|
+
"outputs": [],
|
96
|
+
"source": [
|
97
|
+
"import lamindb as ln"
|
98
|
+
]
|
99
|
+
},
|
80
100
|
{
|
81
101
|
"cell_type": "markdown",
|
82
102
|
"metadata": {},
|
@@ -98,8 +118,6 @@
|
|
98
118
|
},
|
99
119
|
"outputs": [],
|
100
120
|
"source": [
|
101
|
-
"import lamindb as ln\n",
|
102
|
-
"\n",
|
103
121
|
"# copy-pasted identifiers for your notebook or script\n",
|
104
122
|
"ln.settings.transform.stem_uid = \"FPnfDtJz8qbE\" # <-- auto-generated by running ln.track()\n",
|
105
123
|
"ln.settings.transform.version = \"1\" # <-- auto-generated by running ln.track()\n",
|
@@ -107,7 +125,7 @@
|
|
107
125
|
"# track the execution of your notebook or script\n",
|
108
126
|
"run = ln.track()\n",
|
109
127
|
"\n",
|
110
|
-
"#
|
128
|
+
"# see your currently running transform\n",
|
111
129
|
"run.transform"
|
112
130
|
]
|
113
131
|
},
|
@@ -115,7 +133,31 @@
|
|
115
133
|
"cell_type": "markdown",
|
116
134
|
"metadata": {},
|
117
135
|
"source": [
|
118
|
-
"`ln.track()`
|
136
|
+
"Calling `ln.track()` created a run and a transform and stored them in {class}`~lamindb.Run` and {class}`~lamindb.Transform`, respectively. The transform registry allows to find your notebook, scripts and pipelines. The {class}`~lamindb.Run` registry allows to find their runs.\n",
|
137
|
+
"\n",
|
138
|
+
":::{dropdown} Is this compliant with OpenLineage?\n",
|
139
|
+
"\n",
|
140
|
+
"Yes. What OpenLineage calls a \"job\", LaminDB calls a \"transform\". What OpenLineage calls a \"run\", LaminDB calls a \"run\".\n",
|
141
|
+
"\n",
|
142
|
+
":::\n",
|
143
|
+
"\n",
|
144
|
+
":::{dropdown} Are the global identifiers `stem_uid` and `version` really necessary?\n",
|
145
|
+
"\n",
|
146
|
+
"Yes, if you want to track data lineage outside of workflow managers.\n",
|
147
|
+
"\n",
|
148
|
+
"To tie a piece of code to a record in a database in a way that survives name changes (notebook file name, script name, pipeline name) and content changes, you need to attach the code to an immutable identifier.\n",
|
149
|
+
"\n",
|
150
|
+
"Content changes need to correlate with the identifier, but shouldn't give rise to an entirely new identifier. To implement this behavior we code hashes with user input for `version` and create a universal identifier as follows:\n",
|
151
|
+
"\n",
|
152
|
+
"```python\n",
|
153
|
+
"stem_uid = random_base62(n_char) # a random base62 sequence of length n_char\n",
|
154
|
+
"version_uid = encode_base62(md5_hash(version))[:4] # version is, e.g., \"1\" or \"2.1.0\" or \"2022-03-01\"\n",
|
155
|
+
"uid = f\"{stem_uid}{version_uid}\" # concatenate the stem_uid & version_uid\n",
|
156
|
+
"```\n",
|
157
|
+
"\n",
|
158
|
+
"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",
|
159
|
+
"\n",
|
160
|
+
":::"
|
119
161
|
]
|
120
162
|
},
|
121
163
|
{
|
@@ -813,7 +813,10 @@ def standardize_and_inspect(
|
|
813
813
|
values: Iterable[str], field: FieldAttr, registry: Registry, **kwargs
|
814
814
|
):
|
815
815
|
"""Standardize and inspect values using a registry."""
|
816
|
-
if hasattr(registry, "standardize")
|
816
|
+
if hasattr(registry, "standardize") and hasattr(
|
817
|
+
registry,
|
818
|
+
"synonyms", # https://github.com/laminlabs/lamindb/issues/1685
|
819
|
+
):
|
817
820
|
values = registry.standardize(values, field=field, mute=True, **kwargs)
|
818
821
|
return registry.inspect(values, field=field, mute=True, **kwargs)
|
819
822
|
|
@@ -976,7 +979,7 @@ def save_artifact(
|
|
976
979
|
except ImportError:
|
977
980
|
pass
|
978
981
|
if artifact is None:
|
979
|
-
raise ValueError("data must be a DataFrame, AnnData or MuData object")
|
982
|
+
raise ValueError("data must be a DataFrame, AnnData or MuData object.")
|
980
983
|
artifact.save()
|
981
984
|
|
982
985
|
feature_kwargs = check_registry_organism(
|
@@ -196,6 +196,8 @@ def get_stat_or_artifact(
|
|
196
196
|
if not isinstance(path, LocalPathClasses):
|
197
197
|
size, hash, hash_type = None, None, None
|
198
198
|
if stat is not None:
|
199
|
+
# convert UPathStatResult to fsspec info dict
|
200
|
+
stat = stat.as_info()
|
199
201
|
if "ETag" in stat: # is file
|
200
202
|
size, hash, hash_type = get_stat_file_cloud(stat)
|
201
203
|
elif stat["type"] == "directory":
|
@@ -1109,6 +1111,5 @@ for name in METHOD_NAMES:
|
|
1109
1111
|
Artifact._delete_skip_storage = _delete_skip_storage
|
1110
1112
|
Artifact._save_skip_storage = _save_skip_storage
|
1111
1113
|
Artifact.path = path
|
1112
|
-
Artifact.stage = cache
|
1113
1114
|
# this seems a Django-generated function
|
1114
1115
|
delattr(Artifact, "get_visibility_display")
|
@@ -54,7 +54,7 @@ def suggest_records_with_similar_names(record: Registry, kwargs) -> bool:
|
|
54
54
|
"""
|
55
55
|
if kwargs.get("name") is None:
|
56
56
|
return False
|
57
|
-
queryset = _search(record.__class__, kwargs["name"], truncate_words=True, limit=
|
57
|
+
queryset = _search(record.__class__, kwargs["name"], truncate_words=True, limit=20)
|
58
58
|
if not queryset.exists(): # empty queryset
|
59
59
|
return False
|
60
60
|
for alternative_record in queryset:
|
@@ -549,24 +549,3 @@ if ln_setup._TESTING: # type: ignore
|
|
549
549
|
|
550
550
|
for name in METHOD_NAMES:
|
551
551
|
attach_func_to_class_method(name, Registry, globals())
|
552
|
-
|
553
|
-
|
554
|
-
@classmethod # type: ignore
|
555
|
-
def __get_schema_name__(cls) -> str:
|
556
|
-
schema_module_name = cls.__module__.split(".")[0]
|
557
|
-
schema_name = schema_module_name.replace("lnschema_", "")
|
558
|
-
return schema_name
|
559
|
-
|
560
|
-
|
561
|
-
@classmethod # type: ignore
|
562
|
-
def __get_name_with_schema__(cls) -> str:
|
563
|
-
schema_name = cls.__get_schema_name__()
|
564
|
-
if schema_name == "core":
|
565
|
-
schema_prefix = ""
|
566
|
-
else:
|
567
|
-
schema_prefix = f"{schema_name}."
|
568
|
-
return f"{schema_prefix}{cls.__name__}"
|
569
|
-
|
570
|
-
|
571
|
-
Registry.__get_schema_name__ = __get_schema_name__
|
572
|
-
Registry.__get_name_with_schema__ = __get_name_with_schema__
|
@@ -1,14 +1,16 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
|
+
import builtins
|
3
4
|
import importlib
|
4
5
|
import inspect
|
5
6
|
|
6
|
-
from IPython.display import display
|
7
7
|
from lamin_utils import colors, logger
|
8
8
|
from lamindb_setup import settings
|
9
9
|
from lamindb_setup._init_instance import get_schema_module_name
|
10
10
|
from lnschema_core import Registry
|
11
11
|
|
12
|
+
is_run_from_ipython = getattr(builtins, "__IPYTHON__", False)
|
13
|
+
|
12
14
|
|
13
15
|
def view(
|
14
16
|
n: int = 7, schema: str | None = None, registries: list[str] | None = None
|
@@ -25,6 +27,11 @@ def view(
|
|
25
27
|
Examples:
|
26
28
|
>>> ln.view()
|
27
29
|
"""
|
30
|
+
if is_run_from_ipython:
|
31
|
+
from IPython.display import display as show
|
32
|
+
else:
|
33
|
+
show = logger.print
|
34
|
+
|
28
35
|
if schema is not None:
|
29
36
|
schema_names = [schema]
|
30
37
|
else:
|
@@ -60,4 +67,4 @@ def view(
|
|
60
67
|
df = orm.df().iloc[-n:]
|
61
68
|
if df.shape[0] > 0:
|
62
69
|
logger.print(colors.blue(colors.bold(orm.__name__)))
|
63
|
-
|
70
|
+
show(df)
|
@@ -125,13 +125,13 @@ def validate_labels(labels: QuerySet | list | dict, parents: bool = True):
|
|
125
125
|
|
126
126
|
|
127
127
|
class LabelManager:
|
128
|
-
"""Label manager (:attr:`~lamindb.core.
|
128
|
+
"""Label manager (:attr:`~lamindb.core.HasFeatures.labels`).
|
129
129
|
|
130
130
|
This allows to manage untyped labels :class:`~lamindb.ULabel` and arbitrary
|
131
131
|
typed labels (e.g., :class:`~bionty.CellLine`) and associate labels
|
132
132
|
with features.
|
133
133
|
|
134
|
-
See :class:`~lamindb.core.
|
134
|
+
See :class:`~lamindb.core.HasFeatures` for more information.
|
135
135
|
"""
|
136
136
|
|
137
137
|
def __init__(self, host: Artifact | Collection):
|
@@ -1,10 +1,10 @@
|
|
1
|
-
from
|
1
|
+
from __future__ import annotations
|
2
2
|
|
3
3
|
from django.db.models import ManyToManyField
|
4
4
|
from lnschema_core.models import Feature, FeatureSet, LinkORM, Registry
|
5
5
|
|
6
6
|
|
7
|
-
def dict_schema_name_to_model_name(orm:
|
7
|
+
def dict_schema_name_to_model_name(orm: type[Registry]) -> dict[str, Registry]:
|
8
8
|
d: dict = {
|
9
9
|
i.related_model.__get_name_with_schema__(): i.related_model
|
10
10
|
for i in orm._meta.related_objects
|
@@ -21,7 +21,7 @@ def dict_schema_name_to_model_name(orm: Type[Registry]) -> dict[str, Registry]:
|
|
21
21
|
|
22
22
|
|
23
23
|
def dict_related_model_to_related_name(
|
24
|
-
orm:
|
24
|
+
orm: type[Registry], links: bool = False
|
25
25
|
) -> dict[str, str]:
|
26
26
|
def include(model: Registry):
|
27
27
|
return not links != issubclass(model, LinkORM)
|
@@ -138,7 +138,7 @@ def process_is_new_version_of(
|
|
138
138
|
if is_new_version_of is not None and not isinstance(is_new_version_of, type):
|
139
139
|
raise TypeError(f"is_new_version_of has to be of type {type}")
|
140
140
|
if is_new_version_of is None:
|
141
|
-
uid = init_uid(version=version, n_full_id=type.
|
141
|
+
uid = init_uid(version=version, n_full_id=type._len_full_uid)
|
142
142
|
else:
|
143
143
|
uid, version = get_uid_from_old_version(is_new_version_of, version)
|
144
144
|
if name is None:
|
@@ -39,9 +39,13 @@ def save_vitessce_config(vitessce_config: VitessceConfig, description: str) -> A
|
|
39
39
|
if "url" not in file:
|
40
40
|
raise ValueError("Each file must have a 'url' key.")
|
41
41
|
filename = file["url"].split("/")[-1]
|
42
|
-
assert filename.endswith(
|
43
|
-
|
44
|
-
|
42
|
+
assert filename.endswith(
|
43
|
+
(".anndata.zarr", ".spatialdata.zarr", ".ome.zarr")
|
44
|
+
)
|
45
|
+
filestem = (
|
46
|
+
filename.replace(".anndata.zarr", "")
|
47
|
+
.replace(".spatialdata.zarr", "")
|
48
|
+
.replace(".ome.zarr", "")
|
45
49
|
)
|
46
50
|
artifact = Artifact.filter(uid__startswith=filestem).one_or_none()
|
47
51
|
if artifact is None:
|
@@ -16,8 +16,8 @@ classifiers = [
|
|
16
16
|
]
|
17
17
|
dependencies = [
|
18
18
|
# Lamin PINNED packages
|
19
|
-
"lnschema_core==0.
|
20
|
-
"lamindb_setup==0.73.
|
19
|
+
"lnschema_core==0.69.0",
|
20
|
+
"lamindb_setup==0.73.1",
|
21
21
|
"lamin_utils==0.13.2",
|
22
22
|
"lamin_cli==0.14.0",
|
23
23
|
# others
|
@@ -39,7 +39,7 @@ Home = "https://github.com/laminlabs/lamindb"
|
|
39
39
|
|
40
40
|
[project.optional-dependencies]
|
41
41
|
bionty = [
|
42
|
-
"bionty==0.
|
42
|
+
"bionty==0.44.0",
|
43
43
|
]
|
44
44
|
aws = [
|
45
45
|
"lamindb_setup[aws]",
|
@@ -3,6 +3,9 @@
|
|
3
3
|
<!-- prettier-ignore -->
|
4
4
|
Name | PR | Developer | Date | Version
|
5
5
|
--- | --- | --- | --- | ---
|
6
|
+
✨ Add .ome.zarr as composite suffix | [775](https://github.com/laminlabs/lamindb-setup/pull/775) | [sunnyosun](https://github.com/sunnyosun) | 2024-06-05 |
|
7
|
+
🏗️ Update instance schema in the hub | [774](https://github.com/laminlabs/lamindb-setup/pull/774) | [fredericenard](https://github.com/fredericenard) | 2024-06-04 |
|
8
|
+
⬆️ Migrate to upath 0.2.2 | [723](https://github.com/laminlabs/lamindb-setup/pull/723) | [Koncopd](https://github.com/Koncopd) | 2024-06-02 |
|
6
9
|
🐛 Fix trailing slash in upload_from source | [773](https://github.com/laminlabs/lamindb-setup/pull/773) | [Koncopd](https://github.com/Koncopd) | 2024-05-23 | 0.73.0
|
7
10
|
🚸 Make `upload_from()`, `download_to()`, and `view_tree()` more user friendly | [772](https://github.com/laminlabs/lamindb-setup/pull/772) | [falexwolf](https://github.com/falexwolf) | 2024-05-23 |
|
8
11
|
✨ Resolve s3 bucket region even without access rights | [771](https://github.com/laminlabs/lamindb-setup/pull/771) | [Koncopd](https://github.com/Koncopd) | 2024-05-22 |
|
{lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-cloud/06-connect-hosted-instance.ipynb
RENAMED
@@ -86,7 +86,7 @@
|
|
86
86
|
"outputs": [],
|
87
87
|
"source": [
|
88
88
|
"target_dir = root / \"test-dir-upload\"\n",
|
89
|
-
"target_dir.upload_from(test_dir)\n",
|
89
|
+
"target_dir.upload_from(test_dir, create_folder=True) # default\n",
|
90
90
|
"\n",
|
91
91
|
"assert target_dir.is_dir()\n",
|
92
92
|
"assert (target_dir / \"test-dir-upload\").exists()\n",
|
@@ -102,34 +102,11 @@
|
|
102
102
|
"metadata": {},
|
103
103
|
"outputs": [],
|
104
104
|
"source": [
|
105
|
-
"# test trailing slash in target_dir\n",
|
106
|
-
"target_dir = root / \"test-dir-upload/\"\n",
|
107
|
-
"assert target_dir.path.endswith(\"/\")\n",
|
108
|
-
"\n",
|
109
|
-
"dest_dir = target_dir.upload_from(test_dir, create_folder=True)\n",
|
110
|
-
"\n",
|
111
|
-
"assert \"//\" not in dest_dir.path\n",
|
112
|
-
"assert dest_dir.as_posix() == (root / \"test-dir-upload/test-dir-upload\").as_posix()\n",
|
113
|
-
"assert dest_dir.is_dir()\n",
|
114
|
-
"\n",
|
115
|
-
"dest_dir.rmdir()\n",
|
116
|
-
"assert not dest_dir.exists()"
|
117
|
-
]
|
118
|
-
},
|
119
|
-
{
|
120
|
-
"cell_type": "code",
|
121
|
-
"execution_count": null,
|
122
|
-
"metadata": {},
|
123
|
-
"outputs": [],
|
124
|
-
"source": [
|
125
|
-
"target_dir_check = root / \"test-dir-upload\"\n",
|
126
|
-
"assert not target_dir_check.exists()\n",
|
127
|
-
"\n",
|
128
105
|
"target_dir.upload_from(test_dir, create_folder=False)\n",
|
129
106
|
"\n",
|
130
|
-
"assert
|
131
|
-
"assert (
|
132
|
-
"assert not (
|
107
|
+
"assert target_dir.is_dir()\n",
|
108
|
+
"assert (target_dir / \"file1\").exists()\n",
|
109
|
+
"assert not (target_dir / \"test-dir-upload\").exists()"
|
133
110
|
]
|
134
111
|
},
|
135
112
|
{
|
@@ -237,7 +237,8 @@
|
|
237
237
|
"source": [
|
238
238
|
"time.sleep(1)\n",
|
239
239
|
"cloud_file = dir_sync / \"file1\"\n",
|
240
|
-
"
|
240
|
+
"# update cloud timestamp, exist_ok=False needed due to truncate=not exist_ok in upath\n",
|
241
|
+
"cloud_file.touch(exist_ok=False) \n",
|
241
242
|
"\n",
|
242
243
|
"assert cloud_file.modified.timestamp() > local_file_new.stat().st_mtime"
|
243
244
|
]
|
@@ -16,7 +16,7 @@ from ._silence_loggers import silence_loggers
|
|
16
16
|
from .core import InstanceSettings
|
17
17
|
from .core._settings import settings
|
18
18
|
from .core._settings_storage import StorageSettings, init_storage
|
19
|
-
from .core.upath import
|
19
|
+
from .core.upath import UPath
|
20
20
|
|
21
21
|
if TYPE_CHECKING:
|
22
22
|
from pydantic import PostgresDsn
|
@@ -351,7 +351,7 @@ def infer_instance_name(
|
|
351
351
|
return str(db).split("/")[-1]
|
352
352
|
if storage == "create-s3":
|
353
353
|
raise ValueError("pass name to init if storage = 'create-s3'")
|
354
|
-
storage_path =
|
354
|
+
storage_path = UPath(storage)
|
355
355
|
if storage_path.name != "":
|
356
356
|
name = storage_path.name
|
357
357
|
else:
|
@@ -68,6 +68,8 @@ class migrate:
|
|
68
68
|
@classmethod
|
69
69
|
def deploy(cls) -> None:
|
70
70
|
"""Deploy a migration."""
|
71
|
+
from ._schema_metadata import update_schema_in_hub
|
72
|
+
|
71
73
|
if _check_instance_setup():
|
72
74
|
raise RuntimeError("Restart Python session to migrate or use CLI!")
|
73
75
|
from lamindb_setup.core._hub_client import call_with_fallback_auth
|
@@ -104,6 +106,9 @@ class migrate:
|
|
104
106
|
# this populates the hub
|
105
107
|
if instance_is_on_hub:
|
106
108
|
logger.important(f"updating lamindb version in hub: {lamindb.__version__}")
|
109
|
+
# TODO: integrate update of instance table within update_schema_in_hub & below
|
110
|
+
if settings.instance.dialect != "sqlite":
|
111
|
+
update_schema_in_hub()
|
107
112
|
call_with_fallback_auth(
|
108
113
|
update_instance,
|
109
114
|
instance_id=settings.instance._id.hex,
|