lamindb 0.72.1__tar.gz → 0.73.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.
Files changed (375) hide show
  1. {lamindb-0.72.1 → lamindb-0.73.0}/.gitignore +1 -9
  2. {lamindb-0.72.1 → lamindb-0.73.0}/PKG-INFO +5 -4
  3. {lamindb-0.72.1 → lamindb-0.73.0}/docs/annotate-for-developers.ipynb +1 -1
  4. {lamindb-0.72.1 → lamindb-0.73.0}/docs/changelog.md +44 -1
  5. {lamindb-0.72.1 → lamindb-0.73.0}/docs/introduction.ipynb +190 -34
  6. {lamindb-0.72.1 → lamindb-0.73.0}/docs/storage/prepare-transfer-local-to-cloud.ipynb +9 -0
  7. {lamindb-0.72.1 → lamindb-0.73.0}/docs/storage/transfer-local-to-cloud.ipynb +2 -1
  8. {lamindb-0.72.1 → lamindb-0.73.0}/docs/transfer.ipynb +10 -2
  9. {lamindb-0.72.1 → lamindb-0.73.0}/docs/tutorial.ipynb +8 -64
  10. {lamindb-0.72.1 → lamindb-0.73.0}/docs/tutorial2.ipynb +94 -447
  11. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/__init__.py +1 -1
  12. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/_annotate.py +25 -18
  13. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/_artifact.py +10 -10
  14. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/_collection.py +21 -17
  15. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/_feature_set.py +1 -1
  16. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/_filter.py +6 -2
  17. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/_finish.py +64 -33
  18. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/_from_values.py +9 -3
  19. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/_parents.py +11 -5
  20. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/_query_manager.py +2 -2
  21. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/_query_set.py +24 -3
  22. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/_registry.py +77 -47
  23. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/_save.py +14 -3
  24. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/_ulabel.py +0 -14
  25. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/core/__init__.py +4 -2
  26. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/core/_data.py +38 -112
  27. lamindb-0.73.0/lamindb/core/_feature_manager.py +700 -0
  28. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/core/_label_manager.py +84 -83
  29. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/core/_run_context.py +55 -31
  30. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/core/_sync_git.py +4 -3
  31. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/core/datasets/_core.py +1 -1
  32. lamindb-0.73.0/lamindb/core/exceptions.py +49 -0
  33. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/core/schema.py +15 -12
  34. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/core/storage/paths.py +14 -4
  35. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/core/versioning.py +48 -8
  36. {lamindb-0.72.1 → lamindb-0.73.0}/pyproject.toml +11 -3
  37. lamindb-0.73.0/sub/lamin-cli/lamin_cli/__init__.py +3 -0
  38. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamin-cli/lamin_cli/_save.py +1 -0
  39. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamin-cli/tests/test_get.py +1 -1
  40. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamin-cli/tests/test_save_notebooks.py +0 -2
  41. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamin-cli/tests/test_save_scripts.py +14 -0
  42. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/.github/workflows/build.yml +14 -14
  43. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/.pre-commit-config.yaml +1 -1
  44. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/docs/changelog.md +5 -0
  45. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/docs/hub-cloud/06-connect-hosted-instance.ipynb +29 -4
  46. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/__init__.py +1 -1
  47. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/_init_instance.py +1 -0
  48. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/core/_settings_storage.py +24 -21
  49. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/core/_setup_bionty_sources.py +1 -0
  50. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/core/upath.py +74 -36
  51. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/noxfile.py +1 -1
  52. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/tests/storage/test_storage_stats.py +11 -3
  53. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/CHANGELOG.md +3 -0
  54. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/__init__.py +1 -2
  55. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/migrations/0037_rename_dataset_to_collection.py +2 -2
  56. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/migrations/0052_squashed.py +2 -2
  57. lamindb-0.73.0/sub/lnschema-core/lnschema_core/migrations/0053_alter_featureset_hash_alter_paramvalue_created_by_and_more.py +57 -0
  58. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/models.py +103 -53
  59. lamindb-0.73.0/tests/test_annotate.py +254 -0
  60. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_artifact.py +2 -2
  61. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_artifact_folders.py +3 -4
  62. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_feature_manager.py +139 -44
  63. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_run_context.py +5 -0
  64. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_search.py +3 -6
  65. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_versioning.py +16 -2
  66. lamindb-0.72.1/lamindb/core/_feature_manager.py +0 -507
  67. lamindb-0.72.1/lamindb/core/exceptions.py +0 -16
  68. lamindb-0.72.1/sub/lamin-cli/lamin_cli/__init__.py +0 -3
  69. lamindb-0.72.1/tests/test_annotate.py +0 -104
  70. {lamindb-0.72.1 → lamindb-0.73.0}/.github/workflows/build.yml +0 -0
  71. {lamindb-0.72.1 → lamindb-0.73.0}/.github/workflows/latest-changes.jinja2 +0 -0
  72. {lamindb-0.72.1 → lamindb-0.73.0}/.github/workflows/latest-changes.yml +0 -0
  73. {lamindb-0.72.1 → lamindb-0.73.0}/.gitmodules +0 -0
  74. {lamindb-0.72.1 → lamindb-0.73.0}/.pre-commit-config.yaml +0 -0
  75. {lamindb-0.72.1 → lamindb-0.73.0}/LICENSE +0 -0
  76. {lamindb-0.72.1 → lamindb-0.73.0}/README.md +0 -0
  77. {lamindb-0.72.1 → lamindb-0.73.0}/docs/annotate.ipynb +0 -0
  78. {lamindb-0.72.1 → lamindb-0.73.0}/docs/bio-registries.ipynb +0 -0
  79. {lamindb-0.72.1 → lamindb-0.73.0}/docs/bionty-base.md +0 -0
  80. {lamindb-0.72.1 → lamindb-0.73.0}/docs/bionty.md +0 -0
  81. {lamindb-0.72.1 → lamindb-0.73.0}/docs/can-validate.ipynb +0 -0
  82. {lamindb-0.72.1 → lamindb-0.73.0}/docs/data.ipynb +0 -0
  83. {lamindb-0.72.1 → lamindb-0.73.0}/docs/faq/acid.ipynb +0 -0
  84. {lamindb-0.72.1 → lamindb-0.73.0}/docs/faq/delete.ipynb +0 -0
  85. {lamindb-0.72.1 → lamindb-0.73.0}/docs/faq/idempotency.ipynb +0 -0
  86. {lamindb-0.72.1 → lamindb-0.73.0}/docs/faq/import-schema.ipynb +0 -0
  87. {lamindb-0.72.1 → lamindb-0.73.0}/docs/faq/keep-artifacts-local.ipynb +0 -0
  88. {lamindb-0.72.1 → lamindb-0.73.0}/docs/faq/key.ipynb +0 -0
  89. {lamindb-0.72.1 → lamindb-0.73.0}/docs/faq/reference-field.ipynb +0 -0
  90. {lamindb-0.72.1 → lamindb-0.73.0}/docs/faq/setup.ipynb +0 -0
  91. {lamindb-0.72.1 → lamindb-0.73.0}/docs/faq/test_notebooks.py +0 -0
  92. {lamindb-0.72.1 → lamindb-0.73.0}/docs/faq/track-run-inputs.ipynb +0 -0
  93. {lamindb-0.72.1 → lamindb-0.73.0}/docs/faq/visibility.ipynb +0 -0
  94. {lamindb-0.72.1 → lamindb-0.73.0}/docs/faq.md +0 -0
  95. {lamindb-0.72.1 → lamindb-0.73.0}/docs/features-lamindb.md +0 -0
  96. {lamindb-0.72.1 → lamindb-0.73.0}/docs/features-laminhub.md +0 -0
  97. {lamindb-0.72.1 → lamindb-0.73.0}/docs/guide.md +0 -0
  98. {lamindb-0.72.1 → lamindb-0.73.0}/docs/index.md +0 -0
  99. {lamindb-0.72.1 → lamindb-0.73.0}/docs/installation.md +0 -0
  100. {lamindb-0.72.1 → lamindb-0.73.0}/docs/lamin-utils.md +0 -0
  101. {lamindb-0.72.1 → lamindb-0.73.0}/docs/lamindb.md +0 -0
  102. {lamindb-0.72.1 → lamindb-0.73.0}/docs/meta.ipynb +0 -0
  103. {lamindb-0.72.1 → lamindb-0.73.0}/docs/nbproject.md +0 -0
  104. {lamindb-0.72.1 → lamindb-0.73.0}/docs/query-search.md +0 -0
  105. {lamindb-0.72.1 → lamindb-0.73.0}/docs/readfcs.md +0 -0
  106. {lamindb-0.72.1 → lamindb-0.73.0}/docs/reference.md +0 -0
  107. {lamindb-0.72.1 → lamindb-0.73.0}/docs/schemas.ipynb +0 -0
  108. {lamindb-0.72.1 → lamindb-0.73.0}/docs/setup.ipynb +0 -0
  109. {lamindb-0.72.1 → lamindb-0.73.0}/docs/signup-login.md +0 -0
  110. {lamindb-0.72.1 → lamindb-0.73.0}/docs/storage/add-replace-stage.ipynb +0 -0
  111. {lamindb-0.72.1 → lamindb-0.73.0}/docs/storage/anndata-accessor.ipynb +0 -0
  112. {lamindb-0.72.1 → lamindb-0.73.0}/docs/storage/test-files/iris.csv +0 -0
  113. {lamindb-0.72.1 → lamindb-0.73.0}/docs/storage/test-files/iris.data +0 -0
  114. {lamindb-0.72.1 → lamindb-0.73.0}/docs/storage/test-files/new_iris.csv +0 -0
  115. {lamindb-0.72.1 → lamindb-0.73.0}/docs/storage/test_notebooks.py +0 -0
  116. {lamindb-0.72.1 → lamindb-0.73.0}/docs/storage/upload.ipynb +0 -0
  117. {lamindb-0.72.1 → lamindb-0.73.0}/docs/storage/vitessce.ipynb +0 -0
  118. {lamindb-0.72.1 → lamindb-0.73.0}/docs/storage.md +0 -0
  119. {lamindb-0.72.1 → lamindb-0.73.0}/docs/test_notebooks.py +0 -0
  120. {lamindb-0.72.1 → lamindb-0.73.0}/docs/track.ipynb +0 -0
  121. {lamindb-0.72.1 → lamindb-0.73.0}/docs/wetlab.md +0 -0
  122. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/_can_validate.py +0 -0
  123. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/_feature.py +0 -0
  124. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/_is_versioned.py +0 -0
  125. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/_run.py +0 -0
  126. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/_storage.py +0 -0
  127. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/_transform.py +0 -0
  128. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/_utils.py +0 -0
  129. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/_view.py +0 -0
  130. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/core/_mapped_collection.py +0 -0
  131. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/core/_settings.py +0 -0
  132. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/core/_track_environment.py +0 -0
  133. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/core/_transform_settings.py +0 -0
  134. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/core/datasets/__init__.py +0 -0
  135. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/core/datasets/_fake.py +0 -0
  136. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/core/fields.py +0 -0
  137. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/core/storage/__init__.py +0 -0
  138. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/core/storage/_anndata_sizes.py +0 -0
  139. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/core/storage/_backed_access.py +0 -0
  140. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/core/storage/_valid_suffixes.py +0 -0
  141. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/core/storage/_zarr.py +0 -0
  142. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/core/storage/objects.py +0 -0
  143. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/core/types.py +0 -0
  144. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/integrations/__init__.py +0 -0
  145. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/integrations/_vitessce.py +0 -0
  146. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/setup/__init__.py +0 -0
  147. {lamindb-0.72.1 → lamindb-0.73.0}/lamindb/setup/core/__init__.py +0 -0
  148. {lamindb-0.72.1 → lamindb-0.73.0}/noxfile.py +0 -0
  149. {lamindb-0.72.1 → lamindb-0.73.0}/sub/bionty/.github/workflows/build.yml +0 -0
  150. {lamindb-0.72.1 → lamindb-0.73.0}/sub/bionty/.github/workflows/latest-changes.jinja2 +0 -0
  151. {lamindb-0.72.1 → lamindb-0.73.0}/sub/bionty/.github/workflows/latest-changes.yml +0 -0
  152. {lamindb-0.72.1 → lamindb-0.73.0}/sub/bionty/.gitignore +0 -0
  153. {lamindb-0.72.1 → lamindb-0.73.0}/sub/bionty/.pre-commit-config.yaml +0 -0
  154. {lamindb-0.72.1 → lamindb-0.73.0}/sub/bionty/LICENSE +0 -0
  155. {lamindb-0.72.1 → lamindb-0.73.0}/sub/bionty/README.md +0 -0
  156. {lamindb-0.72.1 → lamindb-0.73.0}/sub/bionty/bionty/__init__.py +0 -0
  157. {lamindb-0.72.1 → lamindb-0.73.0}/sub/bionty/bionty/core/__init__.py +0 -0
  158. {lamindb-0.72.1 → lamindb-0.73.0}/sub/bionty/docs/changelog.md +0 -0
  159. {lamindb-0.72.1 → lamindb-0.73.0}/sub/bionty/docs/index.md +0 -0
  160. {lamindb-0.72.1 → lamindb-0.73.0}/sub/bionty/docs/reference.md +0 -0
  161. {lamindb-0.72.1 → lamindb-0.73.0}/sub/bionty/lamin-project.yaml +0 -0
  162. {lamindb-0.72.1 → lamindb-0.73.0}/sub/bionty/noxfile.py +0 -0
  163. {lamindb-0.72.1 → lamindb-0.73.0}/sub/bionty/pyproject.toml +0 -0
  164. {lamindb-0.72.1 → lamindb-0.73.0}/sub/bionty/tests/test_notebooks.py +0 -0
  165. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamin-cli/.gitignore +0 -0
  166. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamin-cli/.pre-commit-config.yaml +0 -0
  167. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamin-cli/README.md +0 -0
  168. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamin-cli/lamin_cli/__main__.py +0 -0
  169. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamin-cli/lamin_cli/_cache.py +0 -0
  170. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamin-cli/lamin_cli/_get.py +0 -0
  171. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamin-cli/lamin_cli/_migration.py +0 -0
  172. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamin-cli/pyproject.toml +0 -0
  173. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamin-cli/tests/conftest.py +0 -0
  174. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
  175. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +0 -0
  176. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +0 -0
  177. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamin-cli/tests/scripts/merely-import-lamindb.py +0 -0
  178. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamin-cli/tests/scripts/run-track-and-finish-sync-git.py +0 -0
  179. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamin-cli/tests/scripts/run-track-and-finish.py +0 -0
  180. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamin-cli/tests/test_cli.py +0 -0
  181. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamin-cli/tests/test_migrate.py +0 -0
  182. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamin-cli/tests/test_multi_process.py +0 -0
  183. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamin-cli/tests/test_save_files.py +0 -0
  184. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/.github/workflows/latest-changes.jinja2 +0 -0
  185. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/.github/workflows/latest-changes.yml +0 -0
  186. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/.gitignore +0 -0
  187. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/LICENSE +0 -0
  188. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/README.md +0 -0
  189. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/docs/hub-cloud/01-init-local-instance.ipynb +0 -0
  190. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/docs/hub-cloud/02-connect-local-instance.ipynb +0 -0
  191. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/docs/hub-cloud/03-add-managed-storage.ipynb +0 -0
  192. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/docs/hub-cloud/04-test-bionty.ipynb +0 -0
  193. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/docs/hub-cloud/05-init-hosted-instance.ipynb +0 -0
  194. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/docs/hub-cloud/07-keep-artifacts-local.ipynb +0 -0
  195. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/docs/hub-cloud/test-multi-session.ipynb +0 -0
  196. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/docs/hub-cloud/test_notebooks.py +0 -0
  197. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/docs/hub-prod/test-cache-management.ipynb +0 -0
  198. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/docs/hub-prod/test-cloud-sync.ipynb +0 -0
  199. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/docs/hub-prod/test-connect-anonymously.ipynb +0 -0
  200. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/docs/hub-prod/test-empty-init.ipynb +0 -0
  201. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/docs/hub-prod/test-import-schema.ipynb +0 -0
  202. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/docs/hub-prod/test-insufficient-user-info.ipynb +0 -0
  203. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/docs/hub-prod/test-invalid-schema.ipynb +0 -0
  204. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/docs/hub-prod/test-sqlite-lock.ipynb +0 -0
  205. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/docs/hub-prod/test_notebooks2.py +0 -0
  206. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/docs/index.md +0 -0
  207. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/docs/notebooks.md +0 -0
  208. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/docs/reference.md +0 -0
  209. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
  210. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/_check.py +0 -0
  211. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/_check_setup.py +0 -0
  212. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
  213. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/_connect_instance.py +0 -0
  214. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/_delete.py +0 -0
  215. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/_django.py +0 -0
  216. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/_exportdb.py +0 -0
  217. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/_importdb.py +0 -0
  218. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/_migrate.py +0 -0
  219. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
  220. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
  221. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/_set_managed_storage.py +0 -0
  222. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/_setup_user.py +0 -0
  223. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
  224. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/core/__init__.py +0 -0
  225. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/core/_aws_credentials.py +0 -0
  226. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/core/_aws_storage.py +0 -0
  227. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/core/_deprecated.py +0 -0
  228. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/core/_docs.py +0 -0
  229. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/core/_hub_client.py +0 -0
  230. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/core/_hub_core.py +0 -0
  231. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/core/_hub_crud.py +0 -0
  232. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/core/_hub_utils.py +0 -0
  233. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/core/_settings.py +0 -0
  234. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/core/_settings_instance.py +0 -0
  235. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/core/_settings_load.py +0 -0
  236. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/core/_settings_save.py +0 -0
  237. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/core/_settings_store.py +0 -0
  238. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/core/_settings_user.py +0 -0
  239. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/core/cloud_sqlite_locker.py +0 -0
  240. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/core/django.py +0 -0
  241. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/core/exceptions.py +0 -0
  242. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/core/hashing.py +0 -0
  243. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/lamindb_setup/core/types.py +0 -0
  244. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/pyproject.toml +0 -0
  245. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/tests/hub-cloud/test_connect_instance.py +0 -0
  246. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/tests/hub-cloud/test_delete_instance.py +0 -0
  247. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/tests/hub-cloud/test_init_instance.py +0 -0
  248. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/tests/hub-cloud/test_login.py +0 -0
  249. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/tests/hub-cloud/test_migrate.py +0 -0
  250. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/tests/hub-cloud/test_set_storage.py +0 -0
  251. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/tests/hub-local/conftest.py +0 -0
  252. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/tests/hub-local/test_all.py +0 -0
  253. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/tests/hub-prod/conftest.py +0 -0
  254. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/tests/hub-prod/test_auto_connect.py +0 -0
  255. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/tests/hub-prod/test_django.py +0 -0
  256. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/tests/hub-prod/test_switch_and_fallback_env.py +0 -0
  257. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/tests/hub-prod/test_upath.py +0 -0
  258. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/tests/storage/test_hashing.py +0 -0
  259. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/tests/storage/test_storage_access.py +0 -0
  260. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/tests/storage/test_storage_basis.py +0 -0
  261. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lamindb-setup/tests/storage/test_to_url.py +0 -0
  262. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/.github/workflows/build.yml +0 -0
  263. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/.github/workflows/latest-changes.jinja2 +0 -0
  264. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/.github/workflows/latest-changes.yml +0 -0
  265. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/.gitignore +0 -0
  266. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/.pre-commit-config.yaml +0 -0
  267. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/LICENSE +0 -0
  268. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/README.md +0 -0
  269. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/docs/changelog.md +0 -0
  270. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/docs/index.md +0 -0
  271. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/docs/reference.md +0 -0
  272. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/lamin-project.yaml +0 -0
  273. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/lnschema_bionty/__init__.py +0 -0
  274. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/lnschema_bionty/_bionty.py +0 -0
  275. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/lnschema_bionty/core/__init__.py +0 -0
  276. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/lnschema_bionty/core/_bionty.py +0 -0
  277. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/lnschema_bionty/core/_settings.py +0 -0
  278. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/lnschema_bionty/ids.py +0 -0
  279. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0023_rename_publicsource_encode_uid.py +0 -0
  280. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0024_remove_cellline_collections_and_more.py +0 -0
  281. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0025_artifactcellline_alter_cellline_artifacts_and_more.py +0 -0
  282. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0026_artifactcellline_cell_line_ref_is_name_and_more.py +0 -0
  283. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0027_remove_artifactcellline_created_at_and_more.py +0 -0
  284. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0028_artifactcellline_created_at_and_more.py +0 -0
  285. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0028_squashed.py +0 -0
  286. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/lnschema_bionty/migrations/__init__.py +0 -0
  287. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/lnschema_bionty/models.py +0 -0
  288. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/noxfile.py +0 -0
  289. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/pyproject.toml +0 -0
  290. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-bionty/tests/test_integrity.py +0 -0
  291. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/.github/workflows/build.yml +0 -0
  292. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/.github/workflows/latest-changes.jinja2 +0 -0
  293. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/.github/workflows/latest-changes.yml +0 -0
  294. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/.gitignore +0 -0
  295. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/.pre-commit-config.yaml +0 -0
  296. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/LICENSE +0 -0
  297. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/README.md +0 -0
  298. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/ids.py +0 -0
  299. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/migrations/0038_alter_collection_artifact_alter_collection_artifacts_and_more.py +0 -0
  300. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/migrations/0039_remove_collection_artifacts_collectionartifact_and_more.py +0 -0
  301. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/migrations/0040_alter_transform_type.py +0 -0
  302. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/migrations/0041_remove_transform_short_name_transform_description_and_more.py +0 -0
  303. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/migrations/0042_rename_run_at_run_started_at_run_finished_at.py +0 -0
  304. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/migrations/0043_run_json.py +0 -0
  305. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/migrations/0044_run_replicated_outputs_transform_ulabels_and_more.py +0 -0
  306. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/migrations/0045_rename_replicated_outputs_run_replicated_output_artifacts_and_more.py +0 -0
  307. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/migrations/0046_storage_instance_uid.py +0 -0
  308. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/migrations/0047_featurevalue_artifactfeaturevalue_and_more.py +0 -0
  309. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/migrations/0048_alter_artifactulabel_feature_and_more.py +0 -0
  310. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/migrations/0049_rename_type_feature_dtype_and_more.py +0 -0
  311. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/migrations/0050_artifactfeatureset_feature_ref_is_semantic_and_more.py +0 -0
  312. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/migrations/0051_remove_feature_feature_sets_featuresetfeature_and_more.py +0 -0
  313. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/migrations/0052_rename_feature_value_artifactfeaturevalue_featurevalue_and_more.py +0 -0
  314. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
  315. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/mocks.py +0 -0
  316. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/types.py +0 -0
  317. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/lnschema_core/users.py +0 -0
  318. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/noxfile.py +0 -0
  319. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/pyproject.toml +0 -0
  320. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/tests/test_integrity.py +0 -0
  321. {lamindb-0.72.1 → lamindb-0.73.0}/sub/lnschema-core/tests/test_types.py +0 -0
  322. {lamindb-0.72.1 → lamindb-0.73.0}/sub/wetlab/.github/workflows/build.yml +0 -0
  323. {lamindb-0.72.1 → lamindb-0.73.0}/sub/wetlab/.github/workflows/deploy-instance-apis.yml +0 -0
  324. {lamindb-0.72.1 → lamindb-0.73.0}/sub/wetlab/.github/workflows/latest-changes.jinja2 +0 -0
  325. {lamindb-0.72.1 → lamindb-0.73.0}/sub/wetlab/.github/workflows/latest-changes.yml +0 -0
  326. {lamindb-0.72.1 → lamindb-0.73.0}/sub/wetlab/.gitignore +0 -0
  327. {lamindb-0.72.1 → lamindb-0.73.0}/sub/wetlab/.pre-commit-config.yaml +0 -0
  328. {lamindb-0.72.1 → lamindb-0.73.0}/sub/wetlab/README.md +0 -0
  329. {lamindb-0.72.1 → lamindb-0.73.0}/sub/wetlab/docs/changelog.md +0 -0
  330. {lamindb-0.72.1 → lamindb-0.73.0}/sub/wetlab/docs/guide/01-get-started.ipynb +0 -0
  331. {lamindb-0.72.1 → lamindb-0.73.0}/sub/wetlab/docs/guide/index.md +0 -0
  332. {lamindb-0.72.1 → lamindb-0.73.0}/sub/wetlab/docs/index.md +0 -0
  333. {lamindb-0.72.1 → lamindb-0.73.0}/sub/wetlab/docs/reference.md +0 -0
  334. {lamindb-0.72.1 → lamindb-0.73.0}/sub/wetlab/noxfile.py +0 -0
  335. {lamindb-0.72.1 → lamindb-0.73.0}/sub/wetlab/pyproject.toml +0 -0
  336. {lamindb-0.72.1 → lamindb-0.73.0}/sub/wetlab/tests/test_integrity.py +0 -0
  337. {lamindb-0.72.1 → lamindb-0.73.0}/sub/wetlab/tests/test_notebooks.py +0 -0
  338. {lamindb-0.72.1 → lamindb-0.73.0}/sub/wetlab/wetlab/__init__.py +0 -0
  339. {lamindb-0.72.1 → lamindb-0.73.0}/sub/wetlab/wetlab/migrations/0017_remove_biosample_artifacts.py +0 -0
  340. {lamindb-0.72.1 → lamindb-0.73.0}/sub/wetlab/wetlab/migrations/0018_squashed.py +0 -0
  341. {lamindb-0.72.1 → lamindb-0.73.0}/sub/wetlab/wetlab/migrations/0018_well_created_at_well_created_by_well_updated_at.py +0 -0
  342. {lamindb-0.72.1 → lamindb-0.73.0}/sub/wetlab/wetlab/migrations/__init__.py +0 -0
  343. {lamindb-0.72.1 → lamindb-0.73.0}/sub/wetlab/wetlab/models.py +0 -0
  344. {lamindb-0.72.1 → lamindb-0.73.0}/tests/conftest.py +0 -0
  345. {lamindb-0.72.1 → lamindb-0.73.0}/tests/notebooks/initialized-with-nbproject.ipynb +0 -0
  346. {lamindb-0.72.1 → lamindb-0.73.0}/tests/notebooks/no-title.ipynb +0 -0
  347. {lamindb-0.72.1 → lamindb-0.73.0}/tests/notebooks/not-initialized.ipynb +0 -0
  348. {lamindb-0.72.1 → lamindb-0.73.0}/tests/notebooks/with-title-initialized-consecutive-finish-not-last-cell.ipynb +0 -0
  349. {lamindb-0.72.1 → lamindb-0.73.0}/tests/notebooks/with-title-initialized-consecutive-finish.ipynb +0 -0
  350. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_cache.py +0 -0
  351. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_can_validate.py +0 -0
  352. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_collection.py +0 -0
  353. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_data.py +0 -0
  354. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_db.py +0 -0
  355. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_delete.py +0 -0
  356. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_feature.py +0 -0
  357. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_feature_set.py +0 -0
  358. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_from_values.py +0 -0
  359. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_label_manager.py +0 -0
  360. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_load.py +0 -0
  361. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_manager.py +0 -0
  362. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_notebooks.py +0 -0
  363. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_parents.py +0 -0
  364. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_queryset.py +0 -0
  365. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_registry.py +0 -0
  366. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_run.py +0 -0
  367. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_save.py +0 -0
  368. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_settings.py +0 -0
  369. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_storage.py +0 -0
  370. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_transfer.py +0 -0
  371. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_transform.py +0 -0
  372. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_uid.py +0 -0
  373. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_ulabel.py +0 -0
  374. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_view.py +0 -0
  375. {lamindb-0.72.1 → lamindb-0.73.0}/tests/test_visibility.py +0 -0
