lamindb 0.76.3__tar.gz → 0.76.6__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 (469) hide show
  1. {lamindb-0.76.3 → lamindb-0.76.6}/.github/ISSUE_TEMPLATE/config.yml +1 -1
  2. {lamindb-0.76.3 → lamindb-0.76.6}/.github/workflows/build.yml +5 -4
  3. {lamindb-0.76.3 → lamindb-0.76.6}/PKG-INFO +7 -7
  4. {lamindb-0.76.3 → lamindb-0.76.6}/docs/api.md +3 -17
  5. {lamindb-0.76.3 → lamindb-0.76.6}/docs/arrays.ipynb +1 -1
  6. lamindb-0.76.6/docs/introduction.ipynb +34 -0
  7. lamindb-0.76.6/docs/laminr.md +3 -0
  8. {lamindb-0.76.3 → lamindb-0.76.6}/docs/query-search.md +1 -1
  9. lamindb-0.76.3/docs/records.ipynb → lamindb-0.76.6/docs/registries.ipynb +164 -68
  10. {lamindb-0.76.3 → lamindb-0.76.6}/docs/transfer.ipynb +48 -11
  11. {lamindb-0.76.3 → lamindb-0.76.6}/docs/tutorial.ipynb +3 -3
  12. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/__init__.py +6 -9
  13. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/_artifact.py +47 -49
  14. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/_can_validate.py +20 -4
  15. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/_collection.py +45 -66
  16. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/_curate.py +32 -15
  17. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/_filter.py +2 -2
  18. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/_finish.py +117 -106
  19. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/_query_set.py +41 -33
  20. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/_record.py +86 -63
  21. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/_transform.py +19 -3
  22. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/__init__.py +0 -4
  23. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/_context.py +86 -46
  24. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/_data.py +40 -24
  25. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/_feature_manager.py +17 -15
  26. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/_label_manager.py +24 -17
  27. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/_settings.py +1 -1
  28. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/storage/_anndata_accessor.py +6 -1
  29. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/storage/_tiledbsoma.py +24 -20
  30. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/versioning.py +4 -0
  31. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/integrations/_vitessce.py +9 -16
  32. {lamindb-0.76.3 → lamindb-0.76.6}/noxfile.py +6 -7
  33. {lamindb-0.76.3 → lamindb-0.76.6}/pyproject.toml +7 -7
  34. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/.github/workflows/build.yml +2 -2
  35. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/__init__.py +1 -1
  36. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/__init__.py +8 -21
  37. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/core/_add_ontology.py +6 -5
  38. lamindb-0.76.6/sub/bionty/bionty/migrations/0038_alter_artifactcellline_created_by_and_more.py +583 -0
  39. lamindb-0.76.6/sub/bionty/bionty/migrations/0039_alter_cellline_source_alter_cellmarker_source_and_more.py +143 -0
  40. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/models.py +5 -5
  41. lamindb-0.76.6/sub/lamin-cli/LICENSE +201 -0
  42. lamindb-0.76.6/sub/lamin-cli/lamin_cli/__init__.py +3 -0
  43. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamin-cli/lamin_cli/__main__.py +43 -14
  44. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamin-cli/lamin_cli/_cache.py +1 -1
  45. lamindb-0.76.6/sub/lamin-cli/lamin_cli/_get.py +66 -0
  46. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamin-cli/lamin_cli/_save.py +3 -7
  47. lamindb-0.76.6/sub/lamin-cli/tests/test_cli.py +42 -0
  48. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamin-cli/tests/test_save_notebooks.py +69 -26
  49. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamin-cli/tests/test_save_scripts.py +22 -6
  50. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/.github/workflows/build.yml +7 -7
  51. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/docs/hub-cloud/07-keep-artifacts-local.ipynb +16 -12
  52. lamindb-0.76.6/sub/lamindb-setup/docs/hub-prod/test-init-load-local-anonymously.ipynb +140 -0
  53. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/docs/hub-prod/test-insufficient-user-info.ipynb +8 -15
  54. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/docs/hub-prod/test-sqlite-lock.ipynb +7 -7
  55. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/docs/notebooks.md +1 -0
  56. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/__init__.py +10 -7
  57. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/_connect_instance.py +11 -4
  58. lamindb-0.76.6/sub/lamindb-setup/lamindb_setup/_entry_points.py +22 -0
  59. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/_schema_metadata.py +31 -11
  60. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/_setup_user.py +55 -39
  61. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/_hub_client.py +11 -2
  62. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/_hub_core.py +56 -5
  63. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/_settings_load.py +13 -8
  64. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/_settings_store.py +1 -0
  65. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/_settings_user.py +3 -1
  66. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/_setup_bionty_sources.py +3 -1
  67. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/noxfile.py +1 -1
  68. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/tests/hub-cloud/test_connect_instance.py +9 -0
  69. lamindb-0.76.6/sub/lamindb-setup/tests/hub-cloud/test_login.py +67 -0
  70. lamindb-0.76.6/sub/lamindb-setup/tests/storage/test_entry_point.py +76 -0
  71. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/__init__.py +1 -1
  72. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0037_rename_dataset_to_collection.py +0 -2
  73. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0052_squashed.py +0 -2
  74. lamindb-0.76.6/sub/lnschema-core/lnschema_core/migrations/0065_remove_collection_feature_sets_and_more.py +22 -0
  75. lamindb-0.76.6/sub/lnschema-core/lnschema_core/migrations/0066_alter_artifact__feature_values_and_more.py +352 -0
  76. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/models.py +279 -233
  77. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/tests/test_models.py +4 -2
  78. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/conftest.py +4 -2
  79. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/notebooks/with-title-initialized-consecutive-finish-not-last-cell.ipynb +2 -2
  80. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/notebooks/with-title-initialized-consecutive-finish.ipynb +2 -2
  81. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_artifact.py +14 -5
  82. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_collection.py +21 -8
  83. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_context.py +11 -7
  84. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_curate.py +27 -10
  85. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_feature_manager.py +6 -5
  86. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_parents.py +7 -1
  87. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_transform.py +5 -0
  88. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_uid.py +1 -0
  89. {lamindb-0.76.3 → lamindb-0.76.6}/tests/storage/conftest.py +5 -2
  90. {lamindb-0.76.3 → lamindb-0.76.6}/tests/storage/test_storage.py +7 -3
  91. lamindb-0.76.3/docs/introduction.ipynb +0 -1227
  92. lamindb-0.76.3/docs/readfcs.md +0 -3
  93. lamindb-0.76.3/sub/lamin-cli/lamin_cli/__init__.py +0 -3
  94. lamindb-0.76.3/sub/lamin-cli/lamin_cli/_get.py +0 -44
  95. lamindb-0.76.3/sub/lamin-cli/tests/test_cli.py +0 -16
  96. lamindb-0.76.3/sub/lamindb-setup/tests/hub-cloud/test_login.py +0 -19
  97. {lamindb-0.76.3 → lamindb-0.76.6}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  98. {lamindb-0.76.3 → lamindb-0.76.6}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  99. {lamindb-0.76.3 → lamindb-0.76.6}/.github/workflows/doc-changes.yml +0 -0
  100. {lamindb-0.76.3 → lamindb-0.76.6}/.gitignore +0 -0
  101. {lamindb-0.76.3 → lamindb-0.76.6}/.gitmodules +0 -0
  102. {lamindb-0.76.3 → lamindb-0.76.6}/.pre-commit-config.yaml +0 -0
  103. {lamindb-0.76.3 → lamindb-0.76.6}/CONTRIBUTING.md +0 -0
  104. {lamindb-0.76.3 → lamindb-0.76.6}/LICENSE +0 -0
  105. {lamindb-0.76.3 → lamindb-0.76.6}/README.md +0 -0
  106. {lamindb-0.76.3 → lamindb-0.76.6}/docs/bio-registries.ipynb +0 -0
  107. {lamindb-0.76.3 → lamindb-0.76.6}/docs/bionty.md +0 -0
  108. {lamindb-0.76.3 → lamindb-0.76.6}/docs/changelog.md +0 -0
  109. {lamindb-0.76.3 → lamindb-0.76.6}/docs/curate-any.ipynb +0 -0
  110. {lamindb-0.76.3 → lamindb-0.76.6}/docs/curate-df.ipynb +0 -0
  111. {lamindb-0.76.3 → lamindb-0.76.6}/docs/curate.md +0 -0
  112. {lamindb-0.76.3 → lamindb-0.76.6}/docs/faq/acid.ipynb +0 -0
  113. {lamindb-0.76.3 → lamindb-0.76.6}/docs/faq/delete.ipynb +0 -0
  114. {lamindb-0.76.3 → lamindb-0.76.6}/docs/faq/idempotency.ipynb +0 -0
  115. {lamindb-0.76.3 → lamindb-0.76.6}/docs/faq/import-schema.ipynb +0 -0
  116. {lamindb-0.76.3 → lamindb-0.76.6}/docs/faq/keep-artifacts-local.ipynb +0 -0
  117. {lamindb-0.76.3 → lamindb-0.76.6}/docs/faq/key.ipynb +0 -0
  118. {lamindb-0.76.3 → lamindb-0.76.6}/docs/faq/reference-field.ipynb +0 -0
  119. {lamindb-0.76.3 → lamindb-0.76.6}/docs/faq/setup.ipynb +0 -0
  120. {lamindb-0.76.3 → lamindb-0.76.6}/docs/faq/test_notebooks.py +0 -0
  121. {lamindb-0.76.3 → lamindb-0.76.6}/docs/faq/track-run-inputs.ipynb +0 -0
  122. {lamindb-0.76.3 → lamindb-0.76.6}/docs/faq/visibility.ipynb +0 -0
  123. {lamindb-0.76.3 → lamindb-0.76.6}/docs/faq.md +0 -0
  124. {lamindb-0.76.3 → lamindb-0.76.6}/docs/guide.md +0 -0
  125. {lamindb-0.76.3 → lamindb-0.76.6}/docs/includes/features-lamindb.md +0 -0
  126. {lamindb-0.76.3 → lamindb-0.76.6}/docs/includes/features-laminhub.md +0 -0
  127. {lamindb-0.76.3 → lamindb-0.76.6}/docs/includes/installation.md +0 -0
  128. {lamindb-0.76.3 → lamindb-0.76.6}/docs/index.md +0 -0
  129. {lamindb-0.76.3 → lamindb-0.76.6}/docs/lamindb.md +0 -0
  130. {lamindb-0.76.3 → lamindb-0.76.6}/docs/rest.md +0 -0
  131. {lamindb-0.76.3 → lamindb-0.76.6}/docs/schemas.ipynb +0 -0
  132. {lamindb-0.76.3 → lamindb-0.76.6}/docs/setup.ipynb +0 -0
  133. {lamindb-0.76.3 → lamindb-0.76.6}/docs/signup-login.md +0 -0
  134. {lamindb-0.76.3 → lamindb-0.76.6}/docs/storage/add-replace-cache.ipynb +0 -0
  135. {lamindb-0.76.3 → lamindb-0.76.6}/docs/storage/anndata-accessor.ipynb +0 -0
  136. {lamindb-0.76.3 → lamindb-0.76.6}/docs/storage/prepare-transfer-local-to-cloud.ipynb +0 -0
  137. {lamindb-0.76.3 → lamindb-0.76.6}/docs/storage/test-files/iris.csv +0 -0
  138. {lamindb-0.76.3 → lamindb-0.76.6}/docs/storage/test-files/iris.data +0 -0
  139. {lamindb-0.76.3 → lamindb-0.76.6}/docs/storage/test-files/new_iris.csv +0 -0
  140. {lamindb-0.76.3 → lamindb-0.76.6}/docs/storage/test_notebooks.py +0 -0
  141. {lamindb-0.76.3 → lamindb-0.76.6}/docs/storage/transfer-local-to-cloud.ipynb +0 -0
  142. {lamindb-0.76.3 → lamindb-0.76.6}/docs/storage/upload.ipynb +0 -0
  143. {lamindb-0.76.3 → lamindb-0.76.6}/docs/storage/vitessce.ipynb +0 -0
  144. {lamindb-0.76.3 → lamindb-0.76.6}/docs/storage.md +0 -0
  145. {lamindb-0.76.3 → lamindb-0.76.6}/docs/test_notebooks.py +0 -0
  146. {lamindb-0.76.3 → lamindb-0.76.6}/docs/track.ipynb +0 -0
  147. {lamindb-0.76.3 → lamindb-0.76.6}/docs/tutorial2.ipynb +0 -0
  148. {lamindb-0.76.3 → lamindb-0.76.6}/docs/wetlab.md +0 -0
  149. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/_feature.py +0 -0
  150. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/_feature_set.py +0 -0
  151. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/_from_values.py +0 -0
  152. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/_is_versioned.py +0 -0
  153. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/_parents.py +0 -0
  154. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/_query_manager.py +0 -0
  155. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/_run.py +0 -0
  156. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/_save.py +0 -0
  157. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/_storage.py +0 -0
  158. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/_ulabel.py +0 -0
  159. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/_utils.py +0 -0
  160. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/_view.py +0 -0
  161. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/_mapped_collection.py +0 -0
  162. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/_sync_git.py +0 -0
  163. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/_track_environment.py +0 -0
  164. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/datasets/__init__.py +0 -0
  165. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/datasets/_core.py +0 -0
  166. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/datasets/_fake.py +0 -0
  167. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/exceptions.py +0 -0
  168. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/fields.py +0 -0
  169. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/schema.py +0 -0
  170. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/storage/__init__.py +0 -0
  171. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/storage/_anndata_sizes.py +0 -0
  172. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/storage/_backed_access.py +0 -0
  173. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/storage/_valid_suffixes.py +0 -0
  174. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/storage/_zarr.py +0 -0
  175. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/storage/objects.py +0 -0
  176. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/storage/paths.py +0 -0
  177. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/subsettings/__init__.py +0 -0
  178. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/subsettings/_creation_settings.py +0 -0
  179. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/subsettings/_transform_settings.py +0 -0
  180. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/core/types.py +0 -0
  181. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/integrations/__init__.py +0 -0
  182. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/setup/__init__.py +0 -0
  183. {lamindb-0.76.3 → lamindb-0.76.6}/lamindb/setup/core/__init__.py +0 -0
  184. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/.github/workflows/doc-changes.yml +0 -0
  185. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/.github/workflows/update_ontologies.yml +0 -0
  186. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/.gitignore +0 -0
  187. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/.pre-commit-config.yaml +0 -0
  188. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/LICENSE +0 -0
  189. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/README.md +0 -0
  190. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/_bionty.py +0 -0
  191. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/_display_sources.py +0 -0
  192. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/_ontology.py +0 -0
  193. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/_public_ontology.py +0 -0
  194. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/_settings.py +0 -0
  195. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/_sync_sources.py +0 -0
  196. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/dev/__init__.py +0 -0
  197. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/dev/_handle_sources.py +0 -0
  198. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/dev/_io.py +0 -0
  199. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/dev/_md5.py +0 -0
  200. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/entities/__init__.py +0 -0
  201. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/entities/_bfxpipeline.py +0 -0
  202. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/entities/_biosample.py +0 -0
  203. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/entities/_cellline.py +0 -0
  204. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/entities/_cellmarker.py +0 -0
  205. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/entities/_celltype.py +0 -0
  206. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/entities/_developmentalstage.py +0 -0
  207. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/entities/_disease.py +0 -0
  208. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/entities/_drug.py +0 -0
  209. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/entities/_ethnicity.py +0 -0
  210. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/entities/_experimentalfactor.py +0 -0
  211. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/entities/_gene.py +0 -0
  212. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/entities/_organism.py +0 -0
  213. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/entities/_pathway.py +0 -0
  214. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/entities/_phenotype.py +0 -0
  215. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/entities/_protein.py +0 -0
  216. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/entities/_shared_docstrings.py +0 -0
  217. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/entities/_tissue.py +0 -0
  218. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/scripts/bfxpipelines_info/custom_pipelines.json +0 -0
  219. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/scripts/check_ontologies_reachable.py +0 -0
  220. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/scripts/determine_md5s.py +0 -0
  221. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/scripts/generate_bfxpipelines.py +0 -0
  222. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/scripts/update_new_ontologies.py +0 -0
  223. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/scripts/upload_new_ontologies.py +0 -0
  224. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/base/sources.yaml +0 -0
  225. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/core/__init__.py +0 -0
  226. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/core/_bionty.py +0 -0
  227. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/core/_settings.py +0 -0
  228. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/ids.py +0 -0
  229. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/migrations/0023_rename_publicsource_encode_uid.py +0 -0
  230. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/migrations/0024_remove_cellline_collections_and_more.py +0 -0
  231. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/migrations/0025_artifactcellline_alter_cellline_artifacts_and_more.py +0 -0
  232. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/migrations/0026_artifactcellline_cell_line_ref_is_name_and_more.py +0 -0
  233. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/migrations/0027_remove_artifactcellline_created_at_and_more.py +0 -0
  234. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/migrations/0028_artifactcellline_created_at_and_more.py +0 -0
  235. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/migrations/0028_squashed.py +0 -0
  236. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/migrations/0029_alter_cellline_previous_runs_and_more.py +0 -0
  237. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/migrations/0030_rename_publicsource_source_and_more.py +0 -0
  238. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/migrations/0031_alter_cellmarker_name_and_more.py +0 -0
  239. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/migrations/0032_rename_source_name_source_description_and_more.py +0 -0
  240. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/migrations/0033_alter_artifactcellline_artifact_and_more.py +0 -0
  241. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/migrations/0034_alter_source_unique_together.py +0 -0
  242. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/migrations/0035_alter_protein_gene_symbol.py +0 -0
  243. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/migrations/0036_alter_source_artifacts_and_more.py +0 -0
  244. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/migrations/0037_alter_cellline_source_alter_cellmarker_source_and_more.py +0 -0
  245. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/bionty/migrations/__init__.py +0 -0
  246. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/docs/guide/concepts.md +0 -0
  247. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/docs/guide/config.md +0 -0
  248. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/docs/guide/extend.md +0 -0
  249. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/docs/guide/test_notebooks.py +0 -0
  250. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/docs/guide.md +0 -0
  251. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/docs/index.md +0 -0
  252. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/docs/reference.md +0 -0
  253. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/lamin-project.yaml +0 -0
  254. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/noxfile.py +0 -0
  255. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/pyproject.toml +0 -0
  256. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/tests/dev/test_handle_sources.py +0 -0
  257. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/tests/dev/test_io.py +0 -0
  258. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/tests/entities/test_bfxpipeline.py +0 -0
  259. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/tests/entities/test_biosample.py +0 -0
  260. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/tests/entities/test_cellline.py +0 -0
  261. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/tests/entities/test_cellmarker.py +0 -0
  262. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/tests/entities/test_celltype.py +0 -0
  263. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/tests/entities/test_developmentalstage.py +0 -0
  264. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/tests/entities/test_disease.py +0 -0
  265. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/tests/entities/test_drug.py +0 -0
  266. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/tests/entities/test_ethnicity.py +0 -0
  267. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/tests/entities/test_experimentalfactor.py +0 -0
  268. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/tests/entities/test_gene.py +0 -0
  269. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/tests/entities/test_organism.py +0 -0
  270. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/tests/entities/test_pathway.py +0 -0
  271. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/tests/entities/test_phenotype.py +0 -0
  272. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/tests/entities/test_protein.py +0 -0
  273. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/tests/entities/test_tissue.py +0 -0
  274. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/tests/test_bionty.py +0 -0
  275. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/tests/test_lamindb.py +0 -0
  276. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/tests/test_md5.py +0 -0
  277. {lamindb-0.76.3 → lamindb-0.76.6}/sub/bionty/tests/test_ontology.py +0 -0
  278. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamin-cli/.github/workflows/doc-changes.yml +0 -0
  279. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamin-cli/.gitignore +0 -0
  280. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamin-cli/.pre-commit-config.yaml +0 -0
  281. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamin-cli/README.md +0 -0
  282. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamin-cli/lamin_cli/_migration.py +0 -0
  283. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamin-cli/pyproject.toml +0 -0
  284. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamin-cli/tests/conftest.py +0 -0
  285. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
  286. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +0 -0
  287. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +0 -0
  288. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamin-cli/tests/scripts/merely-import-lamindb.py +0 -0
  289. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamin-cli/tests/scripts/run-track-and-finish-sync-git.py +0 -0
  290. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamin-cli/tests/scripts/run-track-and-finish.py +0 -0
  291. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamin-cli/tests/test_get.py +0 -0
  292. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamin-cli/tests/test_migrate.py +0 -0
  293. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamin-cli/tests/test_multi_process.py +0 -0
  294. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamin-cli/tests/test_save_files.py +0 -0
  295. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/.github/workflows/doc-changes.yml +0 -0
  296. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/.gitignore +0 -0
  297. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/.pre-commit-config.yaml +0 -0
  298. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/LICENSE +0 -0
  299. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/README.md +0 -0
  300. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/docs/changelog.md +0 -0
  301. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/docs/hub-cloud/01-init-local-instance.ipynb +0 -0
  302. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/docs/hub-cloud/02-connect-local-instance.ipynb +0 -0
  303. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/docs/hub-cloud/03-add-managed-storage.ipynb +0 -0
  304. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/docs/hub-cloud/04-test-bionty.ipynb +0 -0
  305. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/docs/hub-cloud/05-init-hosted-instance.ipynb +0 -0
  306. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/docs/hub-cloud/06-connect-hosted-instance.ipynb +0 -0
  307. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/docs/hub-cloud/08-test-multi-session.ipynb +0 -0
  308. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/docs/hub-cloud/test_notebooks.py +0 -0
  309. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/docs/hub-prod/test-cache-management.ipynb +0 -0
  310. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/docs/hub-prod/test-cloud-sync.ipynb +0 -0
  311. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/docs/hub-prod/test-connect-anonymously.ipynb +0 -0
  312. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/docs/hub-prod/test-empty-init.ipynb +0 -0
  313. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/docs/hub-prod/test-import-schema.ipynb +0 -0
  314. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/docs/hub-prod/test-invalid-schema.ipynb +0 -0
  315. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/docs/hub-prod/test_notebooks2.py +0 -0
  316. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/docs/index.md +0 -0
  317. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/docs/reference.md +0 -0
  318. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
  319. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/_check.py +0 -0
  320. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/_check_setup.py +0 -0
  321. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
  322. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/_delete.py +0 -0
  323. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/_django.py +0 -0
  324. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/_exportdb.py +0 -0
  325. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/_importdb.py +0 -0
  326. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/_init_instance.py +0 -0
  327. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/_migrate.py +0 -0
  328. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
  329. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
  330. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/_set_managed_storage.py +0 -0
  331. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
  332. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/__init__.py +0 -0
  333. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/_aws_credentials.py +0 -0
  334. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/_aws_storage.py +0 -0
  335. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/_deprecated.py +0 -0
  336. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/_docs.py +0 -0
  337. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/_hub_crud.py +0 -0
  338. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/_hub_utils.py +0 -0
  339. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/_private_django_api.py +0 -0
  340. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/_settings.py +0 -0
  341. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/_settings_instance.py +0 -0
  342. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/_settings_save.py +0 -0
  343. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/_settings_storage.py +0 -0
  344. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/cloud_sqlite_locker.py +0 -0
  345. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/django.py +0 -0
  346. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/exceptions.py +0 -0
  347. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/hashing.py +0 -0
  348. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/types.py +0 -0
  349. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/lamindb_setup/core/upath.py +0 -0
  350. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/pyproject.toml +0 -0
  351. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/tests/hub-cloud/scripts/script-to-fail-managed-storage.py +0 -0
  352. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/tests/hub-cloud/test_delete_instance.py +0 -0
  353. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/tests/hub-cloud/test_fail_managed_storage.py +0 -0
  354. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/tests/hub-cloud/test_init_instance.py +0 -0
  355. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/tests/hub-cloud/test_migrate.py +0 -0
  356. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/tests/hub-cloud/test_set_storage.py +0 -0
  357. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/tests/hub-local/conftest.py +0 -0
  358. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/tests/hub-local/test_all.py +0 -0
  359. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/tests/hub-local/test_update_schema_in_hub.py +0 -0
  360. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/tests/hub-prod/conftest.py +0 -0
  361. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/tests/hub-prod/test_django.py +0 -0
  362. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/tests/hub-prod/test_global_settings.py +0 -0
  363. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/tests/hub-prod/test_switch_and_fallback_env.py +0 -0
  364. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/tests/hub-prod/test_upath.py +0 -0
  365. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/tests/storage/test_hashing.py +0 -0
  366. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/tests/storage/test_storage_access.py +0 -0
  367. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/tests/storage/test_storage_basis.py +0 -0
  368. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/tests/storage/test_storage_stats.py +0 -0
  369. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lamindb-setup/tests/storage/test_to_url.py +0 -0
  370. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/.github/workflows/build.yml +0 -0
  371. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/.github/workflows/doc-changes.yml +0 -0
  372. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/.gitignore +0 -0
  373. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/.pre-commit-config.yaml +0 -0
  374. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/CHANGELOG.md +0 -0
  375. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/LICENSE +0 -0
  376. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/README.md +0 -0
  377. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/ids.py +0 -0
  378. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0038_alter_collection_artifact_alter_collection_artifacts_and_more.py +0 -0
  379. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0039_remove_collection_artifacts_collectionartifact_and_more.py +0 -0
  380. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0040_alter_transform_type.py +0 -0
  381. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0041_remove_transform_short_name_transform_description_and_more.py +0 -0
  382. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0042_rename_run_at_run_started_at_run_finished_at.py +0 -0
  383. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0043_run_json.py +0 -0
  384. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0044_run_replicated_outputs_transform_ulabels_and_more.py +0 -0
  385. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0045_rename_replicated_outputs_run_replicated_output_artifacts_and_more.py +0 -0
  386. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0046_storage_instance_uid.py +0 -0
  387. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0047_featurevalue_artifactfeaturevalue_and_more.py +0 -0
  388. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0048_alter_artifactulabel_feature_and_more.py +0 -0
  389. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0049_rename_type_feature_dtype_and_more.py +0 -0
  390. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0050_artifactfeatureset_feature_ref_is_semantic_and_more.py +0 -0
  391. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0051_remove_feature_feature_sets_featuresetfeature_and_more.py +0 -0
  392. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0052_rename_feature_value_artifactfeaturevalue_featurevalue_and_more.py +0 -0
  393. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0053_alter_featureset_hash_alter_paramvalue_created_by_and_more.py +0 -0
  394. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0054_alter_feature_previous_runs_and_more.py +0 -0
  395. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0055_artifact_type_artifactparamvalue_and_more.py +0 -0
  396. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0056_rename_ulabel_ref_is_name_artifactulabel_label_ref_is_name_and_more.py +0 -0
  397. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0057_link_models_latest_report_and_others.py +0 -0
  398. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0058_artifact__actions_collection__actions.py +0 -0
  399. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0059_alter_artifact__accessor_alter_artifact__hash_type_and_more.py +0 -0
  400. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0060_alter_artifact__actions.py +0 -0
  401. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0061_alter_collection_meta_artifact_alter_run_environment_and_more.py +0 -0
  402. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0062_add_is_latest_field.py +0 -0
  403. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0063_populate_latest_field.py +0 -0
  404. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/0064_alter_artifact_version_alter_collection_version_and_more.py +0 -0
  405. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
  406. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/mocks.py +0 -0
  407. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/types.py +0 -0
  408. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/lnschema_core/users.py +0 -0
  409. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/noxfile.py +0 -0
  410. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/pyproject.toml +0 -0
  411. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/tests/conftest.py +0 -0
  412. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/tests/test_integrity.py +0 -0
  413. {lamindb-0.76.3 → lamindb-0.76.6}/sub/lnschema-core/tests/test_types.py +0 -0
  414. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/.github/workflows/build.yml +0 -0
  415. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/.github/workflows/doc-changes.yml +0 -0
  416. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/.gitignore +0 -0
  417. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/.pre-commit-config.yaml +0 -0
  418. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/README.md +0 -0
  419. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/docs/changelog.md +0 -0
  420. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/docs/guide/get-started.ipynb +0 -0
  421. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/docs/guide/modeling_perturbations.ipynb +0 -0
  422. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/docs/guide.md +0 -0
  423. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/docs/index.md +0 -0
  424. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/docs/reference.md +0 -0
  425. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/noxfile.py +0 -0
  426. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/pyproject.toml +0 -0
  427. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/tests/test_integrity.py +0 -0
  428. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/tests/test_notebooks.py +0 -0
  429. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/wetlab/__init__.py +0 -0
  430. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/wetlab/migrations/0017_remove_biosample_artifacts.py +0 -0
  431. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/wetlab/migrations/0018_squashed.py +0 -0
  432. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/wetlab/migrations/0018_well_created_at_well_created_by_well_updated_at.py +0 -0
  433. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/wetlab/migrations/0019_alter_treatment_system.py +0 -0
  434. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/wetlab/migrations/0020_treatmenttarget_pathways_treatmenttarget_proteins_and_more.py +0 -0
  435. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/wetlab/migrations/0021_alter_compoundtreatment_duration_unit_and_more.py +0 -0
  436. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/wetlab/migrations/__init__.py +0 -0
  437. {lamindb-0.76.3 → lamindb-0.76.6}/sub/wetlab/wetlab/models.py +0 -0
  438. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/notebooks/duplicate/with-title-initialized-consecutive-finish.ipynb +0 -0
  439. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/notebooks/no-title.ipynb +0 -0
  440. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/notebooks/not-initialized.ipynb +0 -0
  441. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/scripts/duplicate1/script-to-test-versioning.py +0 -0
  442. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/scripts/duplicate2/script-to-test-versioning.py +0 -0
  443. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/scripts/duplicate3/script-to-test-versioning.py +0 -0
  444. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/scripts/script-to-test-filename-change.py +0 -0
  445. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/scripts/script-to-test-versioning.py +0 -0
  446. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_artifact_folders.py +0 -0
  447. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_cache.py +0 -0
  448. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_can_validate.py +0 -0
  449. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_data.py +0 -0
  450. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_db.py +0 -0
  451. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_delete.py +0 -0
  452. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_feature.py +0 -0
  453. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_feature_set.py +0 -0
  454. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_from_values.py +0 -0
  455. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_label_manager.py +0 -0
  456. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_load.py +0 -0
  457. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_manager.py +0 -0
  458. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_notebooks.py +0 -0
  459. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_queryset.py +0 -0
  460. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_record.py +0 -0
  461. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_run.py +0 -0
  462. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_save.py +0 -0
  463. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_search.py +0 -0
  464. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_settings.py +0 -0
  465. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_ulabel.py +0 -0
  466. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_versioning.py +0 -0
  467. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_view.py +0 -0
  468. {lamindb-0.76.3 → lamindb-0.76.6}/tests/core/test_visibility.py +0 -0
  469. {lamindb-0.76.3/tests/core → lamindb-0.76.6/tests/storage}/test_transfer.py +0 -0
