lamindb 0.76.9__tar.gz → 0.76.10__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 (482) hide show
  1. {lamindb-0.76.9 → lamindb-0.76.10}/PKG-INFO +8 -8
  2. {lamindb-0.76.9 → lamindb-0.76.10}/docs/bio-registries.ipynb +1 -1
  3. {lamindb-0.76.9 → lamindb-0.76.10}/docs/faq/idempotency.ipynb +1 -2
  4. {lamindb-0.76.9 → lamindb-0.76.10}/docs/faq/keep-artifacts-local.ipynb +1 -2
  5. {lamindb-0.76.9 → lamindb-0.76.10}/docs/faq/key.ipynb +1 -2
  6. {lamindb-0.76.9 → lamindb-0.76.10}/docs/faq/setup.ipynb +3 -4
  7. {lamindb-0.76.9 → lamindb-0.76.10}/docs/faq/track-run-inputs.ipynb +2 -3
  8. lamindb-0.76.10/docs/scripts/run-track-with-params.py +17 -0
  9. lamindb-0.76.10/docs/scripts/synced-with-git.py +6 -0
  10. {lamindb-0.76.9 → lamindb-0.76.10}/docs/setup.ipynb +14 -20
  11. {lamindb-0.76.9 → lamindb-0.76.10}/docs/signup-login.md +1 -1
  12. {lamindb-0.76.9 → lamindb-0.76.10}/docs/storage/prepare-transfer-local-to-cloud.ipynb +1 -1
  13. lamindb-0.76.10/docs/track.ipynb +364 -0
  14. {lamindb-0.76.9 → lamindb-0.76.10}/docs/transfer.ipynb +71 -2
  15. {lamindb-0.76.9 → lamindb-0.76.10}/docs/tutorial.ipynb +8 -37
  16. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/__init__.py +15 -14
  17. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/_artifact.py +2 -1
  18. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/_can_validate.py +46 -4
  19. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/_collection.py +2 -1
  20. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/_curate.py +3 -1
  21. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/_feature_set.py +3 -1
  22. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/_finish.py +11 -17
  23. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/_from_values.py +110 -89
  24. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/_query_set.py +3 -1
  25. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/_record.py +81 -62
  26. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/_run.py +3 -0
  27. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/_save.py +3 -1
  28. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/_transform.py +9 -6
  29. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/_context.py +94 -78
  30. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/_data.py +113 -41
  31. lamindb-0.76.10/lamindb/core/_django.py +209 -0
  32. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/_feature_manager.py +140 -13
  33. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/_label_manager.py +59 -23
  34. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/_mapped_collection.py +1 -1
  35. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/_settings.py +2 -1
  36. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/exceptions.py +9 -9
  37. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/storage/_anndata_accessor.py +2 -1
  38. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/versioning.py +2 -14
  39. {lamindb-0.76.9 → lamindb-0.76.10}/noxfile.py +3 -3
  40. {lamindb-0.76.9 → lamindb-0.76.10}/pyproject.toml +7 -7
  41. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/__init__.py +11 -10
  42. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/_bionty.py +6 -1
  43. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/entities/_gene.py +22 -2
  44. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/models.py +4 -3
  45. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/pyproject.toml +1 -0
  46. lamindb-0.76.10/sub/lamin-cli/lamin_cli/__init__.py +3 -0
  47. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamin-cli/lamin_cli/__main__.py +111 -94
  48. lamindb-0.76.10/sub/lamin-cli/lamin_cli/_load.py +110 -0
  49. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamin-cli/lamin_cli/_migration.py +1 -1
  50. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamin-cli/lamin_cli/_save.py +20 -17
  51. lamindb-0.76.10/sub/lamin-cli/lamin_cli/_settings.py +41 -0
  52. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +1 -2
  53. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +1 -1
  54. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamin-cli/tests/scripts/run-track-and-finish-sync-git.py +2 -2
  55. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamin-cli/tests/scripts/run-track-and-finish.py +3 -2
  56. lamindb-0.76.10/sub/lamin-cli/tests/scripts/run-track-with-params.py +21 -0
  57. lamindb-0.76.9/sub/lamin-cli/tests/test_get.py → lamindb-0.76.10/sub/lamin-cli/tests/test_load.py +13 -9
  58. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamin-cli/tests/test_migrate.py +4 -2
  59. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamin-cli/tests/test_save_notebooks.py +7 -8
  60. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamin-cli/tests/test_save_scripts.py +89 -12
  61. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/__init__.py +1 -2
  62. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/_check_setup.py +20 -7
  63. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/_connect_instance.py +6 -12
  64. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/_init_instance.py +5 -11
  65. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/_migrate.py +3 -3
  66. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/_hub_client.py +1 -1
  67. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/_hub_core.py +8 -4
  68. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/_settings.py +9 -2
  69. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/_settings_user.py +2 -0
  70. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/django.py +1 -0
  71. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/noxfile.py +1 -1
  72. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/pyproject.toml +2 -1
  73. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/__init__.py +1 -1
  74. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/models.py +62 -54
  75. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/pyproject.toml +1 -0
  76. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/wetlab/__init__.py +6 -14
  77. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/notebooks/duplicate/with-title-initialized-consecutive-finish.ipynb +3 -4
  78. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/notebooks/no-title.ipynb +1 -3
  79. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/notebooks/not-initialized.ipynb +3 -4
  80. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/notebooks/with-title-initialized-consecutive-finish-not-last-cell.ipynb +3 -3
  81. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/notebooks/with-title-initialized-consecutive-finish.ipynb +3 -4
  82. lamindb-0.76.10/tests/core/scripts/duplicate1/script-to-test-versioning.py +4 -0
  83. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/scripts/duplicate2/script-to-test-versioning.py +1 -3
  84. lamindb-0.76.10/tests/core/scripts/duplicate3/script-to-test-versioning.py +4 -0
  85. lamindb-0.76.10/tests/core/scripts/script-to-test-filename-change.py +3 -0
  86. lamindb-0.76.10/tests/core/scripts/script-to-test-versioning.py +4 -0
  87. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_artifact.py +2 -2
  88. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_context.py +6 -12
  89. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_feature_manager.py +0 -1
  90. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_record.py +1 -1
  91. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_versioning.py +0 -12
  92. {lamindb-0.76.9 → lamindb-0.76.10}/tests/storage/test_transfer.py +35 -0
  93. lamindb-0.76.9/docs/track.ipynb +0 -255
  94. lamindb-0.76.9/sub/lamin-cli/lamin_cli/__init__.py +0 -3
  95. lamindb-0.76.9/sub/lamin-cli/lamin_cli/_get.py +0 -82
  96. lamindb-0.76.9/tests/core/scripts/duplicate1/script-to-test-versioning.py +0 -5
  97. lamindb-0.76.9/tests/core/scripts/duplicate3/script-to-test-versioning.py +0 -6
  98. lamindb-0.76.9/tests/core/scripts/script-to-test-filename-change.py +0 -4
  99. lamindb-0.76.9/tests/core/scripts/script-to-test-versioning.py +0 -5
  100. {lamindb-0.76.9 → lamindb-0.76.10}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  101. {lamindb-0.76.9 → lamindb-0.76.10}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  102. {lamindb-0.76.9 → lamindb-0.76.10}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  103. {lamindb-0.76.9 → lamindb-0.76.10}/.github/ISSUE_TEMPLATE/usage_question.yml +0 -0
  104. {lamindb-0.76.9 → lamindb-0.76.10}/.github/workflows/build.yml +0 -0
  105. {lamindb-0.76.9 → lamindb-0.76.10}/.github/workflows/doc-changes.yml +0 -0
  106. {lamindb-0.76.9 → lamindb-0.76.10}/.gitignore +0 -0
  107. {lamindb-0.76.9 → lamindb-0.76.10}/.gitmodules +0 -0
  108. {lamindb-0.76.9 → lamindb-0.76.10}/.pre-commit-config.yaml +0 -0
  109. {lamindb-0.76.9 → lamindb-0.76.10}/CONTRIBUTING.md +0 -0
  110. {lamindb-0.76.9 → lamindb-0.76.10}/LICENSE +0 -0
  111. {lamindb-0.76.9 → lamindb-0.76.10}/README.md +0 -0
  112. {lamindb-0.76.9 → lamindb-0.76.10}/docs/api.md +0 -0
  113. {lamindb-0.76.9 → lamindb-0.76.10}/docs/arrays.ipynb +0 -0
  114. {lamindb-0.76.9 → lamindb-0.76.10}/docs/bionty.md +0 -0
  115. {lamindb-0.76.9 → lamindb-0.76.10}/docs/changelog.md +0 -0
  116. {lamindb-0.76.9 → lamindb-0.76.10}/docs/curate-any.ipynb +0 -0
  117. {lamindb-0.76.9 → lamindb-0.76.10}/docs/curate-df.ipynb +0 -0
  118. {lamindb-0.76.9 → lamindb-0.76.10}/docs/curate.md +0 -0
  119. {lamindb-0.76.9 → lamindb-0.76.10}/docs/faq/acid.ipynb +0 -0
  120. {lamindb-0.76.9 → lamindb-0.76.10}/docs/faq/delete.ipynb +0 -0
  121. {lamindb-0.76.9 → lamindb-0.76.10}/docs/faq/import-schema.ipynb +0 -0
  122. {lamindb-0.76.9 → lamindb-0.76.10}/docs/faq/reference-field.ipynb +0 -0
  123. {lamindb-0.76.9 → lamindb-0.76.10}/docs/faq/test_notebooks.py +0 -0
  124. {lamindb-0.76.9 → lamindb-0.76.10}/docs/faq/visibility.ipynb +0 -0
  125. {lamindb-0.76.9 → lamindb-0.76.10}/docs/faq.md +0 -0
  126. {lamindb-0.76.9 → lamindb-0.76.10}/docs/guide.md +0 -0
  127. {lamindb-0.76.9 → lamindb-0.76.10}/docs/includes/features-lamindb.md +0 -0
  128. {lamindb-0.76.9 → lamindb-0.76.10}/docs/includes/features-laminhub.md +0 -0
  129. {lamindb-0.76.9 → lamindb-0.76.10}/docs/includes/installation.md +0 -0
  130. {lamindb-0.76.9 → lamindb-0.76.10}/docs/index.md +0 -0
  131. {lamindb-0.76.9 → lamindb-0.76.10}/docs/introduction.ipynb +0 -0
  132. {lamindb-0.76.9 → lamindb-0.76.10}/docs/lamindb.md +0 -0
  133. {lamindb-0.76.9 → lamindb-0.76.10}/docs/laminr.md +0 -0
  134. {lamindb-0.76.9 → lamindb-0.76.10}/docs/query-search.md +0 -0
  135. {lamindb-0.76.9 → lamindb-0.76.10}/docs/registries.ipynb +0 -0
  136. {lamindb-0.76.9 → lamindb-0.76.10}/docs/rest.md +0 -0
  137. {lamindb-0.76.9 → lamindb-0.76.10}/docs/schemas.ipynb +0 -0
  138. {lamindb-0.76.9 → lamindb-0.76.10}/docs/storage/add-replace-cache.ipynb +0 -0
  139. {lamindb-0.76.9 → lamindb-0.76.10}/docs/storage/anndata-accessor.ipynb +0 -0
  140. {lamindb-0.76.9 → lamindb-0.76.10}/docs/storage/test-files/iris.csv +0 -0
  141. {lamindb-0.76.9 → lamindb-0.76.10}/docs/storage/test-files/iris.data +0 -0
  142. {lamindb-0.76.9 → lamindb-0.76.10}/docs/storage/test-files/new_iris.csv +0 -0
  143. {lamindb-0.76.9 → lamindb-0.76.10}/docs/storage/test_notebooks.py +0 -0
  144. {lamindb-0.76.9 → lamindb-0.76.10}/docs/storage/transfer-local-to-cloud.ipynb +0 -0
  145. {lamindb-0.76.9 → lamindb-0.76.10}/docs/storage/upload.ipynb +0 -0
  146. {lamindb-0.76.9 → lamindb-0.76.10}/docs/storage/vitessce.ipynb +0 -0
  147. {lamindb-0.76.9 → lamindb-0.76.10}/docs/storage.md +0 -0
  148. {lamindb-0.76.9 → lamindb-0.76.10}/docs/test_notebooks.py +0 -0
  149. {lamindb-0.76.9 → lamindb-0.76.10}/docs/tutorial2.ipynb +0 -0
  150. {lamindb-0.76.9 → lamindb-0.76.10}/docs/wetlab.md +0 -0
  151. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/_feature.py +0 -0
  152. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/_filter.py +0 -0
  153. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/_is_versioned.py +0 -0
  154. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/_parents.py +0 -0
  155. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/_query_manager.py +0 -0
  156. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/_storage.py +0 -0
  157. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/_ulabel.py +0 -0
  158. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/_utils.py +0 -0
  159. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/_view.py +0 -0
  160. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/__init__.py +0 -0
  161. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/_sync_git.py +0 -0
  162. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/_track_environment.py +0 -0
  163. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/datasets/__init__.py +0 -0
  164. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/datasets/_core.py +0 -0
  165. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/datasets/_fake.py +0 -0
  166. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/fields.py +0 -0
  167. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/loaders.py +0 -0
  168. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/schema.py +0 -0
  169. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/storage/__init__.py +0 -0
  170. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/storage/_anndata_sizes.py +0 -0
  171. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/storage/_backed_access.py +0 -0
  172. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/storage/_tiledbsoma.py +0 -0
  173. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/storage/_valid_suffixes.py +0 -0
  174. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/storage/_zarr.py +0 -0
  175. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/storage/objects.py +0 -0
  176. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/storage/paths.py +0 -0
  177. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/subsettings/__init__.py +0 -0
  178. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/subsettings/_creation_settings.py +0 -0
  179. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/subsettings/_transform_settings.py +0 -0
  180. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/core/types.py +0 -0
  181. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/integrations/__init__.py +0 -0
  182. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/integrations/_vitessce.py +0 -0
  183. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/setup/__init__.py +0 -0
  184. {lamindb-0.76.9 → lamindb-0.76.10}/lamindb/setup/core/__init__.py +0 -0
  185. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/.github/workflows/build.yml +0 -0
  186. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/.github/workflows/doc-changes.yml +0 -0
  187. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/.github/workflows/update_ontologies.yml +0 -0
  188. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/.gitignore +0 -0
  189. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/.pre-commit-config.yaml +0 -0
  190. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/LICENSE +0 -0
  191. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/README.md +0 -0
  192. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/__init__.py +0 -0
  193. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/_display_sources.py +0 -0
  194. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/_ontology.py +0 -0
  195. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/_public_ontology.py +0 -0
  196. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/_settings.py +0 -0
  197. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/_sync_sources.py +0 -0
  198. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/dev/__init__.py +0 -0
  199. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/dev/_handle_sources.py +0 -0
  200. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/dev/_io.py +0 -0
  201. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/dev/_md5.py +0 -0
  202. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/entities/__init__.py +0 -0
  203. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/entities/_bfxpipeline.py +0 -0
  204. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/entities/_biosample.py +0 -0
  205. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/entities/_cellline.py +0 -0
  206. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/entities/_cellmarker.py +0 -0
  207. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/entities/_celltype.py +0 -0
  208. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/entities/_developmentalstage.py +0 -0
  209. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/entities/_disease.py +0 -0
  210. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/entities/_drug.py +0 -0
  211. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/entities/_ethnicity.py +0 -0
  212. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/entities/_experimentalfactor.py +0 -0
  213. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/entities/_organism.py +0 -0
  214. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/entities/_pathway.py +0 -0
  215. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/entities/_phenotype.py +0 -0
  216. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/entities/_protein.py +0 -0
  217. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/entities/_shared_docstrings.py +0 -0
  218. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/entities/_tissue.py +0 -0
  219. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/scripts/bfxpipelines_info/custom_pipelines.json +0 -0
  220. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/scripts/check_ontologies_reachable.py +0 -0
  221. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/scripts/determine_md5s.py +0 -0
  222. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/scripts/generate_bfxpipelines.py +0 -0
  223. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/scripts/update_new_ontologies.py +0 -0
  224. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/scripts/upload_new_ontologies.py +0 -0
  225. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/base/sources.yaml +0 -0
  226. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/core/__init__.py +0 -0
  227. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/core/_add_ontology.py +0 -0
  228. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/core/_bionty.py +0 -0
  229. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/core/_settings.py +0 -0
  230. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/ids.py +0 -0
  231. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/migrations/0023_rename_publicsource_encode_uid.py +0 -0
  232. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/migrations/0024_remove_cellline_collections_and_more.py +0 -0
  233. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/migrations/0025_artifactcellline_alter_cellline_artifacts_and_more.py +0 -0
  234. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/migrations/0026_artifactcellline_cell_line_ref_is_name_and_more.py +0 -0
  235. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/migrations/0027_remove_artifactcellline_created_at_and_more.py +0 -0
  236. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/migrations/0028_artifactcellline_created_at_and_more.py +0 -0
  237. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/migrations/0028_squashed.py +0 -0
  238. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/migrations/0029_alter_cellline_previous_runs_and_more.py +0 -0
  239. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/migrations/0030_rename_publicsource_source_and_more.py +0 -0
  240. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/migrations/0031_alter_cellmarker_name_and_more.py +0 -0
  241. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/migrations/0032_rename_source_name_source_description_and_more.py +0 -0
  242. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/migrations/0033_alter_artifactcellline_artifact_and_more.py +0 -0
  243. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/migrations/0034_alter_source_unique_together.py +0 -0
  244. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/migrations/0035_alter_protein_gene_symbol.py +0 -0
  245. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/migrations/0036_alter_source_artifacts_and_more.py +0 -0
  246. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/migrations/0037_alter_cellline_source_alter_cellmarker_source_and_more.py +0 -0
  247. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/migrations/0038_alter_artifactcellline_created_by_and_more.py +0 -0
  248. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/migrations/0039_alter_cellline_source_alter_cellmarker_source_and_more.py +0 -0
  249. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/bionty/migrations/__init__.py +0 -0
  250. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/docs/guide/concepts.md +0 -0
  251. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/docs/guide/config.md +0 -0
  252. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/docs/guide/extend.md +0 -0
  253. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/docs/guide/test_notebooks.py +0 -0
  254. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/docs/guide.md +0 -0
  255. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/docs/index.md +0 -0
  256. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/docs/reference.md +0 -0
  257. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/lamin-project.yaml +0 -0
  258. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/noxfile.py +0 -0
  259. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/tests/dev/test_handle_sources.py +0 -0
  260. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/tests/dev/test_io.py +0 -0
  261. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/tests/entities/test_bfxpipeline.py +0 -0
  262. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/tests/entities/test_biosample.py +0 -0
  263. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/tests/entities/test_cellline.py +0 -0
  264. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/tests/entities/test_cellmarker.py +0 -0
  265. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/tests/entities/test_celltype.py +0 -0
  266. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/tests/entities/test_developmentalstage.py +0 -0
  267. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/tests/entities/test_disease.py +0 -0
  268. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/tests/entities/test_drug.py +0 -0
  269. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/tests/entities/test_ethnicity.py +0 -0
  270. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/tests/entities/test_experimentalfactor.py +0 -0
  271. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/tests/entities/test_gene.py +0 -0
  272. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/tests/entities/test_organism.py +0 -0
  273. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/tests/entities/test_pathway.py +0 -0
  274. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/tests/entities/test_phenotype.py +0 -0
  275. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/tests/entities/test_protein.py +0 -0
  276. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/tests/entities/test_tissue.py +0 -0
  277. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/tests/test_bionty.py +0 -0
  278. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/tests/test_lamindb.py +0 -0
  279. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/tests/test_md5.py +0 -0
  280. {lamindb-0.76.9 → lamindb-0.76.10}/sub/bionty/tests/test_ontology.py +0 -0
  281. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamin-cli/.github/workflows/doc-changes.yml +0 -0
  282. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamin-cli/.gitignore +0 -0
  283. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamin-cli/.pre-commit-config.yaml +0 -0
  284. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamin-cli/LICENSE +0 -0
  285. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamin-cli/README.md +0 -0
  286. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamin-cli/lamin_cli/_cache.py +0 -0
  287. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamin-cli/pyproject.toml +0 -0
  288. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamin-cli/tests/conftest.py +0 -0
  289. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
  290. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamin-cli/tests/scripts/merely-import-lamindb.py +0 -0
  291. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamin-cli/tests/test_cli.py +0 -0
  292. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamin-cli/tests/test_multi_process.py +0 -0
  293. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamin-cli/tests/test_save_files.py +0 -0
  294. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/.github/workflows/build.yml +0 -0
  295. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/.github/workflows/doc-changes.yml +0 -0
  296. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/.gitignore +0 -0
  297. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/.pre-commit-config.yaml +0 -0
  298. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/LICENSE +0 -0
  299. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/README.md +0 -0
  300. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/docs/changelog.md +0 -0
  301. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/docs/hub-cloud/01-init-local-instance.ipynb +0 -0
  302. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/docs/hub-cloud/02-connect-local-instance.ipynb +0 -0
  303. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/docs/hub-cloud/03-add-managed-storage.ipynb +0 -0
  304. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/docs/hub-cloud/04-test-bionty.ipynb +0 -0
  305. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/docs/hub-cloud/05-init-hosted-instance.ipynb +0 -0
  306. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/docs/hub-cloud/06-connect-hosted-instance.ipynb +0 -0
  307. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/docs/hub-cloud/07-keep-artifacts-local.ipynb +0 -0
  308. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/docs/hub-cloud/08-test-multi-session.ipynb +0 -0
  309. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/docs/hub-cloud/test_notebooks.py +0 -0
  310. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/docs/hub-prod/test-cache-management.ipynb +0 -0
  311. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/docs/hub-prod/test-cloud-sync.ipynb +0 -0
  312. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/docs/hub-prod/test-connect-anonymously.ipynb +0 -0
  313. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/docs/hub-prod/test-empty-init.ipynb +0 -0
  314. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/docs/hub-prod/test-import-schema.ipynb +0 -0
  315. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/docs/hub-prod/test-init-load-local-anonymously.ipynb +0 -0
  316. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/docs/hub-prod/test-insufficient-user-info.ipynb +0 -0
  317. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/docs/hub-prod/test-invalid-schema.ipynb +0 -0
  318. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/docs/hub-prod/test-sqlite-lock.ipynb +0 -0
  319. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/docs/hub-prod/test_notebooks2.py +0 -0
  320. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/docs/index.md +0 -0
  321. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/docs/notebooks.md +0 -0
  322. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/docs/reference.md +0 -0
  323. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
  324. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/_check.py +0 -0
  325. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
  326. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/_delete.py +0 -0
  327. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/_django.py +0 -0
  328. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/_entry_points.py +0 -0
  329. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/_exportdb.py +0 -0
  330. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/_importdb.py +0 -0
  331. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
  332. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
  333. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/_schema_metadata.py +0 -0
  334. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/_set_managed_storage.py +0 -0
  335. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/_setup_user.py +0 -0
  336. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
  337. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/__init__.py +0 -0
  338. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/_aws_credentials.py +0 -0
  339. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/_aws_storage.py +0 -0
  340. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/_deprecated.py +0 -0
  341. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/_docs.py +0 -0
  342. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/_hub_crud.py +0 -0
  343. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/_hub_utils.py +0 -0
  344. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/_private_django_api.py +0 -0
  345. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/_settings_instance.py +0 -0
  346. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/_settings_load.py +0 -0
  347. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/_settings_save.py +0 -0
  348. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/_settings_storage.py +0 -0
  349. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/_settings_store.py +0 -0
  350. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/_setup_bionty_sources.py +0 -0
  351. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/cloud_sqlite_locker.py +0 -0
  352. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/exceptions.py +0 -0
  353. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/hashing.py +0 -0
  354. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/types.py +0 -0
  355. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/lamindb_setup/core/upath.py +0 -0
  356. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/hub-cloud/scripts/script-init-pass-user-no-writes.py +0 -0
  357. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/hub-cloud/scripts/script-to-fail-managed-storage.py +0 -0
  358. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/hub-cloud/test_connect_instance.py +0 -0
  359. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/hub-cloud/test_delete_instance.py +0 -0
  360. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/hub-cloud/test_fail_managed_storage.py +0 -0
  361. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/hub-cloud/test_init_instance.py +0 -0
  362. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/hub-cloud/test_init_pass_user_no_writes.py +0 -0
  363. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/hub-cloud/test_login.py +0 -0
  364. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/hub-cloud/test_migrate.py +0 -0
  365. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/hub-cloud/test_set_storage.py +0 -0
  366. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/hub-local/conftest.py +0 -0
  367. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/hub-local/test_all.py +0 -0
  368. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/hub-local/test_update_schema_in_hub.py +0 -0
  369. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/hub-prod/conftest.py +0 -0
  370. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/hub-prod/test_django.py +0 -0
  371. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/hub-prod/test_global_settings.py +0 -0
  372. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/hub-prod/test_switch_and_fallback_env.py +0 -0
  373. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/hub-prod/test_upath.py +0 -0
  374. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/storage/test_entry_point.py +0 -0
  375. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/storage/test_hashing.py +0 -0
  376. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/storage/test_storage_access.py +0 -0
  377. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/storage/test_storage_basis.py +0 -0
  378. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/storage/test_storage_stats.py +0 -0
  379. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lamindb-setup/tests/storage/test_to_url.py +0 -0
  380. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/.github/workflows/build.yml +0 -0
  381. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/.github/workflows/doc-changes.yml +0 -0
  382. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/.gitignore +0 -0
  383. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/.pre-commit-config.yaml +0 -0
  384. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/CHANGELOG.md +0 -0
  385. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/LICENSE +0 -0
  386. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/README.md +0 -0
  387. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/ids.py +0 -0
  388. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0037_rename_dataset_to_collection.py +0 -0
  389. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0038_alter_collection_artifact_alter_collection_artifacts_and_more.py +0 -0
  390. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0039_remove_collection_artifacts_collectionartifact_and_more.py +0 -0
  391. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0040_alter_transform_type.py +0 -0
  392. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0041_remove_transform_short_name_transform_description_and_more.py +0 -0
  393. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0042_rename_run_at_run_started_at_run_finished_at.py +0 -0
  394. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0043_run_json.py +0 -0
  395. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0044_run_replicated_outputs_transform_ulabels_and_more.py +0 -0
  396. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0045_rename_replicated_outputs_run_replicated_output_artifacts_and_more.py +0 -0
  397. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0046_storage_instance_uid.py +0 -0
  398. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0047_featurevalue_artifactfeaturevalue_and_more.py +0 -0
  399. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0048_alter_artifactulabel_feature_and_more.py +0 -0
  400. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0049_rename_type_feature_dtype_and_more.py +0 -0
  401. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0050_artifactfeatureset_feature_ref_is_semantic_and_more.py +0 -0
  402. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0051_remove_feature_feature_sets_featuresetfeature_and_more.py +0 -0
  403. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0052_rename_feature_value_artifactfeaturevalue_featurevalue_and_more.py +0 -0
  404. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0052_squashed.py +0 -0
  405. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0053_alter_featureset_hash_alter_paramvalue_created_by_and_more.py +0 -0
  406. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0054_alter_feature_previous_runs_and_more.py +0 -0
  407. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0055_artifact_type_artifactparamvalue_and_more.py +0 -0
  408. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0056_rename_ulabel_ref_is_name_artifactulabel_label_ref_is_name_and_more.py +0 -0
  409. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0057_link_models_latest_report_and_others.py +0 -0
  410. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0058_artifact__actions_collection__actions.py +0 -0
  411. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0059_alter_artifact__accessor_alter_artifact__hash_type_and_more.py +0 -0
  412. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0060_alter_artifact__actions.py +0 -0
  413. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0061_alter_collection_meta_artifact_alter_run_environment_and_more.py +0 -0
  414. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0062_add_is_latest_field.py +0 -0
  415. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0063_populate_latest_field.py +0 -0
  416. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0064_alter_artifact_version_alter_collection_version_and_more.py +0 -0
  417. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0065_remove_collection_feature_sets_and_more.py +0 -0
  418. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/0066_alter_artifact__feature_values_and_more.py +0 -0
  419. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
  420. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/mocks.py +0 -0
  421. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/types.py +0 -0
  422. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/lnschema_core/users.py +0 -0
  423. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/noxfile.py +0 -0
  424. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/pyproject.toml +0 -0
  425. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/tests/conftest.py +0 -0
  426. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/tests/test_integrity.py +0 -0
  427. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/tests/test_models.py +0 -0
  428. {lamindb-0.76.9 → lamindb-0.76.10}/sub/lnschema-core/tests/test_types.py +0 -0
  429. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/.github/workflows/build.yml +0 -0
  430. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/.github/workflows/doc-changes.yml +0 -0
  431. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/.gitignore +0 -0
  432. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/.pre-commit-config.yaml +0 -0
  433. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/README.md +0 -0
  434. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/docs/changelog.md +0 -0
  435. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/docs/guide/get-started.ipynb +0 -0
  436. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/docs/guide/modeling_perturbations.ipynb +0 -0
  437. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/docs/guide.md +0 -0
  438. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/docs/index.md +0 -0
  439. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/docs/reference.md +0 -0
  440. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/noxfile.py +0 -0
  441. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/tests/test_integrity.py +0 -0
  442. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/tests/test_notebooks.py +0 -0
  443. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/wetlab/migrations/0017_remove_biosample_artifacts.py +0 -0
  444. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/wetlab/migrations/0018_squashed.py +0 -0
  445. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/wetlab/migrations/0018_well_created_at_well_created_by_well_updated_at.py +0 -0
  446. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/wetlab/migrations/0019_alter_treatment_system.py +0 -0
  447. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/wetlab/migrations/0020_treatmenttarget_pathways_treatmenttarget_proteins_and_more.py +0 -0
  448. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/wetlab/migrations/0021_alter_compoundtreatment_duration_unit_and_more.py +0 -0
  449. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/wetlab/migrations/0022_remove_experiment_experiment_type_and_more.py +0 -0
  450. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/wetlab/migrations/0023_compoundtreatment_duration_and_more.py +0 -0
  451. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/wetlab/migrations/0024_compound_chembl_id.py +0 -0
  452. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/wetlab/migrations/__init__.py +0 -0
  453. {lamindb-0.76.9 → lamindb-0.76.10}/sub/wetlab/wetlab/models.py +0 -0
  454. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/conftest.py +0 -0
  455. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_artifact_folders.py +0 -0
  456. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_cache.py +0 -0
  457. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_can_validate.py +0 -0
  458. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_collection.py +0 -0
  459. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_curate.py +0 -0
  460. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_data.py +0 -0
  461. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_db.py +0 -0
  462. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_delete.py +0 -0
  463. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_feature.py +0 -0
  464. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_feature_set.py +0 -0
  465. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_from_values.py +0 -0
  466. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_label_manager.py +0 -0
  467. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_load.py +0 -0
  468. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_manager.py +0 -0
  469. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_notebooks.py +0 -0
  470. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_parents.py +0 -0
  471. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_queryset.py +0 -0
  472. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_run.py +0 -0
  473. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_save.py +0 -0
  474. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_search.py +0 -0
  475. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_settings.py +0 -0
  476. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_transform.py +0 -0
  477. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_uid.py +0 -0
  478. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_ulabel.py +0 -0
  479. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_view.py +0 -0
  480. {lamindb-0.76.9 → lamindb-0.76.10}/tests/core/test_visibility.py +0 -0
  481. {lamindb-0.76.9 → lamindb-0.76.10}/tests/storage/conftest.py +0 -0
  482. {lamindb-0.76.9 → lamindb-0.76.10}/tests/storage/test_storage.py +0 -0