@@ -59,6 +59,7 @@ test-search2
59
59
  test-search3
60
60
  test-search4
61
61
  test-search5
62
+ default_storage
62
63
 
63
64
  # General
64
65
  .DS_Store
@@ -211,12 +212,3 @@ _build
211
212
 
212
213
  # VSCode
213
214
  .vscode
214
-
215
- # fred files
216
- docs/guide/insert-some-data-into-frederic-hub.ipynb
217
- docs/guide/insert-data-in-test-user-1-profile.ipynb
218
-
219
- # key guide
220
- docs/faq/complex_biological_project
221
- key-eval
222
- sample_001
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lamindb
3
- Version: 0.72.1
3
+ Version: 0.73.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.67.1
13
- Requires-Dist: lamindb_setup==0.72.2
12
+ Requires-Dist: lnschema_core==0.68.0
13
+ Requires-Dist: lamindb_setup==0.73.0
14
14
  Requires-Dist: lamin_utils==0.13.2
15
- Requires-Dist: lamin_cli==0.13.2
15
+ Requires-Dist: lamin_cli==0.14.0
16
16
  Requires-Dist: rapidfuzz
17
17
  Requires-Dist: pyarrow
18
18
  Requires-Dist: typing_extensions!=4.6.0
@@ -33,6 +33,7 @@ Requires-Dist: laminci>=0.3 ; extra == "dev"
33
33
  Requires-Dist: pytest>=6.0 ; extra == "dev"
