lamindb 0.69.10__tar.gz → 0.70.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. {lamindb-0.69.10 → lamindb-0.70.0}/PKG-INFO +4 -4
  2. {lamindb-0.69.10 → lamindb-0.70.0}/docs/changelog.md +17 -1
  3. {lamindb-0.69.10 → lamindb-0.70.0}/docs/faq/idempotency.ipynb +40 -20
  4. {lamindb-0.69.10 → lamindb-0.70.0}/docs/faq/track-run-inputs.ipynb +4 -4
  5. {lamindb-0.69.10 → lamindb-0.70.0}/docs/introduction.ipynb +22 -7
  6. {lamindb-0.69.10 → lamindb-0.70.0}/docs/meta.ipynb +1 -1
  7. {lamindb-0.69.10 → lamindb-0.70.0}/docs/storage/add-replace-stage.ipynb +3 -3
  8. {lamindb-0.69.10 → lamindb-0.70.0}/docs/track.ipynb +3 -4
  9. {lamindb-0.69.10 → lamindb-0.70.0}/docs/tutorial.ipynb +3 -3
  10. {lamindb-0.69.10 → lamindb-0.70.0}/docs/tutorial2.ipynb +1 -1
  11. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/__init__.py +1 -1
  12. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/_artifact.py +23 -11
  13. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/_collection.py +16 -4
  14. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/_finish.py +28 -42
  15. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/_from_values.py +2 -1
  16. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/_data.py +18 -1
  17. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/_feature_manager.py +8 -2
  18. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/_run_context.py +0 -1
  19. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/_settings.py +1 -1
  20. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/datasets/_core.py +1 -1
  21. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/integrations/_vitessce.py +18 -9
  22. {lamindb-0.69.10 → lamindb-0.70.0}/pyproject.toml +3 -3
  23. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamin-cli/.gitignore +1 -1
  24. lamindb-0.70.0/sub/lamin-cli/lamin_cli/__init__.py +3 -0
  25. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamin-cli/lamin_cli/_get.py +2 -2
  26. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamin-cli/tests/test_save_notebooks.py +1 -1
  27. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamin-cli/tests/test_save_scripts.py +1 -1
  28. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/docs/changelog.md +3 -0
  29. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/__init__.py +1 -1
  30. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/_connect_instance.py +5 -12
  31. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/_exportdb.py +16 -16
  32. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/_importdb.py +4 -3
  33. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/_migrate.py +33 -1
  34. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/core/__init__.py +0 -1
  35. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/core/_hub_client.py +9 -2
  36. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/core/_hub_core.py +13 -27
  37. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/core/_settings_instance.py +2 -2
  38. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/core/_settings_storage.py +49 -11
  39. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/core/django.py +0 -77
  40. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/tests/hub-local/test_all.py +2 -1
  41. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/tests/hub-prod/test_django.py +0 -5
  42. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/tests/hub-prod/test_switch_and_fallback_env.py +4 -4
  43. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/CHANGELOG.md +3 -0
  44. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/__init__.py +1 -1
  45. lamindb-0.70.0/sub/lnschema-core/lnschema_core/migrations/0044_run_replicated_outputs_transform_ulabels_and_more.py +38 -0
  46. lamindb-0.70.0/sub/lnschema-core/lnschema_core/migrations/0045_rename_replicated_outputs_run_replicated_output_artifacts_and_more.py +24 -0
  47. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/models.py +27 -17
  48. {lamindb-0.69.10 → lamindb-0.70.0}/tests/notebooks/with-title-initialized-consecutive-finish-not-last-cell.ipynb +1 -2
  49. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_artifact.py +4 -4
  50. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_collection.py +1 -1
  51. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_load.py +2 -2
  52. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_run_context.py +5 -3
  53. lamindb-0.69.10/sub/lamin-cli/lamin_cli/__init__.py +0 -3
  54. {lamindb-0.69.10 → lamindb-0.70.0}/.github/workflows/build.yml +0 -0
  55. {lamindb-0.69.10 → lamindb-0.70.0}/.github/workflows/latest-changes.jinja2 +0 -0
  56. {lamindb-0.69.10 → lamindb-0.70.0}/.github/workflows/latest-changes.yml +0 -0
  57. {lamindb-0.69.10 → lamindb-0.70.0}/.gitignore +0 -0
  58. {lamindb-0.69.10 → lamindb-0.70.0}/.gitmodules +0 -0
  59. {lamindb-0.69.10 → lamindb-0.70.0}/.pre-commit-config.yaml +0 -0
  60. {lamindb-0.69.10 → lamindb-0.70.0}/LICENSE +0 -0
  61. {lamindb-0.69.10 → lamindb-0.70.0}/README.md +0 -0
  62. {lamindb-0.69.10 → lamindb-0.70.0}/docs/annotate-for-developers.ipynb +0 -0
  63. {lamindb-0.69.10 → lamindb-0.70.0}/docs/annotate.ipynb +0 -0
  64. {lamindb-0.69.10 → lamindb-0.70.0}/docs/bio-registries.ipynb +0 -0
  65. {lamindb-0.69.10 → lamindb-0.70.0}/docs/bionty-base.md +0 -0
  66. {lamindb-0.69.10 → lamindb-0.70.0}/docs/bionty.md +0 -0
  67. {lamindb-0.69.10 → lamindb-0.70.0}/docs/can-validate.ipynb +0 -0
  68. {lamindb-0.69.10 → lamindb-0.70.0}/docs/data.ipynb +0 -0
  69. {lamindb-0.69.10 → lamindb-0.70.0}/docs/faq/acid.ipynb +0 -0
  70. {lamindb-0.69.10 → lamindb-0.70.0}/docs/faq/delete.ipynb +0 -0
  71. {lamindb-0.69.10 → lamindb-0.70.0}/docs/faq/import-schema.ipynb +0 -0
  72. {lamindb-0.69.10 → lamindb-0.70.0}/docs/faq/key.ipynb +0 -0
  73. {lamindb-0.69.10 → lamindb-0.70.0}/docs/faq/reference-field.ipynb +0 -0
  74. {lamindb-0.69.10 → lamindb-0.70.0}/docs/faq/setup.ipynb +0 -0
  75. {lamindb-0.69.10 → lamindb-0.70.0}/docs/faq/test_notebooks.py +0 -0
  76. {lamindb-0.69.10 → lamindb-0.70.0}/docs/faq/visibility.ipynb +0 -0
  77. {lamindb-0.69.10 → lamindb-0.70.0}/docs/faq.md +0 -0
  78. {lamindb-0.69.10 → lamindb-0.70.0}/docs/features-lamindb.md +0 -0
  79. {lamindb-0.69.10 → lamindb-0.70.0}/docs/features-laminhub.md +0 -0
  80. {lamindb-0.69.10 → lamindb-0.70.0}/docs/guide.md +0 -0
  81. {lamindb-0.69.10 → lamindb-0.70.0}/docs/index.md +0 -0
  82. {lamindb-0.69.10 → lamindb-0.70.0}/docs/installation.md +0 -0
  83. {lamindb-0.69.10 → lamindb-0.70.0}/docs/lamin-utils.md +0 -0
  84. {lamindb-0.69.10 → lamindb-0.70.0}/docs/lamindb.md +0 -0
  85. {lamindb-0.69.10 → lamindb-0.70.0}/docs/nbproject.md +0 -0
  86. {lamindb-0.69.10 → lamindb-0.70.0}/docs/query-search.md +0 -0
  87. {lamindb-0.69.10 → lamindb-0.70.0}/docs/readfcs.md +0 -0
  88. {lamindb-0.69.10 → lamindb-0.70.0}/docs/reference.md +0 -0
  89. {lamindb-0.69.10 → lamindb-0.70.0}/docs/schemas.ipynb +0 -0
  90. {lamindb-0.69.10 → lamindb-0.70.0}/docs/setup.ipynb +0 -0
  91. {lamindb-0.69.10 → lamindb-0.70.0}/docs/signup-login.md +0 -0
  92. {lamindb-0.69.10 → lamindb-0.70.0}/docs/storage/anndata-accessor.ipynb +0 -0
  93. {lamindb-0.69.10 → lamindb-0.70.0}/docs/storage/prepare-transfer-local-to-cloud.ipynb +0 -0
  94. {lamindb-0.69.10 → lamindb-0.70.0}/docs/storage/test-files/iris.csv +0 -0
  95. {lamindb-0.69.10 → lamindb-0.70.0}/docs/storage/test-files/iris.data +0 -0
  96. {lamindb-0.69.10 → lamindb-0.70.0}/docs/storage/test-files/new_iris.csv +0 -0
  97. {lamindb-0.69.10 → lamindb-0.70.0}/docs/storage/test_notebooks.py +0 -0
  98. {lamindb-0.69.10 → lamindb-0.70.0}/docs/storage/transfer-local-to-cloud.ipynb +0 -0
  99. {lamindb-0.69.10 → lamindb-0.70.0}/docs/storage/upload.ipynb +0 -0
  100. {lamindb-0.69.10 → lamindb-0.70.0}/docs/storage.md +0 -0
  101. {lamindb-0.69.10 → lamindb-0.70.0}/docs/test_notebooks.py +0 -0
  102. {lamindb-0.69.10 → lamindb-0.70.0}/docs/transfer.ipynb +0 -0
  103. {lamindb-0.69.10 → lamindb-0.70.0}/docs/wetlab.md +0 -0
  104. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/_annotate.py +0 -0
  105. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/_can_validate.py +0 -0
  106. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/_feature.py +0 -0
  107. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/_feature_set.py +0 -0
  108. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/_filter.py +0 -0
  109. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/_is_versioned.py +0 -0
  110. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/_parents.py +0 -0
  111. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/_query_manager.py +0 -0
  112. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/_query_set.py +0 -0
  113. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/_registry.py +0 -0
  114. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/_run.py +0 -0
  115. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/_save.py +0 -0
  116. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/_storage.py +0 -0
  117. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/_transform.py +0 -0
  118. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/_ulabel.py +0 -0
  119. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/_utils.py +0 -0
  120. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/_view.py +0 -0
  121. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/__init__.py +0 -0
  122. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/_label_manager.py +0 -0
  123. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/_mapped_collection.py +0 -0
  124. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/_sync_git.py +0 -0
  125. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/_track_environment.py +0 -0
  126. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/_transform_settings.py +0 -0
  127. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/_view_tree.py +0 -0
  128. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/datasets/__init__.py +0 -0
  129. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/datasets/_fake.py +0 -0
  130. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/exceptions.py +0 -0
  131. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/fields.py +0 -0
  132. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/storage/__init__.py +0 -0
  133. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/storage/_anndata_sizes.py +0 -0
  134. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/storage/_backed_access.py +0 -0
  135. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/storage/_zarr.py +0 -0
  136. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/storage/file.py +0 -0
  137. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/storage/object.py +0 -0
  138. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/types.py +0 -0
  139. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/core/versioning.py +0 -0
  140. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/integrations/__init__.py +0 -0
  141. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/setup/__init__.py +0 -0
  142. {lamindb-0.69.10 → lamindb-0.70.0}/lamindb/setup/core/__init__.py +0 -0
  143. {lamindb-0.69.10 → lamindb-0.70.0}/noxfile.py +0 -0
  144. {lamindb-0.69.10 → lamindb-0.70.0}/sub/bionty/.github/workflows/build.yml +0 -0
  145. {lamindb-0.69.10 → lamindb-0.70.0}/sub/bionty/.github/workflows/latest-changes.jinja2 +0 -0
  146. {lamindb-0.69.10 → lamindb-0.70.0}/sub/bionty/.github/workflows/latest-changes.yml +0 -0
  147. {lamindb-0.69.10 → lamindb-0.70.0}/sub/bionty/.gitignore +0 -0
  148. {lamindb-0.69.10 → lamindb-0.70.0}/sub/bionty/.pre-commit-config.yaml +0 -0
  149. {lamindb-0.69.10 → lamindb-0.70.0}/sub/bionty/LICENSE +0 -0
  150. {lamindb-0.69.10 → lamindb-0.70.0}/sub/bionty/README.md +0 -0
  151. {lamindb-0.69.10 → lamindb-0.70.0}/sub/bionty/bionty/__init__.py +0 -0
  152. {lamindb-0.69.10 → lamindb-0.70.0}/sub/bionty/bionty/core/__init__.py +0 -0
  153. {lamindb-0.69.10 → lamindb-0.70.0}/sub/bionty/docs/changelog.md +0 -0
  154. {lamindb-0.69.10 → lamindb-0.70.0}/sub/bionty/docs/index.md +0 -0
  155. {lamindb-0.69.10 → lamindb-0.70.0}/sub/bionty/docs/reference.md +0 -0
  156. {lamindb-0.69.10 → lamindb-0.70.0}/sub/bionty/lamin-project.yaml +0 -0
  157. {lamindb-0.69.10 → lamindb-0.70.0}/sub/bionty/noxfile.py +0 -0
  158. {lamindb-0.69.10 → lamindb-0.70.0}/sub/bionty/pyproject.toml +0 -0
  159. {lamindb-0.69.10 → lamindb-0.70.0}/sub/bionty/tests/test_notebooks.py +0 -0
  160. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamin-cli/.pre-commit-config.yaml +0 -0
  161. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamin-cli/README.md +0 -0
  162. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamin-cli/lamin_cli/__main__.py +0 -0
  163. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamin-cli/lamin_cli/_cache.py +0 -0
  164. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamin-cli/lamin_cli/_migration.py +0 -0
  165. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamin-cli/lamin_cli/_save.py +0 -0
  166. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamin-cli/pyproject.toml +0 -0
  167. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamin-cli/tests/conftest.py +0 -0
  168. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
  169. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +0 -0
  170. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +0 -0
  171. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamin-cli/tests/scripts/initialized-no-git-sync.py +0 -0
  172. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamin-cli/tests/scripts/initialized.py +0 -0
  173. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamin-cli/tests/test_cli.py +0 -0
  174. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamin-cli/tests/test_get.py +0 -0
  175. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamin-cli/tests/test_migrate.py +0 -0
  176. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamin-cli/tests/test_multi_process.py +0 -0
  177. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamin-cli/tests/test_save_files.py +0 -0
  178. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/.github/workflows/build.yml +0 -0
  179. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/.github/workflows/latest-changes.jinja2 +0 -0
  180. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/.github/workflows/latest-changes.yml +0 -0
  181. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/.gitignore +0 -0
  182. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/.pre-commit-config.yaml +0 -0
  183. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/LICENSE +0 -0
  184. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/README.md +0 -0
  185. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/docs/hub-cloud/01-init-on-prem-instance.ipynb +0 -0
  186. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/docs/hub-cloud/02-connect-on-prem-instance.ipynb +0 -0
  187. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/docs/hub-cloud/03-set-storage.ipynb +0 -0
  188. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/docs/hub-cloud/04-test-bionty.ipynb +0 -0
  189. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/docs/hub-cloud/05-init-hosted-instance.ipynb +0 -0
  190. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/docs/hub-cloud/06-connect-hosted-instance.ipynb +0 -0
  191. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/docs/hub-cloud/test-multi-session.ipynb +0 -0
  192. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/docs/hub-cloud/test_notebooks.py +0 -0
  193. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/docs/hub-prod/test-cache-management.ipynb +0 -0
  194. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/docs/hub-prod/test-cloud-sync.ipynb +0 -0
  195. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/docs/hub-prod/test-connect-anonymously.ipynb +0 -0
  196. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/docs/hub-prod/test-empty-init.ipynb +0 -0
  197. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/docs/hub-prod/test-import-schema.ipynb +0 -0
  198. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/docs/hub-prod/test-insufficient-user-info.ipynb +0 -0
  199. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/docs/hub-prod/test-invalid-schema.ipynb +0 -0
  200. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/docs/hub-prod/test-sqlite-lock.ipynb +0 -0
  201. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/docs/hub-prod/test_notebooks2.py +0 -0
  202. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/docs/index.md +0 -0
  203. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/docs/notebooks.md +0 -0
  204. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/docs/reference.md +0 -0
  205. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/_add_remote_storage.py +0 -0
  206. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
  207. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/_check.py +0 -0
  208. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/_check_setup.py +0 -0
  209. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
  210. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/_delete.py +0 -0
  211. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/_django.py +0 -0
  212. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/_init_instance.py +0 -0
  213. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
  214. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
  215. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/_setup_user.py +0 -0
  216. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
  217. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/core/_aws_storage.py +0 -0
  218. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/core/_deprecated.py +0 -0
  219. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/core/_docs.py +0 -0
  220. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/core/_hub_crud.py +0 -0
  221. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/core/_hub_utils.py +0 -0
  222. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/core/_settings.py +0 -0
  223. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/core/_settings_load.py +0 -0
  224. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/core/_settings_save.py +0 -0
  225. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/core/_settings_store.py +0 -0
  226. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/core/_settings_user.py +0 -0
  227. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/core/_setup_bionty_sources.py +0 -0
  228. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/core/cloud_sqlite_locker.py +0 -0
  229. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/core/exceptions.py +0 -0
  230. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/core/hashing.py +0 -0
  231. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/core/types.py +0 -0
  232. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/lamindb_setup/core/upath.py +0 -0
  233. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/noxfile.py +0 -0
  234. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/pyproject.toml +0 -0
  235. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/tests/hub-cloud/test_connect_instance.py +0 -0
  236. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/tests/hub-cloud/test_delete_instance.py +0 -0
  237. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/tests/hub-cloud/test_init_instance.py +0 -0
  238. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/tests/hub-cloud/test_login.py +0 -0
  239. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/tests/hub-cloud/test_migrate.py +0 -0
  240. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/tests/hub-cloud/test_set_storage.py +0 -0
  241. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/tests/hub-local/conftest.py +0 -0
  242. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/tests/hub-prod/conftest.py +0 -0
  243. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/tests/hub-prod/test_auto_connect.py +0 -0
  244. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/tests/hub-prod/test_upath.py +0 -0
  245. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/tests/storage/test_hashing.py +0 -0
  246. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/tests/storage/test_storage_access.py +0 -0
  247. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/tests/storage/test_storage_basis.py +0 -0
  248. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lamindb-setup/tests/storage/test_storage_stats.py +0 -0
  249. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/.github/workflows/build.yml +0 -0
  250. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/.github/workflows/latest-changes.jinja2 +0 -0
  251. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/.github/workflows/latest-changes.yml +0 -0
  252. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/.gitignore +0 -0
  253. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/.pre-commit-config.yaml +0 -0
  254. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/LICENSE +0 -0
  255. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/README.md +0 -0
  256. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/docs/changelog.md +0 -0
  257. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/docs/index.md +0 -0
  258. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/docs/reference.md +0 -0
  259. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lamin-project.yaml +0 -0
  260. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/__init__.py +0 -0
  261. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/_bionty.py +0 -0
  262. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/core/__init__.py +0 -0
  263. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/core/_bionty.py +0 -0
  264. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/core/_settings.py +0 -0
  265. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/ids.py +0 -0
  266. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0001_initial.py +0 -0
  267. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0001_initial_squashed_0016.py +0 -0
  268. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0002_rename_gene_type_gene_biotype_and_more.py +0 -0
  269. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0003_alter_biontysource_entity_alter_biontysource_source_and_more.py +0 -0
  270. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0004_alter_cellline_bionty_source_and_more.py +0 -0
  271. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0005_rename_short_name_cellline_abbr_and_more.py +0 -0
  272. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0006_alter_biontysource_options_alter_cellline_options_and_more.py +0 -0
  273. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0007_rename_readout_experimental_factor.py +0 -0
  274. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0008_remove_gene_hgnc_id_remove_gene_mgi_id_and_more.py +0 -0
  275. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0009_alter_gene_ensembl_gene_id.py +0 -0
  276. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0010_alter_species_name.py +0 -0
  277. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0011_cellline_datasets_cellmarker_datasets_and_more.py +0 -0
  278. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0012_gene_stable_id.py +0 -0
  279. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0013_alter_cellmarker_species_alter_gene_species_and_more.py +0 -0
  280. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0014_ethnicity_developmentalstage.py +0 -0
  281. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0015_migrate_to_integer_pks.py +0 -0
  282. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0016_export_legacy_data.py +0 -0
  283. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0017_import_legacy_data.py +0 -0
  284. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0018_organism_rename_species_biontysource_organism_and_more.py +0 -0
  285. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0019_rename_taxon_id_organism_ontology_id_and_more.py +0 -0
  286. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0020_alter_organism_bionty_source.py +0 -0
  287. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0021_rename_files_cellline_artifacts_and_more.py +0 -0
  288. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0022_rename_datasets_cellline_collections_and_more.py +0 -0
  289. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/0023_rename_publicsource_encode_uid.py +0 -0
  290. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/migrations/__init__.py +0 -0
  291. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/lnschema_bionty/models.py +0 -0
  292. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/noxfile.py +0 -0
  293. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/pyproject.toml +0 -0
  294. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-bionty/tests/test_integrity.py +0 -0
  295. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/.github/workflows/build.yml +0 -0
  296. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/.github/workflows/latest-changes.jinja2 +0 -0
  297. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/.github/workflows/latest-changes.yml +0 -0
  298. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/.gitignore +0 -0
  299. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/.pre-commit-config.yaml +0 -0
  300. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/LICENSE +0 -0
  301. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/README.md +0 -0
  302. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/ids.py +0 -0
  303. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0001_initial.py +0 -0
  304. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0001_initial_squashed_0023.py +0 -0
  305. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0002_alter_user_name.py +0 -0
  306. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0003_alter_storage_region_alter_transform_short_name.py +0 -0
  307. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0004_rename_folder_tag_alter_project_folders.py +0 -0
  308. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0005_alter_run_inputs_delete_runinput.py +0 -0
  309. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0006_feature_dataset.py +0 -0
  310. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0007_feature_synonyms_featureset_field_and_more.py +0 -0
  311. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0008_file_hash_type_transform_parents.py +0 -0
  312. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0009_remove_featureset_files_feature_unit_and_more.py +0 -0
  313. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0010_dataset_categories_file_categories.py +0 -0
  314. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0011_label_remove_tag_created_by_remove_tag_parents_and_more.py +0 -0
  315. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0012_remove_label_ref_id_remove_label_ref_orm_and_more.py +0 -0
  316. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0013_remove_feature_labels_orm_and_more.py +0 -0
  317. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0014_rename_ref_field_featureset_registry.py +0 -0
  318. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0015_file_initial_version_file_version.py +0 -0
  319. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0016_dataset_input_of_dataset_run_dataset_transform_and_more.py +0 -0
  320. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0017_dataset_initial_version_dataset_version.py +0 -0
  321. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0018_rename_datasetlabel_datasetulabel_and_more.py +0 -0
  322. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0019_dataset_reference_dataset_reference_type_and_more.py +0 -0
  323. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0020_run_report_transform_latest_report_and_more.py +0 -0
  324. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0021_dataset_storage_alter_dataset_file.py +0 -0
  325. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0022_migrate_to_integer_pks.py +0 -0
  326. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0023_export_legacy_data.py +0 -0
  327. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0024_import_legacy_data.py +0 -0
  328. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0025_remove_user_email.py +0 -0
  329. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0026_dataset_visibility_file_visibility.py +0 -0
  330. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0027_file_key_is_virtual.py +0 -0
  331. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0028_alter_dataset_visibility_alter_file_visibility.py +0 -0
  332. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0029_remove_feature_modality_remove_featureset_modality_and_more.py +0 -0
  333. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0030_alter_dataset_visibility_alter_file_visibility.py +0 -0
  334. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0031_rename_file_to_artifact.py +0 -0
  335. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0032_remove_dataset_storage.py +0 -0
  336. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0033_alter_artifact_unique_together_artifact_n_objects_and_more.py +0 -0
  337. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0034_run_environment.py +0 -0
  338. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0035_remove_artifact_initial_version_and_more.py +0 -0
  339. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0036_storage_description.py +0 -0
  340. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0037_rename_dataset_to_collection.py +0 -0
  341. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0038_alter_collection_artifact_alter_collection_artifacts_and_more.py +0 -0
  342. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0039_remove_collection_artifacts_collectionartifact_and_more.py +0 -0
  343. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0040_alter_transform_type.py +0 -0
  344. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0041_remove_transform_short_name_transform_description_and_more.py +0 -0
  345. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0042_rename_run_at_run_started_at_run_finished_at.py +0 -0
  346. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/0043_run_json.py +0 -0
  347. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
  348. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/mocks.py +0 -0
  349. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/types.py +0 -0
  350. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/lnschema_core/users.py +0 -0
  351. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/noxfile.py +0 -0
  352. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/pyproject.toml +0 -0
  353. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/tests/test_integrity.py +0 -0
  354. {lamindb-0.69.10 → lamindb-0.70.0}/sub/lnschema-core/tests/test_types.py +0 -0
  355. {lamindb-0.69.10 → lamindb-0.70.0}/tests/conftest.py +0 -0
  356. {lamindb-0.69.10 → lamindb-0.70.0}/tests/notebooks/initialized-with-nbproject.ipynb +0 -0
  357. {lamindb-0.69.10 → lamindb-0.70.0}/tests/notebooks/no-title.ipynb +0 -0
  358. {lamindb-0.69.10 → lamindb-0.70.0}/tests/notebooks/not-initialized.ipynb +0 -0
  359. {lamindb-0.69.10 → lamindb-0.70.0}/tests/notebooks/with-title-initialized-consecutive-finish.ipynb +0 -0
  360. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_annotate.py +0 -0
  361. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_cache.py +0 -0
  362. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_can_validate.py +0 -0
  363. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_data.py +0 -0
  364. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_db.py +0 -0
  365. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_delete.py +0 -0
  366. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_feature.py +0 -0
  367. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_feature_manager.py +0 -0
  368. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_feature_set.py +0 -0
  369. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_from_values.py +0 -0
  370. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_label_manager.py +0 -0
  371. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_manager.py +0 -0
  372. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_notebooks.py +0 -0
  373. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_parents.py +0 -0
  374. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_queryset.py +0 -0
  375. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_registry.py +0 -0
  376. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_run.py +0 -0
  377. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_save.py +0 -0
  378. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_settings.py +0 -0
  379. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_storage.py +0 -0
  380. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_transfer.py +0 -0
  381. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_transform.py +0 -0
  382. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_uid.py +0 -0
  383. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_ulabel.py +0 -0
  384. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_versioning.py +0 -0
  385. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_view.py +0 -0
  386. {lamindb-0.69.10 → lamindb-0.70.0}/tests/test_visibility.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lamindb