@@ -1,18 +1,17 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lamindb
3
- Version: 0.76.9
3
+ Version: 0.76.10
4
4
  Summary: A data framework for biology.
5
5
  Author-email: Lamin Labs <open-source@lamin.ai>
6
- Requires-Python: >=3.8
6
+ Requires-Python: >=3.9
7
7
  Description-Content-Type: text/markdown
8
- Classifier: Programming Language :: Python :: 3.8
9
8
  Classifier: Programming Language :: Python :: 3.9
10
9
  Classifier: Programming Language :: Python :: 3.10
11
10
  Classifier: Programming Language :: Python :: 3.11
12
- Requires-Dist: lnschema_core==0.74.5
13
- Requires-Dist: lamindb_setup==0.77.5
14
- Requires-Dist: lamin_utils==0.13.4
15
- Requires-Dist: lamin_cli==0.17.6
11
+ Requires-Dist: lnschema_core==0.74.6
12
+ Requires-Dist: lamindb_setup==0.77.6
13
+ Requires-Dist: lamin_utils==0.13.6
14
+ Requires-Dist: lamin_cli==0.17.7
16
15
  Requires-Dist: rapidfuzz
17
16
  Requires-Dist: pyarrow
18
17
  Requires-Dist: typing_extensions!=4.6.0