34
34
  Requires-Dist: coverage ; extra == "dev"
35
35
  Requires-Dist: pytest-cov ; extra == "dev"
36
+ Requires-Dist: mudata ; extra == "dev"
36
37
  Requires-Dist: nbproject_test>=0.5.1 ; extra == "dev"
37
38
  Requires-Dist: faker-biology ; extra == "dev"
38
39
  Requires-Dist: django-schema-graph ; extra == "erdiagram"
@@ -382,7 +382,7 @@
382
382
  "metadata": {},
383
383
  "outputs": [],
384
384
  "source": [
385
- "artifact.features.add_from_anndata(var_field=bt.Gene.symbol, organism=\"human\")"
385
+ "artifact.features._add_set_from_anndata(var_field=bt.Gene.symbol, organism=\"human\")"
386
386
  ]
387
387
  },
388
388
  {
@@ -1,6 +1,5 @@
1
1
  # Changelog
2
2
 
3
-
4
3
  :::{note}
5
4
 
6
5
  If using LaminHub, please use the latest version of lamindb.
@@ -13,6 +12,50 @@ LaminDB implements "migration-based versioning". When upgrading your LaminDB ins
13
12
  .. role:: small
14
13
  ```
15
14
 
15
+ ## 0.73
16
+
17
+ ### 0.73.0 {small}`2024-05-29`
18
+
19
+ Annotating & querying by features improved:
20
+ - ✨ Support non-categorical feature values [PR](https://github.com/laminlabs/lamindb/pull/1674) [@falexwolf](https://github.com/falexwolf)
21
+ - ✨ Annotate dict-style with features & values [PR](https://github.com/laminlabs/lamindb/pull/1674) [@falexwolf](https://github.com/falexwolf)
22
+ - ✨ Query by features via `.features.filter(key=value)` [PR](https://github.com/laminlabs/lamindb/pull/1680) [@falexwolf](https://github.com/falexwolf)
23
+ - 🏗️ Feature values decoupled from feature sets [PR](https://github.com/laminlabs/lamindb/pull/1674) [@falexwolf](https://github.com/falexwolf)
24
+
25
+ Example:
26
+
27
+ ```python
28
+ # annotate dict-style (feature & category names get validated)
29
+ artifact.features.add_values({
30
+ "species": "setosa",
31
+ "scientist": ["Barabara McClintock", "Edgar Anderson"],
32
+ "instrument": "Leica IIIc Camera",
33
+ "temperature": 27.6,
34
+ "study": "Study 0: initial plant gathering",
35
+ "is_awesome": True
36
+ })
37
+
38
+ # get the dict back
39
+ artifact.features.get_values()
40
+
41
+ # query by feature
42
+ ln.Artifact.features.filter(is_awesome=True)
43
+ ```
44
+
45
+ Various improvements:
46
+ - 🚚 Additional non-breaking constraints in the core schema [PR](https://github.com/laminlabs/lamindb/pull/1681) [@falexwolf](https://github.com/falexwolf)
47
+ - 🚸 Make `.upload_from()`, `.download_to()`, and `.view_tree()` more user friendly [PR](https://github.com/laminlabs/lamindb/pull/1677) [@falexwolf](https://github.com/falexwolf) [PR](https://github.com/laminlabs/lamindb/pull/1678) [@Koncopd](https://github.com/Koncopd)
48
+ - 🚸 More intuitive version updating dialogue [PR](https://github.com/laminlabs/lamindb/pull/1676) [@falexwolf](https://github.com/falexwolf)
49
+ - 🐛 Actually add tracking run for entities beyond Artifact & Collection [PR](https://github.com/laminlabs/lamindb/pull/1673) [@falexwolf](https://github.com/falexwolf)
50
+ - 🚸 `ln.track()` returns `run` [PR](https://github.com/laminlabs/lamindb/pull/1674) [@falexwolf](https://github.com/falexwolf)
51
+ - 🚸 Better duplicate detection and search [PR](https://github.com/laminlabs/lamindb/pull/1674) [@falexwolf](https://github.com/falexwolf)
52
+ - 🚸 Prettier `.describe()` [PR](https://github.com/laminlabs/lamindb/pull/1674) [@falexwolf](https://github.com/falexwolf)
53
+ - 🚸 More interactivity in `lamin save` [PR](https://github.com/laminlabs/lamindb/pull/1674) [@falexwolf](https://github.com/falexwolf)
54
+ - 🚸 `create` flag in `.from_values()` [PR](https://github.com/laminlabs/lamindb/pull/1674) [@falexwolf](https://github.com/falexwolf)
55
+ - 🚸 Better ordering of fields in dataframe & record representations [PR](https://github.com/laminlabs/lamindb/pull/1674) [@falexwolf](https://github.com/falexwolf)
56
+ - 📝 Improved API reference: docs now show relationship attributes [PR](https://github.com/laminlabs/lamindb/pull/1680) [@falexwolf](https://github.com/falexwolf)
57
+
58
+
16
59
  ## 0.72
17
60
 
18
61
  ### 0.72.1 {small}`2024-05-19`
@@ -83,9 +83,9 @@
83
83
  "source": [
84
84
  "### Track\n",
85
85
  "\n",
86
- "Run {meth}`~lamindb.track` to track the inputs and outputs of your code ({class}`~lamindb.Transform`).\n",
86
+ "Run {meth}`~lamindb.track` to track the inputs and outputs of your code.\n",
87
87
  "\n",
88
- "When you first run `ln.track()`, it creates a `stem_uid` & `version` to unambiguously identify your notebook or script."
88
+ "When you first run `ln.track()`, it raises an exception and creates a `stem_uid` & `version` to identify a notebook or script:"
89
89
  ]
90
90
  },
91
91
  {
@@ -105,7 +105,17 @@
105
105
  "ln.settings.transform.version = \"1\" # <-- auto-generated by running ln.track()\n",
106
106
  "\n",
107
107
  "# track the execution of your notebook or script\n",
108
- "ln.track()"
108
+ "run = ln.track()\n",
109
+ "\n",
110
+ "# get your currently running transform\n",
111
+ "run.transform"
112
+ ]
113
+ },
114
+ {
115
+ "cell_type": "markdown",
116
+ "metadata": {},
117
+ "source": [
118
+ "`ln.track()` added a record to the {class}`~lamindb.Transform` registry to query & search your notebook and a {class}`~lamindb.Run` registry to store the specific notebook run."
109
119
  ]
110
120
  },
111
121
  {
@@ -221,17 +231,17 @@
221
231
  "\n",
222
232
  ":::\n",
223
233
  "\n",
224
- "```{dropdown} Does LaminDB give me a file system?\n",
234
+ "```{dropdown} How does LaminDB compare to a file system or object store?\n",
225
235
  "\n",
226
- "You can organize artifacts using the `key` parameter of {class}`~lamindb.Artifact` as you would in cloud storage.\n",
236
+ "Similar to organizing files in file systems & object stores with paths, you can organize artifacts using the `key` parameter of {class}`~lamindb.Artifact`.\n",
227
237
  "\n",
228
- "However, LaminDB encourages you to **not** rely on semantic keys.\n",
238
+ "However, LaminDB encourages you to **not** rely on semantic keys but instead organize your data based on metadata.\n",
229
239
  "\n",
230
240
  "Rather than memorizing names of folders and files, you find data via the entities you care about: people, code, experiments, genes, proteins, cell types, etc.\n",
231
241
  "\n",
232
242
  "LaminDB embeds each artifact into rich relational metadata and indexes them in storage with a universal ID (`uid`).\n",
233
243
  "\n",
234
- "This scales much better than semantic keys, which lead to deep hierarchical information structures that hard to navigate for humans & machines.\n",
244
+ "This scales much better than semantic keys, which lead to deep hierarchical information structures that can become hard to navigate.\n",
235
245
  "\n",
236
246
  "```\n",
237
247
  "\n",
@@ -278,7 +288,7 @@
278
288
  "source": [
279
289
  "### Labels\n",
280
290
  "\n",
281
- "Label an artifact with a {class}`~lamindb.ULabel`."
291
+ "Label an artifact with a label managed by the {class}`~lamindb.ULabel` registry."
282
292
  ]
283
293
  },