@@ -1,4 +1,4 @@
1
- blank_issues_enabled: false
1
+ blank_issues_enabled: true
2
2
  contact_links:
3
3
  - name: LaminHub issues
4
4
  url: https://github.com/laminlabs/laminhub-public
@@ -72,13 +72,14 @@ jobs:
72
72
  aws-region: us-east-1
73
73
  - run: nox -s "build(group='${{ matrix.group }}')"
74
74
  - name: upload coverage
75
- uses: actions/upload-artifact@v2
75
+ uses: actions/upload-artifact@v4
76
76
  with:
77
77
  name: coverage--${{ matrix.group }}
78
78
  path: .coverage
79
+ include-hidden-files: true
79
80
  - name: upload docs
80
81
  if: ${{ matrix.group == 'tutorial' || matrix.group == 'guide' || matrix.group == 'biology' || matrix.group == 'faq' || matrix.group == 'storage' }}
81
- uses: actions/upload-artifact@v2
82
+ uses: actions/upload-artifact@v4
82
83
  with:
83
84
  name: docs-${{ matrix.group }}
84
85
  path: ./docs/${{ matrix.group }}
@@ -108,7 +109,7 @@ jobs:
108
109
  python-version: "3.10" # use 3.10, 3.8 and 3.11 give issues