@@ -24,7 +23,8 @@ Requires-Dist: pandas
24
23
  Requires-Dist: graphviz
25
24
  Requires-Dist: psycopg2-binary
26
25
  Requires-Dist: lamindb_setup[aws] ; extra == "aws"
27
- Requires-Dist: bionty==0.50.2 ; extra == "bionty"
26
+ Requires-Dist: bionty==0.51.0 ; extra == "bionty"
27
+ Requires-Dist: line_profiler ; extra == "dev"
28
28
  Requires-Dist: pre-commit ; extra == "dev"
29
29
  Requires-Dist: nox ; extra == "dev"
30
30
  Requires-Dist: laminci>=0.3 ; extra == "dev"
@@ -275,7 +275,7 @@
275
275
  "source": [
276
276
  "We'd like to load the corresponding records in our in-house registry to annotate a dataset.\n",
277
277
  "\n",
278
- "To this end, you'll typically use {class}`~lamindb.core.Record.from_values`, which will both validate & retrieve records that match the values."
278
+ "To this end, you'll typically use {class}`~lamindb.core.CanValidate.from_values`, which will both validate & retrieve records that match the values."
279
279
  ]
280
280
  },
281
281
  {
@@ -71,8 +71,7 @@
71
71
  "import pytest\n",
72
72
  "\n",
73
73
  "ln.settings.verbosity = \"hint\"\n",
74
- "ln.context.uid = \"ANW20Fr4eZgM0000\"\n",
75
- "ln.context.track()"
74
+ "ln.track(\"ANW20Fr4eZgM0000\")"
76
75
  ]
