lamindb 0.71.2__tar.gz → 0.72.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.71.2 → lamindb-0.72.0}/.github/workflows/build.yml +3 -3
- {lamindb-0.71.2 → lamindb-0.72.0}/.gitmodules +3 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/PKG-INFO +7 -6
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/annotate-for-developers.ipynb +1 -1
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/bio-registries.ipynb +108 -122
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/changelog.md +31 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/faq/idempotency.ipynb +4 -4
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/introduction.ipynb +24 -10
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/meta.ipynb +2 -12
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/signup-login.md +1 -1
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/storage/prepare-transfer-local-to-cloud.ipynb +4 -4
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/storage/transfer-local-to-cloud.ipynb +5 -3
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/transfer.ipynb +1 -3
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/tutorial.ipynb +7 -5
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/tutorial2.ipynb +81 -64
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/__init__.py +2 -2
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/_annotate.py +6 -10
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/_artifact.py +24 -10
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/_can_validate.py +9 -3
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/_collection.py +7 -7
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/_feature.py +53 -45
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/_feature_set.py +37 -74
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/_from_values.py +27 -8
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/_query_manager.py +6 -1
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/_registry.py +60 -100
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/_run.py +0 -2
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/_save.py +28 -11
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/__init__.py +4 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/_data.py +56 -30
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/_feature_manager.py +159 -64
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/_label_manager.py +53 -38
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/_run_context.py +24 -1
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/datasets/_core.py +10 -18
- lamindb-0.72.0/lamindb/core/schema.py +53 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/noxfile.py +2 -2
- {lamindb-0.71.2 → lamindb-0.72.0}/pyproject.toml +6 -5
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/bionty/bionty/__init__.py +2 -2
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/bionty/pyproject.toml +1 -1
- lamindb-0.72.0/sub/lamin-cli/lamin_cli/__init__.py +3 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamin-cli/lamin_cli/_get.py +11 -6
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamin-cli/tests/test_get.py +11 -1
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/docs/changelog.md +9 -1
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/docs/hub-cloud/03-add-managed-storage.ipynb +22 -1
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/docs/hub-cloud/05-init-hosted-instance.ipynb +1 -1
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/__init__.py +1 -1
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/_connect_instance.py +78 -61
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/_delete.py +10 -49
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/_init_instance.py +18 -17
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/_set_managed_storage.py +4 -0
- lamindb-0.72.0/sub/lamindb-setup/lamindb_setup/core/_aws_credentials.py +144 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/core/_hub_core.py +21 -13
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/core/_settings_instance.py +16 -17
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/core/_settings_storage.py +18 -2
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/core/hashing.py +23 -20
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/core/upath.py +4 -68
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/tests/hub-prod/conftest.py +2 -2
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-bionty/.gitignore +1 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-bionty/docs/changelog.md +12 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-bionty/lnschema_bionty/__init__.py +1 -1
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0001_initial_squashed_0016.py → lamindb-0.72.0/sub/lnschema-bionty/lnschema_bionty/migrations/0023_rename_publicsource_encode_uid.py +324 -335
- lamindb-0.72.0/sub/lnschema-bionty/lnschema_bionty/migrations/0024_remove_cellline_collections_and_more.py +64 -0
- lamindb-0.72.0/sub/lnschema-bionty/lnschema_bionty/migrations/0025_artifactcellline_alter_cellline_artifacts_and_more.py +851 -0
- lamindb-0.72.0/sub/lnschema-bionty/lnschema_bionty/migrations/0026_artifactcellline_cell_line_ref_is_name_and_more.py +520 -0
- lamindb-0.72.0/sub/lnschema-bionty/lnschema_bionty/migrations/0027_remove_artifactcellline_created_at_and_more.py +388 -0
- lamindb-0.72.0/sub/lnschema-bionty/lnschema_bionty/migrations/0028_artifactcellline_created_at_and_more.py +703 -0
- lamindb-0.72.0/sub/lnschema-bionty/lnschema_bionty/migrations/0028_squashed.py +2137 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-bionty/lnschema_bionty/models.py +367 -304
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-bionty/pyproject.toml +1 -1
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/CHANGELOG.md +7 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/lnschema_core/__init__.py +1 -1
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0001_initial_squashed_0023.py → lamindb-0.72.0/sub/lnschema-core/lnschema_core/migrations/0037_rename_dataset_to_collection.py +263 -33
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/lnschema_core/migrations/0038_alter_collection_artifact_alter_collection_artifacts_and_more.py +1 -3
- lamindb-0.72.0/sub/lnschema-core/lnschema_core/migrations/0047_featurevalue_artifactfeaturevalue_and_more.py +178 -0
- lamindb-0.72.0/sub/lnschema-core/lnschema_core/migrations/0048_alter_artifactulabel_feature_and_more.py +33 -0
- lamindb-0.72.0/sub/lnschema-core/lnschema_core/migrations/0049_rename_type_feature_dtype_and_more.py +58 -0
- lamindb-0.72.0/sub/lnschema-core/lnschema_core/migrations/0050_artifactfeatureset_feature_ref_is_semantic_and_more.py +191 -0
- lamindb-0.72.0/sub/lnschema-core/lnschema_core/migrations/0051_remove_feature_feature_sets_featuresetfeature_and_more.py +71 -0
- lamindb-0.72.0/sub/lnschema-core/lnschema_core/migrations/0052_rename_feature_value_artifactfeaturevalue_featurevalue_and_more.py +419 -0
- lamindb-0.72.0/sub/lnschema-core/lnschema_core/migrations/0052_squashed.py +1302 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/lnschema_core/models.py +358 -208
- lamindb-0.72.0/sub/wetlab/.github/workflows/build.yml +67 -0
- lamindb-0.72.0/sub/wetlab/.github/workflows/deploy-instance-apis.yml +19 -0
- lamindb-0.72.0/sub/wetlab/.github/workflows/latest-changes.jinja2 +2 -0
- lamindb-0.72.0/sub/wetlab/.github/workflows/latest-changes.yml +25 -0
- lamindb-0.72.0/sub/wetlab/.gitignore +118 -0
- lamindb-0.72.0/sub/wetlab/.pre-commit-config.yaml +65 -0
- lamindb-0.72.0/sub/wetlab/README.md +3 -0
- lamindb-0.72.0/sub/wetlab/docs/changelog.md +51 -0
- lamindb-0.72.0/sub/wetlab/docs/guide/01-get-started.ipynb +99 -0
- lamindb-0.72.0/sub/wetlab/docs/guide/index.md +9 -0
- lamindb-0.72.0/sub/wetlab/docs/index.md +12 -0
- lamindb-0.72.0/sub/wetlab/docs/reference.md +5 -0
- lamindb-0.72.0/sub/wetlab/noxfile.py +25 -0
- lamindb-0.72.0/sub/wetlab/pyproject.toml +37 -0
- lamindb-0.72.0/sub/wetlab/tests/test_integrity.py +13 -0
- lamindb-0.72.0/sub/wetlab/tests/test_notebooks.py +14 -0
- lamindb-0.72.0/sub/wetlab/wetlab/__init__.py +45 -0
- lamindb-0.72.0/sub/wetlab/wetlab/migrations/0017_remove_biosample_artifacts.py +321 -0
- lamindb-0.72.0/sub/wetlab/wetlab/migrations/0018_squashed.py +346 -0
- lamindb-0.72.0/sub/wetlab/wetlab/migrations/0018_well_created_at_well_created_by_well_updated_at.py +36 -0
- lamindb-0.72.0/sub/wetlab/wetlab/migrations/__init__.py +0 -0
- lamindb-0.72.0/sub/wetlab/wetlab/models.py +226 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/conftest.py +1 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_annotate.py +14 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_can_validate.py +1 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_collection.py +18 -18
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_feature.py +20 -18
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_feature_manager.py +78 -48
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_feature_set.py +20 -18
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_from_values.py +14 -5
- lamindb-0.72.0/tests/test_label_manager.py +53 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_queryset.py +5 -4
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_registry.py +5 -5
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_run_context.py +15 -2
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_save.py +13 -0
- lamindb-0.72.0/tests/test_search.py +62 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_transfer.py +10 -11
- lamindb-0.71.2/sub/lamin-cli/lamin_cli/__init__.py +0 -3
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0001_initial.py +0 -838
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0002_rename_gene_type_gene_biotype_and_more.py +0 -48
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0003_alter_biontysource_entity_alter_biontysource_source_and_more.py +0 -87
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0004_alter_cellline_bionty_source_and_more.py +0 -153
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0005_rename_short_name_cellline_abbr_and_more.py +0 -151
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0006_alter_biontysource_options_alter_cellline_options_and_more.py +0 -60
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0007_rename_readout_experimental_factor.py +0 -73
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0008_remove_gene_hgnc_id_remove_gene_mgi_id_and_more.py +0 -90
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0009_alter_gene_ensembl_gene_id.py +0 -19
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0010_alter_species_name.py +0 -19
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0011_cellline_datasets_cellmarker_datasets_and_more.py +0 -123
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0012_gene_stable_id.py +0 -19
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0013_alter_cellmarker_species_alter_gene_species_and_more.py +0 -43
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0014_ethnicity_developmentalstage.py +0 -179
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0015_migrate_to_integer_pks.py +0 -143
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0016_export_legacy_data.py +0 -55
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0017_import_legacy_data.py +0 -70
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0018_organism_rename_species_biontysource_organism_and_more.py +0 -142
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0019_rename_taxon_id_organism_ontology_id_and_more.py +0 -85
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0020_alter_organism_bionty_source.py +0 -23
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0021_rename_files_cellline_artifacts_and_more.py +0 -78
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0022_rename_datasets_cellline_collections_and_more.py +0 -77
- lamindb-0.71.2/sub/lnschema-bionty/lnschema_bionty/migrations/0023_rename_publicsource_encode_uid.py +0 -138
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0001_initial.py +0 -445
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0002_alter_user_name.py +0 -19
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0003_alter_storage_region_alter_transform_short_name.py +0 -26
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0004_rename_folder_tag_alter_project_folders.py +0 -74
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0005_alter_run_inputs_delete_runinput.py +0 -26
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0006_feature_dataset.py +0 -118
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0007_feature_synonyms_featureset_field_and_more.py +0 -35
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0008_file_hash_type_transform_parents.py +0 -26
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0009_remove_featureset_files_feature_unit_and_more.py +0 -131
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0010_dataset_categories_file_categories.py +0 -88
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0011_label_remove_tag_created_by_remove_tag_parents_and_more.py +0 -150
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0012_remove_label_ref_id_remove_label_ref_orm_and_more.py +0 -244
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0013_remove_feature_labels_orm_and_more.py +0 -117
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0014_rename_ref_field_featureset_registry.py +0 -17
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0015_file_initial_version_file_version.py +0 -30
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0016_dataset_input_of_dataset_run_dataset_transform_and_more.py +0 -160
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0017_dataset_initial_version_dataset_version.py +0 -33
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0018_rename_datasetlabel_datasetulabel_and_more.py +0 -65
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0019_dataset_reference_dataset_reference_type_and_more.py +0 -47
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0020_run_report_transform_latest_report_and_more.py +0 -62
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0021_dataset_storage_alter_dataset_file.py +0 -33
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0022_migrate_to_integer_pks.py +0 -331
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0023_export_legacy_data.py +0 -51
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0024_import_legacy_data.py +0 -84
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0025_remove_user_email.py +0 -16
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0026_dataset_visibility_file_visibility.py +0 -22
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0027_file_key_is_virtual.py +0 -18
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0028_alter_dataset_visibility_alter_file_visibility.py +0 -30
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0029_remove_feature_modality_remove_featureset_modality_and_more.py +0 -23
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0030_alter_dataset_visibility_alter_file_visibility.py +0 -72
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0031_rename_file_to_artifact.py +0 -172
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0032_remove_dataset_storage.py +0 -16
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0033_alter_artifact_unique_together_artifact_n_objects_and_more.py +0 -26
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0034_run_environment.py +0 -27
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0035_remove_artifact_initial_version_and_more.py +0 -31
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0036_storage_description.py +0 -19
- lamindb-0.71.2/sub/lnschema-core/lnschema_core/migrations/0037_rename_dataset_to_collection.py +0 -34
- lamindb-0.71.2/tests/test_label_manager.py +0 -48
- {lamindb-0.71.2 → lamindb-0.72.0}/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/.gitignore +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/.pre-commit-config.yaml +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/LICENSE +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/README.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/annotate.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/bionty-base.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/bionty.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/can-validate.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/data.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/faq/acid.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/faq/delete.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/faq/import-schema.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/faq/keep-artifacts-local.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/faq/key.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/faq/reference-field.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/faq/setup.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/faq/test_notebooks.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/faq/track-run-inputs.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/faq/visibility.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/faq.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/features-lamindb.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/features-laminhub.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/guide.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/index.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/installation.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/lamin-utils.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/lamindb.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/nbproject.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/query-search.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/readfcs.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/reference.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/schemas.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/setup.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/storage/add-replace-stage.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/storage/anndata-accessor.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/storage/test-files/iris.csv +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/storage/test-files/iris.data +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/storage/test-files/new_iris.csv +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/storage/test_notebooks.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/storage/upload.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/storage/vitessce.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/storage.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/test_notebooks.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/track.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/docs/wetlab.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/_filter.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/_finish.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/_is_versioned.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/_parents.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/_query_set.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/_storage.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/_transform.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/_ulabel.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/_utils.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/_view.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/_mapped_collection.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/_settings.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/_sync_git.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/_track_environment.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/_transform_settings.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/datasets/__init__.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/datasets/_fake.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/exceptions.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/fields.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/storage/__init__.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/storage/_anndata_sizes.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/storage/_backed_access.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/storage/_valid_suffixes.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/storage/_zarr.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/storage/objects.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/storage/paths.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/types.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/core/versioning.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/integrations/__init__.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/integrations/_vitessce.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/setup/__init__.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/lamindb/setup/core/__init__.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/bionty/.github/workflows/build.yml +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/bionty/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/bionty/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/bionty/.gitignore +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/bionty/.pre-commit-config.yaml +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/bionty/LICENSE +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/bionty/README.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/bionty/bionty/core/__init__.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/bionty/docs/changelog.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/bionty/docs/index.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/bionty/docs/reference.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/bionty/lamin-project.yaml +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/bionty/noxfile.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/bionty/tests/test_notebooks.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamin-cli/.gitignore +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamin-cli/.pre-commit-config.yaml +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamin-cli/README.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamin-cli/lamin_cli/__main__.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamin-cli/lamin_cli/_cache.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamin-cli/lamin_cli/_migration.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamin-cli/lamin_cli/_save.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamin-cli/pyproject.toml +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamin-cli/tests/conftest.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamin-cli/tests/scripts/merely-import-lamindb.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamin-cli/tests/scripts/run-track-and-finish-sync-git.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamin-cli/tests/scripts/run-track-and-finish.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamin-cli/tests/test_cli.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamin-cli/tests/test_migrate.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamin-cli/tests/test_multi_process.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamin-cli/tests/test_save_files.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamin-cli/tests/test_save_notebooks.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamin-cli/tests/test_save_scripts.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/.github/workflows/build.yml +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/.gitignore +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/.pre-commit-config.yaml +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/LICENSE +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/README.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/docs/hub-cloud/01-init-local-instance.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/docs/hub-cloud/02-connect-local-instance.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/docs/hub-cloud/04-test-bionty.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/docs/hub-cloud/06-connect-hosted-instance.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/docs/hub-cloud/07-keep-artifacts-local.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/docs/hub-cloud/test-multi-session.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/docs/hub-cloud/test_notebooks.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/docs/hub-prod/test-cache-management.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/docs/hub-prod/test-cloud-sync.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/docs/hub-prod/test-connect-anonymously.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/docs/hub-prod/test-empty-init.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/docs/hub-prod/test-import-schema.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/docs/hub-prod/test-insufficient-user-info.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/docs/hub-prod/test-invalid-schema.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/docs/hub-prod/test-sqlite-lock.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/docs/hub-prod/test_notebooks2.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/docs/index.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/docs/notebooks.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/docs/reference.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/_check.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/_check_setup.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/_django.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/_exportdb.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/_importdb.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/_migrate.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/_setup_user.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/core/__init__.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/core/_aws_storage.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/core/_deprecated.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/core/_docs.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/core/_hub_client.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/core/_hub_crud.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/core/_hub_utils.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/core/_settings.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/core/_settings_load.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/core/_settings_save.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/core/_settings_store.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/core/_settings_user.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/core/_setup_bionty_sources.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/core/cloud_sqlite_locker.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/core/django.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/core/exceptions.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/lamindb_setup/core/types.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/noxfile.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/pyproject.toml +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/tests/hub-cloud/test_connect_instance.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/tests/hub-cloud/test_delete_instance.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/tests/hub-cloud/test_init_instance.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/tests/hub-cloud/test_login.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/tests/hub-cloud/test_migrate.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/tests/hub-cloud/test_set_storage.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/tests/hub-local/conftest.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/tests/hub-local/test_all.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/tests/hub-prod/test_auto_connect.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/tests/hub-prod/test_django.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/tests/hub-prod/test_switch_and_fallback_env.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/tests/hub-prod/test_upath.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/tests/storage/test_hashing.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/tests/storage/test_storage_access.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/tests/storage/test_storage_basis.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/tests/storage/test_storage_stats.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lamindb-setup/tests/storage/test_to_url.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-bionty/.github/workflows/build.yml +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-bionty/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-bionty/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-bionty/.pre-commit-config.yaml +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-bionty/LICENSE +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-bionty/README.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-bionty/docs/index.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-bionty/docs/reference.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-bionty/lamin-project.yaml +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-bionty/lnschema_bionty/_bionty.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-bionty/lnschema_bionty/core/__init__.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-bionty/lnschema_bionty/core/_bionty.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-bionty/lnschema_bionty/core/_settings.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-bionty/lnschema_bionty/ids.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-bionty/lnschema_bionty/migrations/__init__.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-bionty/noxfile.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-bionty/tests/test_integrity.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/.github/workflows/build.yml +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/.github/workflows/latest-changes.jinja2 +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/.github/workflows/latest-changes.yml +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/.gitignore +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/.pre-commit-config.yaml +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/LICENSE +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/README.md +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/lnschema_core/ids.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/lnschema_core/migrations/0039_remove_collection_artifacts_collectionartifact_and_more.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/lnschema_core/migrations/0040_alter_transform_type.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/lnschema_core/migrations/0041_remove_transform_short_name_transform_description_and_more.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/lnschema_core/migrations/0042_rename_run_at_run_started_at_run_finished_at.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/lnschema_core/migrations/0043_run_json.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/lnschema_core/migrations/0044_run_replicated_outputs_transform_ulabels_and_more.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/lnschema_core/migrations/0045_rename_replicated_outputs_run_replicated_output_artifacts_and_more.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/lnschema_core/migrations/0046_storage_instance_uid.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/lnschema_core/mocks.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/lnschema_core/types.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/lnschema_core/users.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/noxfile.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/pyproject.toml +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/tests/test_integrity.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/sub/lnschema-core/tests/test_types.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/notebooks/initialized-with-nbproject.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/notebooks/no-title.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/notebooks/not-initialized.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/notebooks/with-title-initialized-consecutive-finish-not-last-cell.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/notebooks/with-title-initialized-consecutive-finish.ipynb +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_artifact.py +2 -2
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_artifact_folders.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_cache.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_data.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_db.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_delete.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_load.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_manager.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_notebooks.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_parents.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_run.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_settings.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_storage.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_transform.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_uid.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_ulabel.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_versioning.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_view.py +0 -0
- {lamindb-0.71.2 → lamindb-0.72.0}/tests/test_visibility.py +0 -0
@@ -22,7 +22,7 @@ jobs:
|
|
22
22
|
- "faq"
|
23
23
|
- "storage"
|
24
24
|
- "cli"
|
25
|
-
timeout-minutes:
|
25
|
+
timeout-minutes: 6
|
26
26
|
|
27
27
|
steps:
|
28
28
|
- uses: actions/checkout@v4
|
@@ -50,10 +50,10 @@ jobs:
|
|
50
50
|
path: ~/postgres.tar
|
51
51
|
key: cache-postgres-0
|
52
52
|
- name: cache postgres miss
|
53
|
-
if: ${{ steps.cache-postgres.outputs.cache-hit != 'true'
|
53
|
+
if: ${{ steps.cache-postgres.outputs.cache-hit != 'true' }}
|
54
54
|
run: docker pull postgres:latest && docker image save postgres:latest --output ~/postgres.tar
|
55
55
|
- name: cache postgres use
|
56
|
-
if: ${{ steps.cache-postgres.outputs.cache-hit == 'true'
|
56
|
+
if: ${{ steps.cache-postgres.outputs.cache-hit == 'true' }}
|
57
57
|
run: docker image load --input ~/postgres.tar
|
58
58
|
- run: pip install -U laminci
|
59
59
|
- name: install postgres
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: lamindb
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.72.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.
|
12
|
+
Requires-Dist: lnschema_core==0.67.1
|
13
|
+
Requires-Dist: lamindb_setup==0.72.1
|
14
14
|
Requires-Dist: lamin_utils==0.13.2
|
15
|
-
Requires-Dist: lamin_cli==0.13.
|
15
|
+
Requires-Dist: lamin_cli==0.13.2
|
16
16
|
Requires-Dist: rapidfuzz
|
17
17
|
Requires-Dist: pyarrow
|
18
18
|
Requires-Dist: typing_extensions!=4.6.0
|
@@ -23,8 +23,9 @@ Requires-Dist: fsspec
|
|
23
23
|
Requires-Dist: pandas
|
24
24
|
Requires-Dist: graphviz
|
25
25
|
Requires-Dist: psycopg2-binary
|
26
|
+
Requires-Dist: psutil
|
26
27
|
Requires-Dist: lamindb_setup[aws] ; extra == "aws"
|
27
|
-
Requires-Dist: bionty==0.
|
28
|
+
Requires-Dist: bionty==0.43.0 ; extra == "bionty"
|
28
29
|
Requires-Dist: pandas<2 ; extra == "dev"
|
29
30
|
Requires-Dist: pre-commit ; extra == "dev"
|
30
31
|
Requires-Dist: nox ; extra == "dev"
|
@@ -37,7 +38,7 @@ Requires-Dist: faker-biology ; extra == "dev"
|
|
37
38
|
Requires-Dist: django-schema-graph ; extra == "erdiagram"
|
38
39
|
Requires-Dist: readfcs>=1.1.8 ; extra == "fcs"
|
39
40
|
Requires-Dist: lamindb_setup[gcp] ; extra == "gcp"
|
40
|
-
Requires-Dist: nbproject==0.10.
|
41
|
+
Requires-Dist: nbproject==0.10.3 ; extra == "jupyter"
|
41
42
|
Requires-Dist: nbstripout==0.6.1 ; extra == "jupyter"
|
42
43
|
Requires-Dist: nbconvert ; extra == "jupyter"
|
43
44
|
Requires-Dist: zarr>=2.16.0 ; extra == "zarr"
|
@@ -259,7 +259,7 @@
|
|
259
259
|
"source": [
|
260
260
|
"# external metadata features\n",
|
261
261
|
"external_meta_features = [\n",
|
262
|
-
" ln.Feature(name=name,
|
262
|
+
" ln.Feature(name=name, dtype=\"cat\") for name in external_meta.keys()\n",
|
263
263
|
"]\n",
|
264
264
|
"ln.save(external_meta_features)\n",
|
265
265
|
"external_meta_features"
|
@@ -149,7 +149,11 @@
|
|
149
149
|
{
|
150
150
|
"cell_type": "code",
|
151
151
|
"execution_count": null,
|
152
|
-
"metadata": {
|
152
|
+
"metadata": {
|
153
|
+
"tags": [
|
154
|
+
"hide-output"
|
155
|
+
]
|
156
|
+
},
|
153
157
|
"outputs": [],
|
154
158
|
"source": [
|
155
159
|
"public.search(\"gamma delta T cell\").head(3)"
|
@@ -166,7 +170,11 @@
|
|
166
170
|
{
|
167
171
|
"cell_type": "code",
|
168
172
|
"execution_count": null,
|
169
|
-
"metadata": {
|
173
|
+
"metadata": {
|
174
|
+
"tags": [
|
175
|
+
"hide-output"
|
176
|
+
]
|
177
|
+
},
|
170
178
|
"outputs": [],
|
171
179
|
"source": [
|
172
180
|
"lookup = public.lookup()\n",
|
@@ -192,18 +200,14 @@
|
|
192
200
|
{
|
193
201
|
"cell_type": "code",
|
194
202
|
"execution_count": null,
|
195
|
-
"metadata": {
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
},
|
201
|
-
{
|
202
|
-
"cell_type": "code",
|
203
|
-
"execution_count": null,
|
204
|
-
"metadata": {},
|
203
|
+
"metadata": {
|
204
|
+
"tags": [
|
205
|
+
"hide-output"
|
206
|
+
]
|
207
|
+
},
|
205
208
|
"outputs": [],
|
206
209
|
"source": [
|
210
|
+
"gdt_cell = bt.CellType(lookup.gamma_delta_t_cell)\n",
|
207
211
|
"gdt_cell"
|
208
212
|
]
|
209
213
|
},
|
@@ -217,7 +221,11 @@
|
|
217
221
|
{
|
218
222
|
"cell_type": "code",
|
219
223
|
"execution_count": null,
|
220
|
-
"metadata": {
|
224
|
+
"metadata": {
|
225
|
+
"tags": [
|
226
|
+
"hide-output"
|
227
|
+
]
|
228
|
+
},
|
221
229
|
"outputs": [],
|
222
230
|
"source": [
|
223
231
|
"bt.CellType.from_public(ontology_id=\"CL:0000798\")"
|
@@ -284,7 +292,11 @@
|
|
284
292
|
{
|
285
293
|
"cell_type": "code",
|
286
294
|
"execution_count": null,
|
287
|
-
"metadata": {
|
295
|
+
"metadata": {
|
296
|
+
"tags": [
|
297
|
+
"hide-output"
|
298
|
+
]
|
299
|
+
},
|
288
300
|
"outputs": [],
|
289
301
|
"source": [
|
290
302
|
"gdt_cell.parents.df()"
|
@@ -339,7 +351,7 @@
|
|
339
351
|
"source": [
|
340
352
|
"When accessing data sources, one often encounters bulk references to entities that might be corrupted or standardized using different standardization schemes.\n",
|
341
353
|
"\n",
|
342
|
-
"Let's consider an example based on an `AnnData` object:"
|
354
|
+
"Let's consider an example based on an `AnnData` object, in the `cell_type` annotations of this `AnnData` object, we find 4 references to cell types:"
|
343
355
|
]
|
344
356
|
},
|
345
357
|
{
|
@@ -352,22 +364,7 @@
|
|
352
364
|
},
|
353
365
|
"outputs": [],
|
354
366
|
"source": [
|
355
|
-
"adata = ln.core.datasets.anndata_with_obs()"
|
356
|
-
]
|
357
|
-
},
|
358
|
-
{
|
359
|
-
"cell_type": "markdown",
|
360
|
-
"metadata": {},
|
361
|
-
"source": [
|
362
|
-
"In the `cell_type` annotations of this `AnnData` object, we find 4 references to cell types:"
|
363
|
-
]
|
364
|
-
},
|
365
|
-
{
|
366
|
-
"cell_type": "code",
|
367
|
-
"execution_count": null,
|
368
|
-
"metadata": {},
|
369
|
-
"outputs": [],
|
370
|
-
"source": [
|
367
|
+
"adata = ln.core.datasets.anndata_with_obs()\n",
|
371
368
|
"adata.obs.cell_type.value_counts()"
|
372
369
|
]
|
373
370
|
},
|
@@ -383,7 +380,11 @@
|
|
383
380
|
{
|
384
381
|
"cell_type": "code",
|
385
382
|
"execution_count": null,
|
386
|
-
"metadata": {
|
383
|
+
"metadata": {
|
384
|
+
"tags": [
|
385
|
+
"hide-output"
|
386
|
+
]
|
387
|
+
},
|
387
388
|
"outputs": [],
|
388
389
|
"source": [
|
389
390
|
"cell_types = bt.CellType.from_values(adata.obs.cell_type)\n",
|
@@ -444,7 +445,11 @@
|
|
444
445
|
{
|
445
446
|
"cell_type": "code",
|
446
447
|
"execution_count": null,
|
447
|
-
"metadata": {
|
448
|
+
"metadata": {
|
449
|
+
"tags": [
|
450
|
+
"hide-output"
|
451
|
+
]
|
452
|
+
},
|
448
453
|
"outputs": [],
|
449
454
|
"source": [
|
450
455
|
"adata.obs.cell_type_id.unique().tolist()"
|
@@ -453,7 +458,11 @@
|
|
453
458
|
{
|
454
459
|
"cell_type": "code",
|
455
460
|
"execution_count": null,
|
456
|
-
"metadata": {
|
461
|
+
"metadata": {
|
462
|
+
"tags": [
|
463
|
+
"hide-output"
|
464
|
+
]
|
465
|
+
},
|
457
466
|
"outputs": [],
|
458
467
|
"source": [
|
459
468
|
"bt.CellType.from_values(adata.obs.cell_type_id, field=bt.CellType.ontology_id)"
|
@@ -519,10 +528,14 @@
|
|
519
528
|
{
|
520
529
|
"cell_type": "code",
|
521
530
|
"execution_count": null,
|
522
|
-
"metadata": {
|
531
|
+
"metadata": {
|
532
|
+
"tags": [
|
533
|
+
"hide-output"
|
534
|
+
]
|
535
|
+
},
|
523
536
|
"outputs": [],
|
524
537
|
"source": [
|
525
|
-
"bt.CellType.search(\"gamma delta T cell\").head(2)"
|
538
|
+
"bt.CellType.search(\"gamma delta T cell\").df().head(2)"
|
526
539
|
]
|
527
540
|
},
|
528
541
|
{
|
@@ -535,7 +548,11 @@
|
|
535
548
|
{
|
536
549
|
"cell_type": "code",
|
537
550
|
"execution_count": null,
|
538
|
-
"metadata": {
|
551
|
+
"metadata": {
|
552
|
+
"tags": [
|
553
|
+
"hide-output"
|
554
|
+
]
|
555
|
+
},
|
539
556
|
"outputs": [],
|
540
557
|
"source": [
|
541
558
|
"cell_types = bt.CellType.lookup()\n",
|
@@ -562,7 +579,11 @@
|
|
562
579
|
{
|
563
580
|
"cell_type": "code",
|
564
581
|
"execution_count": null,
|
565
|
-
"metadata": {
|
582
|
+
"metadata": {
|
583
|
+
"tags": [
|
584
|
+
"hide-output"
|
585
|
+
]
|
586
|
+
},
|
566
587
|
"outputs": [],
|
567
588
|
"source": [
|
568
589
|
"bt.CellType.validate([\"HSC\", \"blood forming stem cell\"])"
|
@@ -580,7 +601,11 @@
|
|
580
601
|
{
|
581
602
|
"cell_type": "code",
|
582
603
|
"execution_count": null,
|
583
|
-
"metadata": {
|
604
|
+
"metadata": {
|
605
|
+
"tags": [
|
606
|
+
"hide-output"
|
607
|
+
]
|
608
|
+
},
|
584
609
|
"outputs": [],
|
585
610
|
"source": [
|
586
611
|
"bt.CellType.standardize([\"HSC\", \"blood forming stem cell\"])"
|
@@ -596,7 +621,11 @@
|
|
596
621
|
{
|
597
622
|
"cell_type": "code",
|
598
623
|
"execution_count": null,
|
599
|
-
"metadata": {
|
624
|
+
"metadata": {
|
625
|
+
"tags": [
|
626
|
+
"hide-output"
|
627
|
+
]
|
628
|
+
},
|
600
629
|
"outputs": [],
|
601
630
|
"source": [
|
602
631
|
"bt.CellType.from_values([\"HSC\", \"blood forming stem cell\"])"
|
@@ -630,7 +659,11 @@
|
|
630
659
|
{
|
631
660
|
"cell_type": "code",
|
632
661
|
"execution_count": null,
|
633
|
-
"metadata": {
|
662
|
+
"metadata": {
|
663
|
+
"tags": [
|
664
|
+
"hide-output"
|
665
|
+
]
|
666
|
+
},
|
634
667
|
"outputs": [],
|
635
668
|
"source": [
|
636
669
|
"bt.CellType.standardize([\"HSCs\"])"
|
@@ -662,7 +695,11 @@
|
|
662
695
|
{
|
663
696
|
"cell_type": "code",
|
664
697
|
"execution_count": null,
|
665
|
-
"metadata": {
|
698
|
+
"metadata": {
|
699
|
+
"tags": [
|
700
|
+
"hide-output"
|
701
|
+
]
|
702
|
+
},
|
666
703
|
"outputs": [],
|
667
704
|
"source": [
|
668
705
|
"cell_types = bt.CellType.lookup(\"abbr\")\n",
|
@@ -720,13 +757,6 @@
|
|
720
757
|
"bt.Gene.validate([\"TCF7\", \"ABC1\"], organism=\"human\")"
|
721
758
|
]
|
722
759
|
},
|
723
|
-
{
|
724
|
-
"cell_type": "markdown",
|
725
|
-
"metadata": {},
|
726
|
-
"source": [
|
727
|
-
"You can also pass organism for validating features upon registering data, e.g., in `ln.Artifact.from_anndata(..., field=bionty.Gene.ensembl_gene_id, organism=...)`."
|
728
|
-
]
|
729
|
-
},
|
730
760
|
{
|
731
761
|
"cell_type": "markdown",
|
732
762
|
"metadata": {},
|
@@ -792,7 +822,11 @@
|
|
792
822
|
{
|
793
823
|
"cell_type": "code",
|
794
824
|
"execution_count": null,
|
795
|
-
"metadata": {
|
825
|
+
"metadata": {
|
826
|
+
"tags": [
|
827
|
+
"hide-output"
|
828
|
+
]
|
829
|
+
},
|
796
830
|
"outputs": [],
|
797
831
|
"source": [
|
798
832
|
"hepatocyte = bt.CellType.filter(name=\"hepatocyte\").one()\n",
|
@@ -808,24 +842,6 @@
|
|
808
842
|
"By default, records are created from the `\"currently_used\"` public sources which are configured during the instance initialization, e.g.:"
|
809
843
|
]
|
810
844
|
},
|
811
|
-
{
|
812
|
-
"cell_type": "code",
|
813
|
-
"execution_count": null,
|
814
|
-
"metadata": {},
|
815
|
-
"outputs": [],
|
816
|
-
"source": [
|
817
|
-
"bt.Phenotype.public()"
|
818
|
-
]
|
819
|
-
},
|
820
|
-
{
|
821
|
-
"cell_type": "markdown",
|
822
|
-
"metadata": {},
|
823
|
-
"source": [
|
824
|
-
"Sometimes, the default source doesn't contain the ontology term you are looking for.\n",
|
825
|
-
"\n",
|
826
|
-
"You can then specify to create a record from a non-default source. For instance, instead of using untyped labels for iris organisms as {doc}`/tutorial2`, we can use the `ncbitaxon` ontology:"
|
827
|
-
]
|
828
|
-
},
|
829
845
|
{
|
830
846
|
"cell_type": "code",
|
831
847
|
"execution_count": null,
|
@@ -836,43 +852,7 @@
|
|
836
852
|
},
|
837
853
|
"outputs": [],
|
838
854
|
"source": [
|
839
|
-
"
|
840
|
-
"iris_setosa = bt.Organism.from_public(name=\"iris setosa\", public_source=public_source)\n",
|
841
|
-
"iris_setosa.save()"
|
842
|
-
]
|
843
|
-
},
|
844
|
-
{
|
845
|
-
"cell_type": "code",
|
846
|
-
"execution_count": null,
|
847
|
-
"metadata": {},
|
848
|
-
"outputs": [],
|
849
|
-
"source": [
|
850
|
-
"iris_setosa"
|
851
|
-
]
|
852
|
-
},
|
853
|
-
{
|
854
|
-
"cell_type": "code",
|
855
|
-
"execution_count": null,
|
856
|
-
"metadata": {},
|
857
|
-
"outputs": [],
|
858
|
-
"source": [
|
859
|
-
"iris_setosa.public_source"
|
860
|
-
]
|
861
|
-
},
|
862
|
-
{
|
863
|
-
"cell_type": "code",
|
864
|
-
"execution_count": null,
|
865
|
-
"metadata": {},
|
866
|
-
"outputs": [],
|
867
|
-
"source": [
|
868
|
-
"iris_setosa.parents.df()"
|
869
|
-
]
|
870
|
-
},
|
871
|
-
{
|
872
|
-
"cell_type": "markdown",
|
873
|
-
"metadata": {},
|
874
|
-
"source": [
|
875
|
-
"Analogously, you can pass `public_source` to bulk-create records from a non-default source:"
|
855
|
+
"bt.Phenotype.public()"
|
876
856
|
]
|
877
857
|
},
|
878
858
|
{
|
@@ -885,28 +865,34 @@
|
|
885
865
|
},
|
886
866
|
"outputs": [],
|
887
867
|
"source": [
|
888
|
-
"
|
889
|
-
" [\"iris setosa\", \"iris versicolor\", \"iris virginica\"], public_source=public_source\n",
|
890
|
-
")\n",
|
891
|
-
"ln.save(records)"
|
892
|
-
]
|
893
|
-
},
|
894
|
-
{
|
895
|
-
"cell_type": "code",
|
896
|
-
"execution_count": null,
|
897
|
-
"metadata": {},
|
898
|
-
"outputs": [],
|
899
|
-
"source": [
|
900
|
-
"records"
|
868
|
+
"bt.Phenotype.sources(currently_used=True).df()"
|
901
869
|
]
|
902
870
|
},
|
903
871
|
{
|
904
|
-
"cell_type": "
|
905
|
-
"execution_count": null,
|
872
|
+
"cell_type": "markdown",
|
906
873
|
"metadata": {},
|
907
|
-
"outputs": [],
|
908
874
|
"source": [
|
909
|
-
"
|
875
|
+
"Sometimes, the default source doesn't contain the ontology term you are looking for.\n",
|
876
|
+
"\n",
|
877
|
+
"You can then specify to create a record from a non-default source. For instance, instead of using untyped labels for iris organisms as {doc}`/tutorial2`, we can use the `ncbitaxon` ontology:\n",
|
878
|
+
"\n",
|
879
|
+
"```python\n",
|
880
|
+
"\n",
|
881
|
+
"public_source = bt.PublicSource.filter(entity=\"Organism\", source=\"ncbitaxon\").one()\n",
|
882
|
+
"iris_setosa = bt.Organism.from_public(name=\"iris setosa\", public_source=public_source)\n",
|
883
|
+
"iris_setosa.save()\n",
|
884
|
+
"```\n",
|
885
|
+
"\n",
|
886
|
+
"Analogously, you can pass `public_source` to bulk-create records from a non-default source:\n",
|
887
|
+
"\n",
|
888
|
+
"```python\n",
|
889
|
+
"\n",
|
890
|
+
"records = bt.Organism.from_values(\n",
|
891
|
+
" [\"iris setosa\", \"iris versicolor\", \"iris virginica\"], public_source=public_source\n",
|
892
|
+
")\n",
|
893
|
+
"ln.save(records)\n",
|
894
|
+
"iris_setosa.parents.get(name=\"iris\").view_parents(with_children=True)\n",
|
895
|
+
"```"
|
910
896
|
]
|
911
897
|
},
|
912
898
|
{
|
@@ -12,8 +12,39 @@ LaminDB implements "migration-based versioning". When upgrading your LaminDB ins
|
|
12
12
|
.. role:: small
|
13
13
|
```
|
14
14
|
|
15
|
+
## 0.72
|
16
|
+
|
17
|
+
### 0.72.0 {small}`2024-05-19`
|
18
|
+
|
19
|
+
- ✨ Extend managed access for AWS S3 to arbitrary paths [PR](https://github.com/laminlabs/lamindb/pull/1668) [@Koncopd](https://github.com/Koncopd) [@fredericenard](https://github.com/fredericenard)
|
20
|
+
- ✨ Extended data lineage tracking [PR](https://github.com/laminlabs/lamindb/pull/1667) [@falexwolf](https://github.com/falexwolf)
|
21
|
+
- Now store all _creating_ runs and all _updating_ runs for any entity, not just for `Artifact` & `Collection`, e.g., runs can now have `CellType` record outputs
|
22
|
+
- Code is simpler through inheritance from two new base classes: `TracksRun` and `TracksUpdates`
|
23
|
+
- ♻️ Briefer and richer syntax for denoting feature types, renamed `Feature.type` to `Feature.dtype`, e.g., for categorical features, a valid type can be: `cat[ULabel|bionty.Drug]` [PR](https://github.com/laminlabs/lamindb/pull/1663) [@falexwolf](https://github.com/falexwolf)
|
24
|
+
- ✨ Support non-categorical metadata [PR](https://github.com/laminlabs/lnschema-core/pull/379) [@falexwolf](https://github.com/falexwolf)
|
25
|
+
- Track non-categorical features: `int`, `float`, `bool`, `datetime`, lists & dictionaries stored in a `FeatureValue` registry
|
26
|
+
- Track arbitrary typed parameters for runs through a `Param` registry analogous to the `Feature` registry: this replaces the hard-to-validate, hard-to-migrate, and hard-to-query `json` field of `Run`
|
27
|
+
- 🏗️ Refactor link models [PR](https://github.com/laminlabs/lamindb/pull/1666) [PR](https://github.com/laminlabs/lamindb/pull/1661) [@falexwolf](https://github.com/falexwolf)
|
28
|
+
- All annotation-related links are now stratified by `Feature`: what held for `ULabel` now also holds `CellType` and all other `Bionty` registries
|
29
|
+
- Indicate whether semantic keys were used during validation to enable warnings upon renames
|
30
|
+
- Protect artifact annotations rather than cascade delete them
|
31
|
+
- More consistent naming of link models, e.g., `ulabels.artifact_links` instead of `ulabels.artifactulabel_set`
|
32
|
+
- Dropped linking `Bionty` entities directly against `Collection`
|
33
|
+
- Pruned & squashed migrations for faster instance creation
|
34
|
+
|
15
35
|
## 0.71
|
16
36
|
|
37
|
+
### 0.71.3 {small}`2024-05-14`
|
38
|
+
|
39
|
+
- 🎨 Enable transfer when schema don't match [PR](https://github.com/laminlabs/lamindb/pull/1654) [@sunnyosun](https://github.com/sunnyosun)
|
40
|
+
- ✨ Get artifacts through the CLI [PR](https://github.com/laminlabs/lamindb/pull/1642) [@falexwolf](https://github.com/falexwolf)
|
41
|
+
- ⚡️ Improve the speed of describe [PR](https://github.com/laminlabs/lamindb/pull/1645) [@sunnyosun](https://github.com/sunnyosun)
|
42
|
+
- ⚡️ Parallel hashing of directories [PR](https://github.com/laminlabs/lamindb/pull/1652) [@Koncopd](https://github.com/Koncopd)
|
43
|
+
- ⚡️ Speed-up file hash [PR](https://github.com/laminlabs/lamindb/pull/1651) [@Koncopd](https://github.com/Koncopd)
|
44
|
+
- ♻️ Refactor search [PR](https://github.com/laminlabs/lamindb/pull/1646) [@falexwolf](https://github.com/falexwolf)
|
45
|
+
- ✨ Introduce bulk update [PR](https://github.com/laminlabs/lamindb/pull/1640) [@falexwolf](https://github.com/falexwolf)
|
46
|
+
- 🚸 No need to pass organism if validating on ids [PR](https://github.com/laminlabs/lamindb/pull/1639) [@sunnyosun](https://github.com/sunnyosun)
|
47
|
+
|
17
48
|
### 0.71.2 {small}`2024-05-07`
|
18
49
|
|
19
50
|
- ✨ Enable passing parameters to `ln.track()` [PR](https://github.com/laminlabs/lamindb/pull/1637) [@falexwolf](https://github.com/falexwolf)
|
@@ -130,7 +130,7 @@
|
|
130
130
|
"metadata": {},
|
131
131
|
"outputs": [],
|
132
132
|
"source": [
|
133
|
-
"label = ln.ULabel(name=\"My project
|
133
|
+
"label = ln.ULabel(name=\"My project 1a\")"
|
134
134
|
]
|
135
135
|
},
|
136
136
|
{
|
@@ -197,7 +197,7 @@
|
|
197
197
|
"metadata": {},
|
198
198
|
"outputs": [],
|
199
199
|
"source": [
|
200
|
-
"label = ln.ULabel(name=\"My project
|
200
|
+
"label = ln.ULabel(name=\"My project 1b\")"
|
201
201
|
]
|
202
202
|
},
|
203
203
|
{
|
@@ -226,7 +226,7 @@
|
|
226
226
|
"metadata": {},
|
227
227
|
"outputs": [],
|
228
228
|
"source": [
|
229
|
-
"label = ln.ULabel(name=\"My project
|
229
|
+
"label = ln.ULabel(name=\"My project 1c\")"
|
230
230
|
]
|
231
231
|
},
|
232
232
|
{
|
@@ -401,7 +401,7 @@
|
|
401
401
|
"artifact3 = ln.Artifact(filepath, description=\"My fcs artifact\")\n",
|
402
402
|
"assert artifact3.id == artifact2.id\n",
|
403
403
|
"assert artifact3.run != artifact2.run\n",
|
404
|
-
"assert artifact3.
|
404
|
+
"assert artifact3.previous_runs.first() == artifact2.run"
|
405
405
|
]
|
406
406
|
},
|
407
407
|
{
|
@@ -66,7 +66,11 @@
|
|
66
66
|
{
|
67
67
|
"cell_type": "code",
|
68
68
|
"execution_count": null,
|
69
|
-
"metadata": {
|
69
|
+
"metadata": {
|
70
|
+
"tags": [
|
71
|
+
"hide-output"
|
72
|
+
]
|
73
|
+
},
|
70
74
|
"outputs": [],
|
71
75
|
"source": [
|
72
76
|
"# store artifacts in a local directory `./lamin-intro`\n",
|
@@ -79,7 +83,9 @@
|
|
79
83
|
"source": [
|
80
84
|
"### Track\n",
|
81
85
|
"\n",
|
82
|
-
"Run {meth}`~lamindb.track` to track the
|
86
|
+
"Run {meth}`~lamindb.track` to track the inputs and outputs of your code ({class}`~lamindb.Transform`).\n",
|
87
|
+
"\n",
|
88
|
+
"When you first run `ln.track()`, it creates a `stem_uid` & `version` to unambiguously identify your notebook or script."
|
83
89
|
]
|
84
90
|
},
|
85
91
|
{
|
@@ -94,11 +100,11 @@
|
|
94
100
|
"source": [
|
95
101
|
"import lamindb as ln\n",
|
96
102
|
"\n",
|
97
|
-
"#
|
98
|
-
"ln.settings.transform.stem_uid = \"FPnfDtJz8qbE\"\n",
|
99
|
-
"ln.settings.transform.version = \"1\"\n",
|
103
|
+
"# copy-pasted identifiers for your notebook or script\n",
|
104
|
+
"ln.settings.transform.stem_uid = \"FPnfDtJz8qbE\" # <-- auto-generated by running ln.track()\n",
|
105
|
+
"ln.settings.transform.version = \"1\" # <-- auto-generated by running ln.track()\n",
|
100
106
|
"\n",
|
101
|
-
"# track the execution of your
|
107
|
+
"# track the execution of your notebook or script\n",
|
102
108
|
"ln.track()"
|
103
109
|
]
|
104
110
|
},
|
@@ -304,7 +310,7 @@
|
|
304
310
|
"outputs": [],
|
305
311
|
"source": [
|
306
312
|
"# search in a registry\n",
|
307
|
-
"ln.Transform.search(\"intro\")\n",
|
313
|
+
"ln.Transform.search(\"intro\").df()\n",
|
308
314
|
"\n",
|
309
315
|
"# look up records with auto-complete\n",
|
310
316
|
"labels = ln.ULabel.lookup()"
|
@@ -768,7 +774,7 @@
|
|
768
774
|
"source": [
|
769
775
|
"### Data lineage across entire projects\n",
|
770
776
|
"\n",
|
771
|
-
"View the sequence of data transformations ({class}`~lamindb.Transform`) in a project (from [
|
777
|
+
"View the sequence of data transformations ({class}`~lamindb.Transform`) in a project (from [a use case](inv:docs#project-flow), based on [Schmidt _et al._, 2022](https://pubmed.ncbi.nlm.nih.gov/35113687/)):\n",
|
772
778
|
"\n",
|
773
779
|
"```python\n",
|
774
780
|
"transform.view_parents()\n",
|
@@ -844,9 +850,12 @@
|
|
844
850
|
"\n",
|
845
851
|
"<img src=\"https://lamin-site-assets.s3.amazonaws.com/.lamindb/BunYmHkyFLITlM5MYQci.svg\" width=\"350px\" style=\"background: transparent\" align=\"right\">\n",
|
846
852
|
"\n",
|
847
|
-
"The complexity of modern R&D data often blocks realizing the scientific progress it promises.\n",
|
853
|
+
"The complexity of modern R&D data often blocks realizing the scientific progress it promises: see this [blog post](https://lamin.ai/blog/problems).\n",
|
854
|
+
"\n",
|
855
|
+
"More basically: The pydata family of objects is at the heart of most data science, ML & comp bio workflows: `DataFrame`, `AnnData`, `pytorch.DataLoader`, `zarr.Array`, `pyarrow.Table`, `xarray.Collection`, etc. We couldn’t find a tool to link these objects to context so that they could be analyzed in context:\n",
|
848
856
|
"\n",
|
849
|
-
"
|
857
|
+
"- provenance: data sources, data transformations, models, users\n",
|
858
|
+
"- domain knowledge & experimental metadata: the features & labels derived from domain entities\n",
|
850
859
|
"\n",
|
851
860
|
"### Assumptions\n",
|
852
861
|
"\n",
|
@@ -893,6 +902,11 @@
|
|
893
902
|
"\n",
|
894
903
|
"LaminDB was influenced by many other projects, see {doc}`docs:influences`."
|
895
904
|
]
|
905
|
+
},
|
906
|
+
{
|
907
|
+
"cell_type": "markdown",
|
908
|
+
"metadata": {},
|
909
|
+
"source": []
|
896
910
|
}
|
897
911
|
],
|
898
912
|
"metadata": {
|
@@ -229,17 +229,7 @@
|
|
229
229
|
"metadata": {},
|
230
230
|
"outputs": [],
|
231
231
|
"source": [
|
232
|
-
"ln.Artifact.search(\"iris\")"
|
233
|
-
]
|
234
|
-
},
|
235
|
-
{
|
236
|
-
"cell_type": "code",
|
237
|
-
"execution_count": null,
|
238
|
-
"id": "2aa66c4e",
|
239
|
-
"metadata": {},
|
240
|
-
"outputs": [],
|
241
|
-
"source": [
|
242
|
-
"ln.Artifact.search(\"iris\", return_queryset=True).first()"
|
232
|
+
"ln.Artifact.search(\"iris\").df()"
|
243
233
|
]
|
244
234
|
},
|
245
235
|
{
|
@@ -282,7 +272,7 @@
|
|
282
272
|
"metadata": {},
|
283
273
|
"outputs": [],
|
284
274
|
"source": [
|
285
|
-
"ln.Transform.search(\"intestine\").head()"
|
275
|
+
"ln.Transform.search(\"intestine\").df().head()"
|
286
276
|
]
|
287
277
|
},
|
288
278
|
{
|
@@ -12,7 +12,7 @@ Lamin does _not_ store or see any of your data, but only _basic_ metadata about
|
|
12
12
|
|
13
13
|
If you register a LaminDB instance on LaminHub, Lamin only stores the storage location (AWS S3 or GCP bucket names, directory names).
|
14
14
|
|
15
|
-
For more, see
|
15
|
+
For more, see [doc](inv:docs#access), [the source code](https://github.com/laminlabs/lamindb-setup), or the [privacy policy](https://lamin.ai/legal/privacy-policy).
|
16
16
|
|
17
17
|
```
|
18
18
|
|