3
- Version: 0.69.10
3
+ Version: 0.70.0
4
4
  Summary: A data framework for biology.
5
5
  Author-email: Lamin Labs <open-source@lamin.ai>
6
6
  Requires-Python: >=3.8
@@ -9,10 +9,10 @@ Classifier: Programming Language :: Python :: 3.8
9
9
  Classifier: Programming Language :: Python :: 3.9
10
10
  Classifier: Programming Language :: Python :: 3.10
11
11
  Classifier: Programming Language :: Python :: 3.11
12
- Requires-Dist: lnschema_core==0.64.11
13
- Requires-Dist: lamindb_setup==0.69.0
12
+ Requires-Dist: lnschema_core==0.65.0
13
+ Requires-Dist: lamindb_setup==0.69.2
14
14
  Requires-Dist: lamin_utils==0.13.1
15
- Requires-Dist: lamin_cli==0.12.2
15
+ Requires-Dist: lamin_cli==0.12.3
16
16
  Requires-Dist: rapidfuzz
17
17
  Requires-Dist: pyarrow
18
18
  Requires-Dist: typing_extensions!=4.6.0
@@ -1,14 +1,30 @@
1
1
  # Changelog
2
2
 
3
+ :::{note}
4
+
5
+ LaminDB implements "migration-based versioning".
6
+
7
+ 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
+
9
+ :::
10
+
3
11
  ```{eval-rst}
4
12
  .. role:: small
5
13
  ```