284
294
  {
@@ -295,10 +305,50 @@
295
305
  "candidate_marker_study = ln.ULabel(name=\"Candidate marker study\").save()\n",
296
306
  "\n",
297
307
  "# label an artifact\n",
298
- "artifact.labels.add(candidate_marker_study)\n",
299
- "artifact.describe()\n",
308
+ "artifact.ulabels.add(candidate_marker_study)\n",
309
+ "artifact.describe()"
310
+ ]
311
+ },
312
+ {
313
+ "cell_type": "markdown",
314
+ "metadata": {},
315
+ "source": [
316
+ "### Registries"
317
+ ]
318
+ },
319
+ {
320
+ "cell_type": "markdown",
321
+ "metadata": {},
322
+ "source": [
323
+ "LaminDB's central classes are registries that manage metadata.\n",
300
324
  "\n",
301
- "# the ULabel registry\n",
325
+ "The easiest way to see what's in a registry is to call `.df()`."
326
+ ]
327
+ },
328
+ {
329
+ "cell_type": "code",
330
+ "execution_count": null,
331
+ "metadata": {},
332
+ "outputs": [],
333
+ "source": [
334
+ "ln.Artifact.df()"
335
+ ]
336
+ },
337
+ {
338
+ "cell_type": "code",
339
+ "execution_count": null,
340
+ "metadata": {},
341
+ "outputs": [],
342
+ "source": [
343
+ "ln.Transform.df()"
344
+ ]
345
+ },
346
+ {
347
+ "cell_type": "code",
348
+ "execution_count": null,
349
+ "metadata": {},
350
+ "outputs": [],
351
+ "source": [
302
352
  "ln.ULabel.df() "
303
353
  ]
304
354
  },
