lamindb 0.75.1__tar.gz → 0.76.0__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.75.1 → lamindb-0.76.0}/.github/workflows/build.yml +1 -1
- {lamindb-0.75.1 → lamindb-0.76.0}/PKG-INFO +5 -5
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/api.md +8 -0
- lamindb-0.76.0/docs/rest.md +3 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/__init__.py +1 -1
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/_artifact.py +1 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/_collection.py +1 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/_feature.py +1 -1
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/_from_values.py +28 -12
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/_query_set.py +2 -25
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/_record.py +53 -6
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/_run.py +1 -1
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/_transform.py +1 -1
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/_label_manager.py +4 -3
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/datasets/_core.py +29 -23
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/versioning.py +0 -1
- {lamindb-0.75.1 → lamindb-0.76.0}/pyproject.toml +4 -4
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/__init__.py +1 -1
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/sources.yaml +3 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/core/_add_ontology.py +83 -38
- lamindb-0.76.0/sub/bionty/bionty/migrations/0035_alter_protein_gene_symbol.py +19 -0
- lamindb-0.76.0/sub/bionty/bionty/migrations/0036_alter_source_artifacts_and_more.py +32 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/models.py +16 -13
- lamindb-0.76.0/sub/lamin-cli/lamin_cli/__init__.py +3 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/lamin_cli/__main__.py +12 -5
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/__init__.py +1 -1
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/_hub_core.py +3 -3
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/_hub_crud.py +22 -5
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/_settings_load.py +2 -7
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/upath.py +4 -4
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/tests/hub-local/conftest.py +5 -3
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/tests/storage/test_storage_stats.py +15 -1
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/__init__.py +1 -1
- lamindb-0.76.0/sub/lnschema-core/lnschema_core/migrations/0061_alter_collection_meta_artifact_alter_run_environment_and_more.py +45 -0
- lamindb-0.76.0/sub/lnschema-core/lnschema_core/migrations/0062_add_is_latest_field.py +32 -0
- lamindb-0.76.0/sub/lnschema-core/lnschema_core/migrations/0063_populate_latest_field.py +45 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/models.py +24 -9
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/tests/test_models.py +1 -3
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_artifact.py +1 -2
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_parents.py +21 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_versioning.py +19 -3
- lamindb-0.75.1/sub/lamin-cli/lamin_cli/__init__.py +0 -3
- {lamindb-0.75.1 → lamindb-0.76.0}/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/.gitignore +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/.gitmodules +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/.pre-commit-config.yaml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/CONTRIBUTING.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/LICENSE +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/README.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/arrays.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/bio-registries.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/bionty.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/changelog.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/curate-any.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/curate-df.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/curate.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/faq/acid.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/faq/delete.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/faq/idempotency.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/faq/import-schema.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/faq/keep-artifacts-local.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/faq/key.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/faq/reference-field.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/faq/setup.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/faq/test_notebooks.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/faq/track-run-inputs.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/faq/visibility.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/faq.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/guide.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/includes/features-lamindb.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/includes/features-laminhub.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/includes/installation.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/index.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/introduction.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/lamindb.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/query-search.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/readfcs.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/records.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/schemas.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/setup.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/signup-login.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/storage/add-replace-cache.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/storage/anndata-accessor.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/storage/prepare-transfer-local-to-cloud.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/storage/test-files/iris.csv +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/storage/test-files/iris.data +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/storage/test-files/new_iris.csv +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/storage/test_notebooks.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/storage/transfer-local-to-cloud.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/storage/upload.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/storage/vitessce.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/storage.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/test_notebooks.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/track.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/transfer.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/tutorial.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/tutorial2.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/docs/wetlab.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/_can_validate.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/_curate.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/_feature_set.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/_filter.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/_finish.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/_is_versioned.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/_parents.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/_query_manager.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/_save.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/_storage.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/_ulabel.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/_utils.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/_view.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/_data.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/_feature_manager.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/_mapped_collection.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/_run_context.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/_settings.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/_sync_git.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/_track_environment.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/datasets/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/datasets/_fake.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/exceptions.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/fields.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/schema.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/storage/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/storage/_anndata_accessor.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/storage/_anndata_sizes.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/storage/_backed_access.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/storage/_valid_suffixes.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/storage/_zarr.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/storage/objects.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/storage/paths.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/subsettings/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/subsettings/_creation_settings.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/subsettings/_transform_settings.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/core/types.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/integrations/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/integrations/_vitessce.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/setup/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/lamindb/setup/core/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/noxfile.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/.github/workflows/build.yml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/.github/workflows/update_ontologies.yml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/.gitignore +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/.pre-commit-config.yaml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/LICENSE +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/README.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/_bionty.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/_display_sources.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/_ontology.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/_public_ontology.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/_settings.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/_sync_sources.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/dev/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/dev/_handle_sources.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/dev/_io.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/dev/_md5.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/entities/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/entities/_bfxpipeline.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/entities/_biosample.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/entities/_cellline.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/entities/_cellmarker.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/entities/_celltype.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/entities/_developmentalstage.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/entities/_disease.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/entities/_drug.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/entities/_ethnicity.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/entities/_experimentalfactor.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/entities/_gene.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/entities/_organism.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/entities/_pathway.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/entities/_phenotype.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/entities/_protein.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/entities/_shared_docstrings.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/entities/_tissue.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/scripts/bfxpipelines_info/custom_pipelines.json +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/scripts/check_ontologies_reachable.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/scripts/determine_md5s.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/scripts/generate_bfxpipelines.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/scripts/update_new_ontologies.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/base/scripts/upload_new_ontologies.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/core/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/core/_bionty.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/core/_settings.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/ids.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/migrations/0023_rename_publicsource_encode_uid.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/migrations/0024_remove_cellline_collections_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/migrations/0025_artifactcellline_alter_cellline_artifacts_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/migrations/0026_artifactcellline_cell_line_ref_is_name_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/migrations/0027_remove_artifactcellline_created_at_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/migrations/0028_artifactcellline_created_at_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/migrations/0028_squashed.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/migrations/0029_alter_cellline_previous_runs_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/migrations/0030_rename_publicsource_source_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/migrations/0031_alter_cellmarker_name_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/migrations/0032_rename_source_name_source_description_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/migrations/0033_alter_artifactcellline_artifact_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/migrations/0034_alter_source_unique_together.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/bionty/migrations/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/docs/developer/updating_source.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/docs/guide/comparison.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/docs/guide/concepts.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/docs/guide/config.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/docs/guide/extend.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/docs/guide/ontology.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/docs/guide/search.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/docs/guide/sources.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/docs/guide/test_notebooks.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/docs/guide/validate.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/docs/guide.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/docs/index.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/docs/reference.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/lamin-project.yaml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/noxfile.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/pyproject.toml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/tests/dev/test_handle_sources.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/tests/dev/test_io.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/tests/entities/test_bfxpipeline.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/tests/entities/test_biosample.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/tests/entities/test_cellline.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/tests/entities/test_cellmarker.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/tests/entities/test_celltype.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/tests/entities/test_developmentalstage.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/tests/entities/test_disease.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/tests/entities/test_drug.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/tests/entities/test_ethnicity.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/tests/entities/test_experimentalfactor.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/tests/entities/test_gene.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/tests/entities/test_organism.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/tests/entities/test_pathway.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/tests/entities/test_phenotype.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/tests/entities/test_protein.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/tests/entities/test_tissue.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/tests/test_bionty.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/tests/test_lamindb.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/tests/test_md5.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/bionty/tests/test_ontology.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/.gitignore +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/.pre-commit-config.yaml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/README.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/lamin_cli/_cache.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/lamin_cli/_get.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/lamin_cli/_migration.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/lamin_cli/_save.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/pyproject.toml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/tests/conftest.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/tests/scripts/merely-import-lamindb.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/tests/scripts/run-track-and-finish-sync-git.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/tests/scripts/run-track-and-finish.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/tests/test_cli.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/tests/test_get.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/tests/test_migrate.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/tests/test_multi_process.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/tests/test_save_files.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/tests/test_save_notebooks.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamin-cli/tests/test_save_scripts.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/.github/workflows/build.yml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/.gitignore +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/.pre-commit-config.yaml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/LICENSE +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/README.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/docs/changelog.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/docs/hub-cloud/01-init-local-instance.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/docs/hub-cloud/02-connect-local-instance.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/docs/hub-cloud/03-add-managed-storage.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/docs/hub-cloud/04-test-bionty.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/docs/hub-cloud/05-init-hosted-instance.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/docs/hub-cloud/06-connect-hosted-instance.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/docs/hub-cloud/07-keep-artifacts-local.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/docs/hub-cloud/test-multi-session.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/docs/hub-cloud/test_notebooks.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/docs/hub-prod/test-cache-management.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/docs/hub-prod/test-cloud-sync.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/docs/hub-prod/test-connect-anonymously.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/docs/hub-prod/test-empty-init.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/docs/hub-prod/test-import-schema.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/docs/hub-prod/test-insufficient-user-info.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/docs/hub-prod/test-invalid-schema.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/docs/hub-prod/test-sqlite-lock.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/docs/hub-prod/test_notebooks2.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/docs/index.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/docs/notebooks.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/docs/reference.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/_check.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/_check_setup.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/_connect_instance.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/_delete.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/_django.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/_exportdb.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/_importdb.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/_init_instance.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/_migrate.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/_schema_metadata.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/_set_managed_storage.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/_setup_user.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/_aws_credentials.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/_aws_storage.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/_deprecated.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/_docs.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/_hub_client.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/_hub_utils.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/_private_django_api.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/_settings.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/_settings_instance.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/_settings_save.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/_settings_storage.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/_settings_store.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/_settings_user.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/_setup_bionty_sources.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/cloud_sqlite_locker.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/django.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/exceptions.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/hashing.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/lamindb_setup/core/types.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/noxfile.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/pyproject.toml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/tests/hub-cloud/test_connect_instance.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/tests/hub-cloud/test_delete_instance.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/tests/hub-cloud/test_init_instance.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/tests/hub-cloud/test_login.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/tests/hub-cloud/test_migrate.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/tests/hub-cloud/test_set_storage.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/tests/hub-local/test_all.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/tests/hub-local/test_update_schema_in_hub.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/tests/hub-prod/conftest.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/tests/hub-prod/test_django.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/tests/hub-prod/test_global_settings.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/tests/hub-prod/test_switch_and_fallback_env.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/tests/hub-prod/test_upath.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/tests/storage/test_hashing.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/tests/storage/test_storage_access.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/tests/storage/test_storage_basis.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lamindb-setup/tests/storage/test_to_url.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/.github/workflows/build.yml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/.gitignore +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/.pre-commit-config.yaml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/CHANGELOG.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/LICENSE +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/README.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/ids.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0037_rename_dataset_to_collection.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0038_alter_collection_artifact_alter_collection_artifacts_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0039_remove_collection_artifacts_collectionartifact_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0040_alter_transform_type.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0041_remove_transform_short_name_transform_description_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0042_rename_run_at_run_started_at_run_finished_at.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0043_run_json.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0044_run_replicated_outputs_transform_ulabels_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0045_rename_replicated_outputs_run_replicated_output_artifacts_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0046_storage_instance_uid.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0047_featurevalue_artifactfeaturevalue_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0048_alter_artifactulabel_feature_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0049_rename_type_feature_dtype_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0050_artifactfeatureset_feature_ref_is_semantic_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0051_remove_feature_feature_sets_featuresetfeature_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0052_rename_feature_value_artifactfeaturevalue_featurevalue_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0052_squashed.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0053_alter_featureset_hash_alter_paramvalue_created_by_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0054_alter_feature_previous_runs_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0055_artifact_type_artifactparamvalue_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0056_rename_ulabel_ref_is_name_artifactulabel_label_ref_is_name_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0057_link_models_latest_report_and_others.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0058_artifact__actions_collection__actions.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0059_alter_artifact__accessor_alter_artifact__hash_type_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/0060_alter_artifact__actions.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/mocks.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/types.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/lnschema_core/users.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/noxfile.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/pyproject.toml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/tests/conftest.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/tests/test_integrity.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/lnschema-core/tests/test_types.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/.github/workflows/build.yml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/.github/workflows/doc-changes.yml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/.gitignore +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/.pre-commit-config.yaml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/README.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/docs/changelog.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/docs/guide/get-started.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/docs/guide/modeling_perturbations.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/docs/guide.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/docs/index.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/docs/reference.md +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/noxfile.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/pyproject.toml +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/tests/test_integrity.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/tests/test_notebooks.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/wetlab/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/wetlab/migrations/0017_remove_biosample_artifacts.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/wetlab/migrations/0018_squashed.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/wetlab/migrations/0018_well_created_at_well_created_by_well_updated_at.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/wetlab/migrations/0019_alter_treatment_system.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/wetlab/migrations/0020_treatmenttarget_pathways_treatmenttarget_proteins_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/wetlab/migrations/0021_alter_compoundtreatment_duration_unit_and_more.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/wetlab/migrations/__init__.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/sub/wetlab/wetlab/models.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/conftest.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/notebooks/initialized-with-nbproject.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/notebooks/no-title.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/notebooks/not-initialized.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/notebooks/with-title-initialized-consecutive-finish-not-last-cell.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/notebooks/with-title-initialized-consecutive-finish.ipynb +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_artifact_folders.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_cache.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_can_validate.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_collection.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_curate.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_data.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_db.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_delete.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_feature.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_feature_manager.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_feature_set.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_from_values.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_label_manager.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_load.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_manager.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_notebooks.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_queryset.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_record.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_run.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_run_context.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_save.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_search.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_settings.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_storage.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_transfer.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_transform.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_uid.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_ulabel.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_view.py +0 -0
- {lamindb-0.75.1 → lamindb-0.76.0}/tests/test_visibility.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: lamindb
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.76.0
|
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.76.
|
12
|
+
Requires-Dist: lnschema_core==0.73.0
|
13
|
+
Requires-Dist: lamindb_setup==0.76.4
|
14
14
|
Requires-Dist: lamin_utils==0.13.2
|
15
|
-
Requires-Dist: lamin_cli==0.16.
|
15
|
+
Requires-Dist: lamin_cli==0.16.1
|
16
16
|
Requires-Dist: rapidfuzz
|
17
17
|
Requires-Dist: pyarrow
|
18
18
|
Requires-Dist: typing_extensions!=4.6.0
|
@@ -24,7 +24,7 @@ Requires-Dist: pandas
|
|
24
24
|
Requires-Dist: graphviz
|
25
25
|
Requires-Dist: psycopg2-binary
|
26
26
|
Requires-Dist: lamindb_setup[aws] ; extra == "aws"
|
27
|
-
Requires-Dist: bionty==0.48.
|
27
|
+
Requires-Dist: bionty==0.48.1 ; extra == "bionty"
|
28
28
|
Requires-Dist: pre-commit ; extra == "dev"
|
29
29
|
Requires-Dist: nox ; extra == "dev"
|
30
30
|
Requires-Dist: laminci>=0.3 ; extra == "dev"
|
@@ -594,6 +594,7 @@ def __init__(artifact: Artifact, *args, **kwargs):
|
|
594
594
|
kwargs["description"] = description
|
595
595
|
kwargs["visibility"] = visibility
|
596
596
|
kwargs["_accessor"] = accessor
|
597
|
+
kwargs["is_new_version_of"] = is_new_version_of
|
597
598
|
# this check needs to come down here because key might be populated from an
|
598
599
|
# existing file path during get_artifact_kwargs_from_data()
|
599
600
|
if (
|
@@ -42,7 +42,7 @@ def __init__(self, *args, **kwargs):
|
|
42
42
|
return None
|
43
43
|
# now we proceed with the user-facing constructor
|
44
44
|
if len(args) != 0:
|
45
|
-
raise ValueError("Only
|
45
|
+
raise ValueError("Only keyword args allowed")
|
46
46
|
dtype: type | str = kwargs.pop("dtype") if "dtype" in kwargs else None
|
47
47
|
# cast type
|
48
48
|
if dtype is None:
|
@@ -47,15 +47,35 @@ def get_or_create_records(
|
|
47
47
|
|
48
48
|
# new records to be created based on new values
|
49
49
|
if len(nonexist_values) > 0:
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
50
|
+
source_record = None
|
51
|
+
if from_source:
|
52
|
+
if isinstance(source, Record):
|
53
|
+
source_record = source
|
54
|
+
elif (
|
55
|
+
len(records) > 0
|
56
|
+
and hasattr(records[0], "source_id")
|
57
|
+
and records[0].source_id
|
58
|
+
):
|
59
|
+
source_record = records[0].source
|
60
|
+
if not source_record and hasattr(Record, "public"):
|
61
|
+
from bionty._bionty import get_source_record
|
62
|
+
|
63
|
+
source_record = get_source_record(Record.public(organism=organism))
|
64
|
+
if source_record:
|
65
|
+
from bionty.core._add_ontology import check_source_in_db
|
66
|
+
|
67
|
+
check_source_in_db(
|
68
|
+
registry=Record,
|
69
|
+
source=source_record,
|
70
|
+
update=True,
|
71
|
+
)
|
72
|
+
|
73
|
+
from_source = not source_record.in_db
|
74
|
+
elif hasattr(Record, "source_id"):
|
75
|
+
from_source = True
|
76
|
+
else:
|
58
77
|
from_source = False
|
78
|
+
|
59
79
|
if from_source:
|
60
80
|
records_bionty, unmapped_values = create_records_from_source(
|
61
81
|
iterable_idx=nonexist_values,
|
@@ -211,10 +231,6 @@ def create_records_from_source(
|
|
211
231
|
return records, iterable_idx
|
212
232
|
# add source record to the kwargs
|
213
233
|
source_record = get_source_record(public_ontology)
|
214
|
-
if source_record is not None and source_record.in_db:
|
215
|
-
# skips the creation of records from public if the source is already in the db
|
216
|
-
return records, iterable_idx
|
217
|
-
|
218
234
|
kwargs.update({"source": source_record})
|
219
235
|
|
220
236
|
# filter the columns in bionty df based on fields
|
@@ -243,10 +243,10 @@ class QuerySet(models.QuerySet, CanValidate):
|
|
243
243
|
else:
|
244
244
|
raise MultipleResultsFound(self.all())
|
245
245
|
|
246
|
-
def latest_version(self) ->
|
246
|
+
def latest_version(self) -> QuerySet:
|
247
247
|
"""Filter every version family by latest version."""
|
248
248
|
if issubclass(self.model, IsVersioned):
|
249
|
-
return
|
249
|
+
return self.filter(is_latest=True)
|
250
250
|
else:
|
251
251
|
raise ValueError("Record isn't subclass of `lamindb.core.IsVersioned`")
|
252
252
|
|
@@ -288,29 +288,6 @@ class QuerySet(models.QuerySet, CanValidate):
|
|
288
288
|
return _standardize(cls=self, values=values, field=field, **kwargs)
|
289
289
|
|
290
290
|
|
291
|
-
def filter_query_set_by_latest_version(ordered_query_set: QuerySet) -> RecordsList:
|
292
|
-
# evaluating length can be very costly, hence, the try-except block
|
293
|
-
try:
|
294
|
-
first_record = ordered_query_set[0]
|
295
|
-
except IndexError:
|
296
|
-
return ordered_query_set
|
297
|
-
records_in_view = {}
|
298
|
-
records_in_view[first_record.stem_uid] = first_record
|
299
|
-
for record in ordered_query_set:
|
300
|
-
# this overwrites user-provided ordering (relevant records ordered by a
|
301
|
-
# certain field will not show if they are not the latest version)
|
302
|
-
if record.stem_uid not in records_in_view:
|
303
|
-
records_in_view[record.stem_uid] = record
|
304
|
-
else:
|
305
|
-
if record.created_at > records_in_view[record.stem_uid].created_at:
|
306
|
-
# deleting the entry is needed to preserve the integrity of
|
307
|
-
# user-provided ordering
|
308
|
-
del records_in_view[record.stem_uid]
|
309
|
-
records_in_view[record.stem_uid] = record
|
310
|
-
list_records_in_view = RecordsList(records_in_view.values())
|
311
|
-
return list_records_in_view
|
312
|
-
|
313
|
-
|
314
291
|
models.QuerySet.df = QuerySet.df
|
315
292
|
models.QuerySet.list = QuerySet.list
|
316
293
|
models.QuerySet.first = QuerySet.first
|
@@ -5,7 +5,7 @@ from typing import TYPE_CHECKING, List, NamedTuple
|
|
5
5
|
|
6
6
|
import dj_database_url
|
7
7
|
import lamindb_setup as ln_setup
|
8
|
-
from django.db import connections
|
8
|
+
from django.db import connections, transaction
|
9
9
|
from django.db.models import IntegerField, Manager, Q, QuerySet, Value
|
10
10
|
from lamin_utils import logger
|
11
11
|
from lamin_utils._lookup import Lookup
|
@@ -132,7 +132,10 @@ def get(cls, idlike: int | str) -> Record:
|
|
132
132
|
else:
|
133
133
|
qs = filter(cls, uid__startswith=idlike)
|
134
134
|
if issubclass(cls, IsVersioned):
|
135
|
-
|
135
|
+
if len(idlike) <= cls._len_stem_uid:
|
136
|
+
return qs.latest_version().one()
|
137
|
+
else:
|
138
|
+
return qs.one()
|
136
139
|
else:
|
137
140
|
return qs.one()
|
138
141
|
|
@@ -165,9 +168,7 @@ def from_values(
|
|
165
168
|
) -> list[Record]:
|
166
169
|
"""{}""" # noqa: D415
|
167
170
|
from_source = True if cls.__module__.startswith("bionty.") else False
|
168
|
-
|
169
|
-
if isinstance(source, Record) and source.in_db:
|
170
|
-
from_source = False
|
171
|
+
|
171
172
|
field_str = get_name_field(cls, field=field)
|
172
173
|
return get_or_create_records(
|
173
174
|
iterable=values,
|
@@ -528,7 +529,28 @@ def save(self, *args, **kwargs) -> Record:
|
|
528
529
|
if result is not None:
|
529
530
|
init_self_from_db(self, result)
|
530
531
|
else:
|
531
|
-
|
532
|
+
# save versioned record
|
533
|
+
if isinstance(self, IsVersioned) and self._is_new_version_of is not None:
|
534
|
+
if self._is_new_version_of.is_latest:
|
535
|
+
is_new_version_of = self._is_new_version_of
|
536
|
+
else:
|
537
|
+
# need one additional request
|
538
|
+
is_new_version_of = self.__class__.objects.get(
|
539
|
+
is_latest=True, uid__startswith=self.stem_uid
|
540
|
+
)
|
541
|
+
logger.warning(
|
542
|
+
f"didn't pass the latest version in `is_new_version_of`, retrieved it: {is_new_version_of}"
|
543
|
+
)
|
544
|
+
is_new_version_of.is_latest = False
|
545
|
+
with transaction.atomic():
|
546
|
+
is_new_version_of._is_new_version_of = (
|
547
|
+
None # ensure we don't start a recursion
|
548
|
+
)
|
549
|
+
is_new_version_of.save()
|
550
|
+
super(Record, self).save(*args, **kwargs)
|
551
|
+
# save unversioned record
|
552
|
+
else:
|
553
|
+
super(Record, self).save(*args, **kwargs)
|
532
554
|
# perform transfer of many-to-many fields
|
533
555
|
# only supported for Artifact and Collection records
|
534
556
|
if db is not None and db != "default" and using_key is None:
|
@@ -553,6 +575,30 @@ def save(self, *args, **kwargs) -> Record:
|
|
553
575
|
return self
|
554
576
|
|
555
577
|
|
578
|
+
def delete(self) -> None:
|
579
|
+
"""Delete the record."""
|
580
|
+
# note that the logic below does not fire if a record is moved to the trash
|
581
|
+
# the idea is that moving a record to the trash should move its entire version family
|
582
|
+
# to the trash, whereas permanently deleting should default to only deleting a single record
|
583
|
+
# of a version family
|
584
|
+
# we can consider making it easy to permanently delete entire version families as well,
|
585
|
+
# but that's for another time
|
586
|
+
if isinstance(self, IsVersioned) and self.is_latest:
|
587
|
+
new_latest = (
|
588
|
+
self.__class__.filter(is_latest=False, uid__startswith=self.stem_uid)
|
589
|
+
.order_by("-created_at")
|
590
|
+
.first()
|
591
|
+
)
|
592
|
+
if new_latest is not None:
|
593
|
+
new_latest.is_latest = True
|
594
|
+
with transaction.atomic():
|
595
|
+
new_latest.save()
|
596
|
+
super(Record, self).delete()
|
597
|
+
logger.warning(f"new latest version is {new_latest}")
|
598
|
+
return None
|
599
|
+
super(Record, self).delete()
|
600
|
+
|
601
|
+
|
556
602
|
METHOD_NAMES = [
|
557
603
|
"__init__",
|
558
604
|
"filter",
|
@@ -561,6 +607,7 @@ METHOD_NAMES = [
|
|
561
607
|
"search",
|
562
608
|
"lookup",
|
563
609
|
"save",
|
610
|
+
"delete",
|
564
611
|
"from_values",
|
565
612
|
"using",
|
566
613
|
]
|
@@ -42,7 +42,7 @@ def delete_run_artifacts(run: Run) -> None:
|
|
42
42
|
run.save()
|
43
43
|
if environment is not None:
|
44
44
|
# only delete if there are no other runs attached to this environment
|
45
|
-
if environment.
|
45
|
+
if environment._environment_of.count() == 0:
|
46
46
|
environment.delete(permanent=True)
|
47
47
|
if report is not None:
|
48
48
|
report.delete(permanent=True)
|
@@ -22,7 +22,6 @@ def __init__(transform: Transform, *args, **kwargs):
|
|
22
22
|
is_new_version_of: Transform | None = (
|
23
23
|
kwargs.pop("is_new_version_of") if "is_new_version_of" in kwargs else None
|
24
24
|
)
|
25
|
-
(kwargs.pop("initial_version_id") if "initial_version_id" in kwargs else None)
|
26
25
|
version: str | None = kwargs.pop("version") if "version" in kwargs else None
|
27
26
|
type: TransformType | None = kwargs.pop("type") if "type" in kwargs else "pipeline"
|
28
27
|
reference: str | None = kwargs.pop("reference") if "reference" in kwargs else None
|
@@ -55,6 +54,7 @@ def __init__(transform: Transform, *args, **kwargs):
|
|
55
54
|
reference=reference,
|
56
55
|
reference_type=reference_type,
|
57
56
|
_has_consciously_provided_uid=has_consciously_provided_uid,
|
57
|
+
is_new_version_of=is_new_version_of,
|
58
58
|
)
|
59
59
|
|
60
60
|
|
@@ -32,14 +32,15 @@ def get_labels_as_dict(self: HasFeatures, links: bool = False):
|
|
32
32
|
"input_of_runs",
|
33
33
|
"collections",
|
34
34
|
"_source_code_artifact_of",
|
35
|
-
"
|
36
|
-
"
|
35
|
+
"_report_of",
|
36
|
+
"_environment_of",
|
37
37
|
"links_collection",
|
38
38
|
"links_artifact",
|
39
39
|
"links_feature_set",
|
40
40
|
"previous_runs",
|
41
41
|
"_feature_values",
|
42
|
-
"
|
42
|
+
"_action_targets",
|
43
|
+
"_lnschema_core_collection__actions_+", # something seems off with this one
|
43
44
|
"_actions",
|
44
45
|
}
|
45
46
|
labels = {} # type: ignore
|
@@ -1,6 +1,7 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
3
|
from pathlib import Path
|
4
|
+
from typing import TYPE_CHECKING
|
4
5
|
from urllib.request import urlretrieve
|
5
6
|
|
6
7
|
import anndata as ad
|
@@ -11,6 +12,9 @@ from upath import UPath
|
|
11
12
|
|
12
13
|
from lamindb.core._settings import settings
|
13
14
|
|
15
|
+
if TYPE_CHECKING:
|
16
|
+
from mudata import MuData
|
17
|
+
|
14
18
|
|
15
19
|
def file_fcs() -> Path:
|
16
20
|
"""Example FCS artifact."""
|
@@ -116,7 +120,7 @@ def file_mini_csv(in_storage_root=False) -> Path:
|
|
116
120
|
return filepath
|
117
121
|
|
118
122
|
|
119
|
-
def file_tiff_suo22(): # pragma: no cover
|
123
|
+
def file_tiff_suo22() -> Path: # pragma: no cover
|
120
124
|
"""Image file from Suo22.
|
121
125
|
|
122
126
|
Pair with anndata_suo22_Visium10X
|
@@ -126,7 +130,7 @@ def file_tiff_suo22(): # pragma: no cover
|
|
126
130
|
"F121_LP1_4LIV.tiff",
|
127
131
|
)
|
128
132
|
Path("suo22/").mkdir(exist_ok=True)
|
129
|
-
filepath = Path(filepath).rename("suo22/F121_LP1_4LIV.tiff")
|
133
|
+
filepath = Path(filepath).rename("suo22/F121_LP1_4LIV.tiff") # type: ignore
|
130
134
|
return Path(filepath)
|
131
135
|
|
132
136
|
|
@@ -282,17 +286,16 @@ def anndata_human_immune_cells(
|
|
282
286
|
) -> ad.AnnData: # pragma: no cover
|
283
287
|
"""Cross-tissue immune cell analysis reveals tissue-specific features in humans.
|
284
288
|
|
285
|
-
From: https://cellxgene.cziscience.com/collections/62ef75e4-cbea-454e-a0ce-998ec40223d3
|
289
|
+
From: https://cellxgene.cziscience.com/collections/62ef75e4-cbea-454e-a0ce-998ec40223d3
|
286
290
|
Collection: Global
|
287
291
|
|
288
292
|
To reproduce the subsample::
|
289
|
-
|
290
|
-
adata =
|
291
|
-
|
292
|
-
|
293
|
-
del adata.uns["
|
294
|
-
|
295
|
-
adata.write('human_immune.h5ad')
|
293
|
+
>>> adata = sc.read('Global.h5ad')
|
294
|
+
>>> adata.obs = adata.obs[['donor_id', 'tissue', 'cell_type', 'assay', 'tissue_ontology_term_id', 'cell_type_ontology_term_id', 'assay_ontology_term_id']].copy()
|
295
|
+
>>> sc.pp.subsample(adata, fraction=0.005)
|
296
|
+
>>> del adata.uns["development_cache_ontology_term_id_colors"]
|
297
|
+
>>> del adata.uns["sex_ontology_term_id_colors"]
|
298
|
+
>>> adata.write('human_immune.h5ad')
|
296
299
|
"""
|
297
300
|
filepath, _ = urlretrieve("https://lamindb-test.s3.amazonaws.com/human_immune.h5ad")
|
298
301
|
adata = ad.read_h5ad(filepath)
|
@@ -369,29 +372,34 @@ def anndata_suo22_Visium10X(): # pragma: no cover
|
|
369
372
|
return ad.read_h5ad(filepath)
|
370
373
|
|
371
374
|
|
372
|
-
def mudata_papalexi21_subset(): # pragma: no cover
|
375
|
+
def mudata_papalexi21_subset() -> MuData: # pragma: no cover
|
373
376
|
"""A subsetted mudata from papalexi21.
|
374
377
|
|
375
378
|
To reproduce the subsetting:
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
379
|
+
>>> !wget https://figshare.com/ndownloader/files/36509460
|
380
|
+
>>> import mudata as md
|
381
|
+
>>> import scanpy as sc
|
382
|
+
>>> mdata = md.read_h5mu("36509460")
|
383
|
+
>>> mdata = sc.pp.subsample(mdata, n_obs=200, copy=True)[0]
|
384
|
+
>>> mdata[:, -300:].copy().write("papalexi21_subset_200x300_lamindb_demo_2023-07-25.h5mu")
|
382
385
|
"""
|
383
386
|
import mudata as md
|
384
387
|
|
388
|
+
md.set_options(pull_on_update=False)
|
389
|
+
|
385
390
|
filepath, _ = urlretrieve(
|
386
391
|
"https://lamindb-test.s3.amazonaws.com/papalexi21_subset_200x300_lamindb_demo_2023-07-25.h5mu",
|
387
392
|
"papalexi21_subset.h5mu",
|
388
393
|
)
|
389
394
|
|
390
395
|
mdata = md.read_h5mu(filepath)
|
396
|
+
|
397
|
+
mdata.pull_obs()
|
398
|
+
|
399
|
+
# The MuData object is malformed with duplicated information
|
400
|
+
# Drop all columns for the modalities and add them again correspondingly
|
391
401
|
for mod in ["rna", "adt", "hto", "gdo"]:
|
392
|
-
mdata[mod].obs.drop(
|
393
|
-
mdata[mod].obs.columns, axis=1, inplace=True
|
394
|
-
) # Drop all columns
|
402
|
+
mdata[mod].obs.drop(mdata[mod].obs.columns, axis=1, inplace=True)
|
395
403
|
for col in mdata.obs.columns:
|
396
404
|
for mod in ["rna", "adt", "hto", "gdo"]:
|
397
405
|
if col.endswith(f"_{mod.upper()}"):
|
@@ -420,12 +428,10 @@ def mudata_papalexi21_subset(): # pragma: no cover
|
|
420
428
|
"HTO_classification",
|
421
429
|
]:
|
422
430
|
del mdata.obs[col]
|
423
|
-
mdata.update()
|
424
431
|
|
425
|
-
mdata
|
432
|
+
mdata.push_obs(["percent.mito"], mods=["rna"], drop=True)
|
426
433
|
mdata["hto"].obs["technique"] = "cell hashing"
|
427
434
|
mdata["hto"].obs["technique"] = mdata["hto"].obs["technique"].astype("category")
|
428
|
-
mdata.update()
|
429
435
|
|
430
436
|
return mdata
|
431
437
|
|
@@ -16,10 +16,10 @@ classifiers = [
|
|
16
16
|
]
|
17
17
|
dependencies = [
|
18
18
|
# Lamin PINNED packages
|
19
|
-
"lnschema_core==0.
|
20
|
-
"lamindb_setup==0.76.
|
19
|
+
"lnschema_core==0.73.0",
|
20
|
+
"lamindb_setup==0.76.4",
|
21
21
|
"lamin_utils==0.13.2",
|
22
|
-
"lamin_cli==0.16.
|
22
|
+
"lamin_cli==0.16.1",
|
23
23
|
# others
|
24
24
|
"rapidfuzz",
|
25
25
|
"pyarrow",
|
@@ -38,7 +38,7 @@ Home = "https://github.com/laminlabs/lamindb"
|
|
38
38
|
|
39
39
|
[project.optional-dependencies]
|
40
40
|
bionty = [
|
41
|
-
"bionty==0.48.
|
41
|
+
"bionty==0.48.1",
|
42
42
|
]
|
43
43
|
aws = [
|
44
44
|
"lamindb_setup[aws]",
|
@@ -354,6 +354,9 @@ BFXPipeline:
|
|
354
354
|
Drug:
|
355
355
|
dron:
|
356
356
|
all:
|
357
|
+
2024-08-05:
|
358
|
+
url: https://data.bioontology.org/ontologies/DRON/submissions/24/download?apikey=8b5b7825-538d-40e0-9e9e-5ab9274a9aeb
|
359
|
+
md5: ""
|
357
360
|
2024-03-02:
|
358
361
|
url: https://data.bioontology.org/ontologies/DRON/submissions/22/download?apikey=8b5b7825-538d-40e0-9e9e-5ab9274a9aeb
|
359
362
|
md5: 84138459de4f65034e979f4e46783747
|