77
76
  },
78
77
  {
@@ -37,8 +37,7 @@
37
37
  "# !pip install 'lamindb[jupyter,aws]'\n",
38
38
  "import lamindb as ln\n",
39
39
  "\n",
40
- "ln.context.uid = \"l9lFf83aPwRc0000\"\n",
41
- "ln.context.track()"
40
+ "ln.track(\"l9lFf83aPwRc0000\")"
42
41
  ]
43
42
  },
44
43
  {
@@ -119,8 +119,7 @@
119
119
  "metadata": {},
120
120
  "outputs": [],
121
121
  "source": [
122
- "ln.context.uid = \"WIwaNDvlEkwS0000\"\n",
123
- "ln.context.track()"
122
+ "ln.track(\"WIwaNDvlEkwS0000\")"
124
123
  ]
125
124
  },
126
125
  {
@@ -19,7 +19,7 @@
19
19
  },
20
20
  "outputs": [],
21
21
  "source": [
22
- "!lamin load --unload"
22
+ "!lamin disconnect"
23
23
  ]
24
24
  },
25
25
  {
@@ -54,7 +54,7 @@
54
54
  "outputs": [],
55
55
  "source": [
56
56
  "with pytest.raises(ln._InstanceNotSetupError):\n",
57
- " ln.context.track()"
57
+ " ln.track()"
58
58
  ]
59
59
  },