109
110
  - run: pip install -U laminci
110
111
  - run: nox -s "install_ci(group='docs')"
111
- - uses: actions/download-artifact@v2
112
+ - uses: actions/download-artifact@v4
112
113
  - run: nox -s docs
113
114
  - uses: nwtgck/actions-netlify@v1.2
114
115
  with:
@@ -138,7 +139,7 @@ jobs:
138
139
  python -m pip install -U uv
139
140
  uv pip install --system coverage[toml]
140
141
  uv pip install --system --no-deps .
141
- - uses: actions/download-artifact@v2
142
+ - uses: actions/download-artifact@v4
142
143
  - name: run coverage
143
144
  run: |
144
145
  coverage combine coverage--*/.coverage*
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lamindb
3
- Version: 0.76.3
3
+ Version: 0.76.6
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,22 +9,22 @@ 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.73.3
13
- Requires-Dist: lamindb_setup==0.76.7
12
+ Requires-Dist: lnschema_core==0.74.1
13
+ Requires-Dist: lamindb_setup==0.77.1
14
14
  Requires-Dist: lamin_utils==0.13.4
15
- Requires-Dist: lamin_cli==0.16.2
15
+ Requires-Dist: lamin_cli==0.17.2
16
16
  Requires-Dist: rapidfuzz
