lamindb 0.73.0__tar.gz → 0.73.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. {lamindb-0.73.0 → lamindb-0.73.2}/.github/workflows/build.yml +6 -0
  2. {lamindb-0.73.0 → lamindb-0.73.2}/PKG-INFO +4 -4
  3. {lamindb-0.73.0 → lamindb-0.73.2}/docs/changelog.md +14 -2
  4. {lamindb-0.73.0 → lamindb-0.73.2}/docs/introduction.ipynb +46 -4
  5. {lamindb-0.73.0 → lamindb-0.73.2}/docs/tutorial.ipynb +1 -1
  6. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/__init__.py +1 -1
  7. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_annotate.py +5 -2
  8. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_artifact.py +2 -1
  9. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_registry.py +1 -22
  10. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_view.py +9 -2
  11. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/_label_manager.py +2 -2
  12. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/schema.py +3 -3
  13. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/versioning.py +1 -1
  14. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/integrations/_vitessce.py +7 -3
  15. {lamindb-0.73.0 → lamindb-0.73.2}/pyproject.toml +3 -3
  16. {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/bionty/__init__.py +1 -1
  17. {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/pyproject.toml +1 -1
  18. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/changelog.md +3 -0
  19. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-cloud/06-connect-hosted-instance.ipynb +4 -27
  20. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-prod/test-cloud-sync.ipynb +2 -1
  21. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/__init__.py +1 -1
  22. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_init_instance.py +2 -2
  23. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_migrate.py +5 -0
  24. lamindb-0.73.2/sub/lamindb-setup/lamindb_setup/_schema_metadata.py +479 -0
  25. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_aws_credentials.py +4 -4
  26. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_settings_instance.py +2 -2
  27. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_settings_storage.py +2 -3
  28. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/upath.py +10 -29
  29. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/noxfile.py +5 -8
  30. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/pyproject.toml +1 -1
  31. lamindb-0.73.2/sub/lamindb-setup/tests/hub-local/test_update_schema_in_hub.py +142 -0
  32. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-prod/test_upath.py +8 -3
  33. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/docs/changelog.md +1 -0
  34. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/__init__.py +1 -1
  35. lamindb-0.73.2/sub/lnschema-bionty/lnschema_bionty/migrations/0029_alter_cellline_previous_runs_and_more.py +83 -0
  36. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/pyproject.toml +1 -1
  37. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/tests/test_integrity.py +5 -1
  38. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/CHANGELOG.md +1 -0
  39. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/__init__.py +1 -1
  40. lamindb-0.73.2/sub/lnschema-core/lnschema_core/migrations/0054_alter_feature_previous_runs_and_more.py +35 -0
  41. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/models.py +21 -4
  42. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/tests/test_integrity.py +5 -1
  43. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_transform.py +3 -0
  44. {lamindb-0.73.0 → lamindb-0.73.2}/.github/workflows/latest-changes.jinja2 +0 -0
  45. {lamindb-0.73.0 → lamindb-0.73.2}/.github/workflows/latest-changes.yml +0 -0
  46. {lamindb-0.73.0 → lamindb-0.73.2}/.gitignore +0 -0
  47. {lamindb-0.73.0 → lamindb-0.73.2}/.gitmodules +0 -0
  48. {lamindb-0.73.0 → lamindb-0.73.2}/.pre-commit-config.yaml +0 -0
  49. {lamindb-0.73.0 → lamindb-0.73.2}/LICENSE +0 -0
  50. {lamindb-0.73.0 → lamindb-0.73.2}/README.md +0 -0
  51. {lamindb-0.73.0 → lamindb-0.73.2}/docs/annotate-for-developers.ipynb +0 -0
  52. {lamindb-0.73.0 → lamindb-0.73.2}/docs/annotate.ipynb +0 -0
  53. {lamindb-0.73.0 → lamindb-0.73.2}/docs/bio-registries.ipynb +0 -0
  54. {lamindb-0.73.0 → lamindb-0.73.2}/docs/bionty-base.md +0 -0
  55. {lamindb-0.73.0 → lamindb-0.73.2}/docs/bionty.md +0 -0
  56. {lamindb-0.73.0 → lamindb-0.73.2}/docs/can-validate.ipynb +0 -0
  57. {lamindb-0.73.0 → lamindb-0.73.2}/docs/data.ipynb +0 -0
  58. {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq/acid.ipynb +0 -0
  59. {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq/delete.ipynb +0 -0
  60. {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq/idempotency.ipynb +0 -0
  61. {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq/import-schema.ipynb +0 -0
  62. {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq/keep-artifacts-local.ipynb +0 -0
  63. {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq/key.ipynb +0 -0
  64. {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq/reference-field.ipynb +0 -0
  65. {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq/setup.ipynb +0 -0
  66. {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq/test_notebooks.py +0 -0
  67. {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq/track-run-inputs.ipynb +0 -0
  68. {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq/visibility.ipynb +0 -0
  69. {lamindb-0.73.0 → lamindb-0.73.2}/docs/faq.md +0 -0
  70. {lamindb-0.73.0 → lamindb-0.73.2}/docs/features-lamindb.md +0 -0
  71. {lamindb-0.73.0 → lamindb-0.73.2}/docs/features-laminhub.md +0 -0
  72. {lamindb-0.73.0 → lamindb-0.73.2}/docs/guide.md +0 -0
  73. {lamindb-0.73.0 → lamindb-0.73.2}/docs/index.md +0 -0
  74. {lamindb-0.73.0 → lamindb-0.73.2}/docs/installation.md +0 -0
  75. {lamindb-0.73.0 → lamindb-0.73.2}/docs/lamin-utils.md +0 -0
  76. {lamindb-0.73.0 → lamindb-0.73.2}/docs/lamindb.md +0 -0
  77. {lamindb-0.73.0 → lamindb-0.73.2}/docs/meta.ipynb +0 -0
  78. {lamindb-0.73.0 → lamindb-0.73.2}/docs/nbproject.md +0 -0
  79. {lamindb-0.73.0 → lamindb-0.73.2}/docs/query-search.md +0 -0
  80. {lamindb-0.73.0 → lamindb-0.73.2}/docs/readfcs.md +0 -0
  81. {lamindb-0.73.0 → lamindb-0.73.2}/docs/reference.md +0 -0
  82. {lamindb-0.73.0 → lamindb-0.73.2}/docs/schemas.ipynb +0 -0
  83. {lamindb-0.73.0 → lamindb-0.73.2}/docs/setup.ipynb +0 -0
  84. {lamindb-0.73.0 → lamindb-0.73.2}/docs/signup-login.md +0 -0
  85. {lamindb-0.73.0 → lamindb-0.73.2}/docs/storage/add-replace-stage.ipynb +0 -0
  86. {lamindb-0.73.0 → lamindb-0.73.2}/docs/storage/anndata-accessor.ipynb +0 -0
  87. {lamindb-0.73.0 → lamindb-0.73.2}/docs/storage/prepare-transfer-local-to-cloud.ipynb +0 -0
  88. {lamindb-0.73.0 → lamindb-0.73.2}/docs/storage/test-files/iris.csv +0 -0
  89. {lamindb-0.73.0 → lamindb-0.73.2}/docs/storage/test-files/iris.data +0 -0
  90. {lamindb-0.73.0 → lamindb-0.73.2}/docs/storage/test-files/new_iris.csv +0 -0
  91. {lamindb-0.73.0 → lamindb-0.73.2}/docs/storage/test_notebooks.py +0 -0
  92. {lamindb-0.73.0 → lamindb-0.73.2}/docs/storage/transfer-local-to-cloud.ipynb +0 -0
  93. {lamindb-0.73.0 → lamindb-0.73.2}/docs/storage/upload.ipynb +0 -0
  94. {lamindb-0.73.0 → lamindb-0.73.2}/docs/storage/vitessce.ipynb +0 -0
  95. {lamindb-0.73.0 → lamindb-0.73.2}/docs/storage.md +0 -0
  96. {lamindb-0.73.0 → lamindb-0.73.2}/docs/test_notebooks.py +0 -0
  97. {lamindb-0.73.0 → lamindb-0.73.2}/docs/track.ipynb +0 -0
  98. {lamindb-0.73.0 → lamindb-0.73.2}/docs/transfer.ipynb +0 -0
  99. {lamindb-0.73.0 → lamindb-0.73.2}/docs/tutorial2.ipynb +0 -0
  100. {lamindb-0.73.0 → lamindb-0.73.2}/docs/wetlab.md +0 -0
  101. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_can_validate.py +0 -0
  102. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_collection.py +0 -0
  103. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_feature.py +0 -0
  104. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_feature_set.py +0 -0
  105. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_filter.py +0 -0
  106. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_finish.py +0 -0
  107. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_from_values.py +0 -0
  108. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_is_versioned.py +0 -0
  109. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_parents.py +0 -0
  110. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_query_manager.py +0 -0
  111. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_query_set.py +0 -0
  112. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_run.py +0 -0
  113. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_save.py +0 -0
  114. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_storage.py +0 -0
  115. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_transform.py +0 -0
  116. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_ulabel.py +0 -0
  117. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/_utils.py +0 -0
  118. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/__init__.py +0 -0
  119. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/_data.py +0 -0
  120. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/_feature_manager.py +0 -0
  121. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/_mapped_collection.py +0 -0
  122. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/_run_context.py +0 -0
  123. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/_settings.py +0 -0
  124. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/_sync_git.py +0 -0
  125. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/_track_environment.py +0 -0
  126. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/_transform_settings.py +0 -0
  127. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/datasets/__init__.py +0 -0
  128. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/datasets/_core.py +0 -0
  129. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/datasets/_fake.py +0 -0
  130. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/exceptions.py +0 -0
  131. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/fields.py +0 -0
  132. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/storage/__init__.py +0 -0
  133. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/storage/_anndata_sizes.py +0 -0
  134. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/storage/_backed_access.py +0 -0
  135. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/storage/_valid_suffixes.py +0 -0
  136. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/storage/_zarr.py +0 -0
  137. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/storage/objects.py +0 -0
  138. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/storage/paths.py +0 -0
  139. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/core/types.py +0 -0
  140. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/integrations/__init__.py +0 -0
  141. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/setup/__init__.py +0 -0
  142. {lamindb-0.73.0 → lamindb-0.73.2}/lamindb/setup/core/__init__.py +0 -0
  143. {lamindb-0.73.0 → lamindb-0.73.2}/noxfile.py +0 -0
  144. {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/.github/workflows/build.yml +0 -0
  145. {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/.github/workflows/latest-changes.jinja2 +0 -0
  146. {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/.github/workflows/latest-changes.yml +0 -0
  147. {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/.gitignore +0 -0
  148. {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/.pre-commit-config.yaml +0 -0
  149. {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/LICENSE +0 -0
  150. {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/README.md +0 -0
  151. {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/bionty/core/__init__.py +0 -0
  152. {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/docs/changelog.md +0 -0
  153. {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/docs/index.md +0 -0
  154. {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/docs/reference.md +0 -0
  155. {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/lamin-project.yaml +0 -0
  156. {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/noxfile.py +0 -0
  157. {lamindb-0.73.0 → lamindb-0.73.2}/sub/bionty/tests/test_notebooks.py +0 -0
  158. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/.gitignore +0 -0
  159. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/.pre-commit-config.yaml +0 -0
  160. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/README.md +0 -0
  161. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/lamin_cli/__init__.py +0 -0
  162. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/lamin_cli/__main__.py +0 -0
  163. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/lamin_cli/_cache.py +0 -0
  164. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/lamin_cli/_get.py +0 -0
  165. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/lamin_cli/_migration.py +0 -0
  166. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/lamin_cli/_save.py +0 -0
  167. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/pyproject.toml +0 -0
  168. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/conftest.py +0 -0
  169. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
  170. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +0 -0
  171. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +0 -0
  172. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/scripts/merely-import-lamindb.py +0 -0
  173. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/scripts/run-track-and-finish-sync-git.py +0 -0
  174. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/scripts/run-track-and-finish.py +0 -0
  175. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/test_cli.py +0 -0
  176. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/test_get.py +0 -0
  177. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/test_migrate.py +0 -0
  178. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/test_multi_process.py +0 -0
  179. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/test_save_files.py +0 -0
  180. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/test_save_notebooks.py +0 -0
  181. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamin-cli/tests/test_save_scripts.py +0 -0
  182. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/.github/workflows/build.yml +0 -0
  183. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/.github/workflows/latest-changes.jinja2 +0 -0
  184. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/.github/workflows/latest-changes.yml +0 -0
  185. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/.gitignore +0 -0
  186. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/.pre-commit-config.yaml +0 -0
  187. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/LICENSE +0 -0
  188. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/README.md +0 -0
  189. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-cloud/01-init-local-instance.ipynb +0 -0
  190. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-cloud/02-connect-local-instance.ipynb +0 -0
  191. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-cloud/03-add-managed-storage.ipynb +0 -0
  192. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-cloud/04-test-bionty.ipynb +0 -0
  193. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-cloud/05-init-hosted-instance.ipynb +0 -0
  194. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-cloud/07-keep-artifacts-local.ipynb +0 -0
  195. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-cloud/test-multi-session.ipynb +0 -0
  196. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-cloud/test_notebooks.py +0 -0
  197. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-prod/test-cache-management.ipynb +0 -0
  198. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-prod/test-connect-anonymously.ipynb +0 -0
  199. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-prod/test-empty-init.ipynb +0 -0
  200. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-prod/test-import-schema.ipynb +0 -0
  201. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-prod/test-insufficient-user-info.ipynb +0 -0
  202. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-prod/test-invalid-schema.ipynb +0 -0
  203. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-prod/test-sqlite-lock.ipynb +0 -0
  204. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/hub-prod/test_notebooks2.py +0 -0
  205. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/index.md +0 -0
  206. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/notebooks.md +0 -0
  207. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/docs/reference.md +0 -0
  208. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
  209. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_check.py +0 -0
  210. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_check_setup.py +0 -0
  211. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
  212. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_connect_instance.py +0 -0
  213. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_delete.py +0 -0
  214. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_django.py +0 -0
  215. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_exportdb.py +0 -0
  216. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_importdb.py +0 -0
  217. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
  218. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
  219. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_set_managed_storage.py +0 -0
  220. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_setup_user.py +0 -0
  221. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
  222. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/__init__.py +0 -0
  223. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_aws_storage.py +0 -0
  224. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_deprecated.py +0 -0
  225. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_docs.py +0 -0
  226. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_hub_client.py +0 -0
  227. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_hub_core.py +0 -0
  228. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_hub_crud.py +0 -0
  229. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_hub_utils.py +0 -0
  230. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_settings.py +0 -0
  231. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_settings_load.py +0 -0
  232. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_settings_save.py +0 -0
  233. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_settings_store.py +0 -0
  234. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_settings_user.py +0 -0
  235. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/_setup_bionty_sources.py +0 -0
  236. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/cloud_sqlite_locker.py +0 -0
  237. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/django.py +0 -0
  238. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/exceptions.py +0 -0
  239. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/hashing.py +0 -0
  240. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/lamindb_setup/core/types.py +0 -0
  241. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-cloud/test_connect_instance.py +0 -0
  242. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-cloud/test_delete_instance.py +0 -0
  243. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-cloud/test_init_instance.py +0 -0
  244. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-cloud/test_login.py +0 -0
  245. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-cloud/test_migrate.py +0 -0
  246. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-cloud/test_set_storage.py +0 -0
  247. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-local/conftest.py +0 -0
  248. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-local/test_all.py +0 -0
  249. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-prod/conftest.py +0 -0
  250. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-prod/test_auto_connect.py +0 -0
  251. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-prod/test_django.py +0 -0
  252. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/hub-prod/test_switch_and_fallback_env.py +0 -0
  253. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/storage/test_hashing.py +0 -0
  254. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/storage/test_storage_access.py +0 -0
  255. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/storage/test_storage_basis.py +0 -0
  256. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/storage/test_storage_stats.py +0 -0
  257. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lamindb-setup/tests/storage/test_to_url.py +0 -0
  258. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/.github/workflows/build.yml +0 -0
  259. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/.github/workflows/latest-changes.jinja2 +0 -0
  260. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/.github/workflows/latest-changes.yml +0 -0
  261. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/.gitignore +0 -0
  262. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/.pre-commit-config.yaml +0 -0
  263. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/LICENSE +0 -0
  264. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/README.md +0 -0
  265. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/docs/index.md +0 -0
  266. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/docs/reference.md +0 -0
  267. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lamin-project.yaml +0 -0
  268. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/_bionty.py +0 -0
  269. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/core/__init__.py +0 -0
  270. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/core/_bionty.py +0 -0
  271. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/core/_settings.py +0 -0
  272. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/ids.py +0 -0
  273. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0023_rename_publicsource_encode_uid.py +0 -0
  274. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0024_remove_cellline_collections_and_more.py +0 -0
  275. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0025_artifactcellline_alter_cellline_artifacts_and_more.py +0 -0
  276. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0026_artifactcellline_cell_line_ref_is_name_and_more.py +0 -0
  277. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0027_remove_artifactcellline_created_at_and_more.py +0 -0
  278. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0028_artifactcellline_created_at_and_more.py +0 -0
  279. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0028_squashed.py +0 -0
  280. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/migrations/__init__.py +0 -0
  281. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/lnschema_bionty/models.py +0 -0
  282. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-bionty/noxfile.py +0 -0
  283. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/.github/workflows/build.yml +0 -0
  284. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/.github/workflows/latest-changes.jinja2 +0 -0
  285. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/.github/workflows/latest-changes.yml +0 -0
  286. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/.gitignore +0 -0
  287. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/.pre-commit-config.yaml +0 -0
  288. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/LICENSE +0 -0
  289. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/README.md +0 -0
  290. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/ids.py +0 -0
  291. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0037_rename_dataset_to_collection.py +0 -0
  292. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0038_alter_collection_artifact_alter_collection_artifacts_and_more.py +0 -0
  293. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0039_remove_collection_artifacts_collectionartifact_and_more.py +0 -0
  294. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0040_alter_transform_type.py +0 -0
  295. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0041_remove_transform_short_name_transform_description_and_more.py +0 -0
  296. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0042_rename_run_at_run_started_at_run_finished_at.py +0 -0
  297. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0043_run_json.py +0 -0
  298. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0044_run_replicated_outputs_transform_ulabels_and_more.py +0 -0
  299. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0045_rename_replicated_outputs_run_replicated_output_artifacts_and_more.py +0 -0
  300. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0046_storage_instance_uid.py +0 -0
  301. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0047_featurevalue_artifactfeaturevalue_and_more.py +0 -0
  302. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0048_alter_artifactulabel_feature_and_more.py +0 -0
  303. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0049_rename_type_feature_dtype_and_more.py +0 -0
  304. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0050_artifactfeatureset_feature_ref_is_semantic_and_more.py +0 -0
  305. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0051_remove_feature_feature_sets_featuresetfeature_and_more.py +0 -0
  306. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0052_rename_feature_value_artifactfeaturevalue_featurevalue_and_more.py +0 -0
  307. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0052_squashed.py +0 -0
  308. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/0053_alter_featureset_hash_alter_paramvalue_created_by_and_more.py +0 -0
  309. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
  310. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/mocks.py +0 -0
  311. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/types.py +0 -0
  312. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/lnschema_core/users.py +0 -0
  313. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/noxfile.py +0 -0
  314. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/pyproject.toml +0 -0
  315. {lamindb-0.73.0 → lamindb-0.73.2}/sub/lnschema-core/tests/test_types.py +0 -0
  316. {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/.github/workflows/build.yml +0 -0
  317. {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/.github/workflows/deploy-instance-apis.yml +0 -0
  318. {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/.github/workflows/latest-changes.jinja2 +0 -0
  319. {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/.github/workflows/latest-changes.yml +0 -0
  320. {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/.gitignore +0 -0
  321. {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/.pre-commit-config.yaml +0 -0
  322. {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/README.md +0 -0
  323. {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/docs/changelog.md +0 -0
  324. {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/docs/guide/01-get-started.ipynb +0 -0
  325. {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/docs/guide/index.md +0 -0
  326. {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/docs/index.md +0 -0
  327. {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/docs/reference.md +0 -0
  328. {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/noxfile.py +0 -0
  329. {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/pyproject.toml +0 -0
  330. {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/tests/test_integrity.py +0 -0
  331. {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/tests/test_notebooks.py +0 -0
  332. {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/wetlab/__init__.py +0 -0
  333. {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/wetlab/migrations/0017_remove_biosample_artifacts.py +0 -0
  334. {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/wetlab/migrations/0018_squashed.py +0 -0
  335. {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/wetlab/migrations/0018_well_created_at_well_created_by_well_updated_at.py +0 -0
  336. {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/wetlab/migrations/__init__.py +0 -0
  337. {lamindb-0.73.0 → lamindb-0.73.2}/sub/wetlab/wetlab/models.py +0 -0
  338. {lamindb-0.73.0 → lamindb-0.73.2}/tests/conftest.py +0 -0
  339. {lamindb-0.73.0 → lamindb-0.73.2}/tests/notebooks/initialized-with-nbproject.ipynb +0 -0
  340. {lamindb-0.73.0 → lamindb-0.73.2}/tests/notebooks/no-title.ipynb +0 -0
  341. {lamindb-0.73.0 → lamindb-0.73.2}/tests/notebooks/not-initialized.ipynb +0 -0
  342. {lamindb-0.73.0 → lamindb-0.73.2}/tests/notebooks/with-title-initialized-consecutive-finish-not-last-cell.ipynb +0 -0
  343. {lamindb-0.73.0 → lamindb-0.73.2}/tests/notebooks/with-title-initialized-consecutive-finish.ipynb +0 -0
  344. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_annotate.py +0 -0
  345. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_artifact.py +0 -0
  346. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_artifact_folders.py +0 -0
  347. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_cache.py +0 -0
  348. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_can_validate.py +0 -0
  349. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_collection.py +0 -0
  350. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_data.py +0 -0
  351. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_db.py +0 -0
  352. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_delete.py +0 -0
  353. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_feature.py +0 -0
  354. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_feature_manager.py +0 -0
  355. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_feature_set.py +0 -0
  356. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_from_values.py +0 -0
  357. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_label_manager.py +0 -0
  358. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_load.py +0 -0
  359. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_manager.py +0 -0
  360. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_notebooks.py +0 -0
  361. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_parents.py +0 -0
  362. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_queryset.py +0 -0
  363. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_registry.py +0 -0
  364. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_run.py +0 -0
  365. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_run_context.py +0 -0
  366. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_save.py +0 -0
  367. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_search.py +0 -0
  368. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_settings.py +0 -0
  369. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_storage.py +0 -0
  370. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_transfer.py +0 -0
  371. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_uid.py +0 -0
  372. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_ulabel.py +0 -0
  373. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_versioning.py +0 -0
  374. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_view.py +0 -0
  375. {lamindb-0.73.0 → lamindb-0.73.2}/tests/test_visibility.py +0 -0
@@ -119,6 +119,12 @@ jobs:
119
119
  env:
120
120
  NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
121
121
  NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
122
+ - uses: peter-evans/repository-dispatch@v2
123
+ if: ${{ github.event_name == 'push' }}
124
+ with:
125
+ token: ${{ secrets.LAMIN_BUILD_DOCS }}
126
+ repository: "laminlabs/lamin-docs"
127
+ event-type: build
122
128
 
123
129
  coverage:
124
130
  needs: test
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lamindb
3
- Version: 0.73.0
3
+ Version: 0.73.2
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,8 +9,8 @@ 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.68.0
13
- Requires-Dist: lamindb_setup==0.73.0
12
+ Requires-Dist: lnschema_core==0.69.0
13
+ Requires-Dist: lamindb_setup==0.73.1
14
14
  Requires-Dist: lamin_utils==0.13.2
15
15
  Requires-Dist: lamin_cli==0.14.0
16
16
  Requires-Dist: rapidfuzz
@@ -25,7 +25,7 @@ Requires-Dist: graphviz
25
25
  Requires-Dist: psycopg2-binary
26
26
  Requires-Dist: psutil
27
27
  Requires-Dist: lamindb_setup[aws] ; extra == "aws"
28
- Requires-Dist: bionty==0.43.1 ; extra == "bionty"
28
+ Requires-Dist: bionty==0.44.0 ; extra == "bionty"
29
29
  Requires-Dist: pandas<2 ; extra == "dev"
30
30
  Requires-Dist: pre-commit ; extra == "dev"
31
31
  Requires-Dist: nox ; extra == "dev"
@@ -2,7 +2,7 @@
2
2
 
3
3
  :::{note}
4
4
 
5
- If using LaminHub, please use the latest version of lamindb.
5
+ If using LaminHub, please use the latest version of LaminDB.
6
6
 
7
7
  LaminDB implements "migration-based versioning". When upgrading your LaminDB installation to a new `minor` version in `major.minor.patch`, you also migrate your database by calling `lamin migrate deploy`.
8
8
 
@@ -14,6 +14,18 @@ LaminDB implements "migration-based versioning". When upgrading your LaminDB ins
14
14
 
15
15
  ## 0.73
16
16
 
17
+ ### 0.73.2 {small}`2024-06-13`
18
+
19
+ - 🐛 Fix clashing reverse accessors for `.previous_runs` and `.run` [PR](https://github.com/laminlabs/lamindb/pull/1698) [@falexwolf](https://github.com/falexwolf)
20
+ - 🐛 Import IPython inside view [PR](https://github.com/laminlabs/lamindb/pull/1696) [@Koncopd](https://github.com/Koncopd)
21
+
22
+ ### 0.73.1 {small}`2024-06-05`
23
+
24
+ - 🏗️ Instantly synchronize instance schema with the hub [PR](https://github.com/laminlabs/lamindb/pull/1689) [@fredericenard](https://github.com/fredericenard)
25
+ - ⬆️ Upgrade `universal_pathlib` to 0.2.2 [PR](https://github.com/laminlabs/lamindb/pull/1687) [@Koncopd](https://github.com/Koncopd)
26
+ - 🐛 Fix generation of `uid` for manual Transform constructor [PR](https://github.com/laminlabs/lamindb/pull/1684) [@falexwolf](https://github.com/falexwolf)
27
+ - 🔥 Deleting `artifact.stage()` in favor of `artifact.cache()` (was deprecated in 0.70.0)
28
+
17
29
  ### 0.73.0 {small}`2024-05-29`
18
30
 
19
31
  Annotating & querying by features improved:
@@ -28,7 +40,7 @@ Example:
28
40
  # annotate dict-style (feature & category names get validated)
29
41
  artifact.features.add_values({
30
42
  "species": "setosa",
31
- "scientist": ["Barabara McClintock", "Edgar Anderson"],
43
+ "scientist": ["Barbara McClintock", "Edgar Anderson"],
32
44
  "instrument": "Leica IIIc Camera",
33
45
  "temperature": 27.6,
34
46
  "study": "Study 0: initial plant gathering",
@@ -77,6 +77,26 @@
77
77
  "!lamin init --storage ./lamin-intro --schema bionty"
78
78
  ]
79
79
  },
80
+ {
81
+ "cell_type": "markdown",
82
+ "metadata": {},
83
+ "source": [
84
+ "Now you're ready to import lamindb in a Python session."
85
+ ]
86
+ },
87
+ {
88
+ "cell_type": "code",
89
+ "execution_count": null,
90
+ "metadata": {
91
+ "tags": [
92
+ "hide-output"
93
+ ]
94
+ },
95
+ "outputs": [],
96
+ "source": [
97
+ "import lamindb as ln"
98
+ ]
99
+ },
80
100
  {
81
101
  "cell_type": "markdown",
82
102
  "metadata": {},
@@ -98,8 +118,6 @@
98
118
  },
99
119
  "outputs": [],
100
120
  "source": [
101
- "import lamindb as ln\n",
102
- "\n",
103
121
  "# copy-pasted identifiers for your notebook or script\n",
104
122
  "ln.settings.transform.stem_uid = \"FPnfDtJz8qbE\" # <-- auto-generated by running ln.track()\n",
105
123
  "ln.settings.transform.version = \"1\" # <-- auto-generated by running ln.track()\n",
@@ -107,7 +125,7 @@
107
125
  "# track the execution of your notebook or script\n",
108
126
  "run = ln.track()\n",
109
127
  "\n",
110
- "# get your currently running transform\n",
128
+ "# see your currently running transform\n",
111
129
  "run.transform"
112
130
  ]
113
131
  },
@@ -115,7 +133,31 @@
115
133
  "cell_type": "markdown",
116
134
  "metadata": {},
117
135
  "source": [
118
- "`ln.track()` added a record to the {class}`~lamindb.Transform` registry to query & search your notebook and a {class}`~lamindb.Run` registry to store the specific notebook run."
136
+ "Calling `ln.track()` created a run and a transform and stored them in {class}`~lamindb.Run` and {class}`~lamindb.Transform`, respectively. The transform registry allows to find your notebook, scripts and pipelines. The {class}`~lamindb.Run` registry allows to find their runs.\n",
137
+ "\n",
138
+ ":::{dropdown} Is this compliant with OpenLineage?\n",
139
+ "\n",
140
+ "Yes. What OpenLineage calls a \"job\", LaminDB calls a \"transform\". What OpenLineage calls a \"run\", LaminDB calls a \"run\".\n",
141
+ "\n",
142
+ ":::\n",
143
+ "\n",
144
+ ":::{dropdown} Are the global identifiers `stem_uid` and `version` really necessary?\n",
145
+ "\n",
146
+ "Yes, if you want to track data lineage outside of workflow managers.\n",
147
+ "\n",
148
+ "To tie a piece of code to a record in a database in a way that survives name changes (notebook file name, script name, pipeline name) and content changes, you need to attach the code to an immutable identifier.\n",
149
+ "\n",
150
+ "Content changes need to correlate with the identifier, but shouldn't give rise to an entirely new identifier. To implement this behavior we code hashes with user input for `version` and create a universal identifier as follows:\n",
151
+ "\n",
152
+ "```python\n",
153
+ "stem_uid = random_base62(n_char) # a random base62 sequence of length n_char\n",
154
+ "version_uid = encode_base62(md5_hash(version))[:4] # version is, e.g., \"1\" or \"2.1.0\" or \"2022-03-01\"\n",
155
+ "uid = f\"{stem_uid}{version_uid}\" # concatenate the stem_uid & version_uid\n",
156
+ "```\n",
157
+ "\n",
158
+ "git, by comparison, identifies code by its content hash alone. Notebook platforms like Google Colab and DeepNote [do not encode versions into their notebook ids](https://lamin.ai/blog/nbproject#metadata-tracking). \n",
159
+ "\n",
160
+ ":::"
119
161
  ]
120
162
  },
121
163
  {
@@ -367,7 +367,7 @@
367
367
  "cell_type": "markdown",
368
368
  "metadata": {},
369
369
  "source": [
370
- "Visualize data lineage with {meth}`~lamindb.core.Data.view_lineage`:"
370
+ "Visualize data lineage with {meth}`~lamindb.core.HasFeatures.view_lineage`:"
371
371
  ]
372
372
  },
373
373
  {
@@ -41,7 +41,7 @@ Modules & settings:
41
41
  """
42
42
 
43
43
  # denote a release candidate for 0.1.0 with 0.1rc1, 0.1a1, 0.1b1, etc.
44
- __version__ = "0.73.0"
44
+ __version__ = "0.73.2"
45
45
 
46
46
  import os as _os
47
47
 
@@ -813,7 +813,10 @@ def standardize_and_inspect(
813
813
  values: Iterable[str], field: FieldAttr, registry: Registry, **kwargs
814
814
  ):
815
815
  """Standardize and inspect values using a registry."""
816
- if hasattr(registry, "standardize"):
816
+ if hasattr(registry, "standardize") and hasattr(
817
+ registry,
818
+ "synonyms", # https://github.com/laminlabs/lamindb/issues/1685
819
+ ):
817
820
  values = registry.standardize(values, field=field, mute=True, **kwargs)
818
821
  return registry.inspect(values, field=field, mute=True, **kwargs)
819
822
 
@@ -976,7 +979,7 @@ def save_artifact(
976
979
  except ImportError:
977
980
  pass
978
981
  if artifact is None:
979
- raise ValueError("data must be a DataFrame, AnnData or MuData object")
982
+ raise ValueError("data must be a DataFrame, AnnData or MuData object.")
980
983
  artifact.save()
981
984
 
982
985
  feature_kwargs = check_registry_organism(
@@ -196,6 +196,8 @@ def get_stat_or_artifact(
196
196
  if not isinstance(path, LocalPathClasses):
197
197
  size, hash, hash_type = None, None, None
198
198
  if stat is not None:
199
+ # convert UPathStatResult to fsspec info dict
200
+ stat = stat.as_info()
199
201
  if "ETag" in stat: # is file
200
202
  size, hash, hash_type = get_stat_file_cloud(stat)
201
203
  elif stat["type"] == "directory":
@@ -1109,6 +1111,5 @@ for name in METHOD_NAMES:
1109
1111
  Artifact._delete_skip_storage = _delete_skip_storage
1110
1112
  Artifact._save_skip_storage = _save_skip_storage
1111
1113
  Artifact.path = path
1112
- Artifact.stage = cache
1113
1114
  # this seems a Django-generated function
1114
1115
  delattr(Artifact, "get_visibility_display")
@@ -54,7 +54,7 @@ def suggest_records_with_similar_names(record: Registry, kwargs) -> bool:
54
54
  """
55
55
  if kwargs.get("name") is None:
56
56
  return False
57
- queryset = _search(record.__class__, kwargs["name"], truncate_words=True, limit=5)
57
+ queryset = _search(record.__class__, kwargs["name"], truncate_words=True, limit=20)
58
58
  if not queryset.exists(): # empty queryset
59
59
  return False
60
60
  for alternative_record in queryset:
@@ -549,24 +549,3 @@ if ln_setup._TESTING: # type: ignore
549
549
 
550
550
  for name in METHOD_NAMES:
551
551
  attach_func_to_class_method(name, Registry, globals())
552
-
553
-
554
- @classmethod # type: ignore
555
- def __get_schema_name__(cls) -> str:
556
- schema_module_name = cls.__module__.split(".")[0]
557
- schema_name = schema_module_name.replace("lnschema_", "")
558
- return schema_name
559
-
560
-
561
- @classmethod # type: ignore
562
- def __get_name_with_schema__(cls) -> str:
563
- schema_name = cls.__get_schema_name__()
564
- if schema_name == "core":
565
- schema_prefix = ""
566
- else:
567
- schema_prefix = f"{schema_name}."
568
- return f"{schema_prefix}{cls.__name__}"
569
-
570
-
571
- Registry.__get_schema_name__ = __get_schema_name__
572
- Registry.__get_name_with_schema__ = __get_name_with_schema__
@@ -1,14 +1,16 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import builtins
3
4
  import importlib
4
5
  import inspect
5
6
 
6
- from IPython.display import display
7
7
  from lamin_utils import colors, logger
8
8
  from lamindb_setup import settings
9
9
  from lamindb_setup._init_instance import get_schema_module_name
10
10
  from lnschema_core import Registry
11
11
 
12
+ is_run_from_ipython = getattr(builtins, "__IPYTHON__", False)
13
+
12
14
 
13
15
  def view(
14
16
  n: int = 7, schema: str | None = None, registries: list[str] | None = None
@@ -25,6 +27,11 @@ def view(
25
27
  Examples:
26
28
  >>> ln.view()
27
29
  """
30
+ if is_run_from_ipython:
31
+ from IPython.display import display as show
32
+ else:
33
+ show = logger.print
34
+
28
35
  if schema is not None:
29
36
  schema_names = [schema]
30
37
  else:
@@ -60,4 +67,4 @@ def view(
60
67
  df = orm.df().iloc[-n:]
61
68
  if df.shape[0] > 0:
62
69
  logger.print(colors.blue(colors.bold(orm.__name__)))
63
- display(df)
70
+ show(df)
@@ -125,13 +125,13 @@ def validate_labels(labels: QuerySet | list | dict, parents: bool = True):
125
125
 
126
126
 
127
127
  class LabelManager:
128
- """Label manager (:attr:`~lamindb.core.Data.labels`).
128
+ """Label manager (:attr:`~lamindb.core.HasFeatures.labels`).
129
129
 
130
130
  This allows to manage untyped labels :class:`~lamindb.ULabel` and arbitrary
131
131
  typed labels (e.g., :class:`~bionty.CellLine`) and associate labels
132
132
  with features.
133
133
 
134
- See :class:`~lamindb.core.Data` for more information.
134
+ See :class:`~lamindb.core.HasFeatures` for more information.
135
135
  """
136
136
 
137
137
  def __init__(self, host: Artifact | Collection):
@@ -1,10 +1,10 @@
1
- from typing import Type
1
+ from __future__ import annotations
2
2
 
3
3
  from django.db.models import ManyToManyField
4
4
  from lnschema_core.models import Feature, FeatureSet, LinkORM, Registry
5
5
 
6
6
 
7
- def dict_schema_name_to_model_name(orm: Type[Registry]) -> dict[str, Registry]:
7
+ def dict_schema_name_to_model_name(orm: type[Registry]) -> dict[str, Registry]:
8
8
  d: dict = {
9
9
  i.related_model.__get_name_with_schema__(): i.related_model
10
10
  for i in orm._meta.related_objects
@@ -21,7 +21,7 @@ def dict_schema_name_to_model_name(orm: Type[Registry]) -> dict[str, Registry]:
21
21
 
22
22
 
23
23
  def dict_related_model_to_related_name(
24
- orm: Type[Registry], links: bool = False
24
+ orm: type[Registry], links: bool = False
25
25
  ) -> dict[str, str]:
26
26
  def include(model: Registry):
27
27
  return not links != issubclass(model, LinkORM)
@@ -138,7 +138,7 @@ def process_is_new_version_of(
138
138
  if is_new_version_of is not None and not isinstance(is_new_version_of, type):
139
139
  raise TypeError(f"is_new_version_of has to be of type {type}")
140
140
  if is_new_version_of is None:
141
- uid = init_uid(version=version, n_full_id=type._len_stem_uid)
141
+ uid = init_uid(version=version, n_full_id=type._len_full_uid)
142
142
  else:
143
143
  uid, version = get_uid_from_old_version(is_new_version_of, version)
144
144
  if name is None:
@@ -39,9 +39,13 @@ def save_vitessce_config(vitessce_config: VitessceConfig, description: str) -> A
39
39
  if "url" not in file:
40
40
  raise ValueError("Each file must have a 'url' key.")
41
41
  filename = file["url"].split("/")[-1]
42
- assert filename.endswith((".anndata.zarr", ".spatialdata.zarr"))
43
- filestem = filename.replace(".anndata.zarr", "").replace(
44
- ".spatialdata.zarr", ""
42
+ assert filename.endswith(
43
+ (".anndata.zarr", ".spatialdata.zarr", ".ome.zarr")
44
+ )
45
+ filestem = (
46
+ filename.replace(".anndata.zarr", "")
47
+ .replace(".spatialdata.zarr", "")
48
+ .replace(".ome.zarr", "")
45
49
  )
46
50
  artifact = Artifact.filter(uid__startswith=filestem).one_or_none()
47
51
  if artifact is None:
@@ -16,8 +16,8 @@ classifiers = [
16
16
  ]
17
17
  dependencies = [
18
18
  # Lamin PINNED packages
19
- "lnschema_core==0.68.0",
20
- "lamindb_setup==0.73.0",
19
+ "lnschema_core==0.69.0",
20
+ "lamindb_setup==0.73.1",
21
21
  "lamin_utils==0.13.2",
22
22
  "lamin_cli==0.14.0",
23
23
  # others
@@ -39,7 +39,7 @@ Home = "https://github.com/laminlabs/lamindb"
39
39
 
40
40
  [project.optional-dependencies]
41
41
  bionty = [
42
- "bionty==0.43.1",
42
+ "bionty==0.44.0",
43
43
  ]
44
44
  aws = [
45
45
  "lamindb_setup[aws]",
@@ -122,7 +122,7 @@ Developer API:
122
122
  core
123
123
  """
124
124
 
125
- __version__ = "0.43.1"
125
+ __version__ = "0.44.0"
126
126
 
127
127
  from lamindb_setup._check_setup import InstanceNotSetupError, _check_instance_setup
128
128
  from lnschema_bionty import ids
@@ -8,7 +8,7 @@ authors = [{name = "Lamin Labs", email = "open-source@lamin.ai"}]
8
8
  readme = "README.md"
9
9
  dynamic = ["version", "description"]
10
10
  dependencies = [
11
- "lnschema-bionty==0.42.2",
11
+ "lnschema-bionty==0.43.0",
12
12
  ]
13
13
 
14
14
  [project.urls]
@@ -3,6 +3,9 @@
3
3
  <!-- prettier-ignore -->
4
4
  Name | PR | Developer | Date | Version
5
5
  --- | --- | --- | --- | ---
6
+ ✨ Add .ome.zarr as composite suffix | [775](https://github.com/laminlabs/lamindb-setup/pull/775) | [sunnyosun](https://github.com/sunnyosun) | 2024-06-05 |
7
+ 🏗️ Update instance schema in the hub | [774](https://github.com/laminlabs/lamindb-setup/pull/774) | [fredericenard](https://github.com/fredericenard) | 2024-06-04 |
8
+ ⬆️ Migrate to upath 0.2.2 | [723](https://github.com/laminlabs/lamindb-setup/pull/723) | [Koncopd](https://github.com/Koncopd) | 2024-06-02 |
6
9
  🐛 Fix trailing slash in upload_from source | [773](https://github.com/laminlabs/lamindb-setup/pull/773) | [Koncopd](https://github.com/Koncopd) | 2024-05-23 | 0.73.0
7
10
  🚸 Make `upload_from()`, `download_to()`, and `view_tree()` more user friendly | [772](https://github.com/laminlabs/lamindb-setup/pull/772) | [falexwolf](https://github.com/falexwolf) | 2024-05-23 |
8
11
  ✨ Resolve s3 bucket region even without access rights | [771](https://github.com/laminlabs/lamindb-setup/pull/771) | [Koncopd](https://github.com/Koncopd) | 2024-05-22 |
@@ -86,7 +86,7 @@
86
86
  "outputs": [],
87
87
  "source": [
88
88
  "target_dir = root / \"test-dir-upload\"\n",
89
- "target_dir.upload_from(test_dir)\n",
89
+ "target_dir.upload_from(test_dir, create_folder=True) # default\n",
90
90
  "\n",
91
91
  "assert target_dir.is_dir()\n",
92
92
  "assert (target_dir / \"test-dir-upload\").exists()\n",
@@ -102,34 +102,11 @@
102
102
  "metadata": {},
103
103
  "outputs": [],
104
104
  "source": [
105
- "# test trailing slash in target_dir\n",
106
- "target_dir = root / \"test-dir-upload/\"\n",
107
- "assert target_dir.path.endswith(\"/\")\n",
108
- "\n",
109
- "dest_dir = target_dir.upload_from(test_dir, create_folder=True)\n",
110
- "\n",
111
- "assert \"//\" not in dest_dir.path\n",
112
- "assert dest_dir.as_posix() == (root / \"test-dir-upload/test-dir-upload\").as_posix()\n",
113
- "assert dest_dir.is_dir()\n",
114
- "\n",
115
- "dest_dir.rmdir()\n",
116
- "assert not dest_dir.exists()"
117
- ]
118
- },
119
- {
120
- "cell_type": "code",
121
- "execution_count": null,
122
- "metadata": {},
123
- "outputs": [],
124
- "source": [
125
- "target_dir_check = root / \"test-dir-upload\"\n",
126
- "assert not target_dir_check.exists()\n",
127
- "\n",
128
105
  "target_dir.upload_from(test_dir, create_folder=False)\n",
129
106
  "\n",
130
- "assert target_dir_check.is_dir()\n",
131
- "assert (target_dir_check / \"file1\").exists()\n",
132
- "assert not (target_dir_check / \"test-dir-upload\").exists()"
107
+ "assert target_dir.is_dir()\n",
108
+ "assert (target_dir / \"file1\").exists()\n",
109
+ "assert not (target_dir / \"test-dir-upload\").exists()"
133
110
  ]
134
111
  },
135
112
  {
@@ -237,7 +237,8 @@
237
237
  "source": [
238
238
  "time.sleep(1)\n",
239
239
  "cloud_file = dir_sync / \"file1\"\n",
240
- "cloud_file.touch() # update cloud timestamp\n",
240
+ "# update cloud timestamp, exist_ok=False needed due to truncate=not exist_ok in upath\n",
241
+ "cloud_file.touch(exist_ok=False) \n",
241
242
  "\n",
242
243
  "assert cloud_file.modified.timestamp() > local_file_new.stat().st_mtime"
243
244
  ]
@@ -34,7 +34,7 @@ Modules & settings:
34
34
 
35
35
  """
36
36
 
37
- __version__ = "0.73.0" # denote a release candidate for 0.1.0 with 0.1rc1
37
+ __version__ = "0.73.1" # denote a release candidate for 0.1.0 with 0.1rc1
38
38
 
39
39
  import sys
40
40
  from os import name as _os_name
@@ -16,7 +16,7 @@ from ._silence_loggers import silence_loggers
16
16
  from .core import InstanceSettings
17
17
  from .core._settings import settings
18
18
  from .core._settings_storage import StorageSettings, init_storage
19
- from .core.upath import convert_pathlike
19
+ from .core.upath import UPath
20
20
 
21
21
  if TYPE_CHECKING:
22
22
  from pydantic import PostgresDsn
@@ -351,7 +351,7 @@ def infer_instance_name(
351
351
  return str(db).split("/")[-1]
352
352
  if storage == "create-s3":
353
353
  raise ValueError("pass name to init if storage = 'create-s3'")
354
- storage_path = convert_pathlike(storage)
354
+ storage_path = UPath(storage)
355
355
  if storage_path.name != "":
356
356
  name = storage_path.name
357
357
  else:
@@ -68,6 +68,8 @@ class migrate:
68
68
  @classmethod
69
69
  def deploy(cls) -> None:
70
70
  """Deploy a migration."""
71
+ from ._schema_metadata import update_schema_in_hub
72
+
71
73
  if _check_instance_setup():
72
74
  raise RuntimeError("Restart Python session to migrate or use CLI!")
73
75
  from lamindb_setup.core._hub_client import call_with_fallback_auth
@@ -104,6 +106,9 @@ class migrate:
104
106
  # this populates the hub
105
107
  if instance_is_on_hub:
106
108
  logger.important(f"updating lamindb version in hub: {lamindb.__version__}")
109
+ # TODO: integrate update of instance table within update_schema_in_hub & below
110
+ if settings.instance.dialect != "sqlite":
111
+ update_schema_in_hub()
107
112
  call_with_fallback_auth(
108
113
  update_instance,
109
114
  instance_id=settings.instance._id.hex,