@@ -308,7 +358,7 @@
308
358
  "source": [
309
359
  "### Queries\n",
310
360
  "\n",
311
- "Write arbitrary relational queries (under-the-hood, LaminDB is SQL & Django)."
361
+ "You can write arbitrary relational queries using Django's query syntax."
312
362
  ]
313
363
  },
314
364
  {
@@ -317,17 +367,20 @@
317
367
  "metadata": {},
318
368
  "outputs": [],
319
369
  "source": [
320
- "# get an entity by uid\n",
370
+ "# get an entity by uid (here, the current notebook)\n",
321
371
  "transform = ln.Transform.get(\"FPnfDtJz8qbE\")\n",
322
372
  "\n",
323
373
  "# filter by description\n",
324
374
  "ln.Artifact.filter(description=\"my RNA-seq\").df()\n",
325
375
  "\n",
326
- "# query all artifacts ingested from a notebook named \"Introduction\"\n",
327
- "artifacts = ln.Artifact.filter(transform__name=\"Introduction\").all()\n",
376
+ "# query all artifacts ingested from the current notebook\n",
377
+ "artifacts = ln.Artifact.filter(transform=transform).all()\n",
328
378
  "\n",
329
379
  "# query all artifacts ingested from a notebook with \"intro\" in the name and labeled \"Candidate marker study\"\n",
330
- "artifacts = ln.Artifact.filter(transform__name__icontains=\"intro\", ulabels=candidate_marker_study).all()"
380
+ "artifacts = ln.Artifact.filter(\n",
381
+ " transform__name__icontains=\"intro\",\n",
382
+ " ulabels=candidate_marker_study\n",
383
+ ").all()"
331
384
  ]
332
385
  },
