lamindb 0.68.0__tar.gz → 0.68.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.68.0 → lamindb-0.68.2}/PKG-INFO +9 -11
- {lamindb-0.68.0 → lamindb-0.68.2}/README.md +3 -6
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/bio-registries.ipynb +5 -11
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/changelog.md +14 -2
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/data.ipynb +29 -2
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/faq/setup.ipynb +1 -3
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/features-lamindb.md +5 -4
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/introduction.ipynb +72 -146
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/schemas.ipynb +1 -1
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/storage/add-replace-stage.ipynb +7 -22
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/storage/anndata-accessor.ipynb +5 -17
- lamindb-0.68.2/docs/storage/prepare-transfer-local-to-cloud.ipynb +91 -0
- lamindb-0.68.2/docs/storage/transfer-local-to-cloud.ipynb +118 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/storage/upload.ipynb +4 -20
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/storage.md +2 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/tutorial.ipynb +16 -42
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/__init__.py +11 -24
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/_artifact.py +29 -82
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/_collection.py +9 -7
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/_feature.py +3 -3
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/_feature_set.py +4 -4
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/_is_versioned.py +3 -3
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/_parents.py +2 -2
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/_query_manager.py +1 -1
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/_query_set.py +1 -1
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/_registry.py +39 -21
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/_save.py +1 -1
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/_storage.py +2 -2
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/_transform.py +10 -6
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/_ulabel.py +3 -3
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/_validate.py +3 -3
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/core/__init__.py +0 -1
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/core/_data.py +1 -1
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/core/_feature_manager.py +6 -2
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/core/_label_manager.py +6 -2
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/core/_mapped_collection.py +45 -18
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/core/_run_context.py +53 -77
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/core/_settings.py +5 -1
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/core/storage/__init__.py +1 -1
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/core/storage/_backed_access.py +1 -1
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/core/storage/_zarr.py +1 -1
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/core/storage/file.py +13 -8
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/core/storage/object.py +3 -4
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/core/types.py +2 -2
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/core/versioning.py +1 -1
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/setup/__init__.py +8 -2
- {lamindb-0.68.0/lamindb/setup/dev → lamindb-0.68.2/lamindb/setup/core}/__init__.py +2 -4
- {lamindb-0.68.0 → lamindb-0.68.2}/noxfile.py +11 -5
- {lamindb-0.68.0 → lamindb-0.68.2}/pyproject.toml +5 -4
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/bionty/bionty/__init__.py +4 -15
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/bionty/docs/changelog.md +4 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/bionty/pyproject.toml +1 -1
- lamindb-0.68.2/sub/lamin-cli/lamin_cli/__init__.py +3 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamin-cli/lamin_cli/__main__.py +32 -14
- lamindb-0.68.0/sub/lamin-cli/lamin_cli/_transform.py → lamindb-0.68.2/sub/lamin-cli/lamin_cli/_save.py +33 -18
- lamindb-0.68.2/sub/lamin-cli/lamin_cli/_stage.py +36 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamin-cli/tests/conftest.py +3 -4
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +1 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +1 -0
- lamindb-0.68.2/sub/lamin-cli/tests/scripts/initialized.py +14 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamin-cli/tests/test_migrate.py +7 -2
- lamindb-0.68.2/sub/lamin-cli/tests/test_save_notebooks.py +132 -0
- lamindb-0.68.0/sub/lamin-cli/tests/test_scripts.py → lamindb-0.68.2/sub/lamin-cli/tests/test_save_scripts.py +20 -6
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamin-cli/tests/test_stage.py +2 -2
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/.github/workflows/build.yml +25 -25
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/docs/changelog.md +17 -0
- {lamindb-0.68.0/sub/lamindb-setup/docs/prod-staging → lamindb-0.68.2/sub/lamindb-setup/docs/hub-cloud}/01-init-on-prem-instance.ipynb +6 -10
- lamindb-0.68.0/sub/lamindb-setup/docs/prod-staging/02-load-on-prem-instance.ipynb → lamindb-0.68.2/sub/lamindb-setup/docs/hub-cloud/02-connect-on-prem-instance.ipynb +20 -43
- {lamindb-0.68.0/sub/lamindb-setup/docs/prod-staging → lamindb-0.68.2/sub/lamindb-setup/docs/hub-cloud}/03-set-storage.ipynb +9 -8
- {lamindb-0.68.0/sub/lamindb-setup/docs/prod-staging → lamindb-0.68.2/sub/lamindb-setup/docs/hub-cloud}/05-init-hosted-instance.ipynb +3 -3
- lamindb-0.68.0/sub/lamindb-setup/docs/prod-staging/06-load-hosted-instance.ipynb → lamindb-0.68.2/sub/lamindb-setup/docs/hub-cloud/06-connect-hosted-instance.ipynb +4 -6
- {lamindb-0.68.0/sub/lamindb-setup/docs/prod-staging → lamindb-0.68.2/sub/lamindb-setup/docs/hub-cloud}/test-multi-session.ipynb +1 -1
- {lamindb-0.68.0/sub/lamindb-setup/docs/prod-only → lamindb-0.68.2/sub/lamindb-setup/docs/hub-prod}/test-cache-management.ipynb +6 -6
- lamindb-0.68.0/sub/lamindb-setup/docs/prod-only/test-load-anonymously.ipynb → lamindb-0.68.2/sub/lamindb-setup/docs/hub-prod/test-connect-anonymously.ipynb +3 -3
- {lamindb-0.68.0/sub/lamindb-setup/docs/prod-only → lamindb-0.68.2/sub/lamindb-setup/docs/hub-prod}/test-empty-init.ipynb +1 -1
- {lamindb-0.68.0/sub/lamindb-setup/docs/prod-only → lamindb-0.68.2/sub/lamindb-setup/docs/hub-prod}/test-import-schema.ipynb +7 -7
- {lamindb-0.68.0/sub/lamindb-setup/docs/prod-only → lamindb-0.68.2/sub/lamindb-setup/docs/hub-prod}/test-insufficient-user-info.ipynb +1 -1
- lamindb-0.68.0/sub/lamindb-setup/docs/prod-only/test-load-lock.ipynb → lamindb-0.68.2/sub/lamindb-setup/docs/hub-prod/test-sqlite-lock.ipynb +25 -25
- lamindb-0.68.2/sub/lamindb-setup/docs/notebooks.md +23 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/lamindb_setup/__init__.py +11 -17
- lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/_add_remote_storage.py +50 -0
- lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/_check_setup.py +73 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/lamindb_setup/_close.py +5 -5
- lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/_load_instance.py → lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/_connect_instance.py +51 -35
- lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/_delete.py +76 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/lamindb_setup/_django.py +2 -2
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/lamindb_setup/_exportdb.py +1 -1
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/lamindb_setup/_init_instance.py +66 -54
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/lamindb_setup/_migrate.py +8 -8
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/lamindb_setup/_register_instance.py +7 -7
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/lamindb_setup/_schema.py +4 -4
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/lamindb_setup/_setup_user.py +8 -8
- {lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/dev → lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/core}/__init__.py +3 -1
- {lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/dev → lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/core}/_hub_client.py +0 -7
- {lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/dev → lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/core}/_hub_core.py +10 -13
- lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/core/_settings.py +107 -0
- {lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/dev → lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/core}/_settings_instance.py +12 -6
- {lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/dev → lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/core}/_settings_load.py +1 -1
- {lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/dev → lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/core}/_settings_storage.py +12 -9
- {lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/dev → lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/core}/_settings_user.py +4 -4
- {lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/dev → lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/core}/cloud_sqlite_locker.py +1 -1
- lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/core/exceptions.py +10 -0
- lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/core/types.py +7 -0
- {lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/dev → lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/core}/upath.py +85 -12
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/noxfile.py +21 -35
- lamindb-0.68.0/sub/lamindb-setup/tests/prod-staging/test_load_instance.py → lamindb-0.68.2/sub/lamindb-setup/tests/hub-cloud/test_connect_instance.py +15 -12
- {lamindb-0.68.0/sub/lamindb-setup/tests/prod-staging → lamindb-0.68.2/sub/lamindb-setup/tests/hub-cloud}/test_init_instance.py +13 -6
- {lamindb-0.68.0/sub/lamindb-setup/tests/prod-staging → lamindb-0.68.2/sub/lamindb-setup/tests/hub-cloud}/test_set_storage.py +2 -1
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/tests/hub-local/test_all.py +24 -23
- lamindb-0.68.2/sub/lamindb-setup/tests/hub-prod/test_auto_connect.py +10 -0
- {lamindb-0.68.0/sub/lamindb-setup/tests/prod-only → lamindb-0.68.2/sub/lamindb-setup/tests/hub-prod}/test_django.py +1 -1
- {lamindb-0.68.0/sub/lamindb-setup/tests/prod-only → lamindb-0.68.2/sub/lamindb-setup/tests/hub-prod}/test_switch_and_fallback_env.py +8 -8
- {lamindb-0.68.0/sub/lamindb-setup/tests/prod-only → lamindb-0.68.2/sub/lamindb-setup/tests/hub-prod}/test_upath.py +1 -1
- {lamindb-0.68.0/tests → lamindb-0.68.2/sub/lamindb-setup/tests/storage}/test_hashing.py +1 -1
- {lamindb-0.68.0/sub/lamindb-setup/tests → lamindb-0.68.2/sub/lamindb-setup/tests/storage}/test_storage_access.py +25 -20
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/docs/changelog.md +1 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/__init__.py +1 -11
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0016_export_legacy_data.py +1 -1
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0017_import_legacy_data.py +1 -1
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/CHANGELOG.md +2 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/__init__.py +2 -4
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0023_export_legacy_data.py +1 -1
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0024_import_legacy_data.py +1 -1
- lamindb-0.68.2/sub/lnschema-core/lnschema_core/migrations/0040_alter_transform_type.py +24 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/models.py +11 -22
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/types.py +2 -5
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/users.py +3 -3
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/conftest.py +8 -6
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_artifact.py +109 -38
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_cache.py +3 -2
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_collection.py +32 -23
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_delete.py +1 -1
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_feature.py +13 -10
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_feature_manager.py +9 -6
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_feature_set.py +13 -10
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_load.py +33 -16
- lamindb-0.68.2/tests/test_notebooks.py +17 -0
- lamindb-0.68.2/tests/test_run_context.py +87 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_transfer.py +3 -2
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_versioning.py +10 -3
- lamindb-0.68.0/sub/lamin-cli/lamin_cli/__init__.py +0 -3
- lamindb-0.68.0/sub/lamin-cli/lamin_cli/_stage.py +0 -29
- lamindb-0.68.0/sub/lamin-cli/tests/scripts/initialized.py +0 -11
- lamindb-0.68.0/sub/lamin-cli/tests/test_notebooks.py +0 -94
- lamindb-0.68.0/sub/lamindb-setup/docs/notebooks.md +0 -23
- lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/_check_instance_setup.py +0 -58
- lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/_delete.py +0 -77
- lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/_info.py +0 -11
- lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/_set.py +0 -57
- lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/_settings.py +0 -79
- lamindb-0.68.0/tests/test_notebooks.py +0 -9
- lamindb-0.68.0/tests/test_run_context.py +0 -55
- {lamindb-0.68.0 → lamindb-0.68.2}/.github/workflows/build.yml +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/.gitignore +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/.gitmodules +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/.pre-commit-config.yaml +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/LICENSE +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/annotate.ipynb +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/bionty-base.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/bionty.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/faq/acid.ipynb +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/faq/delete.ipynb +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/faq/idempotency.ipynb +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/faq/import-schema.ipynb +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/faq/key.ipynb +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/faq/reference-field.ipynb +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/faq/test_notebooks.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/faq/track-run-inputs.ipynb +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/faq/validator.ipynb +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/faq/visibility.ipynb +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/faq.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/features-laminhub.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/guide.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/index.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/installation.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/lamin-utils.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/lamindb.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/meta.ipynb +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/nbproject.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/query-search.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/readfcs.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/reference.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/setup.ipynb +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/signup-login.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/storage/test-files/iris.csv +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/storage/test-files/iris.data +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/storage/test-files/new_iris.csv +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/storage/test_notebooks.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/test_notebooks.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/track.ipynb +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/transfer.ipynb +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/tutorial2.ipynb +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/docs/validate.ipynb +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/_filter.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/_from_values.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/_run.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/_utils.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/_view.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/core/_track_environment.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/core/_transform_settings.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/core/_view_tree.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/core/datasets/__init__.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/core/datasets/_core.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/core/datasets/_fake.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/core/exceptions.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/core/fields.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/lamindb/core/storage/_anndata_sizes.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/bionty/.github/workflows/build.yml +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/bionty/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/bionty/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/bionty/.gitignore +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/bionty/.pre-commit-config.yaml +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/bionty/LICENSE +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/bionty/README.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/bionty/bionty/dev/__init__.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/bionty/docs/index.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/bionty/docs/reference.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/bionty/lamin-project.yaml +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/bionty/noxfile.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/bionty/tests/test_notebooks.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamin-cli/.gitignore +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamin-cli/.pre-commit-config.yaml +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamin-cli/README.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamin-cli/lamin_cli/_cache.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamin-cli/lamin_cli/_migration.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamin-cli/pyproject.toml +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamin-cli/tests/test_cli.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/.gitignore +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/.pre-commit-config.yaml +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/LICENSE +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/README.md +0 -0
- {lamindb-0.68.0/sub/lamindb-setup/docs/prod-staging → lamindb-0.68.2/sub/lamindb-setup/docs/hub-cloud}/04-test-bionty.ipynb +0 -0
- {lamindb-0.68.0/sub/lamindb-setup/docs/prod-staging → lamindb-0.68.2/sub/lamindb-setup/docs/hub-cloud}/test_notebooks.py +0 -0
- {lamindb-0.68.0/sub/lamindb-setup/docs/prod-only → lamindb-0.68.2/sub/lamindb-setup/docs/hub-prod}/test-invalid-schema.ipynb +0 -0
- {lamindb-0.68.0/sub/lamindb-setup/docs/prod-only → lamindb-0.68.2/sub/lamindb-setup/docs/hub-prod}/test-sqlite-sync.ipynb +0 -0
- {lamindb-0.68.0/sub/lamindb-setup/docs/prod-only → lamindb-0.68.2/sub/lamindb-setup/docs/hub-prod}/test_notebooks2.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/docs/index.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/docs/reference.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/lamindb_setup/_check.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/lamindb_setup/_importdb.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
- {lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/dev → lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/core}/_aws_storage.py +0 -0
- {lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/dev → lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/core}/_deprecated.py +0 -0
- {lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/dev → lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/core}/_docs.py +0 -0
- {lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/dev → lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/core}/_hub_crud.py +0 -0
- {lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/dev → lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/core}/_hub_utils.py +0 -0
- {lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/dev → lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/core}/_settings_save.py +0 -0
- {lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/dev → lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/core}/_settings_store.py +0 -0
- {lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/dev → lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/core}/_setup_bionty_sources.py +0 -0
- {lamindb-0.68.0/sub/lamindb-setup/lamindb_setup/dev → lamindb-0.68.2/sub/lamindb-setup/lamindb_setup/core}/django.py +0 -0
- {lamindb-0.68.0/lamindb → lamindb-0.68.2/sub/lamindb-setup/lamindb_setup}/core/hashing.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/pyproject.toml +0 -0
- {lamindb-0.68.0/sub/lamindb-setup/tests/prod-staging → lamindb-0.68.2/sub/lamindb-setup/tests/hub-cloud}/test_delete_instance.py +0 -0
- {lamindb-0.68.0/sub/lamindb-setup/tests/prod-staging → lamindb-0.68.2/sub/lamindb-setup/tests/hub-cloud}/test_login.py +0 -0
- {lamindb-0.68.0/sub/lamindb-setup/tests/prod-staging → lamindb-0.68.2/sub/lamindb-setup/tests/hub-cloud}/test_migrate.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lamindb-setup/tests/hub-local/conftest.py +0 -0
- {lamindb-0.68.0/sub/lamindb-setup/tests/prod-only → lamindb-0.68.2/sub/lamindb-setup/tests/hub-prod}/conftest.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/.github/workflows/build.yml +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/.gitignore +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/.pre-commit-config.yaml +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/LICENSE +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/README.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/docs/index.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/docs/reference.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lamin-project.yaml +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/_bionty.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/dev/__init__.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/dev/_bionty.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/dev/_settings.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/ids.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0001_initial.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0001_initial_squashed_0016.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0002_rename_gene_type_gene_biotype_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0003_alter_biontysource_entity_alter_biontysource_source_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0004_alter_cellline_bionty_source_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0005_rename_short_name_cellline_abbr_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0006_alter_biontysource_options_alter_cellline_options_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0007_rename_readout_experimental_factor.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0008_remove_gene_hgnc_id_remove_gene_mgi_id_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0009_alter_gene_ensembl_gene_id.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0010_alter_species_name.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0011_cellline_datasets_cellmarker_datasets_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0012_gene_stable_id.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0013_alter_cellmarker_species_alter_gene_species_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0014_ethnicity_developmentalstage.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0015_migrate_to_integer_pks.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0018_organism_rename_species_biontysource_organism_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0019_rename_taxon_id_organism_ontology_id_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0020_alter_organism_bionty_source.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0021_rename_files_cellline_artifacts_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0022_rename_datasets_cellline_collections_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0023_rename_publicsource_encode_uid.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/migrations/__init__.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/lnschema_bionty/models.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/noxfile.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/pyproject.toml +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-bionty/tests/test_integrity.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/.github/workflows/build.yml +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/.gitignore +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/.pre-commit-config.yaml +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/LICENSE +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/README.md +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/ids.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0001_initial.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0001_initial_squashed_0023.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0002_alter_user_name.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0003_alter_storage_region_alter_transform_short_name.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0004_rename_folder_tag_alter_project_folders.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0005_alter_run_inputs_delete_runinput.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0006_feature_dataset.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0007_feature_synonyms_featureset_field_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0008_file_hash_type_transform_parents.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0009_remove_featureset_files_feature_unit_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0010_dataset_categories_file_categories.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0011_label_remove_tag_created_by_remove_tag_parents_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0012_remove_label_ref_id_remove_label_ref_orm_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0013_remove_feature_labels_orm_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0014_rename_ref_field_featureset_registry.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0015_file_initial_version_file_version.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0016_dataset_input_of_dataset_run_dataset_transform_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0017_dataset_initial_version_dataset_version.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0018_rename_datasetlabel_datasetulabel_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0019_dataset_reference_dataset_reference_type_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0020_run_report_transform_latest_report_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0021_dataset_storage_alter_dataset_file.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0022_migrate_to_integer_pks.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0025_remove_user_email.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0026_dataset_visibility_file_visibility.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0027_file_key_is_virtual.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0028_alter_dataset_visibility_alter_file_visibility.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0029_remove_feature_modality_remove_featureset_modality_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0030_alter_dataset_visibility_alter_file_visibility.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0031_rename_file_to_artifact.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0032_remove_dataset_storage.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0033_alter_artifact_unique_together_artifact_n_objects_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0034_run_environment.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0035_remove_artifact_initial_version_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0036_storage_description.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0037_rename_dataset_to_collection.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0038_alter_collection_artifact_alter_collection_artifacts_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/0039_remove_collection_artifacts_collectionartifact_and_more.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/lnschema_core/mocks.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/noxfile.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/pyproject.toml +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/sub/lnschema-core/tests/test_integrity.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/notebooks/initialized-with-nbproject.ipynb +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/notebooks/no-title.ipynb +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/notebooks/not-initialized.ipynb +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_data.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_db.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_from_values.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_label_manager.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_manager.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_parents.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_queryset.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_registry.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_run.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_save.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_settings.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_storage.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_transform.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_uid.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_ulabel.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_validate.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_view.py +0 -0
- {lamindb-0.68.0 → lamindb-0.68.2}/tests/test_visibility.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: lamindb
|
3
|
-
Version: 0.68.
|
3
|
+
Version: 0.68.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,10 +9,10 @@ Classifier: Programming Language :: Python :: 3.8
|
|
9
9
|
Classifier: Programming Language :: Python :: 3.9
|
10
10
|
Classifier: Programming Language :: Python :: 3.10
|
11
11
|
Classifier: Programming Language :: Python :: 3.11
|
12
|
-
Requires-Dist: lnschema_core==0.
|
13
|
-
Requires-Dist: lamindb_setup==0.
|
12
|
+
Requires-Dist: lnschema_core==0.63.0
|
13
|
+
Requires-Dist: lamindb_setup==0.66.1
|
14
14
|
Requires-Dist: lamin_utils==0.13.0
|
15
|
-
Requires-Dist: lamin_cli==0.
|
15
|
+
Requires-Dist: lamin_cli==0.9.3
|
16
16
|
Requires-Dist: rapidfuzz
|
17
17
|
Requires-Dist: pyarrow
|
18
18
|
Requires-Dist: typing_extensions!=4.6.0
|
@@ -24,8 +24,9 @@ Requires-Dist: graphviz
|
|
24
24
|
Requires-Dist: psycopg2-binary
|
25
25
|
Requires-Dist: urllib3<2 ; extra == "aws"
|
26
26
|
Requires-Dist: aiobotocore[boto3]>=2.5.4,<3.0.0 ; extra == "aws"
|
27
|
+
Requires-Dist: s3fs==2023.12.2 ; extra == "aws"
|
27
28
|
Requires-Dist: fsspec[s3]==2023.12.2 ; extra == "aws"
|
28
|
-
Requires-Dist: bionty==0.
|
29
|
+
Requires-Dist: bionty==0.42.0 ; extra == "bionty"
|
29
30
|
Requires-Dist: pandas<2 ; extra == "dev"
|
30
31
|
Requires-Dist: pre-commit ; extra == "dev"
|
31
32
|
Requires-Dist: nox ; extra == "dev"
|
@@ -59,14 +60,11 @@ Provides-Extra: zarr
|
|
59
60
|
|
60
61
|
# LaminDB - A data framework for biology
|
61
62
|
|
62
|
-
|
63
|
-
|
64
|
-
- Access data & metadata across storage & databases.
|
63
|
+
- Access storage & databases with one Python API & CLI.
|
65
64
|
- Track data lineage across notebooks & pipelines.
|
66
65
|
- Manage registries for experimental metadata & in-house ontologies.
|
67
|
-
- Validate, standardize & annotate
|
68
|
-
-
|
69
|
-
- Manage data access, leverage an auditable system of record.
|
66
|
+
- Validate, standardize & annotate.
|
67
|
+
- Collaborate across a mesh of distributed LaminDB instances.
|
70
68
|
|
71
69
|
## Documentation
|
72
70
|
|
@@ -4,14 +4,11 @@
|
|
4
4
|
|
5
5
|
# LaminDB - A data framework for biology
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
- Access data & metadata across storage & databases.
|
7
|
+
- Access storage & databases with one Python API & CLI.
|
10
8
|
- Track data lineage across notebooks & pipelines.
|
11
9
|
- Manage registries for experimental metadata & in-house ontologies.
|
12
|
-
- Validate, standardize & annotate
|
13
|
-
-
|
14
|
-
- Manage data access, leverage an auditable system of record.
|
10
|
+
- Validate, standardize & annotate.
|
11
|
+
- Collaborate across a mesh of distributed LaminDB instances.
|
15
12
|
|
16
13
|
## Documentation
|
17
14
|
|
@@ -66,15 +66,9 @@
|
|
66
66
|
"outputs": [],
|
67
67
|
"source": [
|
68
68
|
"import lamindb as ln\n",
|
69
|
-
"import bionty as bt"
|
70
|
-
|
71
|
-
|
72
|
-
{
|
73
|
-
"cell_type": "code",
|
74
|
-
"execution_count": null,
|
75
|
-
"metadata": {},
|
76
|
-
"outputs": [],
|
77
|
-
"source": [
|
69
|
+
"import bionty as bt\n",
|
70
|
+
"\n",
|
71
|
+
"ln.connect(\"test-registries\")\n",
|
78
72
|
"ln.settings.verbosity = \"info\""
|
79
73
|
]
|
80
74
|
},
|
@@ -939,16 +933,16 @@
|
|
939
933
|
"name": "python3"
|
940
934
|
},
|
941
935
|
"language_info": {
|
942
|
-
"artifact_extension": ".py",
|
943
936
|
"codemirror_mode": {
|
944
937
|
"name": "ipython",
|
945
938
|
"version": 3
|
946
939
|
},
|
940
|
+
"file_extension": ".py",
|
947
941
|
"mimetype": "text/x-python",
|
948
942
|
"name": "python",
|
949
943
|
"nbconvert_exporter": "python",
|
950
944
|
"pygments_lexer": "ipython3",
|
951
|
-
"version": "3.
|
945
|
+
"version": "3.10.13"
|
952
946
|
},
|
953
947
|
"nbproject": {
|
954
948
|
"id": "s7F7PezA1HdQ",
|
@@ -6,7 +6,19 @@
|
|
6
6
|
|
7
7
|
## 0.68
|
8
8
|
|
9
|
-
|
9
|
+
### 0.68.2 {small}`2024-03-11`
|
10
|
+
|
11
|
+
- 🚸 Move transform & run artifacts into cache before uploading [PR](https://github.com/laminlabs/lamindb/pull/1488) [@falexwolf](https://github.com/falexwolf)
|
12
|
+
- 🚸 More sensible transform types [PR](https://github.com/laminlabs/lamindb/pull/1486) [@falexwolf](https://github.com/falexwolf)
|
13
|
+
- 🚚 Rename `lnschema_lamin1` to `wetlab` [PR](https://github.com/laminlabs/lamindb/pull/1487) [@falexwolf](https://github.com/falexwolf)
|
14
|
+
|
15
|
+
### 0.68.1 {small}`2024-03-08`
|
16
|
+
|
17
|
+
- 🚸 You can now use `ln.connect()` to connect to a LaminDB instance [PR](https://github.com/laminlabs/lamindb/pull/1480) [@falexwolf](https://github.com/falexwolf)
|
18
|
+
- 🚸 You can no longer delete data from non-default storage locations, as these might be tracked in other instances [PR](https://github.com/laminlabs/lamindb/pull/1484) [@sunnyosun](https://github.com/sunnyosun)
|
19
|
+
- 🚸 Enable transferring data from local instances to remote instances [PR](https://github.com/laminlabs/lamindb/pull/1479) [@sunnyosun](https://github.com/sunnyosun)
|
20
|
+
|
21
|
+
### 0.68.0 {small}`2024-03-01`
|
10
22
|
|
11
23
|
🚸 Decouple features linking from Artifact construction [PR 1](https://github.com/laminlabs/lamindb/pull/1434) [2](https://github.com/laminlabs/lamindb/pull/1455) [3](https://github.com/laminlabs/lamindb/pull/1458) [@sunnyosun](https://github.com/sunnyosun).
|
12
24
|
|
@@ -43,7 +55,7 @@ artifact.labels.add(labels)
|
|
43
55
|
|
44
56
|
## 0.67
|
45
57
|
|
46
|
-
|
58
|
+
### 0.67.3 {small}`2024-02-02`
|
47
59
|
|
48
60
|
- 🚸 Can now import `bionty` instead of `lnschema-bionty` [PR](https://github.com/laminlabs/lamindb/pull/1415) [@sunnyosun](https://github.com/sunnyosun)
|
49
61
|
- ♻️ Use Click for CLI [PR](https://github.com/laminlabs/lamindb/pull/1420) [@chaichontat](https://github.com/chaichontat)
|
@@ -63,6 +63,24 @@
|
|
63
63
|
"!lamin init --storage s3://lamindb-ci/test-data --name test-data"
|
64
64
|
]
|
65
65
|
},
|
66
|
+
{
|
67
|
+
"cell_type": "code",
|
68
|
+
"execution_count": null,
|
69
|
+
"metadata": {},
|
70
|
+
"outputs": [],
|
71
|
+
"source": [
|
72
|
+
"!lamin info"
|
73
|
+
]
|
74
|
+
},
|
75
|
+
{
|
76
|
+
"cell_type": "code",
|
77
|
+
"execution_count": null,
|
78
|
+
"metadata": {},
|
79
|
+
"outputs": [],
|
80
|
+
"source": [
|
81
|
+
"!lamin set --auto-connect True"
|
82
|
+
]
|
83
|
+
},
|
66
84
|
{
|
67
85
|
"cell_type": "code",
|
68
86
|
"execution_count": null,
|
@@ -72,6 +90,15 @@
|
|
72
90
|
"import lamindb as ln"
|
73
91
|
]
|
74
92
|
},
|
93
|
+
{
|
94
|
+
"cell_type": "code",
|
95
|
+
"execution_count": null,
|
96
|
+
"metadata": {},
|
97
|
+
"outputs": [],
|
98
|
+
"source": [
|
99
|
+
"ln.connect(\"test-data\")"
|
100
|
+
]
|
101
|
+
},
|
75
102
|
{
|
76
103
|
"cell_type": "code",
|
77
104
|
"execution_count": null,
|
@@ -322,16 +349,16 @@
|
|
322
349
|
"name": "python3"
|
323
350
|
},
|
324
351
|
"language_info": {
|
325
|
-
"artifact_extension": ".py",
|
326
352
|
"codemirror_mode": {
|
327
353
|
"name": "ipython",
|
328
354
|
"version": 3
|
329
355
|
},
|
356
|
+
"file_extension": ".py",
|
330
357
|
"mimetype": "text/x-python",
|
331
358
|
"name": "python",
|
332
359
|
"nbconvert_exporter": "python",
|
333
360
|
"pygments_lexer": "ipython3",
|
334
|
-
"version": "3.
|
361
|
+
"version": "3.10.13"
|
335
362
|
},
|
336
363
|
"nbproject": {
|
337
364
|
"id": "YVUCtH4GfQOy",
|
@@ -106,9 +106,7 @@
|
|
106
106
|
"outputs": [],
|
107
107
|
"source": [
|
108
108
|
"with pytest.raises(RuntimeError):\n",
|
109
|
-
" ln.setup.init(storage=\"./testsetup2\")
|
110
|
-
"with pytest.raises(RuntimeError):\n",
|
111
|
-
" ln.setup.load(\"testsetup\")"
|
109
|
+
" ln.setup.init(storage=\"./testsetup2\")"
|
112
110
|
]
|
113
111
|
},
|
114
112
|
{
|
@@ -1,16 +1,17 @@
|
|
1
1
|
**Access data & metadata across storage (files, arrays) & database (SQL) backends.**
|
2
2
|
|
3
3
|
- Query & search: {class}`~lamindb.core.Registry.filter`, {class}`~lamindb.core.Registry.search`
|
4
|
-
- Stage, load
|
5
|
-
-
|
4
|
+
- Stage, load & stream artifacts: {class}`~lamindb.Artifact.stage`, {class}`~lamindb.Artifact.load`, {class}`~lamindb.Artifact.backed`
|
5
|
+
- Manage {class}`~lamindb.Feature`, {class}`~lamindb.FeatureSet`, {class}`~lamindb.ULabel`
|
6
6
|
- Plug-in custom [schemas](/schemas) & manage schema migrations
|
7
7
|
- Use array formats in memory & storage: [DataFrame](/tutorial), [AnnData](/data), [MuData](docs:multimodal), [SOMA](docs:cellxgene), ... backed by [parquet](/tutorial), [zarr](/data), [TileDB](docs:cellxgene), [HDF5](/data), [h5ad](/data), [DuckDB](docs:rxrx), ...
|
8
8
|
- Bridge artifacts and warehousing: {class}`~lamindb.Artifact`, {class}`~lamindb.Collection`
|
9
|
+
- Leverage out-of-the-box PyTorch data loaders: {meth}`~lamindb.Collection.mapped`
|
9
10
|
- Version artifacts, collections & transforms
|
10
11
|
|
11
12
|
**Track data lineage across notebooks, pipelines & UI: {meth}`~lamindb.track`, {class}`~lamindb.Transform` & {class}`~lamindb.Run`.**
|
12
13
|
|
13
|
-
- Execution reports
|
14
|
+
- Execution reports, source code and Python environments for [notebooks & scripts](/track)
|
14
15
|
- Integrate with workflow managers: [redun](docs:redun), [nextflow](docs:nextflow), [snakemake](docs:snakemake)
|
15
16
|
|
16
17
|
**Manage registries for experimental metadata & in-house ontologies, import public ontologies.**
|
@@ -20,7 +21,7 @@
|
|
20
21
|
- {class}`~bionty.ExperimentalFactor`, {class}`~bionty.CellType`, {class}`~bionty.CellLine`, {class}`~bionty.Tissue`, ...
|
21
22
|
- Safeguards against typos & duplications
|
22
23
|
|
23
|
-
**Validate, standardize & annotate
|
24
|
+
**Validate, standardize & annotate based on registries: {class}`~lamindb.core.CanValidate.validate` & {class}`~lamindb.core.CanValidate.standardize`.**
|
24
25
|
|
25
26
|
- Inspect validation failures: {class}`~lamindb.core.CanValidate.inspect`
|
26
27
|
- Annotate with untyped or typed labels: {class}`~lamindb.core.LabelManager.add`
|
@@ -6,6 +6,8 @@
|
|
6
6
|
"source": [
|
7
7
|
"# Introduction\n",
|
8
8
|
"\n",
|
9
|
+
"LaminDB is an open-source data framework for biology:\n",
|
10
|
+
"\n",
|
9
11
|
"```{include} ../README.md\n",
|
10
12
|
":start-line: 6\n",
|
11
13
|
":end-line: -4\n",
|
@@ -39,7 +41,8 @@
|
|
39
41
|
"Public beta: Close to having converged a stable API, but some breaking changes might still occur.\n",
|
40
42
|
"\n",
|
41
43
|
"```\n",
|
42
|
-
"
|
44
|
+
"\n",
|
45
|
+
"You'll ingest a small dataset while tracking data lineage, and learn how to validate, annotate, query & search."
|
43
46
|
]
|
44
47
|
},
|
45
48
|
{
|
@@ -53,43 +56,33 @@
|
|
53
56
|
"pip install 'lamindb[jupyter,bionty]'\n",
|
54
57
|
"```\n",
|
55
58
|
"\n",
|
56
|
-
"Initialize a LaminDB instance:"
|
59
|
+
"Initialize a LaminDB instance mounting plug-in {py:mod}`bionty` for biological types:"
|
57
60
|
]
|
58
61
|
},
|
59
62
|
{
|
60
63
|
"cell_type": "code",
|
61
64
|
"execution_count": null,
|
62
|
-
"metadata": {
|
63
|
-
"tags": [
|
64
|
-
"hide-output"
|
65
|
-
]
|
66
|
-
},
|
67
|
-
"outputs": [],
|
68
|
-
"source": [
|
69
|
-
"!lamin init --schema bionty --storage ./lamin-intro"
|
70
|
-
]
|
71
|
-
},
|
72
|
-
{
|
73
|
-
"cell_type": "markdown",
|
74
65
|
"metadata": {},
|
66
|
+
"outputs": [],
|
75
67
|
"source": [
|
76
|
-
"
|
68
|
+
"import lamindb as ln\n",
|
77
69
|
"\n",
|
78
|
-
"
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
"
|
70
|
+
"# artifacts are stored in a local directory `./lamin-intro`\n",
|
71
|
+
"ln.setup.init(schema=\"bionty\", storage=\"./lamin-intro\")\n",
|
72
|
+
"\n",
|
73
|
+
"# tag your code with auto-generated identifiers for a script or notebook\n",
|
74
|
+
"ln.transform.stem_uid = \"FPnfDtJz8qbE\"\n",
|
75
|
+
"ln.transform.version = \"1\"\n",
|
76
|
+
"\n",
|
77
|
+
"# track the execution of a transform with a global run context\n",
|
78
|
+
"ln.track()"
|
86
79
|
]
|
87
80
|
},
|
88
81
|
{
|
89
82
|
"cell_type": "markdown",
|
90
83
|
"metadata": {},
|
91
84
|
"source": [
|
92
|
-
"
|
85
|
+
"### Manage artifacts"
|
93
86
|
]
|
94
87
|
},
|
95
88
|
{
|
@@ -98,20 +91,13 @@
|
|
98
91
|
"metadata": {},
|
99
92
|
"outputs": [],
|
100
93
|
"source": [
|
101
|
-
"import lamindb as ln\n",
|
102
94
|
"import pandas as pd\n",
|
103
95
|
"\n",
|
104
|
-
"#
|
105
|
-
"
|
106
|
-
"
|
107
|
-
"
|
108
|
-
|
109
|
-
},
|
110
|
-
{
|
111
|
-
"cell_type": "markdown",
|
112
|
-
"metadata": {},
|
113
|
-
"source": [
|
114
|
-
"### Create artifacts"
|
96
|
+
"# dummy data\n",
|
97
|
+
"df = pd.DataFrame(\n",
|
98
|
+
" {\"CD8A\": [1, 2, 3], \"CD4\": [3, 4, 5], \"CD14\": [5, 6, 7], \"perturbation\": [\"DMSO\", \"IFNG\", \"DMSO\"]},\n",
|
99
|
+
" index=[\"observation1\", \"observation2\", \"observation3\"],\n",
|
100
|
+
")"
|
115
101
|
]
|
116
102
|
},
|
117
103
|
{
|
@@ -129,10 +115,6 @@
|
|
129
115
|
},
|
130
116
|
"outputs": [],
|
131
117
|
"source": [
|
132
|
-
"df = pd.DataFrame(\n",
|
133
|
-
" {\"CD8A\": [1, 2, 3], \"CD4\": [3, 4, 5], \"CD14\": [5, 6, 7], \"perturbation\": [\"DMSO\", \"IFNG\", \"DMSO\"]},\n",
|
134
|
-
" index=[\"observation1\", \"observation2\", \"observation3\"],\n",
|
135
|
-
")\n",
|
136
118
|
"artifact = ln.Artifact.from_df(df, description=\"my RNA-seq\", version=\"1\")"
|
137
119
|
]
|
138
120
|
},
|
@@ -257,9 +239,7 @@
|
|
257
239
|
"cell_type": "markdown",
|
258
240
|
"metadata": {},
|
259
241
|
"source": [
|
260
|
-
"Because, under-the-hood, LaminDB is SQL & Django, you can write arbitrarily complex relational queries
|
261
|
-
"\n",
|
262
|
-
"This can give you a gist of it:"
|
242
|
+
"Because, under-the-hood, LaminDB is SQL & Django, you can write arbitrarily complex relational queries:"
|
263
243
|
]
|
264
244
|
},
|
265
245
|
{
|
@@ -279,7 +259,7 @@
|
|
279
259
|
"\n",
|
280
260
|
"If you work with a remote instance on LaminHub, you can compose queries as shown below.\n",
|
281
261
|
"\n",
|
282
|
-
"Because LaminDB's metadata-management is based on SQL,
|
262
|
+
"Because LaminDB's metadata-management is based on SQL, registries can easily have 10s of millions of rows.\n",
|
283
263
|
"\n",
|
284
264
|
"<img src=\"https://lamin-site-assets.s3.amazonaws.com/.lamindb/L188T2JjzZHWHfv2S0ib.png\" width=\"700px\">\n",
|
285
265
|
"\n",
|
@@ -363,21 +343,7 @@
|
|
363
343
|
"cell_type": "markdown",
|
364
344
|
"metadata": {},
|
365
345
|
"source": [
|
366
|
-
"##
|
367
|
-
]
|
368
|
-
},
|
369
|
-
{
|
370
|
-
"cell_type": "markdown",
|
371
|
-
"metadata": {},
|
372
|
-
"source": [
|
373
|
-
"To define a validation framework for your data, you can define features and labels using their registries."
|
374
|
-
]
|
375
|
-
},
|
376
|
-
{
|
377
|
-
"cell_type": "markdown",
|
378
|
-
"metadata": {},
|
379
|
-
"source": [
|
380
|
-
"### Features & labels"
|
346
|
+
"## Features & labels"
|
381
347
|
]
|
382
348
|
},
|
383
349
|
{
|
@@ -477,7 +443,7 @@
|
|
477
443
|
"cell_type": "markdown",
|
478
444
|
"metadata": {},
|
479
445
|
"source": [
|
480
|
-
"
|
446
|
+
"## Validate & annotate"
|
481
447
|
]
|
482
448
|
},
|
483
449
|
{
|
@@ -563,13 +529,6 @@
|
|
563
529
|
":::"
|
564
530
|
]
|
565
531
|
},
|
566
|
-
{
|
567
|
-
"cell_type": "markdown",
|
568
|
-
"metadata": {},
|
569
|
-
"source": [
|
570
|
-
"### Query for annotations"
|
571
|
-
]
|
572
|
-
},
|
573
532
|
{
|
574
533
|
"cell_type": "markdown",
|
575
534
|
"metadata": {},
|
@@ -623,9 +582,9 @@
|
|
623
582
|
"cell_type": "markdown",
|
624
583
|
"metadata": {},
|
625
584
|
"source": [
|
626
|
-
"
|
585
|
+
"{class}`~lamindb.Feature` and {class}`~lamindb.ULabel` will get you pretty far.\n",
|
627
586
|
"\n",
|
628
|
-
"But if you use an entity many times, you typically want a dedicated registry
|
587
|
+
"But if you use an entity many times, you typically want a dedicated registry.\n",
|
629
588
|
"\n",
|
630
589
|
"Let's do this with {class}`~bionty.Gene` and {class}`~bionty.Tissue` from plug-in {py:mod}`bionty`:"
|
631
590
|
]
|
@@ -668,16 +627,7 @@
|
|
668
627
|
"cell_type": "markdown",
|
669
628
|
"metadata": {},
|
670
629
|
"source": [
|
671
|
-
"To manage features of different types, let us use an `AnnData` object:"
|
672
|
-
]
|
673
|
-
},
|
674
|
-
{
|
675
|
-
"cell_type": "code",
|
676
|
-
"execution_count": null,
|
677
|
-
"metadata": {},
|
678
|
-
"outputs": [],
|
679
|
-
"source": [
|
680
|
-
"import anndata as ad"
|
630
|
+
"To manage features of different types, let us use an `AnnData` object, which comes with two slots for storing data & metadata:"
|
681
631
|
]
|
682
632
|
},
|
683
633
|
{
|
@@ -686,6 +636,8 @@
|
|
686
636
|
"metadata": {},
|
687
637
|
"outputs": [],
|
688
638
|
"source": [
|
639
|
+
"import anndata as ad\n",
|
640
|
+
"\n",
|
689
641
|
"adata = ad.AnnData(df[[\"CD8A\", \"CD4\", \"CD14\"]], obs=df[[\"perturbation\"]])"
|
690
642
|
]
|
691
643
|
},
|
@@ -765,15 +717,7 @@
|
|
765
717
|
"artifact.features.add_from_anndata(var_field=bt.Gene.symbol, organism=\"human\")\n",
|
766
718
|
"artifact.labels.add(study)\n",
|
767
719
|
"artifact.labels.add(adata.obs.perturbation, feature=features_lookup.perturbation)\n",
|
768
|
-
"artifact.labels.add(tissue)"
|
769
|
-
]
|
770
|
-
},
|
771
|
-
{
|
772
|
-
"cell_type": "code",
|
773
|
-
"execution_count": null,
|
774
|
-
"metadata": {},
|
775
|
-
"outputs": [],
|
776
|
-
"source": [
|
720
|
+
"artifact.labels.add(tissue)\n",
|
777
721
|
"artifact.describe()"
|
778
722
|
]
|
779
723
|
},
|
@@ -805,7 +749,37 @@
|
|
805
749
|
"cell_type": "markdown",
|
806
750
|
"metadata": {},
|
807
751
|
"source": [
|
808
|
-
"###
|
752
|
+
"### Manage biological registries\n",
|
753
|
+
"\n",
|
754
|
+
"Create a cell type registry and add a new cell state (from [here](bio-registries)):"
|
755
|
+
]
|
756
|
+
},
|
757
|
+
{
|
758
|
+
"cell_type": "code",
|
759
|
+
"execution_count": null,
|
760
|
+
"metadata": {},
|
761
|
+
"outputs": [],
|
762
|
+
"source": [
|
763
|
+
"# create an ontology-coupled cell type record and save it\n",
|
764
|
+
"bt.CellType.from_public(name=\"neuron\").save()\n",
|
765
|
+
"\n",
|
766
|
+
"# create a record to track a new cell state\n",
|
767
|
+
"new_cell_state = bt.CellType(name=\"my neuron cell state\", description=\"explains X\")\n",
|
768
|
+
"new_cell_state.save()\n",
|
769
|
+
"\n",
|
770
|
+
"# express that it's a neuron state\n",
|
771
|
+
"cell_types = bt.CellType.lookup()\n",
|
772
|
+
"new_cell_state.parents.add(cell_types.neuron)\n",
|
773
|
+
"\n",
|
774
|
+
"# view ontological hierarchy\n",
|
775
|
+
"new_cell_state.view_parents(distance=2)"
|
776
|
+
]
|
777
|
+
},
|
778
|
+
{
|
779
|
+
"cell_type": "markdown",
|
780
|
+
"metadata": {},
|
781
|
+
"source": [
|
782
|
+
"## Collections of artifacts"
|
809
783
|
]
|
810
784
|
},
|
811
785
|
{
|
@@ -888,13 +862,6 @@
|
|
888
862
|
"artifact2.describe()"
|
889
863
|
]
|
890
864
|
},
|
891
|
-
{
|
892
|
-
"cell_type": "markdown",
|
893
|
-
"metadata": {},
|
894
|
-
"source": [
|
895
|
-
"### Collections of artifacts"
|
896
|
-
]
|
897
|
-
},
|
898
865
|
{
|
899
866
|
"cell_type": "markdown",
|
900
867
|
"metadata": {},
|
@@ -950,7 +917,7 @@
|
|
950
917
|
"cell_type": "markdown",
|
951
918
|
"metadata": {},
|
952
919
|
"source": [
|
953
|
-
"
|
920
|
+
"## Machine learning models"
|
954
921
|
]
|
955
922
|
},
|
956
923
|
{
|
@@ -980,9 +947,7 @@
|
|
980
947
|
"cell_type": "markdown",
|
981
948
|
"metadata": {},
|
982
949
|
"source": [
|
983
|
-
"##
|
984
|
-
"\n",
|
985
|
-
"### Understand data lineage\n",
|
950
|
+
"## Data lineage\n",
|
986
951
|
"\n",
|
987
952
|
"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",
|
988
953
|
"\n",
|
@@ -1001,53 +966,14 @@
|
|
1001
966
|
"<img src=\"https://lamin-site-assets.s3.amazonaws.com/.lamindb/KQmzmmLOeBN0C8Ykitjn.svg\" width=\"800\">\n",
|
1002
967
|
"\n",
|
1003
968
|
"\n",
|
1004
|
-
"Both figures are based on mere calls to `ln.track()` in notebooks, pipelines & app
|
1005
|
-
"\n",
|
1006
|
-
"\n",
|
1007
|
-
"### Manage biological registries\n",
|
1008
|
-
"\n",
|
1009
|
-
"Create a cell type registry from public knowledge and add a new cell state (from [here](bio-registries)):"
|
1010
|
-
]
|
1011
|
-
},
|
1012
|
-
{
|
1013
|
-
"cell_type": "code",
|
1014
|
-
"execution_count": null,
|
1015
|
-
"metadata": {
|
1016
|
-
"tags": [
|
1017
|
-
"hide-output"
|
1018
|
-
]
|
1019
|
-
},
|
1020
|
-
"outputs": [],
|
1021
|
-
"source": [
|
1022
|
-
"import bionty as bt\n",
|
1023
|
-
"\n",
|
1024
|
-
"# create an ontology-coupled cell type record and save it\n",
|
1025
|
-
"bt.CellType.from_public(name=\"neuron\").save()\n",
|
1026
|
-
"\n",
|
1027
|
-
"# create a record to track a new cell state\n",
|
1028
|
-
"new_cell_state = bt.CellType(name=\"my neuron cell state\", description=\"explains X\")\n",
|
1029
|
-
"new_cell_state.save()\n",
|
1030
|
-
"\n",
|
1031
|
-
"# express that it's a neuron state\n",
|
1032
|
-
"cell_types = bt.CellType.lookup()\n",
|
1033
|
-
"new_cell_state.parents.add(cell_types.neuron)"
|
1034
|
-
]
|
1035
|
-
},
|
1036
|
-
{
|
1037
|
-
"cell_type": "code",
|
1038
|
-
"execution_count": null,
|
1039
|
-
"metadata": {},
|
1040
|
-
"outputs": [],
|
1041
|
-
"source": [
|
1042
|
-
"# view ontological hierarchy\n",
|
1043
|
-
"new_cell_state.view_parents(distance=2)"
|
969
|
+
"Both figures are based on mere calls to `ln.track()` in notebooks, pipelines & app."
|
1044
970
|
]
|
1045
971
|
},
|
1046
972
|
{
|
1047
973
|
"cell_type": "markdown",
|
1048
974
|
"metadata": {},
|
1049
975
|
"source": [
|
1050
|
-
"
|
976
|
+
"## Mesh of databases\n",
|
1051
977
|
"\n",
|
1052
978
|
"LaminDB is a distributed system like git. Similar to cloning a repository, collaborators can load your instance on the command-line using:\n",
|
1053
979
|
"\n",
|
@@ -1057,18 +983,18 @@
|
|
1057
983
|
"\n",
|
1058
984
|
"If you run `lamin save <notebook_path>`, you will save the notebook to your default storage location.\n",
|
1059
985
|
"\n",
|
1060
|
-
"You can explore the notebook report corresponding to the quickstart [here](https://lamin.ai/laminlabs/lamindata/
|
986
|
+
"You can explore the notebook report corresponding to the quickstart [here](https://lamin.ai/laminlabs/lamindata/Transform?id=FPnfDtJz8qbEz8) in LaminHub.\n",
|
1061
987
|
"\n",
|
1062
|
-
"
|
988
|
+
"## Custom schemas\n",
|
1063
989
|
"\n",
|
1064
990
|
"LaminDB can be customized & extended with schema & app plug-ins building on the [Django](https://github.com/django/django) ecosystem. Examples are\n",
|
1065
991
|
"\n",
|
1066
992
|
"- [bionty](./bionty): Registries for basic biological entities, coupled to public ontologies.\n",
|
1067
|
-
"- [
|
993
|
+
"- [wetlab](https://github.com/laminlabs/wetlab): Exemplary custom schema to manage samples, treatments, etc. \n",
|
1068
994
|
"\n",
|
1069
995
|
"If you'd like to create your own schema or app:\n",
|
1070
996
|
"\n",
|
1071
|
-
"1. Create a git repository with registries similar to [
|
997
|
+
"1. Create a git repository with registries similar to [wetlab](https://github.com/laminlabs/wetlab)\n",
|
1072
998
|
"2. Create & deploy migrations via `lamin migrate create` and `lamin migrate deploy`\n",
|
1073
999
|
"\n",
|
1074
1000
|
"It's fastest if we do this for you based on our templates within an enterprise plan.\n",
|
@@ -1118,7 +1044,7 @@
|
|
1118
1044
|
"\n",
|
1119
1045
|
"- [lamindb](https://github.com/laminlabs/lamindb): Core API, which builds on the [core schema](https://github.com/laminlabs/lnschema-core).\n",
|
1120
1046
|
"- [bionty](https://github.com/laminlabs/bionty): Registries for basic biological entities, coupled to public ontologies.\n",
|
1121
|
-
"- [
|
1047
|
+
"- [wetlab](https://github.com/laminlabs/wetlab): Exemplary custom schema to manage samples, treatments, etc.\n",
|
1122
1048
|
"- [lamindb-setup](https://github.com/laminlabs/lamindb-setup): Setup & configure LaminDB, client for LaminHub.\n",
|
1123
1049
|
"- [lamin-cli](https://github.com/laminlabs/lamin-cli): CLI for `lamindb` and `lamindb-setup`.\n",
|
1124
1050
|
"- [nbproject](https://github.com/laminlabs/nbproject): Metadata parser for Jupyter notebooks.\n",
|
@@ -115,7 +115,7 @@
|
|
115
115
|
"\n",
|
116
116
|
"The only convention required by LaminDB for plugging in a valid (minimal) Django app.\n",
|
117
117
|
"\n",
|
118
|
-
"You'll see how simple it is if you look at this example: [github.com/laminlabs/
|
118
|
+
"You'll see how simple it is if you look at this example: [github.com/laminlabs/wetlab](https://github.com/laminlabs/wetlab).\n",
|
119
119
|
"\n",
|
120
120
|
"Schema management needs two CLI calls (see {doc}`/setup`):\n",
|
121
121
|
"\n",
|