60
60
  {
@@ -82,8 +82,7 @@
82
82
  "metadata": {},
83
83
  "outputs": [],
84
84
  "source": [
85
- "ln.context.uid = \"2lhqA4uTKSFP0000\"\n",
86
- "ln.context.track()"
85
+ "ln.track(\"2lhqA4uTKSFP0000\")"
87
86
  ]
88
87
  },
89
88
  {
@@ -63,7 +63,7 @@
63
63
  "cell_type": "markdown",
64
64
  "metadata": {},
65
65
  "source": [
66
- "Call `ln.context.track()`:"
66
+ "Call `ln.track()`:"
67
67
  ]
68
68
  },
69
69
  {
@@ -72,8 +72,7 @@
72
72
  "metadata": {},
73
73
  "outputs": [],
74
74
  "source": [
75
- "ln.context.uid = \"Rx2s9aPTMQLY0000\"\n",
76
- "ln.context.track()"
75
+ "ln.track(\"Rx2s9aPTMQLY0000\")\n"
77
76
  ]
78
77
  },
79
78
  {
@@ -0,0 +1,17 @@
1
+ import argparse
2
+ import lamindb as ln
3
+
4
+ if __name__ == "__main__":
5
+ p = argparse.ArgumentParser()
6
+ p.add_argument("--input-dir", type=str)
7
+ p.add_argument("--downsample", action="store_true")
8
+ p.add_argument("--learning-rate", type=float)
9
+ args = p.parse_args()
10
+ params = {
11
+ "input_dir": args.input_dir,
12
+ "learning_rate": args.learning_rate,
13
+ "downsample": args.downsample,
14
+ }
15
+ ln.track("JjRF4mACd9m00000", params=params)
16
+ # your code
17
+ ln.finish()
@@ -0,0 +1,6 @@
1
+ import lamindb as ln
2
+
3
+ ln.settings.sync_git_repo = "https://github.com/..."
4
+ ln.track()
5
+ # your code
6
+ ln.finish()
@@ -111,16 +111,16 @@
111
111
  "cell_type": "markdown",
112
112
  "metadata": {},
113
113
  "source": [
114
- "## Load an instance"
114
+ "## Connecting to an instance"
115
115
  ]
116
116
  },
