lamindb 0.69.8__tar.gz → 0.69.9__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.69.8 → lamindb-0.69.9}/.github/workflows/build.yml +6 -1
- {lamindb-0.69.8 → lamindb-0.69.9}/PKG-INFO +4 -4
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/changelog.md +4 -1
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/introduction.ipynb +90 -78
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/__init__.py +1 -1
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/_artifact.py +6 -9
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/_collection.py +3 -3
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/_feature_manager.py +2 -2
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/storage/file.py +3 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/types.py +0 -2
- lamindb-0.69.9/lamindb/setup/core/__init__.py +4 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/pyproject.toml +3 -3
- lamindb-0.69.9/sub/lamin-cli/lamin_cli/__init__.py +3 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamin-cli/lamin_cli/__main__.py +1 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamin-cli/lamin_cli/_cache.py +1 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamin-cli/lamin_cli/_get.py +1 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamin-cli/lamin_cli/_migration.py +1 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamin-cli/lamin_cli/_save.py +1 -0
- lamindb-0.69.9/sub/lamin-cli/tests/scripts/initialized-no-git-sync.py +9 -0
- lamindb-0.69.9/sub/lamin-cli/tests/test_multi_process.py +35 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/docs/changelog.md +7 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/docs/hub-cloud/06-connect-hosted-instance.ipynb +19 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/__init__.py +1 -1
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/_connect_instance.py +109 -90
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/_init_instance.py +2 -1
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/core/__init__.py +0 -8
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/core/_aws_storage.py +0 -20
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/core/_hub_core.py +1 -4
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/core/_settings_storage.py +17 -24
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/core/django.py +17 -53
- lamindb-0.69.9/sub/lamindb-setup/lamindb_setup/core/types.py +16 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/core/upath.py +2 -2
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/noxfile.py +4 -1
- lamindb-0.69.9/sub/lamindb-setup/tests/hub-local/conftest.py +25 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/CHANGELOG.md +1 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/__init__.py +1 -1
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/models.py +6 -8
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/types.py +8 -13
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_run_context.py +1 -1
- lamindb-0.69.8/lamindb/setup/core/__init__.py +0 -15
- lamindb-0.69.8/sub/lamin-cli/lamin_cli/__init__.py +0 -3
- lamindb-0.69.8/sub/lamindb-setup/lamindb_setup/core/types.py +0 -7
- lamindb-0.69.8/sub/lamindb-setup/tests/hub-local/conftest.py +0 -78
- lamindb-0.69.8/sub/lamindb-setup/tests/hub-local/test_check_s3_storage_empty.py +0 -33
- lamindb-0.69.8/sub/lamindb-setup/tests/hub-local/test_hosted_instance_deletion_gate.py +0 -32
- {lamindb-0.69.8 → lamindb-0.69.9}/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/.gitignore +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/.gitmodules +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/.pre-commit-config.yaml +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/LICENSE +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/README.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/annotate-for-developers.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/annotate.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/bio-registries.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/bionty-base.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/bionty.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/can-validate.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/data.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/faq/acid.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/faq/delete.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/faq/idempotency.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/faq/import-schema.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/faq/key.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/faq/reference-field.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/faq/setup.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/faq/test_notebooks.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/faq/track-run-inputs.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/faq/visibility.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/faq.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/features-lamindb.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/features-laminhub.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/guide.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/index.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/installation.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/lamin-utils.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/lamindb.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/meta.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/nbproject.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/query-search.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/readfcs.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/reference.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/schemas.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/setup.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/signup-login.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/storage/add-replace-stage.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/storage/anndata-accessor.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/storage/prepare-transfer-local-to-cloud.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/storage/test-files/iris.csv +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/storage/test-files/iris.data +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/storage/test-files/new_iris.csv +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/storage/test_notebooks.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/storage/transfer-local-to-cloud.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/storage/upload.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/storage.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/test_notebooks.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/track.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/transfer.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/tutorial.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/docs/tutorial2.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/_annotate.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/_can_validate.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/_feature.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/_feature_set.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/_filter.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/_finish.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/_from_values.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/_is_versioned.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/_parents.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/_query_manager.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/_query_set.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/_registry.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/_run.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/_save.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/_storage.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/_transform.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/_ulabel.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/_utils.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/_view.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/__init__.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/_data.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/_label_manager.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/_mapped_collection.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/_run_context.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/_settings.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/_sync_git.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/_track_environment.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/_transform_settings.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/_view_tree.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/datasets/__init__.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/datasets/_core.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/datasets/_fake.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/exceptions.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/fields.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/storage/__init__.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/storage/_anndata_sizes.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/storage/_backed_access.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/storage/_zarr.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/storage/object.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/core/versioning.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/integrations/__init__.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/integrations/_vitessce.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/lamindb/setup/__init__.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/noxfile.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/bionty/.github/workflows/build.yml +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/bionty/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/bionty/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/bionty/.gitignore +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/bionty/.pre-commit-config.yaml +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/bionty/LICENSE +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/bionty/README.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/bionty/bionty/__init__.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/bionty/bionty/core/__init__.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/bionty/docs/changelog.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/bionty/docs/index.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/bionty/docs/reference.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/bionty/lamin-project.yaml +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/bionty/noxfile.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/bionty/pyproject.toml +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/bionty/tests/test_notebooks.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamin-cli/.gitignore +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamin-cli/.pre-commit-config.yaml +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamin-cli/README.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamin-cli/pyproject.toml +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamin-cli/tests/conftest.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamin-cli/tests/scripts/initialized.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamin-cli/tests/test_cli.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamin-cli/tests/test_get.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamin-cli/tests/test_migrate.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamin-cli/tests/test_save_files.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamin-cli/tests/test_save_notebooks.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamin-cli/tests/test_save_scripts.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/.github/workflows/build.yml +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/.gitignore +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/.pre-commit-config.yaml +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/LICENSE +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/README.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/docs/hub-cloud/01-init-on-prem-instance.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/docs/hub-cloud/02-connect-on-prem-instance.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/docs/hub-cloud/03-set-storage.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/docs/hub-cloud/04-test-bionty.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/docs/hub-cloud/05-init-hosted-instance.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/docs/hub-cloud/test-multi-session.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/docs/hub-cloud/test_notebooks.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/docs/hub-prod/test-cache-management.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/docs/hub-prod/test-cloud-sync.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/docs/hub-prod/test-connect-anonymously.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/docs/hub-prod/test-empty-init.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/docs/hub-prod/test-import-schema.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/docs/hub-prod/test-insufficient-user-info.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/docs/hub-prod/test-invalid-schema.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/docs/hub-prod/test-sqlite-lock.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/docs/hub-prod/test_notebooks2.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/docs/index.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/docs/notebooks.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/docs/reference.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/_add_remote_storage.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/_check.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/_check_setup.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/_delete.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/_django.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/_exportdb.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/_importdb.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/_migrate.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/_setup_user.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/core/_deprecated.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/core/_docs.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/core/_hub_client.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/core/_hub_crud.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/core/_hub_utils.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/core/_settings.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/core/_settings_instance.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/core/_settings_load.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/core/_settings_save.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/core/_settings_store.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/core/_settings_user.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/core/_setup_bionty_sources.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/core/cloud_sqlite_locker.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/core/exceptions.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/lamindb_setup/core/hashing.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/pyproject.toml +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/tests/hub-cloud/test_connect_instance.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/tests/hub-cloud/test_delete_instance.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/tests/hub-cloud/test_init_instance.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/tests/hub-cloud/test_login.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/tests/hub-cloud/test_migrate.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/tests/hub-cloud/test_set_storage.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/tests/hub-local/test_all.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/tests/hub-prod/conftest.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/tests/hub-prod/test_auto_connect.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/tests/hub-prod/test_django.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/tests/hub-prod/test_switch_and_fallback_env.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/tests/hub-prod/test_upath.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/tests/storage/test_hashing.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/tests/storage/test_storage_access.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/tests/storage/test_storage_basis.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lamindb-setup/tests/storage/test_storage_stats.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/.github/workflows/build.yml +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/.gitignore +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/.pre-commit-config.yaml +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/LICENSE +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/README.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/docs/changelog.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/docs/index.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/docs/reference.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lamin-project.yaml +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/__init__.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/_bionty.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/core/__init__.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/core/_bionty.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/core/_settings.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/ids.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0001_initial.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0001_initial_squashed_0016.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0002_rename_gene_type_gene_biotype_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0003_alter_biontysource_entity_alter_biontysource_source_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0004_alter_cellline_bionty_source_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0005_rename_short_name_cellline_abbr_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0006_alter_biontysource_options_alter_cellline_options_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0007_rename_readout_experimental_factor.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0008_remove_gene_hgnc_id_remove_gene_mgi_id_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0009_alter_gene_ensembl_gene_id.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0010_alter_species_name.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0011_cellline_datasets_cellmarker_datasets_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0012_gene_stable_id.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0013_alter_cellmarker_species_alter_gene_species_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0014_ethnicity_developmentalstage.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0015_migrate_to_integer_pks.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0016_export_legacy_data.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0017_import_legacy_data.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0018_organism_rename_species_biontysource_organism_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0019_rename_taxon_id_organism_ontology_id_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0020_alter_organism_bionty_source.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0021_rename_files_cellline_artifacts_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0022_rename_datasets_cellline_collections_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/0023_rename_publicsource_encode_uid.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/migrations/__init__.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/lnschema_bionty/models.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/noxfile.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/pyproject.toml +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-bionty/tests/test_integrity.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/.github/workflows/build.yml +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/.gitignore +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/.pre-commit-config.yaml +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/LICENSE +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/README.md +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/ids.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0001_initial.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0001_initial_squashed_0023.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0002_alter_user_name.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0003_alter_storage_region_alter_transform_short_name.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0004_rename_folder_tag_alter_project_folders.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0005_alter_run_inputs_delete_runinput.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0006_feature_dataset.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0007_feature_synonyms_featureset_field_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0008_file_hash_type_transform_parents.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0009_remove_featureset_files_feature_unit_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0010_dataset_categories_file_categories.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0011_label_remove_tag_created_by_remove_tag_parents_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0012_remove_label_ref_id_remove_label_ref_orm_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0013_remove_feature_labels_orm_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0014_rename_ref_field_featureset_registry.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0015_file_initial_version_file_version.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0016_dataset_input_of_dataset_run_dataset_transform_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0017_dataset_initial_version_dataset_version.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0018_rename_datasetlabel_datasetulabel_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0019_dataset_reference_dataset_reference_type_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0020_run_report_transform_latest_report_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0021_dataset_storage_alter_dataset_file.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0022_migrate_to_integer_pks.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0023_export_legacy_data.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0024_import_legacy_data.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0025_remove_user_email.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0026_dataset_visibility_file_visibility.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0027_file_key_is_virtual.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0028_alter_dataset_visibility_alter_file_visibility.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0029_remove_feature_modality_remove_featureset_modality_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0030_alter_dataset_visibility_alter_file_visibility.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0031_rename_file_to_artifact.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0032_remove_dataset_storage.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0033_alter_artifact_unique_together_artifact_n_objects_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0034_run_environment.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0035_remove_artifact_initial_version_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0036_storage_description.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0037_rename_dataset_to_collection.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0038_alter_collection_artifact_alter_collection_artifacts_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0039_remove_collection_artifacts_collectionartifact_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0040_alter_transform_type.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0041_remove_transform_short_name_transform_description_and_more.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0042_rename_run_at_run_started_at_run_finished_at.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/0043_run_json.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/mocks.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/lnschema_core/users.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/noxfile.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/pyproject.toml +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/tests/test_integrity.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/sub/lnschema-core/tests/test_types.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/conftest.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/notebooks/initialized-with-nbproject.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/notebooks/no-title.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/notebooks/not-initialized.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/notebooks/with-title-initialized-consecutive-finish-not-last-cell.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/notebooks/with-title-initialized-consecutive-finish.ipynb +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_annotate.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_artifact.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_cache.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_can_validate.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_collection.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_data.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_db.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_delete.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_feature.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_feature_manager.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_feature_set.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_from_values.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_label_manager.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_load.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_manager.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_notebooks.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_parents.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_queryset.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_registry.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_run.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_save.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_settings.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_storage.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_transfer.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_transform.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_uid.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_ulabel.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_versioning.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_view.py +0 -0
- {lamindb-0.69.8 → lamindb-0.69.9}/tests/test_visibility.py +0 -0
@@ -30,6 +30,11 @@ jobs:
|
|
30
30
|
submodules: recursive
|
31
31
|
fetch-depth: 0
|
32
32
|
- uses: actions/setup-python@v5
|
33
|
+
if: ${{ matrix.group == 'storage' }}
|
34
|
+
with:
|
35
|
+
python-version: "3.9" # run just one job with a different python version
|
36
|
+
- uses: actions/setup-python@v5
|
37
|
+
if: ${{ matrix.group != 'storage' }}
|
33
38
|
with:
|
34
39
|
python-version: "3.11"
|
35
40
|
- name: cache pre-commit
|
@@ -100,7 +105,7 @@ jobs:
|
|
100
105
|
aws-region: us-east-1
|
101
106
|
- uses: actions/setup-python@v5
|
102
107
|
with:
|
103
|
-
python-version: "3.10"
|
108
|
+
python-version: "3.10" # use 3.10, 3.8 and 3.11 give issues
|
104
109
|
- run: pip install -U laminci
|
105
110
|
- run: nox -s "install(group='docs')"
|
106
111
|
- uses: actions/download-artifact@v2
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: lamindb
|
3
|
-
Version: 0.69.
|
3
|
+
Version: 0.69.9
|
4
4
|
Summary: A data framework for biology.
|
5
5
|
Author-email: Lamin Labs <open-source@lamin.ai>
|
6
6
|
Requires-Python: >=3.8
|
@@ -9,10 +9,10 @@ Classifier: Programming Language :: Python :: 3.8
|
|
9
9
|
Classifier: Programming Language :: Python :: 3.9
|
10
10
|
Classifier: Programming Language :: Python :: 3.10
|
11
11
|
Classifier: Programming Language :: Python :: 3.11
|
12
|
-
Requires-Dist: lnschema_core==0.64.
|
13
|
-
Requires-Dist: lamindb_setup==0.
|
12
|
+
Requires-Dist: lnschema_core==0.64.6
|
13
|
+
Requires-Dist: lamindb_setup==0.69.0
|
14
14
|
Requires-Dist: lamin_utils==0.13.1
|
15
|
-
Requires-Dist: lamin_cli==0.12.
|
15
|
+
Requires-Dist: lamin_cli==0.12.1
|
16
16
|
Requires-Dist: rapidfuzz
|
17
17
|
Requires-Dist: pyarrow
|
18
18
|
Requires-Dist: typing_extensions!=4.6.0
|
@@ -6,9 +6,12 @@
|
|
6
6
|
|
7
7
|
## 0.69
|
8
8
|
|
9
|
+
### 0.69.9 {small}`2024-04-04`
|
10
|
+
|
11
|
+
- 🐛 Fix clashes for multiple processes [PR](https://github.com/laminlabs/lamindb/pull/1553) [@falexwolf](https://github.com/falexwolf)
|
12
|
+
|
9
13
|
### 0.69.8 {small}`2024-04-04`
|
10
14
|
|
11
|
-
- 🐛 Avoid an error due to deleting the same file by multiple processes [PR](https://github.com/laminlabs/lamindb-setup/pull/703) [@Koncopd](https://github.com/Koncopd)
|
12
15
|
- ♻️ Use future annotations [PR](https://github.com/laminlabs/lamindb/pull/1549) [@Zethson](https://github.com/Zethson)
|
13
16
|
|
14
17
|
### 0.69.7 {small}`2024-04-03`
|
@@ -77,9 +77,9 @@
|
|
77
77
|
"cell_type": "markdown",
|
78
78
|
"metadata": {},
|
79
79
|
"source": [
|
80
|
-
"###
|
80
|
+
"### Data lineage\n",
|
81
81
|
"\n",
|
82
|
-
"Run {meth}`~lamindb.track` to
|
82
|
+
"Run {meth}`~lamindb.track` to track data lineage."
|
83
83
|
]
|
84
84
|
},
|
85
85
|
{
|
@@ -88,7 +88,7 @@
|
|
88
88
|
"metadata": {},
|
89
89
|
"outputs": [],
|
90
90
|
"source": [
|
91
|
-
"# tag your
|
91
|
+
"# tag your notebook or script with auto-generated identifiers\n",
|
92
92
|
"ln.settings.transform.stem_uid = \"FPnfDtJz8qbE\"\n",
|
93
93
|
"ln.settings.transform.version = \"1\"\n",
|
94
94
|
"\n",
|
@@ -157,7 +157,7 @@
|
|
157
157
|
"cell_type": "markdown",
|
158
158
|
"metadata": {},
|
159
159
|
"source": [
|
160
|
-
"### Label\n",
|
160
|
+
"### Label artifacts\n",
|
161
161
|
"\n",
|
162
162
|
"Label an artifact with {class}`~lamindb.ULabel`."
|
163
163
|
]
|
@@ -181,7 +181,7 @@
|
|
181
181
|
"cell_type": "markdown",
|
182
182
|
"metadata": {},
|
183
183
|
"source": [
|
184
|
-
"### Query\n",
|
184
|
+
"### Query anything\n",
|
185
185
|
"\n",
|
186
186
|
"Because, under-the-hood, LaminDB is SQL, you can write arbitrary relational queries."
|
187
187
|
]
|
@@ -255,9 +255,9 @@
|
|
255
255
|
"cell_type": "markdown",
|
256
256
|
"metadata": {},
|
257
257
|
"source": [
|
258
|
-
"
|
258
|
+
"## Validate & annotate\n",
|
259
259
|
"\n",
|
260
|
-
"
|
260
|
+
"Let's validate a `DataFrame` by passing validation criteria in the `Annotate` constructor."
|
261
261
|
]
|
262
262
|
},
|
263
263
|
{
|
@@ -266,10 +266,12 @@
|
|
266
266
|
"metadata": {},
|
267
267
|
"outputs": [],
|
268
268
|
"source": [
|
269
|
-
"
|
270
|
-
"
|
271
|
-
"
|
272
|
-
"
|
269
|
+
"annotate = ln.Annotate.from_df(\n",
|
270
|
+
" df,\n",
|
271
|
+
" columns=ln.Feature.name, # map column names\n",
|
272
|
+
" categoricals={df.perturbation.name: ln.ULabel.name}, # map categories\n",
|
273
|
+
")\n",
|
274
|
+
"annotate.validate()"
|
273
275
|
]
|
274
276
|
},
|
275
277
|
{
|
@@ -278,16 +280,22 @@
|
|
278
280
|
"metadata": {},
|
279
281
|
"outputs": [],
|
280
282
|
"source": [
|
281
|
-
"
|
283
|
+
"# add non-validated terms to registries\n",
|
284
|
+
"annotate.add_new_from_columns()\n",
|
285
|
+
"annotate.add_new_from(df.perturbation.name)\n",
|
286
|
+
"\n",
|
287
|
+
"# view the registered features\n",
|
288
|
+
"ln.Feature.df()"
|
282
289
|
]
|
283
290
|
},
|
284
291
|
{
|
285
|
-
"cell_type": "
|
292
|
+
"cell_type": "code",
|
293
|
+
"execution_count": null,
|
286
294
|
"metadata": {},
|
295
|
+
"outputs": [],
|
287
296
|
"source": [
|
288
|
-
"
|
289
|
-
"
|
290
|
-
"Let's validate a `DataFrame` by passing validation criteria in the `Annotate` constructor."
|
297
|
+
"# view the registered ULabels\n",
|
298
|
+
"ln.ULabel.df()"
|
291
299
|
]
|
292
300
|
},
|
293
301
|
{
|
@@ -296,12 +304,12 @@
|
|
296
304
|
"metadata": {},
|
297
305
|
"outputs": [],
|
298
306
|
"source": [
|
299
|
-
"
|
300
|
-
"
|
301
|
-
"
|
302
|
-
"
|
303
|
-
")\n",
|
304
|
-
"
|
307
|
+
"# now the validation passes\n",
|
308
|
+
"annotate.validate()\n",
|
309
|
+
"\n",
|
310
|
+
"# annotate and save the artifact\n",
|
311
|
+
"artifact = annotate.save_artifact(description=\"my RNA-seq\", version=\"1\")\n",
|
312
|
+
"artifact.describe()"
|
305
313
|
]
|
306
314
|
},
|
307
315
|
{
|
@@ -310,12 +318,9 @@
|
|
310
318
|
"metadata": {},
|
311
319
|
"outputs": [],
|
312
320
|
"source": [
|
313
|
-
"#
|
314
|
-
"annotate.
|
315
|
-
"
|
316
|
-
"\n",
|
317
|
-
"# view the registered features\n",
|
318
|
-
"ln.Feature.df()"
|
321
|
+
"# get lookup object for the entities of interest\n",
|
322
|
+
"lookups = annotate.lookup()\n",
|
323
|
+
"lookups"
|
319
324
|
]
|
320
325
|
},
|
321
326
|
{
|
@@ -324,15 +329,9 @@
|
|
324
329
|
"metadata": {},
|
325
330
|
"outputs": [],
|
326
331
|
"source": [
|
327
|
-
"#
|
328
|
-
"
|
329
|
-
"
|
330
|
-
"# now the validation passes\n",
|
331
|
-
"annotate.validate()\n",
|
332
|
-
"\n",
|
333
|
-
"# annotate and save the artifact\n",
|
334
|
-
"artifact = annotate.save_artifact(description=\"my RNA-seq\", version=\"1\")\n",
|
335
|
-
"artifact.describe()"
|
332
|
+
"# filter artifacts with specific labels\n",
|
333
|
+
"perturbations = lookups[\"perturbation\"]\n",
|
334
|
+
"ln.Artifact.filter(ulabels=candidate_marker_study).filter(ulabels=perturbations.ifng).one()"
|
336
335
|
]
|
337
336
|
},
|
338
337
|
{
|
@@ -347,49 +346,49 @@
|
|
347
346
|
]
|
348
347
|
},
|
349
348
|
{
|
350
|
-
"cell_type": "
|
351
|
-
"execution_count": null,
|
349
|
+
"cell_type": "markdown",
|
352
350
|
"metadata": {},
|
353
|
-
"outputs": [],
|
354
351
|
"source": [
|
355
|
-
"
|
356
|
-
"lookups = annotate.lookup()\n",
|
357
|
-
"lookups"
|
352
|
+
"## Biological registries"
|
358
353
|
]
|
359
354
|
},
|
360
355
|
{
|
361
|
-
"cell_type": "
|
362
|
-
"execution_count": null,
|
356
|
+
"cell_type": "markdown",
|
363
357
|
"metadata": {},
|
364
|
-
"
|
365
|
-
|
358
|
+
"source": [
|
359
|
+
"The generic {class}`~lamindb.Feature` and {class}`~lamindb.ULabel` registries will get you pretty far.\n",
|
360
|
+
"\n",
|
361
|
+
"Let's now look at what you do can with a dedicated biological registry like {class}`~bionty.Gene`."
|
362
|
+
]
|
366
363
|
},
|
367
364
|
{
|
368
|
-
"cell_type": "
|
369
|
-
"execution_count": null,
|
365
|
+
"cell_type": "markdown",
|
370
366
|
"metadata": {},
|
371
|
-
"outputs": [],
|
372
367
|
"source": [
|
373
|
-
"
|
374
|
-
"
|
375
|
-
"
|
368
|
+
"### Access public ontologies\n",
|
369
|
+
"\n",
|
370
|
+
"Every {py:mod}`bionty` registry is based on public ontologies."
|
376
371
|
]
|
377
372
|
},
|
378
373
|
{
|
379
|
-
"cell_type": "
|
374
|
+
"cell_type": "code",
|
375
|
+
"execution_count": null,
|
380
376
|
"metadata": {},
|
377
|
+
"outputs": [],
|
381
378
|
"source": [
|
382
|
-
"
|
379
|
+
"import bionty as bt\n",
|
380
|
+
"\n",
|
381
|
+
"cell_types = bt.CellType.public()\n",
|
382
|
+
"cell_types"
|
383
383
|
]
|
384
384
|
},
|
385
385
|
{
|
386
|
-
"cell_type": "
|
386
|
+
"cell_type": "code",
|
387
|
+
"execution_count": null,
|
387
388
|
"metadata": {},
|
389
|
+
"outputs": [],
|
388
390
|
"source": [
|
389
|
-
"
|
390
|
-
"However, if you frequently use a specific entity, you'll want a dedicated registry.\n",
|
391
|
-
"\n",
|
392
|
-
"Let’s look at the example of {class}`~bionty.Gene` and use it to register features."
|
391
|
+
"cell_types.search(\"gamma delta T cell\").head(2)"
|
393
392
|
]
|
394
393
|
},
|
395
394
|
{
|
@@ -446,7 +445,7 @@
|
|
446
445
|
"cell_type": "markdown",
|
447
446
|
"metadata": {},
|
448
447
|
"source": [
|
449
|
-
"###
|
448
|
+
"### Add new entities to biological registries\n",
|
450
449
|
"\n",
|
451
450
|
"Create a cell type record and add a new cell state."
|
452
451
|
]
|
@@ -487,7 +486,14 @@
|
|
487
486
|
"cell_type": "markdown",
|
488
487
|
"metadata": {},
|
489
488
|
"source": [
|
490
|
-
"##
|
489
|
+
"## Scale up learning"
|
490
|
+
]
|
491
|
+
},
|
492
|
+
{
|
493
|
+
"cell_type": "markdown",
|
494
|
+
"metadata": {},
|
495
|
+
"source": [
|
496
|
+
"How do you learn from new data batches that extend your previous data history? Leverage {class}`~lamindb.Collection`."
|
491
497
|
]
|
492
498
|
},
|
493
499
|
{
|
@@ -549,16 +555,9 @@
|
|
549
555
|
"outputs": [],
|
550
556
|
"source": [
|
551
557
|
"# if it's small enough, you can load the entire collection into memory as if it was one\n",
|
552
|
-
"collection.load()"
|
553
|
-
|
554
|
-
|
555
|
-
{
|
556
|
-
"cell_type": "code",
|
557
|
-
"execution_count": null,
|
558
|
-
"metadata": {},
|
559
|
-
"outputs": [],
|
560
|
-
"source": [
|
561
|
-
"# you can always iterate over its artifacts\n",
|
558
|
+
"collection.load()\n",
|
559
|
+
"\n",
|
560
|
+
"# typically, it's too big, hence, iterate over its artifacts\n",
|
562
561
|
"collection.artifacts.df()"
|
563
562
|
]
|
564
563
|
},
|
@@ -567,7 +566,7 @@
|
|
567
566
|
"metadata": {},
|
568
567
|
"source": [
|
569
568
|
"```\n",
|
570
|
-
"#
|
569
|
+
"# to train models, batch iterate through the collection as if it was one array\n",
|
571
570
|
"from torch.utils.data import DataLoader, WeightedRandomSampler\n",
|
572
571
|
"dataset = collection.mapped(label_keys=[\"perturbation\"])\n",
|
573
572
|
"sampler = WeightedRandomSampler(\n",
|
@@ -579,6 +578,13 @@
|
|
579
578
|
"```"
|
580
579
|
]
|
581
580
|
},
|
581
|
+
{
|
582
|
+
"cell_type": "markdown",
|
583
|
+
"metadata": {},
|
584
|
+
"source": [
|
585
|
+
"Read this [blog post](https://lamin.ai/blog/arrayloader-benchmarks) for more on training models on sharded datasets."
|
586
|
+
]
|
587
|
+
},
|
582
588
|
{
|
583
589
|
"cell_type": "markdown",
|
584
590
|
"metadata": {},
|
@@ -625,7 +631,7 @@
|
|
625
631
|
"cell_type": "markdown",
|
626
632
|
"metadata": {},
|
627
633
|
"source": [
|
628
|
-
"## Data lineage\n",
|
634
|
+
"## Data lineage across entire projects\n",
|
629
635
|
"\n",
|
630
636
|
"View the sequence of data transformations ({class}`~lamindb.Transform`) in a project (from [here](docs:project-flow), based on [Schmidt _et al._, 2022](https://pubmed.ncbi.nlm.nih.gov/35113687/)):\n",
|
631
637
|
"\n",
|
@@ -651,13 +657,19 @@
|
|
651
657
|
"cell_type": "markdown",
|
652
658
|
"metadata": {},
|
653
659
|
"source": [
|
654
|
-
"##
|
660
|
+
"## Distributed databases\n",
|
661
|
+
"\n",
|
662
|
+
"LaminDB is a distributed system like git. Similar to cloning a repository, collaborators can connect to your instance via:\n",
|
655
663
|
"\n",
|
656
|
-
"
|
664
|
+
"```python\n",
|
665
|
+
"ln.connect(\"account-handle/instance-name\")\n",
|
666
|
+
"```\n",
|
667
|
+
"\n",
|
668
|
+
"Or you can load an instance on the command line for auto-connecting in a Python session:\n",
|
657
669
|
"\n",
|
658
670
|
"```shell\n",
|
659
|
-
"lamin load
|
660
|
-
"
|
671
|
+
"lamin load \"account-handle/instance-name\"\n",
|
672
|
+
"```\n"
|
661
673
|
]
|
662
674
|
},
|
663
675
|
{
|
@@ -22,7 +22,6 @@ from lamindb_setup.core.upath import (
|
|
22
22
|
from lnschema_core import Artifact, Run, Storage
|
23
23
|
from lnschema_core.models import IsTree
|
24
24
|
from lnschema_core.types import (
|
25
|
-
DataLike,
|
26
25
|
VisibilityChoice,
|
27
26
|
)
|
28
27
|
|
@@ -114,7 +113,7 @@ def process_pathlike(
|
|
114
113
|
|
115
114
|
def process_data(
|
116
115
|
provisional_uid: str,
|
117
|
-
data: UPathStr |
|
116
|
+
data: UPathStr | pd.DataFrame | AnnData,
|
118
117
|
format: str | None,
|
119
118
|
key: str | None,
|
120
119
|
default_storage: Storage,
|
@@ -138,7 +137,7 @@ def process_data(
|
|
138
137
|
)
|
139
138
|
suffix = extract_suffix_from_path(path)
|
140
139
|
memory_rep = None
|
141
|
-
elif isinstance(data, (pd.DataFrame, AnnData)):
|
140
|
+
elif isinstance(data, (pd.DataFrame, AnnData)):
|
142
141
|
storage = default_storage
|
143
142
|
memory_rep = data
|
144
143
|
if key is not None:
|
@@ -427,7 +426,7 @@ def log_storage_hint(
|
|
427
426
|
logger.hint(hint)
|
428
427
|
|
429
428
|
|
430
|
-
def data_is_anndata(data:
|
429
|
+
def data_is_anndata(data: AnnData | UPathStr):
|
431
430
|
if isinstance(data, AnnData):
|
432
431
|
return True
|
433
432
|
if isinstance(data, (str, Path, UPath)):
|
@@ -435,7 +434,7 @@ def data_is_anndata(data: DataLike):
|
|
435
434
|
return False # pragma: no cover
|
436
435
|
|
437
436
|
|
438
|
-
def data_is_mudata(data:
|
437
|
+
def data_is_mudata(data: Any | UPathStr): # pragma: no cover
|
439
438
|
try:
|
440
439
|
from mudata import MuData
|
441
440
|
except ModuleNotFoundError:
|
@@ -725,7 +724,7 @@ def from_dir(
|
|
725
724
|
# docstring handled through attach_func_to_class_method
|
726
725
|
def replace(
|
727
726
|
self,
|
728
|
-
data: UPathStr
|
727
|
+
data: UPathStr,
|
729
728
|
run: Run | None = None,
|
730
729
|
format: str | None = None,
|
731
730
|
) -> None:
|
@@ -808,9 +807,7 @@ def backed(self, is_run_input: bool | None = None) -> AnnDataAccessor | BackedAc
|
|
808
807
|
|
809
808
|
|
810
809
|
# docstring handled through attach_func_to_class_method
|
811
|
-
def load(
|
812
|
-
self, is_run_input: bool | None = None, stream: bool = False, **kwargs
|
813
|
-
) -> DataLike:
|
810
|
+
def load(self, is_run_input: bool | None = None, stream: bool = False, **kwargs) -> Any:
|
814
811
|
_track_run_input(self, is_run_input)
|
815
812
|
if hasattr(self, "_memory_rep") and self._memory_rep is not None:
|
816
813
|
return self._memory_rep
|
@@ -16,7 +16,7 @@ from lamin_utils import logger
|
|
16
16
|
from lamindb_setup.core._docs import doc_args
|
17
17
|
from lamindb_setup.core.hashing import hash_set
|
18
18
|
from lnschema_core.models import Collection, CollectionArtifact, FeatureSet
|
19
|
-
from lnschema_core.types import
|
19
|
+
from lnschema_core.types import VisibilityChoice
|
20
20
|
|
21
21
|
from lamindb._utils import attach_func_to_class_method
|
22
22
|
from lamindb.core._data import _track_run_input
|
@@ -65,7 +65,7 @@ def __init__(
|
|
65
65
|
data: Artifact | Iterable[Artifact] = (
|
66
66
|
kwargs.pop("data") if len(args) == 0 else args[0]
|
67
67
|
)
|
68
|
-
meta:
|
68
|
+
meta: Artifact | None = kwargs.pop("meta") if "meta" in kwargs else None
|
69
69
|
name: str | None = kwargs.pop("name") if "name" in kwargs else None
|
70
70
|
description: str | None = (
|
71
71
|
kwargs.pop("description") if "description" in kwargs else None
|
@@ -273,7 +273,7 @@ def load(
|
|
273
273
|
join: Literal["inner", "outer"] = "outer",
|
274
274
|
is_run_input: bool | None = None,
|
275
275
|
**kwargs,
|
276
|
-
) ->
|
276
|
+
) -> Any:
|
277
277
|
# cannot call _track_run_input here, see comment further down
|
278
278
|
all_artifacts = self.artifacts.all()
|
279
279
|
suffixes = [artifact.suffix for artifact in all_artifacts]
|
@@ -23,7 +23,7 @@ from lamindb.core.storage import LocalPathClasses
|
|
23
23
|
from ._settings import settings
|
24
24
|
|
25
25
|
if TYPE_CHECKING:
|
26
|
-
from lnschema_core.types import
|
26
|
+
from lnschema_core.types import FieldAttr
|
27
27
|
|
28
28
|
from lamindb._query_set import QuerySet
|
29
29
|
|
@@ -132,7 +132,7 @@ def print_features(self: Data) -> str:
|
|
132
132
|
|
133
133
|
|
134
134
|
def parse_feature_sets_from_anndata(
|
135
|
-
adata:
|
135
|
+
adata: AnnData,
|
136
136
|
var_field: FieldAttr,
|
137
137
|
obs_field: FieldAttr = Feature.name,
|
138
138
|
**kwargs,
|
@@ -136,6 +136,9 @@ def delete_storage_using_key(
|
|
136
136
|
|
137
137
|
def delete_storage(storagepath: Path):
|
138
138
|
"""Delete arbitrary artifact."""
|
139
|
+
# TODO is_relative_to is not available in 3.8 and deprecated since 3.12
|
140
|
+
# replace with check_path_is_child_of_root but this needs to first be debugged
|
141
|
+
# if not check_path_is_child_of_root(storagepath, settings.storage):
|
139
142
|
if not storagepath.is_relative_to(settings.storage): # type: ignore
|
140
143
|
logger.warning("couldn't delete files outside of default storage")
|
141
144
|
return "did-not-delete"
|
@@ -16,10 +16,10 @@ classifiers = [
|
|
16
16
|
]
|
17
17
|
dependencies = [
|
18
18
|
# Lamin PINNED packages
|
19
|
-
"lnschema_core==0.64.
|
20
|
-
"lamindb_setup==0.
|
19
|
+
"lnschema_core==0.64.6",
|
20
|
+
"lamindb_setup==0.69.0",
|
21
21
|
"lamin_utils==0.13.1",
|
22
|
-
"lamin_cli==0.12.
|
22
|
+
"lamin_cli==0.12.1",
|
23
23
|
# others
|
24
24
|
"rapidfuzz",
|
25
25
|
"pyarrow",
|
@@ -0,0 +1,35 @@
|
|
1
|
+
from multiprocessing import Process
|
2
|
+
from pathlib import Path
|
3
|
+
import subprocess
|
4
|
+
|
5
|
+
scripts_dir = Path(__file__).parent.resolve() / "scripts"
|
6
|
+
|
7
|
+
|
8
|
+
def run_script():
|
9
|
+
filepath = scripts_dir / "initialized-no-git-sync.py"
|
10
|
+
result = subprocess.run(
|
11
|
+
f"python {filepath}",
|
12
|
+
shell=True,
|
13
|
+
capture_output=True,
|
14
|
+
)
|
15
|
+
print(result.stdout.decode())
|
16
|
+
print(result.stderr.decode())
|
17
|
+
assert result.returncode == 0
|
18
|
+
|
19
|
+
|
20
|
+
def test_parallel_execution():
|
21
|
+
n_processes = 32
|
22
|
+
processes = []
|
23
|
+
|
24
|
+
# Create and start new processes
|
25
|
+
for _ in range(n_processes):
|
26
|
+
p = Process(target=run_script)
|
27
|
+
p.start()
|
28
|
+
processes.append(p)
|
29
|
+
|
30
|
+
# Wait for all processes to finish
|
31
|
+
for p in processes:
|
32
|
+
p.join()
|
33
|
+
|
34
|
+
for p in processes:
|
35
|
+
assert p.exitcode == 0
|
@@ -3,6 +3,13 @@
|
|
3
3
|
<!-- prettier-ignore -->
|
4
4
|
Name | PR | Developer | Date | Version
|
5
5
|
--- | --- | --- | --- | ---
|
6
|
+
🚸 Skip hub request for a purely local instance | [713](https://github.com/laminlabs/lamindb-setup/pull/713) | [falexwolf](https://github.com/falexwolf) | 2024-04-08 | 0.69.0
|
7
|
+
🐛 Fix clashes for multi process | [712](https://github.com/laminlabs/lamindb-setup/pull/712) | [falexwolf](https://github.com/falexwolf) | 2024-04-08 |
|
8
|
+
♻️ No longer need AWS account | [711](https://github.com/laminlabs/lamindb-setup/pull/711) | [falexwolf](https://github.com/falexwolf) | 2024-04-08 |
|
9
|
+
📝 Fix docs | [709](https://github.com/laminlabs/lamindb-setup/pull/709) | [falexwolf](https://github.com/falexwolf) | 2024-04-05 |
|
10
|
+
♻️ Replace TypeVar with TypeAlias | [707](https://github.com/laminlabs/lamindb-setup/pull/707) | [falexwolf](https://github.com/falexwolf) | 2024-04-04 |
|
11
|
+
♻️ Refactor clean up | [706](https://github.com/laminlabs/lamindb-setup/pull/706) | [falexwolf](https://github.com/falexwolf) | 2024-04-04 |
|
12
|
+
🩹 Do bucket injection trick only for s3 | [705](https://github.com/laminlabs/lamindb-setup/pull/705) | [Koncopd](https://github.com/Koncopd) | 2024-04-04 |
|
6
13
|
🚸 Add region param | [704](https://github.com/laminlabs/lamindb-setup/pull/704) | [falexwolf](https://github.com/falexwolf) | 2024-04-04 |
|
7
14
|
🐛 Avoid the error due to deleting the same file by multiple processes | [703](https://github.com/laminlabs/lamindb-setup/pull/703) | [Koncopd](https://github.com/Koncopd) | 2024-04-04 | 0.68.5
|
8
15
|
🐛 Fix directory uploads for hosted instances | [702](https://github.com/laminlabs/lamindb-setup/pull/702) | [Koncopd](https://github.com/Koncopd) | 2024-04-04 |
|