17
17
  Requires-Dist: pyarrow
18
18
  Requires-Dist: typing_extensions!=4.6.0
19
19
  Requires-Dist: python-dateutil
20
- Requires-Dist: anndata>=0.8.0,<=0.10.8
20
+ Requires-Dist: anndata>=0.8.0,<=0.10.9
21
21
  Requires-Dist: scipy<1.13.0rc1
22
22
  Requires-Dist: fsspec
23
23
  Requires-Dist: pandas
24
24
  Requires-Dist: graphviz
25
25
  Requires-Dist: psycopg2-binary
26
26
  Requires-Dist: lamindb_setup[aws] ; extra == "aws"
27
- Requires-Dist: bionty==0.49.0 ; extra == "bionty"
27
+ Requires-Dist: bionty==0.50.1 ; extra == "bionty"
28
28
  Requires-Dist: pre-commit ; extra == "dev"
29
29
  Requires-Dist: nox ; extra == "dev"
30
30
  Requires-Dist: laminci>=0.3 ; extra == "dev"
@@ -38,7 +38,7 @@ Requires-Dist: django-schema-graph ; extra == "erdiagram"
38
38
  Requires-Dist: readfcs>=1.1.8 ; extra == "fcs"
39
39
  Requires-Dist: lamindb_setup[gcp] ; extra == "gcp"