333
386
  {
@@ -347,7 +400,7 @@
347
400
  "ln.Transform.search(\"intro\").df()\n",
348
401
  "\n",
349
402
  "# look up records with auto-complete\n",
350
- "labels = ln.ULabel.lookup()"
403
+ "ulabels = ln.ULabel.lookup()"
351
404
  ]
352
405
  },
353
406
  {
@@ -365,11 +418,102 @@
365
418
  "cell_type": "markdown",
366
419
  "metadata": {},
367
420
  "source": [
368
- "## Validate & annotate\n",
421
+ "### Features"
422
+ ]
423
+ },
424
+ {
425
+ "cell_type": "markdown",
426
+ "metadata": {},
427
+ "source": [
428
+ "You can annotate artifacts with features & values."
429
+ ]
430
+ },
431
+ {
432
+ "cell_type": "code",
433
+ "execution_count": null,
434
+ "metadata": {
435
+ "tags": [
436
+ "hide-output"
437
+ ]
438
+ },
439
+ "outputs": [],
440
+ "source": [
441
+ "import pytest\n",
369
442
  "\n",
370
- "In LaminDB, validation & annotation of categoricals are closely related by mapping categories on registry content.\n",
443
+ "with pytest.raises(ln.core.exceptions.ValidationError) as e:\n",
444
+ " artifact.features.add_values({\"temperature\": 21.6})\n",
371
445
  "\n",
372
- "Let's validate a `DataFrame` by passing validation criteria while constructing an {class}`~lamindb.Annotate` flow object."
446
+ "print(e.exconly())"
447
+ ]
448
+ },
449
+ {
450
+ "cell_type": "markdown",
451
+ "metadata": {},
452
+ "source": [
453
+ "LaminDB validates all user input against its registries. As the `temperature` feature didn't exist, we got an error.\n",
454
+ "\n",
455
+ "Let's follow the hint in the error message:"
456
+ ]
457
+ },
458
+ {
459
+ "cell_type": "code",
460
+ "execution_count": null,
461
+ "metadata": {
462
+ "tags": [
463
+ "hide-output"
464
+ ]
465
+ },
466
+ "outputs": [],
467
+ "source": [
468
+ "# register the \"temperature\" feature\n",
469
+ "ln.Feature(name='temperature', dtype='float').save()\n",
470
+ "\n",
471
+ "# now we can annotate with the feature & the value\n",
472
+ "artifact.features.add_values({\"temperature\": 21.6})\n",
473
+ "artifact.describe()"
474
+ ]
475
+ },
476
+ {
477
+ "cell_type": "markdown",
478
+ "metadata": {},
479
+ "source": [
480
+ "We can also annotate with categorical features:"
481
+ ]
482
+ },
483
+ {
484
+ "cell_type": "code",
485
+ "execution_count": null,
486
+ "metadata": {
487
+ "tags": [
488
+ "hide-output"
489
+ ]
490
+ },
491
+ "outputs": [],
492
+ "source": [
493
+ "# register a categorical feature\n",
494
+ "ln.Feature(name='study', dtype='cat').save()\n",
495
+ "\n",
496
+ "# add a categorical value\n",
497
+ "artifact.features.add_values({\"study\": \"Candidate marker study\"})\n",
498
+ "\n",
499
+ "# describe the artifact and add type information\n",
500
+ "artifact.describe(print_types=True)"
501
+ ]
502
+ },
503
+ {
504
+ "cell_type": "markdown",
505
+ "metadata": {},
506
+ "source": [
507
+ "Features provide a way to bucket labels beyond their type/registry."
508
+ ]
509
+ },
510
+ {
511
+ "cell_type": "markdown",
512
+ "metadata": {},
513
+ "source": [
514
+ "## Validate & annotate\n",
515
+ "\n",
516
+ "LaminDB validates & annotates categorical metadata by mapping categories on registries."
373
517
  ]
374
518
  },