6
14
 
15
+ ## 0.70
16
+
17
+ ### 0.70.0 {small}`2024-04-17`
18
+
19
+ - 🚸 Update data source in case transform is re-run [PR](https://github.com/laminlabs/lamindb/pull/1571) [@falexwolf](https://github.com/falexwolf)
20
+ - 🚸 Enable to label transforms via `transform.ulabels` [PR](https://github.com/laminlabs/lnschema-core/pull/370) [@falexwolf](https://github.com/falexwolf)
21
+ - 🚚 Deprecate `stage()` in favor of `cache()` [PR](https://github.com/laminlabs/lamindb/pull/1572) [@falexwolf](https://github.com/falexwolf)
22
+
7
23
  ## 0.69
8
24
 
9
25
  ### 0.69.10 {small}`2024-04-12`
10
26
 
11
- - ✨ Add `.obsm` and `.layers` to `MappedCollection` [PR](https://github.com/laminlabs/lamindb/pull/1562) [@Koncopd](https://github.com/Koncopd)
27
+ - ✨ Add `.obsm` and `.layers` to `MappedCollection` and rename `label_keys` to `obs_keys` [PR](https://github.com/laminlabs/lamindb/pull/1562) [@Koncopd](https://github.com/Koncopd)
12
28
  - 🚸 Eliminate kwargs [PR](https://github.com/laminlabs/lamindb/pull/1561) [@sunnyosun](https://github.com/sunnyosun)
13
29
  - ✨ Introduce `Annotate.from_mudata` [PR](https://github.com/laminlabs/lamindb/pull/1554) [@sunnyosun](https://github.com/sunnyosun)
14
30
 
@@ -31,7 +31,7 @@
31
31
  "\n",
32
32
  "If you set {attr}`~lamindb.core.Settings.upon_create_search_names` to `False`, you'll directly populate the DB.\n",
33
33
  "\n",
34
- "### Files\n",
34
+ "### Data: artifacts & collections\n",
35
35
  "\n",
36
36
  "If you try to create a {class}`~lamindb.Artifact` object from the same content, depending on {attr}`~lamindb.core.Settings.upon_artifact_create_if_hash_exists`, \n",
37
37
  "\n",
@@ -69,7 +69,10 @@
69
69
  "import lamindb as ln\n",
70
70
  "import pytest\n",
71
71
  "\n",
72
- "ln.settings.verbosity = \"hint\""
72
+ "ln.settings.verbosity = \"hint\"\n",
73
+ "ln.settings.transform.stem_uid = \"ANW20Fr4eZgM\"\n",
74
+ "ln.settings.transform.version = \"1\"\n",
75
+ "ln.track()"
73
76
  ]
74
77
  },
75
78
  {
@@ -251,7 +254,7 @@
251
254
  "id": "01bfec00",
252
255
  "metadata": {},
253
256
  "source": [
254
- "### Files"
257
+ "### Data: artifacts and collections"
255
258
  ]
256
259
  },
257
260
  {
@@ -289,7 +292,7 @@
289
292
  "id": "a2e9114a",
290
293
  "metadata": {},
291
294
  "source": [
292
- "Create a `File` object."
295
+ "Create an `Artifact`:"
293
296
  ]
294
297
  },
295
298
  {
@@ -323,7 +326,7 @@
323
326
  "id": "153caaea",
324
327
  "metadata": {},
325
328
  "source": [
326
- "Create a `File` object from the same path:"
329
+ "Create an `Artifact` from the same path:"
327
330
  ]
328
331
  },
329
332
  {
@@ -333,7 +336,7 @@
333
336
  "metadata": {},
334
337
  "outputs": [],
335
338
  "source": [
336
- "artifact2 = ln.Artifact(filepath)"
339
+ "artifact2 = ln.Artifact(filepath, description=\"My fcs artifact\")"
337
340
  ]
338
341
  },
339
342
  {
@@ -352,7 +355,8 @@
352
355
  "metadata": {},
353
356
  "outputs": [],
354
357
  "source": [
355
- "assert artifact.id == artifact2.id"
358
+ "assert artifact.id == artifact2.id\n",
359
+ "assert artifact.run == artifact2.run"
356
360
  ]
357
361
  },
358
362
  {
@@ -374,6 +378,32 @@
374
378
  "artifact2.save()"
375
379
  ]
376
380
  },
381
+ {
382
+ "cell_type": "markdown",
383
+ "id": "ae33a6a1",
384
+ "metadata": {},
385
+ "source": [
386
+ "In the hidden cell below, you'll see how this interplays with data lineage."
387
+ ]
388
+ },
389
+ {
390
+ "cell_type": "code",
391
+ "execution_count": null,
392
+ "id": "470d155a",
393
+ "metadata": {
394
+ "tags": [
395
+ "hide-cell"
396
+ ]
397
+ },
398
+ "outputs": [],
399
+ "source": [
400
+ "ln.track(new_run=True)\n",
401
+ "artifact3 = ln.Artifact(filepath, description=\"My fcs artifact\")\n",
402
+ "assert artifact3.id == artifact2.id\n",
403
+ "assert artifact3.run != artifact2.run\n",
404
+ "assert artifact3.replicating_runs.first() == artifact2.run"
405
+ ]
406
+ },
377
407
  {
378
408
  "attachments": {},
379
409
  "cell_type": "markdown",
@@ -409,7 +439,7 @@
409
439
  "metadata": {},
410
440
  "outputs": [],
411
441
  "source": [
412
- "with pytest.raises(RuntimeError):\n",
442
+ "with pytest.raises(FileExistsError):\n",
413
443
  " artifact3 = ln.Artifact(filepath, description=\"My new fcs artifact\")"
414
444
  ]
415
445
  },
@@ -522,26 +552,16 @@
522
552
  "name": "python3"
523
553
  },
524
554
  "language_info": {
525
- "artifact_extension": ".py",
526
555
  "codemirror_mode": {
527
556
  "name": "ipython",
528
557
  "version": 3
529
558
  },
559
+ "file_extension": ".py",
530
560
  "mimetype": "text/x-python",
531
561
  "name": "python",
532
562
  "nbconvert_exporter": "python",
533
563
  "pygments_lexer": "ipython3",
534
- "version": "3.9.16"
535
- },
536
- "nbproject": {
537
- "id": "ANW20Fr4eZgM",
538
- "parent": null,
539
- "pypackage": null,
540
- "time_init": "2022-10-12T22:55:00.562920+00:00",
541
- "user_handle": "testuser1",
542
- "user_id": "DzTjkKse",
543
- "user_name": "Test User1",
544
- "version": "0"
564
+ "version": "3.10.13"
545
565
  },
546
566
  "vscode": {
547
567
  "interpreter": {
@@ -115,7 +115,7 @@
115
115
  "metadata": {},
116
116
  "outputs": [],
117
117
  "source": [
118
- "artifact.stage()"
118
+ "artifact.cache()"
119
119
  ]
120
120
  },
121
121
  {
@@ -161,7 +161,7 @@
161
161
  "cell_type": "markdown",
162
162
  "metadata": {},
163
163
  "source": [
164
- "Let us manually track an artifact by passing `is_run_input` to either `.stage()`, `.load()` or `.backed()`:"
164
+ "Let us manually track an artifact by passing `is_run_input` to either `.cache()`, `.load()` or `.backed()`:"
165
165
  ]
166
166
  },
167
167
  {
@@ -170,7 +170,7 @@
170
170
  "metadata": {},
171
171
  "outputs": [],
172
172
  "source": [
173
- "artifact.stage(is_run_input=True)"
173
+ "artifact.cache(is_run_input=True)"
174
174
  ]
175
175
  },
176
176
  {
@@ -217,7 +217,7 @@
217
217
  "cell_type": "markdown",
218
218
  "metadata": {},
219
219
  "source": [
220
- "If you switch the following setting, and call to `.load()`, `.stage()` and `.backed()` will track the artifact as run input."
220
+ "If you switch the following setting, and call to `.load()`, `.cache()` and `.backed()` will track the artifact as run input."
221
221
  ]
222
222
  },
223
223
  {
@@ -402,7 +402,11 @@
402
402
  {
403
403
  "cell_type": "code",
404
404
  "execution_count": null,
405
- "metadata": {},
405
+ "metadata": {
406
+ "tags": [
407
+ "hide-output"
408
+ ]
409
+ },
406
410
  "outputs": [],
407
411
  "source": [
408
412
  "# given the updated registries, the validation passes\n",
@@ -423,7 +427,11 @@
423
427
  {
424
428
  "cell_type": "code",
425
429
  "execution_count": null,
426
- "metadata": {},
430
+ "metadata": {
431
+ "tags": [
432
+ "hide-output"
433
+ ]
434
+ },
427
435
  "outputs": [],
428
436
  "source": [
429
437
  "ulabels = ln.ULabel.lookup()\n",
@@ -474,7 +482,11 @@
474
482
  {
475
483
  "cell_type": "code",
476
484
  "execution_count": null,
477
- "metadata": {},
485
+ "metadata": {
486
+ "tags": [
487
+ "hide-output"
488
+ ]
489
+ },
478
490
  "outputs": [],
479
491
  "source": [
480
492
  "cell_types.search(\"gamma delta T cell\").head(2)"
@@ -670,6 +682,9 @@
670
682
  "collection.load()\n",
671
683
  "\n",
672
684
  "# typically, it's too big, hence, iterate over its artifacts\n",
685
+ "collection.artifacts.all()\n",
686
+ "\n",
687
+ "# or look at a DataFrame listing the artifacts\n",
673
688
  "collection.artifacts.df()"
674
689
  ]
675
690
  },
@@ -687,12 +702,12 @@
687
702
  "```\n",
688
703
  "# to train models, batch iterate through the collection as if it was one array\n",
689
704
  "from torch.utils.data import DataLoader, WeightedRandomSampler\n",
690
- "dataset = collection.mapped(label_keys=[\"perturbation\"])\n",
705
+ "dataset = collection.mapped(obs_keys=[\"perturbation\"])\n",
691
706
  "sampler = WeightedRandomSampler(\n",
692
707
  " weights=dataset.get_label_weights(\"perturbation\"), num_samples=len(dataset)\n",
693
708
  ")\n",
694
- "dl = DataLoader(dataset, batch_size=2, sampler=sampler)\n",
695
- "for batch in dl:\n",
709
+ "data_loader = DataLoader(dataset, batch_size=2, sampler=sampler)\n",
710
+ "for batch in data_loader:\n",
696
711
  " pass\n",
697
712
  "```"
698
713
  ]
@@ -741,7 +756,7 @@
741
756
  "\n",
742
757
  ":::\n",
743
758
  "\n",
744
- "If you want to download a notebook or script, call:\n",
759
+ "If you want to cache a notebook or script, call:\n",
745
760
  "\n",
746
761
  "```bash\n",
747
762
  "lamin get https://lamin.ai/laminlabs/lamindata/transform/FPnfDtJz8qbE5zKv\n",
@@ -497,7 +497,7 @@
497
497
  "metadata": {},
498
498
  "outputs": [],
499
499
  "source": [
500
- "ln.Transform.filter(name__startswith=\"Query\").df()"
500
+ "ln.Transform.filter(name__startswith=\"Research\").df()"
501
501
  ]
502
502
  },
503
503
  {
@@ -5,7 +5,7 @@
5
5
  "id": "30fd690f",
6
6
  "metadata": {},
7
7
  "source": [
8
- "# Add, replace, stage and delete artifacts"
8
+ "# Add, replace, cache and delete artifacts"
9
9
  ]
10
10
  },
11
11
  {
@@ -88,7 +88,7 @@
88
88
  "metadata": {},
89
89
  "outputs": [],
90
90
  "source": [
91
- "cache_csv_path = artifact.stage()"
91
+ "cache_csv_path = artifact.cache()"
92
92
  ]
93
93
  },
94
94
  {
@@ -188,7 +188,7 @@
188
188
  "metadata": {},
189
189
  "outputs": [],
190
190
  "source": [
191
- "cache_data_path = artifact.stage()"
191
+ "cache_data_path = artifact.cache()"
192
192
  ]
193
193
  },
194
194
  {
@@ -91,11 +91,10 @@
91
91
  "cell_type": "markdown",
92
92
  "metadata": {},
93
93
  "source": [
94
- "If you want to save a notebook including its run report & source artifact, use the CLI command:\n",
94
+ "If you want to save a notebook including its run report & source artifact, run:\n",
95
95
  "\n",
96
- "```bash\n",
97
- "\n",
98
- "lamin save <notebook_artifact>\n",
96
+ "```python\n",
97
+ "ln.finish()\n",
99
98
  "```"
100
99
  ]
101
100
  },
@@ -407,7 +407,7 @@
407
407
  "cell_type": "markdown",
408
408
  "metadata": {},
409
409
  "source": [
410
- "To download the artifact to a local cache, call {meth}`~lamindb.Artifact.stage`:"
410
+ "To cache the artifact to a local cache, call {meth}`~lamindb.Artifact.cache`:"
411
411
  ]
412
412
  },
413
413
  {
@@ -416,7 +416,7 @@
416
416
  "metadata": {},
417
417
  "outputs": [],
418
418
  "source": [
419
- "artifact.stage()"
419
+ "artifact.cache()"
420
420
  ]
421
421
  },
422
422
  {
@@ -880,7 +880,7 @@
880
880
  "\n",
881
881
  "<img src=\"https://lamin-site-assets.s3.amazonaws.com/.lamindb/RGXj5wcAf7EAc6J8aBoM.png\" width=\"700px\">\n",
882
882
  "\n",
883
- "If you want to download a notebook or script, call:\n",
883
+ "If you want to cache a notebook or script, call:\n",
884
884
  "\n",
885
885
  "```\n",
886
886
  "lamin get https://lamin.ai/laminlabs/lamindata/transform/NJvdsWWbJlZSz8\n",
@@ -20,7 +20,7 @@
20
20
  "cell_type": "markdown",
21
21
  "metadata": {},
22
22
  "source": [
23
- "In the previous tutorial ({doc}`/tutorial`), we learned about about how to leverage basic metadata for artifacts to access data (query, search, stage & load).\n",
23
+ "In the previous tutorial ({doc}`/tutorial`), we learned about about how to leverage basic metadata for artifacts to access data (query, search, cache & load).\n",
24
24
  "\n",
25
25
  "Here, we walk through annotating & validating data with features & labels to improve:\n",
26
26
  "\n",
@@ -40,7 +40,7 @@ Modules & settings:
40
40
 
41
41
  """
42
42
 
43
- __version__ = "0.69.10" # denote a release candidate for 0.1.0 with 0.1rc1
43
+ __version__ = "0.70.0" # denote a release candidate for 0.1.0 with 0.1rc1
44
44
 
45
45
  import os as _os
46
46
 
@@ -238,7 +238,7 @@ def get_stat_or_artifact(
238
238
  "💡 you can make this error a warning:\n"
239
239
  " ln.settings.upon_artifact_create_if_hash_exists"
240
240
  )
241
- raise RuntimeError(f"{msg}\n{hint}")
241
+ raise FileExistsError(f"{msg}\n{hint}")
242
242
  elif settings.upon_artifact_create_if_hash_exists == "warn_create_new":
243
243
  logger.warning(
244
244
  "creating new Artifact object despite existing artifact with same hash:"
@@ -246,10 +246,12 @@ def get_stat_or_artifact(
246
246
  )
247
247
  return size, hash, hash_type, n_objects
248
248
  else:
249
- from_trash = "(from trash)" if result[0].visibility == -1 else ""
250
- logger.warning(
251
- f"returning existing artifact with same hash{from_trash}: {result[0]}"
252
- )
249
+ if result[0].visibility == -1:
250
+ raise FileExistsError(
251
+ f"You're trying to re-create this artifact in trash: {result[0]}"
252
+ "Either permanently delete it with `artifact.delete(permanent=True)` or restore it with `artifact.restore()`"
253
+ )
254
+ logger.warning(f"returning existing artifact with same hash: {result[0]}")
253
255
  return result[0]
254
256
  else:
255
257
  return size, hash, hash_type, n_objects
@@ -331,6 +333,15 @@ def get_artifact_kwargs_from_data(
331
333
  using_key=using_key,
332
334
  )
333
335
  if isinstance(stat_or_artifact, Artifact):
336
+ # update the run of the existing artifact
337
+ if run is not None:
338
+ # save the information that this artifact was previously
339
+ # produced by another run
340
+ if stat_or_artifact.run is not None:
341
+ stat_or_artifact.run.replicated_output_artifacts.add(stat_or_artifact)
342
+ # update the run of the artifact with the latest run
343
+ stat_or_artifact.run = run
344
+ stat_or_artifact.transform = run.transform
334
345
  return stat_or_artifact, None
335
346
  else:
336
347
  size, hash, hash_type, n_objects = stat_or_artifact
@@ -854,7 +865,7 @@ def load(self, is_run_input: bool | None = None, stream: bool = False, **kwargs)
854
865
 
855
866
 
856
867
  # docstring handled through attach_func_to_class_method
857
- def stage(self, is_run_input: bool | None = None) -> Path:
868
+ def cache(self, is_run_input: bool | None = None) -> Path:
858
869
  _track_run_input(self, is_run_input)
859
870
 
860
871
  using_key = settings._using_key
@@ -932,10 +943,10 @@ def _delete_skip_storage(artifact, *args, **kwargs) -> None:
932
943
 
933
944
 
934
945
  # docstring handled through attach_func_to_class_method
935
- def save(self, *args, **kwargs) -> None:
946
+ def save(self, upload: bool | None = None, **kwargs) -> None:
936
947
  access_token = kwargs.pop("access_token", None)
937
948
 
938
- self._save_skip_storage(*args, **kwargs)
949
+ self._save_skip_storage(**kwargs)
939
950
 
940
951
  from lamindb._save import check_and_attempt_clearing, check_and_attempt_upload
941
952
 
@@ -951,9 +962,9 @@ def save(self, *args, **kwargs) -> None:
951
962
  raise RuntimeError(exception)
952
963
 
953
964
 
954
- def _save_skip_storage(file, *args, **kwargs) -> None:
965
+ def _save_skip_storage(file, **kwargs) -> None:
955
966
  save_feature_sets(file)
956
- super(Artifact, file).save(*args, **kwargs)
967
+ super(Artifact, file).save(**kwargs)
957
968
  save_feature_set_links(file)
958
969
 
959
970
 
@@ -998,7 +1009,7 @@ METHOD_NAMES = [
998
1009
  "from_df",
999
1010
  "from_mudata",
1000
1011
  "backed",
1001
- "stage",
1012
+ "cache",
1002
1013
  "load",
1003
1014
  "delete",
1004
1015
  "save",
@@ -1024,5 +1035,6 @@ for name in METHOD_NAMES:
1024
1035
  Artifact._delete_skip_storage = _delete_skip_storage
1025
1036
  Artifact._save_skip_storage = _save_skip_storage
1026
1037
  Artifact.path = path
1038
+ Artifact.stage = cache
1027
1039
  # this seems a Django-generated function
1028
1040
  delattr(Artifact, "get_visibility_display")
@@ -116,6 +116,17 @@ def __init__(
116
116
  logger.warning(
117
117
  f"returning existing collection with same hash: {existing_collection}"
118
118
  )
119
+ # update the run of the existing artifact
120
+ if run is not None:
121
+ # save the information that this artifact was previously
122
+ # produced by another run
123
+ if existing_collection.run is not None:
124
+ existing_collection.run.replicated_output_collections.add(
125
+ existing_collection
126
+ )
127
+ # update the run of the artifact with the latest run
128
+ existing_collection.run = run
129
+ existing_collection.transform = run.transform
119
130
  init_self_from_db(collection, existing_collection)
120
131
  for slot, feature_set in collection.features._feature_set_by_slot.items():
121
132
  if slot in feature_sets:
@@ -227,7 +238,7 @@ def mapped(
227
238
  logger.warning(f"Ignoring artifact with suffix {artifact.suffix}")
228
239
  continue
229
240
  elif not stream:
230
- path_list.append(artifact.stage())
241
+ path_list.append(artifact.cache())
231
242
  else:
232
243
  path_list.append(artifact.path)
233
244
  ds = MappedCollection(
@@ -248,11 +259,11 @@ def mapped(
248
259
 
249
260
 
250
261
  # docstring handled through attach_func_to_class_method
251
- def stage(self, is_run_input: bool | None = None) -> list[UPath]:
262
+ def cache(self, is_run_input: bool | None = None) -> list[UPath]:
252
263
  _track_run_input(self, is_run_input)
253
264
  path_list = []
254
265
  for artifact in self.artifacts.all():
255
- path_list.append(artifact.stage())
266
+ path_list.append(artifact.cache())
256
267
  return path_list
257
268
 
258
269
 
@@ -355,7 +366,7 @@ def artifacts(self) -> QuerySet:
355
366
  METHOD_NAMES = [
356
367
  "__init__",
357
368
  "mapped",
358
- "stage",
369
+ "cache",
359
370
  "load",
360
371
  "delete",
361
372
  "save",
@@ -377,3 +388,4 @@ for name in METHOD_NAMES:
377
388
  # this seems a Django-generated function
378
389
  delattr(Collection, "get_visibility_display")
379
390
  Collection.artifacts = artifacts
391
+ Collection.stage = cache