40
40
  Requires-Dist: nbproject==0.10.4 ; extra == "jupyter"
41
- Requires-Dist: nbstripout==0.6.1 ; extra == "jupyter"
41
+ Requires-Dist: jupytext ; extra == "jupyter"
42
42
  Requires-Dist: nbconvert ; extra == "jupyter"
43
43
  Requires-Dist: zarr>=2.16.0 ; extra == "zarr"
44
44
  Project-URL: Home, https://github.com/laminlabs/lamindb
@@ -12,33 +12,19 @@ cli
12
12
 
13
13
  ```{toctree}
14
14
  :maxdepth: 1
15
- :caption: Core API
15
+ :caption: Python
16
16
  :hidden:
17
17
 
18
18
  lamindb
19
- ```
20
-
21
- ```{toctree}
22
- :maxdepth: 1
23
- :caption: Plugins
24
- :hidden:
25
-
26
19
  bionty
27
20
  wetlab
28
21
  ```
29
22
 
30
23
  ```{toctree}
31
24
  :maxdepth: 1
32
- :caption: SDK
25
+ :caption: R & REST
33
26
  :hidden:
34
27
 
28
+ laminr
35
29
  rest
36
30
  ```
37
-
38
- ```{toctree}
39
- :maxdepth: 1
40
- :caption: Utilities
41
- :hidden:
42
-
43
- readfcs
44
- ```
@@ -20,7 +20,7 @@
20
20
  "cell_type": "markdown",
