lamindb 0.59.1__tar.gz → 0.59.3__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.59.1 → lamindb-0.59.3}/PKG-INFO +6 -6
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/changelog.md +12 -1
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/installation.md +2 -4
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/introduction.ipynb +4 -6
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/tutorial.ipynb +1 -1
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/__init__.py +1 -1
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_parents.py +1 -1
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/storage/_backed_access.py +2 -2
- {lamindb-0.59.1 → lamindb-0.59.3}/pyproject.toml +8 -8
- lamindb-0.59.3/sub/lamin-cli/lamin_cli/__init__.py +2 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/lamin_cli/_notebook.py +6 -1
- lamindb-0.59.3/sub/lamindb-setup/.pre-commit-config.yaml +64 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/changelog.md +1 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/__init__.py +1 -1
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/django.py +3 -1
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/noxfile.py +4 -8
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_storage.py +7 -0
- lamindb-0.59.1/sub/lamin-cli/lamin_cli/__init__.py +0 -2
- {lamindb-0.59.1 → lamindb-0.59.3}/.github/workflows/build.yml +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/.gitignore +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/.gitmodules +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/.pre-commit-config.yaml +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/LICENSE +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/README.md +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/bio-registries.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/bionty.md +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/data.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq/acid.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq/delete.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq/idempotency.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq/import-schema.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq/notebooks.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq/reference-field.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq/setup.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq/test_notebooks.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq/track-run-inputs.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq/validator.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq/visibility.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq.md +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/features-lamindb.md +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/features-laminhub.md +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/guide.md +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/index.md +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/lamin-utils.md +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/lamindb.md +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/lnschema-bionty.md +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/meta.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/nbproject.md +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/query-search.md +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/readfcs.md +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/reference.md +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/schemas.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/setup.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/signup-login.md +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/storage/add-replace-stage.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/storage/anndata-accessor.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/storage/test-files/iris.csv +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/storage/test-files/iris.data +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/storage/test-files/new_iris.csv +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/storage/test_notebooks.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/storage/upload.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/storage.md +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/test_notebooks.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/transfer.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/tutorial2.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/docs/validate.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_dataset.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_delete.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_feature.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_feature_set.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_file.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_filter.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_from_values.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_query_manager.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_query_set.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_registry.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_run.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_save.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_storage.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_transform.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_ulabel.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_utils.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_validate.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_view.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/__init__.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/_data.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/_feature_manager.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/_label_manager.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/_priors.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/_run_context.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/_settings.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/datasets/__init__.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/datasets/_core.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/datasets/_fake.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/exceptions.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/fields.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/hashing.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/storage/__init__.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/storage/_anndata_sizes.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/storage/_zarr.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/storage/file.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/storage/object.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/types.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/versioning.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/setup/__init__.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/setup/dev/__init__.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/noxfile.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/.gitignore +0 -0
- {lamindb-0.59.1/sub/lamindb-setup → lamindb-0.59.3/sub/lamin-cli}/.pre-commit-config.yaml +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/README.md +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/lamin_cli/__main__.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/pyproject.toml +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/tests/conftest.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/tests/notebooks/no-title.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/tests/test_cli.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/tests/test_notebooks.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/.github/workflows/build.yml +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/.gitignore +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/LICENSE +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/README.md +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/index.md +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/notebooks.md +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-only/test-cache-management.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-only/test-empty-init.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-only/test-import-schema.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-only/test-insufficient-user-info.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-only/test-load-lock.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-only/test-sqlite-sync.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-only/test_notebooks2.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-staging/01-init-instance.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-staging/02-load-instance.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-staging/03-set-storage.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-staging/04-test-bionty.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-staging/test-multi-session.ipynb +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-staging/test_notebooks.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/reference.md +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_check_instance_setup.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_delete.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_django.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_docstrings.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_export.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_info.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_init_instance.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_init_vault.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_load_instance.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_migrate.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_set.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_settings.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_setup_user.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/__init__.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_deprecated.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_docs.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_hub_client.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_hub_core.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_hub_crud.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_hub_utils.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_settings_instance.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_settings_load.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_settings_save.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_settings_storage.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_settings_store.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_settings_user.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_setup_bionty_sources.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/cloud_sqlite_locker.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/upath.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/pyproject.toml +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/hub-local/conftest.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/hub-local/test_all.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/prod-only/conftest.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/prod-only/test_django.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/prod-only/test_switch_and_fallback_env.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/prod-staging/test_delete_instance.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/prod-staging/test_init_instance.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/prod-staging/test_load_instance.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/prod-staging/test_login.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/prod-staging/test_migrate.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/prod-staging/test_set_storage.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/test_load_persistent_instance.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/test_vault.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/.github/workflows/build.yml +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/.gitignore +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/.pre-commit-config.yaml +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/CHANGELOG.md +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/LICENSE +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/README.md +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/__init__.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/ids.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0001_initial.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0001_initial_squashed_0023.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0002_alter_user_name.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0003_alter_storage_region_alter_transform_short_name.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0004_rename_folder_tag_alter_project_folders.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0005_alter_run_inputs_delete_runinput.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0006_feature_dataset.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0007_feature_synonyms_featureset_field_and_more.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0008_file_hash_type_transform_parents.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0009_remove_featureset_files_feature_unit_and_more.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0010_dataset_categories_file_categories.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0011_label_remove_tag_created_by_remove_tag_parents_and_more.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0012_remove_label_ref_id_remove_label_ref_orm_and_more.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0013_remove_feature_labels_orm_and_more.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0014_rename_ref_field_featureset_registry.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0015_file_initial_version_file_version.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0016_dataset_input_of_dataset_run_dataset_transform_and_more.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0017_dataset_initial_version_dataset_version.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0018_rename_datasetlabel_datasetulabel_and_more.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0019_dataset_reference_dataset_reference_type_and_more.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0020_run_report_transform_latest_report_and_more.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0021_dataset_storage_alter_dataset_file.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0022_migrate_to_integer_pks.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0023_export_legacy_data.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0024_import_legacy_data.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0025_remove_user_email.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0026_dataset_visibility_file_visibility.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0027_file_key_is_virtual.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/mocks.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/models.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/types.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/users.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/noxfile.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/pyproject.toml +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/tests/test_integrity.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/conftest.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_cache.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_data.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_dataset.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_db.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_delete.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_feature.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_feature_manager.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_feature_set.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_file.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_from_values.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_hashing.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_label_manager.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_manager.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_parents.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_queryset.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_registry.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_run.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_run_context.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_save.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_settings.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_transfer.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_transform.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_ulabel.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_validate.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_versioning.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_view.py +0 -0
- {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_visibility.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: lamindb
|
3
|
-
Version: 0.59.
|
3
|
+
Version: 0.59.3
|
4
4
|
Summary: A data framework for biology.
|
5
5
|
Author-email: Lamin Labs <open-source@lamin.ai>
|
6
6
|
Requires-Python: >=3.8
|
@@ -9,8 +9,8 @@ Classifier: Programming Language :: Python :: 3.8
|
|
9
9
|
Classifier: Programming Language :: Python :: 3.9
|
10
10
|
Classifier: Programming Language :: Python :: 3.10
|
11
11
|
Requires-Dist: lnschema_core==0.54.0
|
12
|
-
Requires-Dist: lamindb_setup==0.57.
|
13
|
-
Requires-Dist: lamin_utils==0.11.
|
12
|
+
Requires-Dist: lamindb_setup==0.57.1
|
13
|
+
Requires-Dist: lamin_utils==0.11.7
|
14
14
|
Requires-Dist: lamin_cli==0.1.2
|
15
15
|
Requires-Dist: rapidfuzz
|
16
16
|
Requires-Dist: pyarrow
|
@@ -20,11 +20,13 @@ Requires-Dist: anndata>=0.8.0,<=0.10.2
|
|
20
20
|
Requires-Dist: fsspec
|
21
21
|
Requires-Dist: pandas
|
22
22
|
Requires-Dist: graphviz
|
23
|
+
Requires-Dist: psycopg2-binary
|
23
24
|
Requires-Dist: botocore==1.31.17 ; extra == "aws"
|
24
25
|
Requires-Dist: urllib3<2 ; extra == "aws"
|
25
26
|
Requires-Dist: boto3==1.28.17 ; extra == "aws"
|
26
27
|
Requires-Dist: aiobotocore==2.5.4 ; extra == "aws"
|
27
28
|
Requires-Dist: fsspec[s3]==2023.9.0 ; extra == "aws"
|
29
|
+
Requires-Dist: s3fs>=2023.1.0 ; extra == "aws"
|
28
30
|
Requires-Dist: lnschema_bionty==0.34.0 ; extra == "bionty"
|
29
31
|
Requires-Dist: pandas<2 ; extra == "dev"
|
30
32
|
Requires-Dist: pre-commit ; extra == "dev"
|
@@ -35,14 +37,13 @@ Requires-Dist: coverage ; extra == "dev"
|
|
35
37
|
Requires-Dist: pytest-cov ; extra == "dev"
|
36
38
|
Requires-Dist: nbproject_test>=0.3.0 ; extra == "dev"
|
37
39
|
Requires-Dist: faker-biology ; extra == "dev"
|
40
|
+
Requires-Dist: lamin_vault ; extra == "dev"
|
38
41
|
Requires-Dist: django-schema-graph ; extra == "erdiagram"
|
39
42
|
Requires-Dist: readfcs>=1.1.7 ; extra == "fcs"
|
40
43
|
Requires-Dist: fsspec[gs]==2023.9.0 ; extra == "gcp"
|
41
44
|
Requires-Dist: nbproject==0.9.2 ; extra == "jupyter"
|
42
45
|
Requires-Dist: nbstripout ; extra == "jupyter"
|
43
46
|
Requires-Dist: nbconvert ; extra == "jupyter"
|
44
|
-
Requires-Dist: psycopg2-binary ; extra == "postgres"
|
45
|
-
Requires-Dist: lamin_vault ; extra == "postgres"
|
46
47
|
Requires-Dist: zarr>=2.16.0 ; extra == "zarr"
|
47
48
|
Project-URL: Home, https://github.com/laminlabs/lamindb
|
48
49
|
Provides-Extra: aws
|
@@ -52,7 +53,6 @@ Provides-Extra: erdiagram
|
|
52
53
|
Provides-Extra: fcs
|
53
54
|
Provides-Extra: gcp
|
54
55
|
Provides-Extra: jupyter
|
55
|
-
Provides-Extra: postgres
|
56
56
|
Provides-Extra: zarr
|
57
57
|
|
58
58
|
[](https://github.com/laminlabs/lamindb)
|
@@ -6,9 +6,20 @@
|
|
6
6
|
|
7
7
|
## 0.59
|
8
8
|
|
9
|
+
### 0.59.3 {small}`2023-11-04`
|
10
|
+
|
11
|
+
- 💄 Show transform uid in view_flow [PR1280](https://github.com/laminlabs/lamindb/pull/1280) [@sunnyosun](https://github.com/sunnyosun)
|
12
|
+
- 🚸 Improve search [PR1279](https://github.com/laminlabs/lamindb/pull/1279) [@sunnyosun](https://github.com/sunnyosun)
|
13
|
+
|
14
|
+
### 0.59.2 {small}`2023-11-04`
|
15
|
+
|
16
|
+
- 🐛 Backed raw subset fix [PR1278](https://github.com/laminlabs/lamindb/pull/1278) [@Koncopd](https://github.com/Koncopd)
|
17
|
+
- 🚸 Improve connection stability [PR1277](https://github.com/laminlabs/lamindb/pull/1277) [@falexwolf](https://github.com/falexwolf)
|
18
|
+
- 🚸 Improve search [PR1275](https://github.com/laminlabs/lamindb/pull/1275) [@sunnyosun](https://github.com/sunnyosun)
|
19
|
+
|
9
20
|
### 0.59.1 {small}`2023-11-03`
|
10
21
|
|
11
|
-
- ♻️ Move CLI from lamindb-setup here [PR1264](https://github.com/laminlabs/lamindb/pull/1264) [@falexwolf](https://github.com/falexwolf)
|
22
|
+
- ♻️ Move CLI from `lamindb-setup` here [PR1264](https://github.com/laminlabs/lamindb/pull/1264) [@falexwolf](https://github.com/falexwolf)
|
12
23
|
- 🐛 `file.replace()` works with virtual keys [PR1265](https://github.com/laminlabs/lamindb/pull/1265) [@Koncopd](https://github.com/Koncopd)
|
13
24
|
|
14
25
|
### 0.59.0 {small}`2023-10-27`
|
@@ -14,8 +14,8 @@ Supported `extras` are:
|
|
14
14
|
|
15
15
|
```yaml
|
16
16
|
# commonly used
|
17
|
-
jupyter # parse Jupyter
|
18
|
-
bionty #
|
17
|
+
jupyter # parse Jupyter notebook metadata
|
18
|
+
bionty # access basic biological ontologies
|
19
19
|
# cloud backends
|
20
20
|
aws # AWS (s3fs, etc.)
|
21
21
|
gcp # Google Cloud (gcfs, etc.)
|
@@ -23,8 +23,6 @@ gcp # Google Cloud (gcfs, etc.)
|
|
23
23
|
fcs # manage FCS files (flow cytometry)
|
24
24
|
# storage backends
|
25
25
|
zarr # store & stream arrays with zarr
|
26
|
-
# database backends
|
27
|
-
postgres # postgres tools
|
28
26
|
# others
|
29
27
|
erdiagram # visualize ER diagrams, also needs graphviz
|
30
28
|
```
|
@@ -25,7 +25,7 @@
|
|
25
25
|
"```\n",
|
26
26
|
":::\n",
|
27
27
|
"\n",
|
28
|
-
"LaminHub
|
28
|
+
"Basic features of LaminHub are free. Enterprise features, support, integration tests & wetlab plug-ins hosted in your or our infrastructure are available on a [paid plan](https://lamin.ai/pricing): please [reach out](https://lamin.ai/contact)!"
|
29
29
|
]
|
30
30
|
},
|
31
31
|
{
|
@@ -52,7 +52,7 @@
|
|
52
52
|
" pip install 'lamindb[jupyter,bionty]'\n",
|
53
53
|
" ```\n",
|
54
54
|
"2. [Sign up](https://lamin.ai/signup) for a free account (see more [info](https://lamin.ai/docs/setup)) and copy the API key.\n",
|
55
|
-
"3. Log in on the command line:\n",
|
55
|
+
"3. Log in on the command line (data remains in your infrastructure, with Lamin having no access to it):\n",
|
56
56
|
" ```shell\n",
|
57
57
|
" lamin login <email> --key <API-key>\n",
|
58
58
|
" ```\n",
|
@@ -77,9 +77,7 @@
|
|
77
77
|
"cell_type": "markdown",
|
78
78
|
"metadata": {},
|
79
79
|
"source": [
|
80
|
-
"Because we passed `--schema bionty`, this instance mounted plug-in {mod}`lnschema_bionty
|
81
|
-
"\n",
|
82
|
-
"Note that data remains in your infrastructure, with Lamin having no access to it."
|
80
|
+
"Because we passed `--schema bionty`, this instance mounted plug-in {mod}`lnschema_bionty`."
|
83
81
|
]
|
84
82
|
},
|
85
83
|
{
|
@@ -614,7 +612,7 @@
|
|
614
612
|
"\n",
|
615
613
|
"If you run `lamin save <notebook_path>`, you will save the notebook to your default storage location.\n",
|
616
614
|
"\n",
|
617
|
-
"You can explore the notebook report corresponding to the quickstart [here](https://lamin.ai/laminlabs/lamindata/record/core/Transform?id=
|
615
|
+
"You can explore the notebook report corresponding to the quickstart [here](https://lamin.ai/laminlabs/lamindata/record/core/Transform?id=FPnfDtJz8qbEz8) in LaminHub.\n",
|
618
616
|
"\n",
|
619
617
|
"### Manage custom schemas\n",
|
620
618
|
"\n",
|
@@ -829,7 +829,7 @@
|
|
829
829
|
"cell_type": "markdown",
|
830
830
|
"metadata": {},
|
831
831
|
"source": [
|
832
|
-
"This will enable you to query the report and source code via `transform.latest_report` and `transform.source_file` and see it in the hub, e.g., [here](https://lamin.ai/laminlabs/lamindata/record/core/Transform?
|
832
|
+
"This will enable you to query the report and source code via `transform.latest_report` and `transform.source_file` and see it in the hub, e.g., [here](https://lamin.ai/laminlabs/lamindata/record/core/Transform?uid=NJvdsWWbJlZSz8).\n",
|
833
833
|
"\n",
|
834
834
|
"<img src=\"https://lamin-site-assets.s3.amazonaws.com/.lamindb/RGXj5wcAf7EAc6J8aBoM.png\" width=\"700px\">"
|
835
835
|
]
|
@@ -277,7 +277,7 @@ def _record_label(record: Registry, field: Optional[str] = None):
|
|
277
277
|
name = f'{record.transform.name.replace("&", "&")}'
|
278
278
|
return (
|
279
279
|
rf'<{TRANSFORM_EMOJIS.get(str(record.transform.type), "💫")} {name}<BR/><FONT COLOR="GREY" POINT-SIZE="10"' # noqa
|
280
|
-
rf' FACE="Monospace">uid={record.uid}<BR/>type={record.transform.type},'
|
280
|
+
rf' FACE="Monospace">uid={record.transform.uid}<BR/>type={record.transform.type},' # noqa
|
281
281
|
rf" user={record.created_by.name}<BR/>run_at={format_field_value(record.run_at)}</FONT>>" # noqa
|
282
282
|
)
|
283
283
|
elif isinstance(record, Transform):
|
@@ -547,7 +547,7 @@ class AnnDataAccessorSubset(_AnnDataAttrsMixin):
|
|
547
547
|
prepare_indices = None
|
548
548
|
if self.indices is not None:
|
549
549
|
oidx = self.indices[0]
|
550
|
-
if oidx != slice(None):
|
550
|
+
if isinstance(oidx, np.ndarray) or oidx != slice(None):
|
551
551
|
prepare_indices = oidx, slice(None)
|
552
552
|
return AnnDataRawAccessor(
|
553
553
|
self.storage["raw"],
|
@@ -575,7 +575,7 @@ class AnnDataRawAccessor(AnnDataAccessorSubset):
|
|
575
575
|
|
576
576
|
if attrs_keys is None:
|
577
577
|
attrs_keys = {}
|
578
|
-
if isinstance(var_raw,
|
578
|
+
if isinstance(var_raw, ArrayTypes):
|
579
579
|
attrs_keys["var"] = list(var_raw.dtype.fields.keys())
|
580
580
|
else:
|
581
581
|
# for some reason list(var_raw.keys()) is very slow for zarr
|
@@ -16,18 +16,19 @@ classifiers = [
|
|
16
16
|
dependencies = [
|
17
17
|
# Lamin PINNED packages
|
18
18
|
"lnschema_core==0.54.0",
|
19
|
-
"lamindb_setup==0.57.
|
20
|
-
"lamin_utils==0.11.
|
19
|
+
"lamindb_setup==0.57.1",
|
20
|
+
"lamin_utils==0.11.7",
|
21
21
|
"lamin_cli==0.1.2",
|
22
22
|
# others
|
23
23
|
"rapidfuzz",
|
24
24
|
"pyarrow",
|
25
25
|
"typing_extensions!=4.6.0",
|
26
26
|
"python-dateutil",
|
27
|
-
"anndata>=0.8.0,<=0.10.2", #
|
27
|
+
"anndata>=0.8.0,<=0.10.2", # will upgrade to new anndata releases
|
28
28
|
"fsspec",
|
29
29
|
"pandas",
|
30
30
|
"graphviz",
|
31
|
+
"psycopg2-binary",
|
31
32
|
]
|
32
33
|
|
33
34
|
[project.urls]
|
@@ -37,16 +38,13 @@ Home = "https://github.com/laminlabs/lamindb"
|
|
37
38
|
bionty = [
|
38
39
|
"lnschema_bionty==0.34.0",
|
39
40
|
]
|
40
|
-
postgres = [
|
41
|
-
"psycopg2-binary",
|
42
|
-
"lamin_vault", # only used for secrets management
|
43
|
-
]
|
44
41
|
aws = [
|
45
42
|
"botocore==1.31.17", # for aiobotocore inside s3fs, to fix deps resolution
|
46
43
|
"urllib3<2", # for botocore
|
47
44
|
"boto3==1.28.17", # to avoid conflicts arising due to the pin on botocore
|
48
45
|
"aiobotocore==2.5.4",
|
49
|
-
"fsspec[s3]==2023.9.0"
|
46
|
+
"fsspec[s3]==2023.9.0",
|
47
|
+
"s3fs>=2023.1.0", # very old versions of s3fs don't work
|
50
48
|
]
|
51
49
|
gcp = [
|
52
50
|
"fsspec[gs]==2023.9.0"
|
@@ -79,6 +77,8 @@ dev = [
|
|
79
77
|
"nbproject_test>=0.3.0",
|
80
78
|
# biology
|
81
79
|
"faker-biology",
|
80
|
+
# vault
|
81
|
+
"lamin_vault",
|
82
82
|
]
|
83
83
|
|
84
84
|
[tool.black]
|
@@ -125,7 +125,11 @@ def save(notebook_path: str) -> Optional[str]:
|
|
125
125
|
# convert the notebook file to html
|
126
126
|
notebook_path_html = notebook_path.replace(".ipynb", ".html")
|
127
127
|
logger.info(f"exporting notebook as html {notebook_path_html}")
|
128
|
-
|
128
|
+
# log_level is set to 40 to silence the nbconvert logging
|
129
|
+
result = subprocess.run(
|
130
|
+
f"jupyter nbconvert --to html {notebook_path} --Application.log_level=40",
|
131
|
+
shell=True,
|
132
|
+
)
|
129
133
|
assert result.returncode == 0
|
130
134
|
# copy the notebook file to a temporary file
|
131
135
|
notebook_path_stripped = notebook_path.replace(".ipynb", "_stripped.ipynb")
|
@@ -204,6 +208,7 @@ def save(notebook_path: str) -> Optional[str]:
|
|
204
208
|
)
|
205
209
|
report_file.save()
|
206
210
|
run.report = report_file
|
211
|
+
run.is_consecutive = is_consecutive
|
207
212
|
run.save()
|
208
213
|
# annotate transform
|
209
214
|
transform.source_file = source_file
|
@@ -0,0 +1,64 @@
|
|
1
|
+
repos:
|
2
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
3
|
+
rev: v3.2.0
|
4
|
+
hooks:
|
5
|
+
- id: trailing-whitespace
|
6
|
+
- id: end-of-file-fixer
|
7
|
+
exclude: |
|
8
|
+
(?x)(
|
9
|
+
.github/workflows/latest-changes.jinja2
|
10
|
+
)
|
11
|
+
- id: check-yaml
|
12
|
+
- id: check-added-large-files
|
13
|
+
- repo: https://github.com/psf/black
|
14
|
+
rev: 22.6.0
|
15
|
+
hooks:
|
16
|
+
- id: black-jupyter
|
17
|
+
- repo: https://github.com/pycqa/flake8
|
18
|
+
rev: 4.0.1
|
19
|
+
hooks:
|
20
|
+
- id: flake8
|
21
|
+
additional_dependencies:
|
22
|
+
- flake8-black==0.3.3
|
23
|
+
- flake8-typing-imports==1.10.0
|
24
|
+
language_version: python3
|
25
|
+
args:
|
26
|
+
- --max-line-length=88
|
27
|
+
- --ignore=E203,W503,BLK100,TYP001
|
28
|
+
exclude: |
|
29
|
+
(?x)(
|
30
|
+
__init__.py
|
31
|
+
)
|
32
|
+
- repo: https://github.com/pre-commit/mirrors-prettier
|
33
|
+
rev: v2.6.2
|
34
|
+
hooks:
|
35
|
+
- id: prettier
|
36
|
+
- repo: https://github.com/kynan/nbstripout
|
37
|
+
rev: 0.3.9
|
38
|
+
hooks:
|
39
|
+
- id: nbstripout
|
40
|
+
exclude: |
|
41
|
+
(?x)(
|
42
|
+
docs/examples/|
|
43
|
+
docs/notes/|
|
44
|
+
tests
|
45
|
+
)
|
46
|
+
- repo: https://github.com/Lucas-C/pre-commit-hooks
|
47
|
+
rev: v1.1.9
|
48
|
+
hooks:
|
49
|
+
- id: forbid-crlf
|
50
|
+
- id: remove-crlf
|
51
|
+
- repo: https://github.com/pre-commit/mirrors-mypy
|
52
|
+
rev: v0.940
|
53
|
+
hooks:
|
54
|
+
- id: mypy
|
55
|
+
exclude: |
|
56
|
+
(?x)(
|
57
|
+
tests/hub-local/conftest.py
|
58
|
+
)
|
59
|
+
- repo: https://github.com/pycqa/pydocstyle
|
60
|
+
rev: 6.1.1
|
61
|
+
hooks:
|
62
|
+
- id: pydocstyle
|
63
|
+
args: # google style + __init__, see http://www.pydocstyle.org/en/stable/error_codes.html
|
64
|
+
- --ignore=D100,D101,D102,D103,D104,D106,D107,D203,D204,D213,D215,D400,D401,D403,D404,D406,D407,D408,D409,D412,D413
|
@@ -3,6 +3,7 @@
|
|
3
3
|
<!-- prettier-ignore -->
|
4
4
|
Name | PR | Developer | Date | Version
|
5
5
|
--- | --- | --- | --- | ---
|
6
|
+
🚸 Lower `conn_mag_age` | [573](https://github.com/laminlabs/lamindb-setup/pull/573) | [falexwolf](https://github.com/falexwolf) | 2023-11-04 | 0.57.1
|
6
7
|
🚚 Move CLI to lamindb | [572](https://github.com/laminlabs/lamindb-setup/pull/572) | [falexwolf](https://github.com/falexwolf) | 2023-10-30 | 0.57.0
|
7
8
|
♻️ Also enable to read db from env variable | [571](https://github.com/laminlabs/lamindb-setup/pull/571) | [falexwolf](https://github.com/falexwolf) | 2023-10-26 | 0.56.4
|
8
9
|
♻️ Enable to pre-define the instance id | [570](https://github.com/laminlabs/lamindb-setup/pull/570) | [falexwolf](https://github.com/falexwolf) | 2023-10-26 | 0.56.3
|
@@ -55,7 +55,9 @@ def setup_django(
|
|
55
55
|
if not settings.configured:
|
56
56
|
default_db = dj_database_url.config(
|
57
57
|
default=isettings.db,
|
58
|
-
|
58
|
+
# https://laminlabs.slack.com/archives/C04FPE8V01W/p1698239551460289
|
59
|
+
# assuming postgres terminates a connection after 299s
|
60
|
+
conn_max_age=299,
|
59
61
|
conn_health_checks=True,
|
60
62
|
)
|
61
63
|
DATABASES = {
|
@@ -29,10 +29,8 @@ def install(session: nox.Session, group: str) -> None:
|
|
29
29
|
session.run(*"pip install ./laminhub-rest[server]".split())
|
30
30
|
session.run(*"pip install -e .[aws,dev]".split())
|
31
31
|
# need for CLI, but this is bad because it's downstream
|
32
|
-
session.run(
|
33
|
-
|
34
|
-
)
|
35
|
-
session.run(*"pip install lamindb/sub/lamin-cli".split())
|
32
|
+
session.run(*"git clone https://github.com/laminlabs/lamin-cli".split())
|
33
|
+
session.run(*"pip install lamin-cli".split())
|
36
34
|
elif group == "noaws":
|
37
35
|
session.run(*"pip install -e .[aws,dev]".split())
|
38
36
|
elif group == "vault":
|
@@ -43,10 +41,8 @@ def install(session: nox.Session, group: str) -> None:
|
|
43
41
|
)
|
44
42
|
session.run(*"pip install -e .[aws,dev]".split())
|
45
43
|
# need for CLI, but this is bad because it's downstream
|
46
|
-
session.run(
|
47
|
-
|
48
|
-
)
|
49
|
-
session.run(*"pip install lamindb/sub/lamin-cli".split())
|
44
|
+
session.run(*"git clone https://github.com/laminlabs/lamin-cli".split())
|
45
|
+
session.run(*"pip install lamin-cli".split())
|
50
46
|
elif group == "hub-local":
|
51
47
|
session.run(*"pip install -e .[aws,dev,hub]".split())
|
52
48
|
session.run(*"pip install ./laminhub-rest[server]".split())
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import shutil
|
2
2
|
|
3
3
|
import h5py
|
4
|
+
import numpy as np
|
4
5
|
import pandas as pd
|
5
6
|
import pytest
|
6
7
|
import zarr
|
@@ -106,6 +107,12 @@ def test_backed_access(adata_format):
|
|
106
107
|
obs_sub = ["TCAATCACCCTTCG-8", "CGTTATACAGTACC-8", "TGCCAAGATTGTGG-7"]
|
107
108
|
sub = access[obs_sub]
|
108
109
|
assert sub.obs_names.tolist() == obs_sub
|
110
|
+
assert sub.to_memory().shape == (3, 200)
|
111
|
+
|
112
|
+
idx = np.array([1, 2, 5])
|
113
|
+
sub = access[idx]
|
114
|
+
assert sub.raw.shape == (3, 100)
|
115
|
+
assert sub.to_memory().shape == (3, 200)
|
109
116
|
|
110
117
|
var_sub = ["SSU72", "PARK7", "RBP7"]
|
111
118
|
sub = access[:, var_sub]
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|