lamindb 1.9.1__tar.gz → 1.10.1__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-1.9.1 → lamindb-1.10.1}/.github/workflows/build.yml +1 -1
- {lamindb-1.9.1 → lamindb-1.10.1}/.gitignore +1 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/PKG-INFO +4 -4
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/arrays.ipynb +110 -47
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/faq/pydantic-pandera.ipynb +248 -14
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/registries.ipynb +2 -2
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/storage/vitessce.ipynb +3 -2
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/__init__.py +1 -1
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/core/__init__.py +2 -2
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/core/storage/__init__.py +2 -1
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/core/storage/_anndata_accessor.py +16 -1
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/core/storage/_backed_access.py +4 -0
- lamindb-1.10.1/lamindb/core/storage/_spatialdata_accessor.py +52 -0
- lamindb-1.10.1/lamindb/examples/__init__.py +14 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/examples/cellxgene/_cellxgene.py +11 -3
- lamindb-1.10.1/lamindb/examples/croissant/__init__.py +44 -0
- lamindb-1.10.1/lamindb/examples/croissant/mini_immuno.anndata.zarr_metadata.json +73 -0
- {lamindb-1.9.1/lamindb/core → lamindb-1.10.1/lamindb/examples}/datasets/__init__.py +5 -2
- {lamindb-1.9.1/lamindb/core → lamindb-1.10.1/lamindb/examples}/datasets/_core.py +33 -1
- {lamindb-1.9.1/lamindb/core → lamindb-1.10.1/lamindb/examples}/datasets/mini_immuno.py +19 -8
- lamindb-1.10.1/lamindb/examples/schemas/_anndata.py +35 -0
- lamindb-1.10.1/lamindb/examples/schemas/_simple.py +33 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/integrations/__init__.py +2 -0
- lamindb-1.10.1/lamindb/integrations/_croissant.py +122 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/integrations/_vitessce.py +14 -12
- lamindb-1.10.1/lamindb/migrations/0116_remove_artifact_unique_artifact_storage_key_hash_and_more.py +51 -0
- lamindb-1.10.1/lamindb/migrations/0117_fix_artifact_storage_hash_unique_constraints.py +32 -0
- lamindb-1.9.1/lamindb/migrations/0115_squashed.py → lamindb-1.10.1/lamindb/migrations/0117_squashed.py +29 -6
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/_describe.py +107 -1
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/_django.py +63 -6
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/_feature_manager.py +0 -1
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/artifact.py +41 -11
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/collection.py +4 -9
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/project.py +2 -2
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/record.py +1 -1
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/run.py +1 -1
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/sqlrecord.py +3 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/noxfile.py +3 -3
- {lamindb-1.9.1 → lamindb-1.10.1}/pyproject.toml +3 -3
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/_dataset_fixtures.py +14 -1
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_artifact.py +14 -6
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_collection.py +16 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_describe_and_df_calls.py +4 -4
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_feature.py +11 -2
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_feature_label_manager.py +8 -4
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_save.py +11 -9
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_tracked.py +8 -1
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/curators/conftest.py +4 -0
- lamindb-1.10.1/tests/curators/test_curate_from_croissant.py +43 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/curators/test_curators_general.py +27 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/permissions/scripts/setup_access.py +1 -1
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/storage/test_streaming.py +13 -2
- lamindb-1.9.1/lamindb/examples/__init__.py +0 -29
- lamindb-1.9.1/lamindb/examples/schemas/_anndata.py +0 -25
- lamindb-1.9.1/lamindb/examples/schemas/_simple.py +0 -19
- {lamindb-1.9.1 → lamindb-1.10.1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/.github/ISSUE_TEMPLATE/enhancement.yml +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/.github/ISSUE_TEMPLATE/usage_question.yml +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/.github/workflows/doc-changes.yml +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/.gitmodules +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/.pre-commit-config.yaml +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/CONTRIBUTING.md +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/LICENSE +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/README.md +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/api.md +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/bio-registries.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/bionty.md +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/changelog.md +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/clinicore.md +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/curate.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/faq/acid.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/faq/curate-any.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/faq/delete.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/faq/idempotency.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/faq/import-modules.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/faq/keep-artifacts-local.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/faq/reference-field.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/faq/search.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/faq/setup.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/faq/symbol-mapping.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/faq/test_notebooks.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/faq/track-run-inputs.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/faq/validate-fields.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/faq/visibility.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/faq.md +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/guide.md +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/includes/installation.md +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/index.md +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/lamindb.md +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/query-search.md +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/scripts/curate_anndata_flexible.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/scripts/curate_dataframe_flexible.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/scripts/curate_dataframe_minimal_errors.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/scripts/curate_mudata.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/scripts/curate_soma_experiment.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/scripts/curate_spatialdata.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/scripts/define_mini_immuno_features_labels.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/scripts/define_mini_immuno_schema_flexible.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/scripts/define_schema_anndata_ensembl_gene_ids_and_valid_features_in_obs.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/scripts/define_schema_spatialdata.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/scripts/define_valid_features.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/scripts/run_track_and_finish.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/scripts/run_track_with_params.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/scripts/run_workflow.py +0 -0
- /lamindb-1.9.1/docs/scripts/ingest_mini_immuno_datasets.py → /lamindb-1.10.1/docs/scripts/save_mini_immuno_datasets.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/scripts/synced_with_git.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/storage/add-replace-cache.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/storage/anndata-accessor.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/storage/prepare-transfer-local-to-cloud.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/storage/test-files/iris.csv +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/storage/test-files/iris.data +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/storage/test-files/new_iris.csv +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/storage/test_notebooks.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/storage/transfer-local-to-cloud.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/storage/upload.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/storage.md +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/test_notebooks.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/track.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/transfer.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/docs/wetlab.md +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/_finish.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/_tracked.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/_view.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/base/__init__.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/base/fields.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/base/ids.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/base/types.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/base/uids.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/base/users.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/core/_compat.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/core/_context.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/core/_mapped_collection.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/core/_settings.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/core/_sync_git.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/core/_track_environment.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/core/exceptions.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/core/loaders.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/core/storage/_polars_lazy_df.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/core/storage/_pyarrow_dataset.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/core/storage/_tiledbsoma.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/core/storage/_valid_suffixes.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/core/storage/_zarr.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/core/storage/objects.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/core/storage/paths.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/core/subsettings/__init__.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/core/subsettings/_annotation_settings.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/core/subsettings/_creation_settings.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/core/types.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/curators/__init__.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/curators/_legacy.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/curators/core.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/errors.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/examples/cellxgene/__init__.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/examples/cellxgene/cxg_schema_versions.csv +0 -0
- {lamindb-1.9.1/lamindb/core → lamindb-1.10.1/lamindb/examples}/datasets/_fake.py +0 -0
- {lamindb-1.9.1/lamindb/core → lamindb-1.10.1/lamindb/examples}/datasets/_small.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/examples/fixtures/__init__.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/examples/fixtures/sheets.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/examples/schemas/__init__.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0069_squashed.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0070_lamindbv1_migrate_data.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0071_lamindbv1_migrate_schema.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0072_remove_user__branch_code_remove_user_aux_and_more.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0073_merge_ourprojects.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0074_lamindbv1_part4.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0075_lamindbv1_part5.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0076_lamindbv1_part6.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0077_lamindbv1_part6b.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0078_lamindbv1_part6c.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0079_alter_rundata_value_json_and_more.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0080_polish_lamindbv1.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0081_revert_textfield_collection.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0082_alter_feature_dtype.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0083_alter_feature_is_type_alter_flextable_is_type_and_more.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0084_alter_schemafeature_feature_and_more.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0085_alter_feature_is_type_alter_flextable_is_type_and_more.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0086_various.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0087_rename__schemas_m2m_artifact_feature_sets_and_more.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0088_schema_components.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0089_subsequent_runs.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0090_runproject_project_runs.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0091_alter_featurevalue_options_alter_space_options_and_more.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0092_alter_artifactfeaturevalue_artifact_and_more.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0093_alter_schemacomponent_unique_together.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0094_writeloglock_writelogmigrationstate_and_more.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0095_remove_rundata_flextable.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0096_remove_artifact__param_values_and_more.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0097_remove_schemaparam_param_remove_paramvalue_param_and_more.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0098_alter_feature_type_alter_project_type_and_more.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0099_alter_writelog_seqno.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0100_branch_alter_artifact__branch_code_and_more.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0101_alter_artifact_hash_alter_feature_name_and_more.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0102_remove_writelog_branch_code_and_more.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0103_remove_writelog_migration_state_and_more.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0104_alter_branch_uid.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0105_record_unique_name.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0106_transfer_data_migration.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0107_add_schema_to_record.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0108_remove_record_sheet_remove_sheetproject_sheet_and_more.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0109_record_input_of_runs_alter_record_run_and_more.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0110_rename_values_artifacts_record_linked_artifacts.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0111_remove_record__sort_order.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0112_alter_recordartifact_feature_and_more.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0113_lower_case_branch_and_space_names.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0114_alter_run__status_code.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/0115_alter_space_uid.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/migrations/__init__.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/__init__.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/_from_values.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/_is_versioned.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/_label_manager.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/_relations.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/artifact_set.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/can_curate.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/feature.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/has_parents.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/query_manager.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/query_set.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/save.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/schema.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/storage.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/transform.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/models/ulabel.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/py.typed +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/setup/__init__.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/setup/_switch.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/setup/core/__init__.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/setup/errors/__init__.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/lamindb/setup/types/__init__.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/conftest.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/conftest.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/notebooks/basic-r-notebook.Rmd.cleaned.html +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/notebooks/basic-r-notebook.Rmd.html +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/notebooks/duplicate/with-title-initialized-consecutive-finish.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/notebooks/no-title.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/notebooks/with-title-initialized-consecutive-finish-not-last-cell.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/notebooks/with-title-initialized-consecutive-finish.ipynb +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/scripts/duplicate1/script-to-test-versioning.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/scripts/duplicate2/script-to-test-versioning.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/scripts/duplicate3/script-to-test-versioning.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/scripts/duplicate4/script-to-test-versioning.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/scripts/duplicate5/script-to-test-versioning.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/scripts/script-to-test-filename-change.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/scripts/script-to-test-versioning.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_artifact_folders.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_can_curate.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_data.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_db.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_delete.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_dtype.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_from_values.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_has_parents.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_integrity.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_load.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_manager.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_models.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_notebooks.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_queryset.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_record.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_run.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_schema.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_search.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_settings.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_storage.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_track.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_transform.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_ulabel.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_versioning.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_view.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/core/test_visibility.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/curators/test_cat_managers.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/curators/test_curators_examples.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/curators/test_curators_multivalue.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/curators/test_cxg_curator.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/curators/test_dataframe_curators_accounting_example.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/curators/test_records.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/permissions/conftest.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/permissions/jwt_utils.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/permissions/scripts/check_lamin_dev.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/permissions/scripts/clean_lamin_dev.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/permissions/scripts/setup_instance.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/permissions/test_permissions.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/storage/conftest.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/storage/test_artifact_storage.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/storage/test_artifact_zarr.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/storage/test_cache.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/storage/test_storage_lifecycle.py +0 -0
- {lamindb-1.9.1 → lamindb-1.10.1}/tests/storage/test_transfer.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: lamindb
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.10.1
|
4
4
|
Summary: A data framework for biology.
|
5
5
|
Author-email: Lamin Labs <open-source@lamin.ai>
|
6
6
|
Requires-Python: >=3.10,<3.14
|
@@ -10,8 +10,8 @@ Classifier: Programming Language :: Python :: 3.11
|
|
10
10
|
Classifier: Programming Language :: Python :: 3.12
|
11
11
|
Classifier: Programming Language :: Python :: 3.13
|
12
12
|
Requires-Dist: lamin_utils==0.15.0
|
13
|
-
Requires-Dist: lamin_cli==1.6.
|
14
|
-
Requires-Dist: lamindb_setup[aws]==1.
|
13
|
+
Requires-Dist: lamin_cli==1.6.1
|
14
|
+
Requires-Dist: lamindb_setup[aws]==1.9.1
|
15
15
|
Requires-Dist: pyyaml
|
16
16
|
Requires-Dist: pyarrow
|
17
17
|
Requires-Dist: pandera>=0.24.0
|
@@ -19,7 +19,7 @@ Requires-Dist: typing_extensions!=4.6.0
|
|
19
19
|
Requires-Dist: python-dateutil
|
20
20
|
Requires-Dist: pandas>=2.0.0
|
21
21
|
Requires-Dist: scipy<1.15.0
|
22
|
-
Requires-Dist: anndata>=0.8.0,<=0.12.
|
22
|
+
Requires-Dist: anndata>=0.8.0,<=0.12.1
|
23
23
|
Requires-Dist: fsspec
|
24
24
|
Requires-Dist: graphviz
|
25
25
|
Requires-Dist: psycopg2-binary
|
@@ -106,34 +106,32 @@
|
|
106
106
|
"cell_type": "markdown",
|
107
107
|
"metadata": {},
|
108
108
|
"source": [
|
109
|
-
"
|
109
|
+
"## AnnData"
|
110
110
|
]
|
111
111
|
},
|
112
112
|
{
|
113
113
|
"cell_type": "markdown",
|
114
114
|
"metadata": {},
|
115
115
|
"source": [
|
116
|
-
"
|
116
|
+
"An `h5ad` artifact stored on s3:"
|
117
117
|
]
|
118
118
|
},
|
119
119
|
{
|
120
120
|
"cell_type": "code",
|
121
121
|
"execution_count": null,
|
122
|
-
"metadata": {
|
123
|
-
"tags": [
|
124
|
-
"hide-output"
|
125
|
-
]
|
126
|
-
},
|
122
|
+
"metadata": {},
|
127
123
|
"outputs": [],
|
128
124
|
"source": [
|
129
|
-
"ln.Artifact(
|
125
|
+
"artifact = ln.Artifact.get(key=\"pbmc68k.h5ad\")"
|
130
126
|
]
|
131
127
|
},
|
132
128
|
{
|
133
|
-
"cell_type": "
|
129
|
+
"cell_type": "code",
|
130
|
+
"execution_count": null,
|
134
131
|
"metadata": {},
|
132
|
+
"outputs": [],
|
135
133
|
"source": [
|
136
|
-
"
|
134
|
+
"artifact.path"
|
137
135
|
]
|
138
136
|
},
|
139
137
|
{
|
@@ -146,48 +144,54 @@
|
|
146
144
|
},
|
147
145
|
"outputs": [],
|
148
146
|
"source": [
|
149
|
-
"
|
150
|
-
" \"hf://datasets/Koncopd/lamindb-test/sharded_parquet/louvain=0/947eee0b064440c9b9910ca2eb89e608-0.parquet\"\n",
|
151
|
-
").save()\n",
|
152
|
-
"artifact_shard2 = ln.Artifact(\n",
|
153
|
-
" \"hf://datasets/Koncopd/lamindb-test/sharded_parquet/louvain=1/947eee0b064440c9b9910ca2eb89e608-0.parquet\"\n",
|
154
|
-
").save()\n",
|
155
|
-
"\n",
|
156
|
-
"ln.Collection(\n",
|
157
|
-
" [artifact_shard1, artifact_shard2], key=\"sharded_parquet_collection\"\n",
|
158
|
-
").save()"
|
147
|
+
"adata = artifact.open()"
|
159
148
|
]
|
160
149
|
},
|
161
150
|
{
|
162
151
|
"cell_type": "markdown",
|
163
152
|
"metadata": {},
|
164
153
|
"source": [
|
165
|
-
"
|
154
|
+
"This object is an `AnnDataAccessor` object, an `AnnData` object backed in the cloud:"
|
155
|
+
]
|
156
|
+
},
|
157
|
+
{
|
158
|
+
"cell_type": "code",
|
159
|
+
"execution_count": null,
|
160
|
+
"metadata": {
|
161
|
+
"tags": [
|
162
|
+
"hide-output"
|
163
|
+
]
|
164
|
+
},
|
165
|
+
"outputs": [],
|
166
|
+
"source": [
|
167
|
+
"adata"
|
166
168
|
]
|
167
169
|
},
|
168
170
|
{
|
169
171
|
"cell_type": "markdown",
|
170
172
|
"metadata": {},
|
171
173
|
"source": [
|
172
|
-
"
|
174
|
+
"Without subsetting, the `AnnDataAccessor` object references underlying lazy `h5` or `zarr` arrays:"
|
173
175
|
]
|
174
176
|
},
|
175
177
|
{
|
176
178
|
"cell_type": "code",
|
177
179
|
"execution_count": null,
|
178
|
-
"metadata": {
|
180
|
+
"metadata": {
|
181
|
+
"tags": [
|
182
|
+
"hide-output"
|
183
|
+
]
|
184
|
+
},
|
179
185
|
"outputs": [],
|
180
186
|
"source": [
|
181
|
-
"
|
187
|
+
"adata.X"
|
182
188
|
]
|
183
189
|
},
|
184
190
|
{
|
185
|
-
"cell_type": "
|
186
|
-
"execution_count": null,
|
191
|
+
"cell_type": "markdown",
|
187
192
|
"metadata": {},
|
188
|
-
"outputs": [],
|
189
193
|
"source": [
|
190
|
-
"
|
194
|
+
"You can subset it like a normal `AnnData` object:"
|
191
195
|
]
|
192
196
|
},
|
193
197
|
{
|
@@ -200,14 +204,18 @@
|
|
200
204
|
},
|
201
205
|
"outputs": [],
|
202
206
|
"source": [
|
203
|
-
"
|
207
|
+
"obs_idx = adata.obs.cell_type.isin([\"Dendritic cells\", \"CD14+ Monocytes\"]) & (\n",
|
208
|
+
" adata.obs.percent_mito <= 0.05\n",
|
209
|
+
")\n",
|
210
|
+
"adata_subset = adata[obs_idx]\n",
|
211
|
+
"adata_subset"
|
204
212
|
]
|
205
213
|
},
|
206
214
|
{
|
207
215
|
"cell_type": "markdown",
|
208
216
|
"metadata": {},
|
209
217
|
"source": [
|
210
|
-
"
|
218
|
+
"Subsets load arrays into memory upon direct access:"
|
211
219
|
]
|
212
220
|
},
|
213
221
|
{
|
@@ -220,14 +228,14 @@
|
|
220
228
|
},
|
221
229
|
"outputs": [],
|
222
230
|
"source": [
|
223
|
-
"
|
231
|
+
"adata_subset.X"
|
224
232
|
]
|
225
233
|
},
|
226
234
|
{
|
227
235
|
"cell_type": "markdown",
|
228
236
|
"metadata": {},
|
229
237
|
"source": [
|
230
|
-
"
|
238
|
+
"To load the entire subset into memory as an actual `AnnData` object, use `to_memory()`:"
|
231
239
|
]
|
232
240
|
},
|
233
241
|
{
|
@@ -240,14 +248,34 @@
|
|
240
248
|
},
|
241
249
|
"outputs": [],
|
242
250
|
"source": [
|
243
|
-
"
|
251
|
+
"adata_subset.to_memory()"
|
244
252
|
]
|
245
253
|
},
|
246
254
|
{
|
247
255
|
"cell_type": "markdown",
|
248
256
|
"metadata": {},
|
249
257
|
"source": [
|
250
|
-
"
|
258
|
+
"## SpatialData"
|
259
|
+
]
|
260
|
+
},
|
261
|
+
{
|
262
|
+
"cell_type": "markdown",
|
263
|
+
"metadata": {},
|
264
|
+
"source": [
|
265
|
+
"It is also possible to access `AnnData` objects inside `SpatialData` `tables`:"
|
266
|
+
]
|
267
|
+
},
|
268
|
+
{
|
269
|
+
"cell_type": "code",
|
270
|
+
"execution_count": null,
|
271
|
+
"metadata": {},
|
272
|
+
"outputs": [],
|
273
|
+
"source": [
|
274
|
+
"artifact = ln.Artifact.using(\"laminlabs/lamindata\").get(\n",
|
275
|
+
" key=\"visium_aligned_guide_min.zarr\"\n",
|
276
|
+
")\n",
|
277
|
+
"\n",
|
278
|
+
"access = artifact.open()"
|
251
279
|
]
|
252
280
|
},
|
253
281
|
{
|
@@ -260,18 +288,27 @@
|
|
260
288
|
},
|
261
289
|
"outputs": [],
|
262
290
|
"source": [
|
263
|
-
"
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
291
|
+
"access"
|
292
|
+
]
|
293
|
+
},
|
294
|
+
{
|
295
|
+
"cell_type": "code",
|
296
|
+
"execution_count": null,
|
297
|
+
"metadata": {
|
298
|
+
"tags": [
|
299
|
+
"hide-output"
|
300
|
+
]
|
301
|
+
},
|
302
|
+
"outputs": [],
|
303
|
+
"source": [
|
304
|
+
"access.tables"
|
268
305
|
]
|
269
306
|
},
|
270
307
|
{
|
271
308
|
"cell_type": "markdown",
|
272
309
|
"metadata": {},
|
273
310
|
"source": [
|
274
|
-
"
|
311
|
+
"This gives you the same `AnnDataAccessor` object as for a normal `AnnData`."
|
275
312
|
]
|
276
313
|
},
|
277
314
|
{
|
@@ -284,14 +321,16 @@
|
|
284
321
|
},
|
285
322
|
"outputs": [],
|
286
323
|
"source": [
|
287
|
-
"
|
324
|
+
"table = access.tables[\"table\"]\n",
|
325
|
+
"\n",
|
326
|
+
"table"
|
288
327
|
]
|
289
328
|
},
|
290
329
|
{
|
291
330
|
"cell_type": "markdown",
|
292
331
|
"metadata": {},
|
293
332
|
"source": [
|
294
|
-
"
|
333
|
+
"You can subset it and read into memory as an actual `AnnData`:"
|
295
334
|
]
|
296
335
|
},
|
297
336
|
{
|
@@ -304,7 +343,18 @@
|
|
304
343
|
},
|
305
344
|
"outputs": [],
|
306
345
|
"source": [
|
307
|
-
"
|
346
|
+
"table_subset = table[table.obs[\"clone\"] == \"diploid\"]\n",
|
347
|
+
"\n",
|
348
|
+
"table_subset"
|
349
|
+
]
|
350
|
+
},
|
351
|
+
{
|
352
|
+
"cell_type": "markdown",
|
353
|
+
"metadata": {},
|
354
|
+
"source": [
|
355
|
+
"```python\n",
|
356
|
+
"adata = table_subset.to_memory()\n",
|
357
|
+
"```"
|
308
358
|
]
|
309
359
|
},
|
310
360
|
{
|
@@ -389,13 +439,20 @@
|
|
389
439
|
"A dataframe stored as sharded `parquet`."
|
390
440
|
]
|
391
441
|
},
|
442
|
+
{
|
443
|
+
"cell_type": "markdown",
|
444
|
+
"metadata": {},
|
445
|
+
"source": [
|
446
|
+
"Note that it is also possible to register and access Hugging Face paths. For this `huggingface_hub` package should be installed."
|
447
|
+
]
|
448
|
+
},
|
392
449
|
{
|
393
450
|
"cell_type": "code",
|
394
451
|
"execution_count": null,
|
395
452
|
"metadata": {},
|
396
453
|
"outputs": [],
|
397
454
|
"source": [
|
398
|
-
"artifact = ln.Artifact.get(key=\"sharded_parquet\")"
|
455
|
+
"artifact = ln.Artifact.using(\"laminlabs/lamindata\").get(key=\"sharded_parquet\")"
|
399
456
|
]
|
400
457
|
},
|
401
458
|
{
|
@@ -466,13 +523,19 @@
|
|
466
523
|
"metadata": {},
|
467
524
|
"outputs": [],
|
468
525
|
"source": [
|
469
|
-
"collection = ln.Collection.
|
526
|
+
"collection = ln.Collection.using(\"laminlabs/lamindata\").get(\n",
|
527
|
+
" key=\"sharded_parquet_collection\"\n",
|
528
|
+
")"
|
470
529
|
]
|
471
530
|
},
|
472
531
|
{
|
473
532
|
"cell_type": "code",
|
474
533
|
"execution_count": null,
|
475
|
-
"metadata": {
|
534
|
+
"metadata": {
|
535
|
+
"tags": [
|
536
|
+
"hide-output"
|
537
|
+
]
|
538
|
+
},
|
476
539
|
"outputs": [],
|
477
540
|
"source": [
|
478
541
|
"backed = collection.open()"
|
@@ -557,7 +620,7 @@
|
|
557
620
|
"outputs": [],
|
558
621
|
"source": [
|
559
622
|
"# clean up test instance\n",
|
560
|
-
"
|
623
|
+
"ln.setup.delete(\"test-arrays\", force=True)"
|
561
624
|
]
|
562
625
|
}
|
563
626
|
],
|