21
21
  "metadata": {},
22
22
  "source": [
23
- "We saw how LaminDB allows to query & search across artifacts & collections using registries: {doc}`records`.\n",
23
+ "We saw how LaminDB allows to query & search across artifacts & collections using registries: {doc}`registries`.\n",
24
24
  "\n",
25
25
  "Let us now look at the following case:\n",
26
26
  "\n",
@@ -0,0 +1,34 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "metadata": {},
6
+ "source": [
7
+ "# Introduction\n",
8
+ "\n",
9
+ "See https://github.com/laminlabs/lamin-docs/blob/main/docs/introduction.ipynb"
10
+ ]
11
+ }
12
+ ],
13
+ "metadata": {
14
+ "kernelspec": {
15
+ "display_name": "py39",
16
+ "language": "python",
17
+ "name": "python3"
18
+ },
19
+ "language_info": {
20
+ "codemirror_mode": {
21
+ "name": "ipython",
22
+ "version": 3
23
+ },
24
+ "file_extension": ".py",
25
+ "mimetype": "text/x-python",
26
+ "name": "python",
27
+ "nbconvert_exporter": "python",
28
+ "pygments_lexer": "ipython3",
29
+ "version": "3.10.13"
30
+ }
31
+ },
32
+ "nbformat": 4,
33
+ "nbformat_minor": 2
34
+ }
@@ -0,0 +1,3 @@
1
+ # `laminr`
2
+
3
+ [github.com/laminlabs/laminr](https://github.com/laminlabs/laminr)
@@ -3,6 +3,6 @@
3
3
  ```{toctree}
4
4
  :maxdepth: 1
5
5
 
6
- records
6
+ registries
7
7
  arrays
8
8
  ```
@@ -9,6 +9,14 @@
9
9
  "# Query & search registries"
10
10
  ]
11
11
  },
12
+ {
13
+ "cell_type": "markdown",
14
+ "id": "2079f103",
15
+ "metadata": {},
16
+ "source": [
17
+ "This guide walks through all the ways of finding metadata records in LaminDB registries."
18
+ ]
19
+ },
12
20
  {
13
21
  "cell_type": "code",
14
22
  "execution_count": null,
@@ -20,7 +28,16 @@
20
28
  },
21
29
  "outputs": [],