375
519
  {
@@ -379,6 +523,13 @@
379
523
  "### Validate"
380
524
  ]
381
525
  },
526
+ {
527
+ "cell_type": "markdown",
528
+ "metadata": {},
529
+ "source": [
530
+ "Let's use the high-level {class}`~lamindb.Annotate`class to validate a `DataFrame`:"
531
+ ]
532
+ },
382
533
  {
383
534
  "cell_type": "code",
384
535
  "execution_count": null,
@@ -394,10 +545,10 @@
394
545
  " df,\n",
395
546
  " # define validation criteria\n",
396
547
  " columns=ln.Feature.name, # map column names\n",
397
- " categoricals={df.perturbation.name: ln.ULabel.name}, # map categories\n",
548
+ " categoricals={\"perturbation\": ln.ULabel.name}, # map categories\n",
398
549
  ")\n",
399
550
  "\n",
400
- "# the dataframe doesn't validate because registries don't contain the identifiers\n",
551
+ "# the dataframe doesn't validate because registries don't contain the categories\n",
401
552
  "annotate.validate()"
402
553
  ]
403
554
  },
@@ -418,13 +569,23 @@
418
569
  },
419
570
  "outputs": [],
420
571
  "source": [
421
- "# add non-validated identifiers to their mapped registries\n",
572
+ "# add non-validated features based on the DataFrame columns\n",
422
573
  "annotate.add_new_from_columns()\n",
423
- "annotate.add_new_from(df.perturbation.name)\n",
574
+ "# see the updated content of the features registry\n",
575
+ "ln.Feature.df()\n"
576
+ ]
577
+ },
578
+ {
579
+ "cell_type": "code",
580
+ "execution_count": null,
581
+ "metadata": {},
582
+ "outputs": [],
583
+ "source": [
584
+ "# add non-validated labels based on the perturbations\n",
585
+ "annotate.add_new_from(\"perturbation\")\n",
424
586
  "\n",
425
- "# the registered labels & features that will from now on be used for validation\n",
426
- "ln.ULabel.df()\n",
427
- "ln.Feature.df()"
587
+ "# see the updated content of the ULabel registry\n",
588
+ "ln.ULabel.df()"
428
589
  ]
429
590
  },
430
591
  {
@@ -702,7 +863,7 @@
702
863
  "outputs": [],
703
864
  "source": [
704
865
  "collection = ln.Collection([artifact, artifact2], name=\"my RNA-seq collection\", version=\"1\")\n",
705
- "collection.save(transfer_labels=True) # transfer labels from artifacts to collection\n",
866
+ "collection.save()\n",
706
867
  "collection.describe()\n",
707
868
  "collection.view_lineage()"
708
869
  ]
@@ -901,7 +1062,7 @@
901
1062
  "\n",
902
1063
  "<img src=\"https://lamin-site-assets.s3.amazonaws.com/.lamindb/XoTQFCmmj2uU4d2xyj9t.png\" width=\"350px\" style=\"background: transparent\" align=\"right\">\n",
903
1064
  "\n",
904
- "LaminDB provides a SQL schema for common entities: {class}`~lamindb.Artifact`, {class}`~lamindb.Collection`, {class}`~lamindb.Transform`, {class}`~lamindb.Feature`, {class}`~lamindb.ULabel` etc. - see the [API reference](reference) or the [source code](https://github.com/laminlabs/lnschema-core/blob/main/lnschema_core/models.py).\n",
1065
+ "LaminDB provides a SQL schema for common entities: {class}`~lamindb.Artifact`, {class}`~lamindb.Collection`, {class}`~lamindb.Transform`, {class}`~lamindb.Feature`, {class}`~lamindb.ULabel` etc. - see the [API reference](/reference) or the [source code](https://github.com/laminlabs/lnschema-core/blob/main/lnschema_core/models.py).\n",
905
1066
  "\n",
906
1067
  "The core schema is extendable through plugins (see blue vs. red entities in **graphic**), e.g., with basic biological ({class}`~bionty.Gene`, {class}`~bionty.Protein`, {class}`~bionty.CellLine`, etc.) & operational entities (`Biosample`, `Techsample`, `Treatment`, etc.).\n",
907
1068
  "\n",
@@ -936,11 +1097,6 @@
936
1097
  "\n",
937
1098
  "LaminDB was influenced by many other projects, see {doc}`docs:influences`."
938
1099
  ]