117
117
  {
118
118
  "cell_type": "markdown",
119
119
  "metadata": {},
120
120
  "source": [
121
- "Load your own instance:\n",
121
+ "Connect to your own instance:\n",
122
122
  "```\n",
123
- "lamin load <instance_name>\n",
123
+ "lamin connect <instance_name>\n",
124
124
  "````"
125
125
  ]
126
126
  },
@@ -128,9 +128,9 @@
128
128
  "cell_type": "markdown",
129
129
  "metadata": {},
130
130
  "source": [
131
- "Load somebody else's instance:\n",
131
+ "Connect to somebody else's instance:\n",
132
132
  "```\n",
133
- "lamin load <account_handle/instance_name>\n",
133
+ "lamin connect <account_handle/instance_name>\n",
134
134
  "```"
135
135
  ]
136
136
  },
@@ -170,7 +170,7 @@
170
170
  "metadata": {},
171
171
  "outputs": [],
172
172
  "source": [
173
- "!lamin info"
173
+ "!lamin settings"
174
174
  ]
175
175
  },
176
176
  {
@@ -225,25 +225,19 @@
225
225
  "cell_type": "markdown",
226
226
  "metadata": {},
227
227
  "source": [
228
- "## Update default storage"
228
+ "## Update the default storage"
229
229
  ]
230
230
  },
231
231
  {
232
232
  "cell_type": "markdown",
233
233
  "metadata": {},
234
234
  "source": [
235
- "It's easiest to see and update default storage in the Python API using {attr}`~lamindb.core.Settings.storage`:\n",
235
+ "It's easiest to see and update the default storage for the current Python session in the Python API using {attr}`~lamindb.core.Settings.storage`:\n",
236
236
  "\n",
237
237
  "```python\n",
238
238
  "import lamindb as ln\n",
239
239
  "ln.settings.storage # set via ln.settings.storage = \"s3://other-bucket\"\n",
240
240
  "#> s3://default-bucket\n",
241
- "```\n",
242
- "\n",
243
- "You can also change it using the CLI via\n",
244
- "\n",
245
- "```\n",
246
- "lamin set --storage s3://other-bucket\n",
247
241
  "```"
248
242
  ]
249
243
  },
@@ -291,18 +285,18 @@
291
285
  "cell_type": "markdown",
292
286
  "metadata": {},
293
287
  "source": [
294
- "## Close an instance"
288
+ "## Dsiconnect from an instance"
295
289
  ]
296
290
  },
297
291
  {
298
292
  "cell_type": "markdown",
299
293
  "metadata": {},
300
294
  "source": [
301
- "Loading an instance means loading an environment for managing your datasets.\n",
295
+ "Connecting to an instance means loading an environment for managing your data.\n",
302
296
  "\n",
303
- "When loading a new instance, you automatically _close_ the previously loaded old instance.\n",
297
+ "When connecting to a new instance, you automatically _disconnect_ from the previously connected instance.\n",
304
298
  "\n",
305
- "If you want to close the instance without loading a new instance, use `lamin load --unload`"
299
+ "If you want to disconnect from the instance without connecting to a new instance, use `lamin disconnect`"
306
300
  ]
307
301
  },