22
30
  "source": [
23
- "!lamin init --storage ./mydata"
31
+ "# !pip install lamindb\n",
32
+ "!lamin init --storage ./test-registries"
33
+ ]
34
+ },
35
+ {
36
+ "cell_type": "markdown",
37
+ "id": "86abfd19",
38
+ "metadata": {},
39
+ "source": [
40
+ "We'll need some toy data."
24
41
  ]
25
42
  },
26
43
  {
@@ -39,7 +56,10 @@
39
56
  "# create toy data\n",
40
57
  "ln.Artifact(ln.core.datasets.file_jpg_paradisi05(), description=\"My image\").save()\n",
41
58
  "ln.Artifact.from_df(ln.core.datasets.df_iris(), description=\"The iris collection\").save()\n",
42
- "ln.Artifact(ln.core.datasets.file_fastq(), description=\"My fastq\").save()"
59
+ "ln.Artifact(ln.core.datasets.file_fastq(), description=\"My fastq\").save()\n",
60
+ "\n",
61
+ "# see the content of the artifact registry\n",
62
+ "ln.Artifact.df()"
43
63
  ]
44
64
  },
45
65
  {
@@ -57,19 +77,27 @@
57
77
  "id": "5cb551b4",
58
78
  "metadata": {},
59
79
  "source": [
60
- "For entities where we don't store more than 100k records, a look up object can be a convenient way of selecting a record.\n",
80
+ "For registries with less than 100k records, auto-completing a `Lookup` object is the most convenient way of finding a record.\n",
61
81
  "\n",
62
- "Consider the `User` registry:"
82
+ "For example, take the `User` registry:"
63
83
  ]
64
84
  },
65
85
  {
66
86
  "cell_type": "code",
67
87
  "execution_count": null,
68
88
  "id": "01e2465f",
69
- "metadata": {},
89
+ "metadata": {
90
+ "tags": [
91
+ "hide-output"
92
+ ]
93
+ },
70
94
  "outputs": [],
71
95
  "source": [
72
- "users = ln.User.lookup(field=\"handle\")"
96
+ "# query the database for all users, optionally pass the field that creates the key\n",
97
+ "users = ln.User.lookup(field=\"handle\")\n",
98
+ "\n",
99
+ "# the lookup object is a NamedTuple\n",
100
+ "users"
73
101
  ]
74
102
  },
75
103
  {
@@ -78,14 +106,18 @@
78
106
  "id": "82a31938",
79
107
  "metadata": {},
80
108
  "source": [
81
- "With auto-complete, we find a user:"
109
+ "With auto-complete, we find a specific user record:"
82
110
  ]
83
111
  },
84
112
  {
85
113
  "cell_type": "code",
86
114
  "execution_count": null,
87
115
  "id": "31853b49",
88
- "metadata": {},
116
+ "metadata": {
117
+ "tags": [
118
+ "hide-output"
119
+ ]
120
+ },
89
121
  "outputs": [],
90
122
  "source": [
91
123
  "user = users.testuser1\n",
@@ -97,17 +129,22 @@
97
129
  "id": "bf7e1415",
98
130
  "metadata": {},
99
131
  "source": [
100
- "You can also get a dictionary, if you prefer:"
132
+ "You can also get a dictionary:"
101
133
  ]
102
134
  },
103
135
  {
104
136
  "cell_type": "code",
105
137
  "execution_count": null,
106
138
  "id": "04130d47",
107
- "metadata": {},
139
+ "metadata": {
140
+ "tags": [
141
+ "hide-output"
142
+ ]
143
+ },
108
144
  "outputs": [],
109
145
  "source": [
110
- "users_dict = ln.User.lookup().dict()"
146
+ "users_dict = ln.User.lookup().dict()\n",
147
+ "users_dict"
111
148
  ]
112
149
  },
113
150
  {
@@ -118,15 +155,28 @@
118
155
  "## Query exactly one record"
119
156
  ]
120
157
  },
158
+ {
159
+ "cell_type": "markdown",
160
+ "id": "ba40b102",
161
+ "metadata": {},
162
+ "source": [
163
+ "{class}`~lamindb.core.Record.get` errors if more than one matching records are found."
164
+ ]
165
+ },
121
166
  {
122
167
  "cell_type": "code",
123
168
  "execution_count": null,
124
169
  "id": "463ff17c",
125
- "metadata": {},
170
+ "metadata": {
171
+ "tags": [
172
+ "hide-output"
173
+ ]
174
+ },
126
175
  "outputs": [],
127
176
  "source": [
128
- "# by uid\n",
177
+ "# by the universal base62 uid\n",
129
178
  "ln.User.get(\"DzTjkKse\")\n",
179
+ "\n",
130
180
  "# by any expression involving fields\n",
131
181
  "ln.User.get(handle=\"testuser1\")"
132
182
  ]
@@ -153,7 +203,11 @@
153
203
  "cell_type": "code",
154
204
  "execution_count": null,
155
205
  "id": "33c8e061",
156
- "metadata": {},
206
+ "metadata": {
207
+ "tags": [
208
+ "hide-output"
209
+ ]
210
+ },
157
211
  "outputs": [],
158
212
  "source": [
159
213
  "ln.Artifact.filter(created_by=user).df()"
@@ -197,7 +251,15 @@
197
251
  "id": "8edf4a74",
198
252
  "metadata": {},
199
253
  "source": [
200
- "## Search for metadata"
254
+ "## Search for records"
255
+ ]
256
+ },
257
+ {
258
+ "cell_type": "markdown",
259
+ "id": "a925a678",
260
+ "metadata": {},
261
+ "source": [
262
+ "Search the toy data:"
201
263
  ]
202
264
  },
203
265
  {
@@ -220,41 +282,37 @@
220
282
  "id": "b8ba2bfe",
221
283
  "metadata": {},
222
284
  "source": [
223
- "Let us create 500 notebook objects with fake titles and save them:"
285
+ "Let us create 500 notebook objects with fake titles, save, and search them:"
224
286
  ]
225
287
  },
226
288
  {
227
289
  "cell_type": "code",
228
290
  "execution_count": null,
229
- "id": "272962fc",
230
- "metadata": {},
291
+ "id": "4b0b0c0c",
292
+ "metadata": {
293
+ "tags": [
294
+ "hide-output"
295
+ ]
296
+ },
231
297
  "outputs": [],
232
298
  "source": [
233
299
  "transforms = [ln.Transform(name=title, type=\"notebook\") for title in ln.core.datasets.fake_bio_notebook_titles(n=500)]\n",
234
- "ln.save(transforms)"
300
+ "ln.save(transforms)\n",
301
+ "\n",
302
+ "# search\n",
303
+ "ln.Transform.search(\"intestine\").df().head(5)"
235
304
  ]
236
305
  },
237
306
  {
238
- "attachments": {},
239
307
  "cell_type": "markdown",
240
- "id": "48422cb6",
308
+ "id": "4ba825ab",
241
309
  "metadata": {},
242
310
  "source": [
243
- "We can now search for any combination of terms:"
244
- ]
245
- },
246
- {
247
- "cell_type": "code",
248
- "execution_count": null,
249
- "id": "4b0b0c0c",
250
- "metadata": {
251
- "tags": [
252
- "hide-output"
253
- ]
254
- },
255
- "outputs": [],
256
- "source": [
257
- "ln.Transform.search(\"intestine\").df().head()"
311
+ "```{note}\n",
312
+ "\n",
313
+ "Currently, the LaminHub UI search is more powerful than the search of the `lamindb` open-source package.\n",
314
+ "\n",
315
+ "```"
258
316
  ]
259
317
  },
260
318
  {
@@ -274,7 +332,7 @@
274
332
  "source": [
275
333
  "Django has a double-under-score syntax to filter based on related tables.\n",
276
334
  "\n",
277
- "This syntax enables you to traverse several layers of relations:"
335
+ "This syntax enables you to traverse several layers of relations and leverage different comparators."
278
336
  ]
279
337
  },
280
338
  {
@@ -288,7 +346,7 @@
288
346
  },
289
347
  "outputs": [],
290
348
  "source": [
291
- "ln.Artifact.filter(run__created_by__handle__startswith=\"testuse\").df() "
349
+ "ln.Artifact.filter(created_by__handle__startswith=\"testuse\").df() "
292
350
  ]
293
351
  },