939
- },
940
- {
941
- "cell_type": "markdown",
942
- "metadata": {},
943
- "source": []
944
1100
  }
945
1101
  ],
946
1102
  "metadata": {
@@ -65,6 +65,15 @@
65
65
  "\n",
66
66
  "artifact.describe()"
67
67
  ]
68
+ },
69
+ {
70
+ "cell_type": "code",
71
+ "execution_count": null,
72
+ "metadata": {},
73
+ "outputs": [],
74
+ "source": [
75
+ "assert artifact.features[\"var\"].count() == 2"
76
+ ]
68
77
  }
69
78
  ],
70
79
  "metadata": {
@@ -35,7 +35,8 @@
35
35
  " experiments = artifact.experiments.all()\n",
36
36
  " try:\n",
37
37
  " artifact.delete(permanent=True)\n",
38
- " except Exception:\n",
38
+ " except Exception as e:\n",
39
+ " print(e)\n",
39
40
  " pass\n",
40
41
  " features_sets.delete()\n",
41
42
  " experiments.delete()\n",
@@ -17,7 +17,11 @@
17
17
  {
18
18
  "cell_type": "code",
19
19
  "execution_count": null,
20
- "metadata": {},
20
+ "metadata": {
21
+ "tags": [
22
+ "hide-output"
23
+ ]
24
+ },
21
25
  "outputs": [],
22
26
  "source": [
23
27
  "!lamin init --storage ./test-transfer --schema bionty"
@@ -26,7 +30,11 @@
26
30
  {
27
31
  "cell_type": "code",
28
32
  "execution_count": null,
29
- "metadata": {},
33
+ "metadata": {
34
+ "tags": [
35
+ "hide-output"
36
+ ]
37
+ },
30
38
  "outputs": [],
31
39
  "source": [
32
40
  "import lamindb as ln\n",
@@ -220,7 +220,7 @@
220
220
  },
221
221
  "outputs": [],
222
222
  "source": [
223
- "ln.UPath(\"s3://lamindb-dev-datasets/iris_studies\").view_tree()"
223
+ "ln.UPath(\"s3://lamindata/iris_studies\").view_tree()"
224
224
  ]
225
225
  },
226
226
  {
@@ -250,7 +250,7 @@
250
250
  "cell_type": "markdown",
251
251
  "metadata": {},
252
252
  "source": [
253
- "Let's create a {class}`~lamindb.Artifact` object from one of the files:"
253
+ "Let's create a {class}`~lamindb.Artifact` object for one of the studies:"
254
254
  ]
255
255
  },
256
256
  {
@@ -264,7 +264,7 @@
264
264
  "outputs": [],
265
265
  "source": [
266
266
  "artifact = ln.Artifact(\n",
267
- " \"s3://lamindb-dev-datasets/iris_studies/study0_raw_images/meta.csv\"\n",
267
+ " \"s3://lamindata/iris_studies/study0_raw_images\"\n",
268
268
  ")\n",
269
269
  "artifact"
270
270
  ]
@@ -471,27 +471,6 @@
471
471
  "artifact.cache()"
472
472
  ]
473
473
  },
474
- {
475
- "cell_type": "markdown",
476
- "metadata": {},
477
- "source": [
478
- "Many artifacts have default in-memory representations. To load artifacts into memory with a default loader, call {meth}`~lamindb.Artifact.load`: "
479
- ]
480
- },
481
- {
482
- "cell_type": "code",
483
- "execution_count": null,
484
- "metadata": {
485
- "tags": [
486
- "hide-output"
487
- ]
488
- },
489
- "outputs": [],
490
- "source": [
491
- "df = artifact.load(index_col=0)\n",
492
- "df.head()"
493
- ]
494
- },
495
474
  {
496
475
  "attachments": {},
497
476
  "cell_type": "markdown",
@@ -512,34 +491,6 @@
512
491
  ":::\n"
513
492
  ]
514
493
  },
515
- {
516
- "cell_type": "markdown",
517
- "metadata": {},
518
- "source": [
519
- "### Register directories as artifacts"
520
- ]
521
- },
522
- {
523
- "cell_type": "markdown",
524
- "metadata": {},
525
- "source": [
526
- "Register an entire folder as an artifact:"
527
- ]
528
- },
529
- {
530
- "cell_type": "code",
531
- "execution_count": null,
532
- "metadata": {
533
- "tags": [
534
- "hide-output"
535
- ]
536
- },
537
- "outputs": [],
538
- "source": [
539
- "study0_data = ln.Artifact(f\"s3://lamindb-dev-datasets/iris_studies/study0_raw_images\").save()\n",
540
- "ln.Artifact.df()"
541
- ]
542
- },
543
494
  {
544
495
  "attachments": {},
545
496
  "cell_type": "markdown",
@@ -565,7 +516,7 @@
565
516
  },
566
517
  "outputs": [],
567
518
  "source": [
568
- "ln.Artifact.search(\"meta\").df().head()"
519
+ "ln.Artifact.search(\"iris\").df().head()"
569
520
  ]
570
521
  },
571
522
  {
@@ -768,13 +719,6 @@
768
719
  "For instance:\n",
769
720
  "```\n",
770
721
  "new_artifact = ln.Artifact(data, is_new_version_of=old_artifact)\n",
771
- "```\n",
772
- "\n",
773
- "If you'd like to add a registered artifact to a version family, use `add_to_version_family`.\n",
774
- "\n",
775
- "For instance:\n",
776
- "```\n",
777
- "new_artifact.add_to_version_family(old_artifact)\n",
778
722
  "```"
779
723
  ]
780
724
  },
@@ -812,7 +756,7 @@
812
756
  "outputs": [],
813
757
  "source": [
814
758
  "collection = ln.Collection(\n",
815
- " study0_data,\n",
759
+ " artifact,\n",
816
760
  " name=\"Iris collection\",\n",
817
761
  " version=\"1\",\n",
818
762
  " description=\"Iris study 0\",\n",
@@ -839,11 +783,11 @@
839
783
  },
840
784
  "outputs": [],
841
785
  "source": [
842
- "artifacts = [study0_data]\n",
786
+ "artifacts = [artifact]\n",
843
787
  "for folder_name in [\"study1_raw_images\", \"study2_raw_images\"]:\n",
844
788
  " # create an artifact for the folder\n",
845
- " artifact = ln.Artifact(f\"s3://lamindb-dev-datasets/iris_studies/{folder_name}\").save()\n",
846
- " artifacts.append(artifact)\n",
789
+ " new_artifact = ln.Artifact(f\"s3://lamindata/iris_studies/{folder_name}\").save()\n",
790
+ " artifacts.append(new_artifact)\n",
847
791
  " # create a new version of the collection\n",
848
792
  " collection = ln.Collection(\n",
849
793
  " artifacts, is_new_version_of=collection, description=f\"Now includes {folder_name}\"\n",