308
302
  {
@@ -330,7 +324,7 @@
330
324
  "Here is an example:\n",
331
325
  "\n",
332
326
  "```\n",
333
- "% lamin load testdb\n",
327
+ "% lamin connect testdb\n",
334
328
  "🔶 \n",
335
329
  "\n",
336
330
  "Your database is not up to date with your installed Python library.\n",
@@ -343,7 +337,7 @@
343
337
  "\n",
344
338
  "Otherwise, downgrade your Python library to match the database!\n",
345
339
  "\n",
346
- "✅ loaded instance: testuser1/testdb\n",
340
+ "✅ connected lamindb: testuser1/testdb\n",
347
341
  "```\n",
348
342
  ":::"
349
343
  ]
@@ -32,5 +32,5 @@ lamin login <email> --key <API-key>
32
32
  Log out:
33
33
 
34
34
  ```
35
- lamin login --logout
35
+ lamin logout
36
36
  ```
@@ -13,7 +13,7 @@
13
13
  "metadata": {},
14
14
  "outputs": [],
15
15
  "source": [
16
- "!lamin set auto-connect false"
16
+ "!lamin settings set auto-connect false"
17
17
  ]
18
18
  },
19
19
  {
@@ -0,0 +1,364 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "metadata": {},
6
+ "source": [
7
+ "# Track notebooks & scripts\n",
8
+ "\n",
9
+ "This guide explains how to use {meth}`~lamindb.track` & {meth}`~lamindb.finish` to track notebook & scripts along with their inputs and outputs.\n",
10
+ "\n",
11
+ "For tracking data lineage in pipelines, see {doc}`docs:pipelines`."
12
+ ]
13
+ },
14
+ {
15
+ "cell_type": "code",
16
+ "execution_count": null,
17
+ "metadata": {
18
+ "tags": [
19
+ "hide-output"
20
+ ]
21
+ },
22
+ "outputs": [],
23
+ "source": [
24
+ "# !pip install 'lamindb[jupyter]'\n",
25
+ "!lamin init --storage ./test-track"
26
+ ]
27
+ },
28
+ {
29
+ "cell_type": "markdown",
30
+ "metadata": {},
31
+ "source": [
32
+ "## Initiate tracking"
33
+ ]
34
+ },
35
+ {
36
+ "cell_type": "markdown",
37
+ "metadata": {},
38
+ "source": [
39
+ "Call {meth}`~lamindb.track` to register a data transformation and start tracking inputs & outputs of a run. You will find your notebook or script in the {class}`~lamindb.Transform` registry along with pipelines & functions. {class}`~lamindb.Run` stores executions."
40
+ ]
41
+ },
42
+ {
43
+ "cell_type": "code",
44
+ "execution_count": null,
45
+ "metadata": {
46
+ "tags": [
47
+ "hide-output"
48
+ ]
49
+ },
50
+ "outputs": [],
51
+ "source": [
52
+ "import lamindb as ln\n",
53
+ "\n",
54
+ "# call `ln.track()` to generate a uid that identifies your code\n",
55
+ "\n",
56
+ "ln.track(\"9priar0hoE5u0000\") # call `ln.track(uid)` to track a run with inputs & outputs"
57
+ ]
58
+ },
59
+ {
60
+ "cell_type": "markdown",
61
+ "metadata": {},
62
+ "source": [
63
+ "LaminDB now automatically tracks all input and output data of the current run.\n",
64
+ "\n",
65
+ "Note: You can access a `requirments.txt` via `ln.context.run.environment`."
66
+ ]
67
+ },
68
+ {
69
+ "cell_type": "markdown",
70
+ "metadata": {},
71
+ "source": [
72
+ "## Track run report & source code"
73
+ ]
74
+ },
75
+ {
76
+ "cell_type": "markdown",
77
+ "metadata": {},
78
+ "source": [
79
+ "If you want to save the run report & source code for a notebook or script, call:\n",
80
+ "\n",
81
+ "```python\n",
82
+ "ln.finish()\n",
83
+ "```"
84
+ ]
85
+ },
86
+ {
87
+ "cell_type": "markdown",
88
+ "metadata": {},
89
+ "source": [
90
+ "Below is how a notebook with run report looks on the hub.\n",
91
+ "\n",
92
+ "<img src=\"https://lamin-site-assets.s3.amazonaws.com/.lamindb/RGXj5wcAf7EAc6J8dJfH.png\" width=\"900px\">"
93
+ ]
94
+ },
95
+ {
96
+ "cell_type": "markdown",
97
+ "metadata": {},
98
+ "source": [
99
+ "## Query & load a notebook or script"
100
+ ]
101
+ },
102
+ {
103
+ "cell_type": "markdown",
104
+ "metadata": {},
105
+ "source": [
106
+ "In the API, filter {class}`~lamindb.Transform` to obtain a transform record:\n",
107
+ "\n",
108
+ "```python\n",
109
+ "transform = ln.Transform.get(name=\"Track notebooks & scripts\")\n",
110
+ "transform.source_code # source code\n",
111
+ "transform.latest_run.report # report of latest run\n",
112
+ "transform.latest_run.environment # environment of latest run\n",
113
+ "transform.runs # all runs\n",
114
+ "```"
115
+ ]
116
+ },
117
+ {
118
+ "cell_type": "markdown",
119
+ "metadata": {},
120
+ "source": [
121
+ "On the hub, search or filter the `transform` page and then load a script or notebook on the CLI. For example,\n",
122
+ "\n",
123
+ "```bash\n",
124
+ "lamin load https://lamin.ai/laminlabs/lamindata/transform/13VINnFk89PE0004\n",
125
+ "```"
126
+ ]
127
+ },
128
+ {
129
+ "cell_type": "markdown",
130
+ "metadata": {},
131
+ "source": [
132
+ "## Sync scripts with GitHub"
133
+ ]
134
+ },
135
+ {
136
+ "cell_type": "markdown",
137
+ "metadata": {},
138
+ "source": [
139
+ "To sync with your git commit, add the following line to your script:\n",
140
+ "\n",
141
+ "```python\n",
142
+ "ln.settings.sync_git_repo = <YOUR-GIT-REPO-URL>\n",
143
+ "```"
144
+ ]
145
+ },
146
+ {
147
+ "cell_type": "markdown",
148
+ "metadata": {},
149
+ "source": [
150
+ "```{eval-rst}\n",
151
+ ".. literalinclude:: scripts/synced-with-git.py\n",
152
+ " :language: python\n",
153
+ " :caption: synced-with-git.py\n",
154
+ "```"
155
+ ]
156
+ },
157
+ {
158
+ "cell_type": "markdown",
159
+ "metadata": {},
160
+ "source": [
161
+ "You'll now see the GitHub emoji clickable on the hub.\n",
162
+ "\n",
163
+ "<img src=\"https://lamin-site-assets.s3.amazonaws.com/.lamindb/IpV8Kiq4xUbgXhzlUYT7.png\" width=\"900px\">\n",
164
+ "<br>"
165
+ ]
166
+ },
167
+ {
168
+ "cell_type": "markdown",
169
+ "metadata": {},
170
+ "source": [
171
+ "## Track run parameters"
172
+ ]
173
+ },
174
+ {
175
+ "cell_type": "markdown",
176
+ "metadata": {},
177
+ "source": [
178
+ "LaminDB's validation dialogue auto-generates code for run parameters. Here is an example:"
179
+ ]
180
+ },
181
+ {
182
+ "cell_type": "code",
183
+ "execution_count": null,
184
+ "metadata": {
185
+ "tags": [
186
+ "hide-output"
187
+ ]
188
+ },
189
+ "outputs": [],
190
+ "source": [
191
+ "ln.Param(name=\"input_dir\", dtype=\"str\").save()\n",
192
+ "ln.Param(name=\"learning_rate\", dtype=\"float\").save()\n",
193
+ "ln.Param(name=\"downsample\", dtype=\"bool\").save()"
194
+ ]
195
+ },
196
+ {
197
+ "cell_type": "markdown",
198
+ "metadata": {},
199
+ "source": [
200
+ "```{eval-rst}\n",
201
+ ".. literalinclude:: scripts/run-track-with-params.py\n",
202
+ " :language: python\n",
203
+ " :caption: run-track-with-params.py\n",
204
+ "```"
205
+ ]
206
+ },
207
+ {
208
+ "cell_type": "markdown",
209
+ "metadata": {},
210
+ "source": [
211
+ "Run the script."
212
+ ]
213
+ },
214
+ {
215
+ "cell_type": "code",
216
+ "execution_count": null,
217
+ "metadata": {
218
+ "tags": [
219
+ "hide-output"
220
+ ]
221
+ },
222
+ "outputs": [],
223
+ "source": [
224
+ "!python scripts/run-track-with-params.py --input-dir ./mydataset --learning-rate 0.01 --downsample"
225
+ ]
226
+ },
227
+ {
228
+ "cell_type": "markdown",
229
+ "metadata": {},
230
+ "source": [
231
+ "## Query by run parameters"
232
+ ]
233
+ },
234
+ {
235
+ "cell_type": "markdown",
236
+ "metadata": {},
237
+ "source": [
238
+ "Query for all runs that match a certain parameters:"
239
+ ]
240
+ },
241
+ {
242
+ "cell_type": "code",
243
+ "execution_count": null,
244
+ "metadata": {
245
+ "tags": [
246
+ "hide-output"
247
+ ]
248
+ },
249
+ "outputs": [],
250
+ "source": [
251
+ "ln.Run.params.filter(learning_rate=0.01, input_dir=\"./mydataset\").df()"
252
+ ]
253
+ },
254
+ {
255
+ "cell_type": "markdown",
256
+ "metadata": {},
257
+ "source": [
258
+ "Look at the parameter values that were used for a given run."
259
+ ]
260
+ },
261
+ {
262
+ "cell_type": "code",
263
+ "execution_count": null,
264
+ "metadata": {
265
+ "tags": [
266
+ "hide-output"
267
+ ]
268
+ },
269
+ "outputs": [],
270
+ "source": [
271
+ "run = ln.Run.params.filter(learning_rate=0.01).order_by(\"-started_at\").first()\n",
272
+ "run.params.get_values()"
273
+ ]
274
+ },
275
+ {
276
+ "cell_type": "markdown",
277
+ "metadata": {},
278
+ "source": [
279
+ "## Manage notebook templates"
280
+ ]
281
+ },
282
+ {
283
+ "cell_type": "markdown",
284
+ "metadata": {},
285
+ "source": [
286
+ "A notebook acts like a template upon using `lamin load` to load it. Consider you run:\n",
287
+ "\n",
288
+ "```bash\n",
289
+ "lamin load https://lamin.ai/account/instance/transform/Akd7gx7Y9oVO0000\n",
290
+ "```\n",
291
+ "\n",
292
+ "Upon running the returned notebook, you'll automatically create a new version and be able to browse it via the version dropdown on the UI.\n",
293
+ "\n",
294
+ "Additionally, you can:\n",
295
+ "\n",
296
+ "- label using `ULabel`, e.g., `transform.ulabels.add(template_label)`\n",
297
+ "- tag with an indicative `version` string, e.g., `transform.version = \"T1\"; transform.save()`"
298
+ ]
299
+ },
300
+ {
301
+ "cell_type": "markdown",
302
+ "metadata": {},
303
+ "source": [
304
+ ":::{dropdown} Saving a notebook as an artifact\n",
305
+ "\n",
306
+ "Sometimes you might want to save a notebook as an artifact. This is how you can do it:\n",
307
+ "\n",
308
+ "```bash\n",
309
+ "lamin save template1.ipynb --key templates/template1.ipynb --description \"Template for analysis type 1\" --registry artifact\n",
310
+ "```\n",
311
+ "\n",
312
+ ":::"
313
+ ]
314
+ },
315
+ {
316
+ "cell_type": "code",
317
+ "execution_count": null,
318
+ "metadata": {
319
+ "tags": [
320
+ "hide-cell"
321
+ ]
322
+ },
323
+ "outputs": [],
324
+ "source": [
325
+ "assert run.params.get_values() == {'downsample': True, 'input_dir': './mydataset', 'learning_rate': 0.01}\n",
326
+ "\n",
327
+ "# clean up test instance\n",
328
+ "!rm -r ./test-track\n",
329
+ "!lamin delete --force test-track"
330
+ ]
331
+ }
332
+ ],
333
+ "metadata": {
334
+ "kernelspec": {
335
+ "display_name": "Python 3 (ipykernel)",
336
+ "language": "python",
337
+ "name": "python3"
338
+ },
339
+ "language_info": {
340
+ "codemirror_mode": {
341
+ "name": "ipython",
342
+ "version": 3
343
+ },
344
+ "file_extension": ".py",
345
+ "mimetype": "text/x-python",
346
+ "name": "python",
347
+ "nbconvert_exporter": "python",
348
+ "pygments_lexer": "ipython3",
349
+ "version": "3.10.13"
350
+ },
351
+ "nbproject": {
352
+ "id": "9priar0hoE5u",
353
+ "parent": null,
354
+ "pypackage": null,
355
+ "time_init": "2023-12-04T18:09:49.226879+00:00",
356
+ "user_handle": null,
357
+ "user_id": null,
358
+ "user_name": null,
359
+ "version": "0"
360
+ }
361
+ },
362
+ "nbformat": 4,
363
+ "nbformat_minor": 2
364
+ }