294
352
  {
@@ -303,13 +361,23 @@
303
361
  "\n"
304
362
  ]
305
363
  },
364
+ {
365
+ "cell_type": "markdown",
366
+ "id": "dc54f4f6",
367
+ "metadata": {},
368
+ "source": [
369
+ "## Comparators"
370
+ ]
371
+ },
306
372
  {
307
373
  "attachments": {},
308
374
  "cell_type": "markdown",
309
375
  "id": "28710b83",
310
376
  "metadata": {},
311
377
  "source": [
312
- "Beyond `__startswith`, Django supports about [two dozen field comparators](https://docs.djangoproject.com/en/stable/ref/models/querysets/#field-lookups) `field__comparator=value`. Below follow some of them."
378
+ "You can qualify the type of comparison in a query by using a comparator.\n",
379
+ "\n",
380
+ "Below follows a list of the most import, but Django supports about [two dozen field comparators](https://docs.djangoproject.com/en/stable/ref/models/querysets/#field-lookups) `field__comparator=value`."
313
381
  ]
314
382
  },
315
383
  {
@@ -367,29 +435,6 @@
367
435
  "ln.Artifact.filter(created_by=user, size__lt=1e4).df()"
368
436
  ]
369
437
  },
370
- {
371
- "attachments": {},
372
- "cell_type": "markdown",
373
- "id": "5b6efb3d",
374
- "metadata": {},
375
- "source": [
376
- "### or"
377
- ]
378
- },
379
- {
380
- "cell_type": "code",
381
- "execution_count": null,
382
- "id": "0d1b9a73",
383
- "metadata": {
384
- "tags": [
385
- "hide-output"
386
- ]
387
- },
388
- "outputs": [],
389
- "source": [
390
- "ln.Artifact.filter().filter(ln.Q(suffix=\".jpg\") | ln.Q(suffix=\".fastq.gz\")).df()"
391
- ]
392
- },
393
438
  {
394
439
  "attachments": {},
395
440
  "cell_type": "markdown",
@@ -456,7 +501,7 @@
456
501
  },
457
502
  "outputs": [],
458
503
  "source": [
459
- "ln.Transform.filter(name__contains=\"search\").df().head(10)"
504
+ "ln.Transform.filter(name__contains=\"search\").df().head(5)"
460
505
  ]
461
506
  },
462
507
  {
@@ -478,7 +523,7 @@
478
523
  },
479
524
  "outputs": [],
480
525
  "source": [
481
- "ln.Transform.filter(name__icontains=\"Search\").df().head(10)"
526
+ "ln.Transform.filter(name__icontains=\"Search\").df().head(5)"
482
527
  ]
483
528
  },
484
529
  {
@@ -504,20 +549,71 @@
504
549
  "ln.Transform.filter(name__startswith=\"Research\").df()"
505
550
  ]
506
551
  },
552
+ {
553
+ "cell_type": "markdown",
554
+ "id": "c621ad18",
555
+ "metadata": {},
556
+ "source": [
557
+ "### or"
558
+ ]
559
+ },
560
+ {
561
+ "cell_type": "code",
562
+ "execution_count": null,
563
+ "id": "cf35d05f",
564
+ "metadata": {
565
+ "tags": [
566
+ "hide-output"
567
+ ]
568
+ },
569
+ "outputs": [],
570
+ "source": [
571
+ "ln.Artifact.filter(ln.Q(suffix=\".jpg\") | ln.Q(suffix=\".fastq.gz\")).df()"
572
+ ]
573
+ },
574
+ {
575
+ "cell_type": "markdown",
576
+ "id": "6bf07110",
577
+ "metadata": {},
578
+ "source": [
579
+ "### negate/ unequal"
580
+ ]
581
+ },
582
+ {
583
+ "cell_type": "code",
584
+ "execution_count": null,
585
+ "id": "7b8724e1",
586
+ "metadata": {
587
+ "tags": [
588
+ "hide-output"
589
+ ]
590
+ },
591
+ "outputs": [],
592
+ "source": [
593
+ "ln.Artifact.filter(~ln.Q(suffix=\".jpg\")).df()"
594
+ ]
595
+ },
596
+ {
597
+ "cell_type": "markdown",
598
+ "id": "ffb9c7a9",
599
+ "metadata": {},
600
+ "source": [
601
+ "Clean up the test instance."
602
+ ]
603
+ },
507
604
  {
508
605
  "cell_type": "code",
509
606
  "execution_count": null,
510
607
  "id": "72b03f8b",
511
608
  "metadata": {
512
609
  "tags": [
513
- "hide-cell"
610
+ "hide-output"
514
611
  ]
515
612
  },
516
613
  "outputs": [],
517
614
  "source": [
518
- "# clean up test instance\n",
519
- "!lamin delete --force mydata\n",
520
- "!rm -r mydata"
615
+ "!rm -r ./test-registries\n",
616
+ "!lamin delete --force test-registries"
521
617
  ]
522
618
  }
523
619
  ],