lamindb 0.70.0__tar.gz → 0.70.1__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 (385) hide show
  1. {lamindb-0.70.0 → lamindb-0.70.1}/PKG-INFO +3 -3
  2. {lamindb-0.70.0 → lamindb-0.70.1}/docs/changelog.md +4 -0
  3. {lamindb-0.70.0 → lamindb-0.70.1}/docs/introduction.ipynb +5 -1
  4. {lamindb-0.70.0 → lamindb-0.70.1}/docs/storage/add-replace-stage.ipynb +1 -1
  5. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/__init__.py +1 -1
  6. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/_artifact.py +12 -11
  7. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/_can_validate.py +6 -3
  8. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/_collection.py +1 -1
  9. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/_from_values.py +32 -18
  10. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/_registry.py +2 -0
  11. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/_save.py +4 -5
  12. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/core/storage/__init__.py +2 -2
  13. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/core/storage/_backed_access.py +4 -4
  14. lamindb-0.70.0/lamindb/core/storage/object.py → lamindb-0.70.1/lamindb/core/storage/objects.py +2 -3
  15. lamindb-0.70.0/lamindb/core/storage/file.py → lamindb-0.70.1/lamindb/core/storage/paths.py +12 -13
  16. {lamindb-0.70.0 → lamindb-0.70.1}/pyproject.toml +2 -2
  17. {lamindb-0.70.0 → lamindb-0.70.1}/sub/bionty/bionty/__init__.py +1 -1
  18. {lamindb-0.70.0 → lamindb-0.70.1}/sub/bionty/pyproject.toml +1 -1
  19. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/docs/changelog.md +1 -0
  20. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/__init__.py +1 -1
  21. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/models.py +4 -2
  22. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/CHANGELOG.md +1 -0
  23. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/__init__.py +1 -1
  24. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/models.py +3 -0
  25. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_artifact.py +4 -26
  26. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_cache.py +9 -9
  27. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_collection.py +1 -1
  28. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_storage.py +2 -2
  29. {lamindb-0.70.0 → lamindb-0.70.1}/.github/workflows/build.yml +0 -0
  30. {lamindb-0.70.0 → lamindb-0.70.1}/.github/workflows/latest-changes.jinja2 +0 -0
  31. {lamindb-0.70.0 → lamindb-0.70.1}/.github/workflows/latest-changes.yml +0 -0
  32. {lamindb-0.70.0 → lamindb-0.70.1}/.gitignore +0 -0
  33. {lamindb-0.70.0 → lamindb-0.70.1}/.gitmodules +0 -0
  34. {lamindb-0.70.0 → lamindb-0.70.1}/.pre-commit-config.yaml +0 -0
  35. {lamindb-0.70.0 → lamindb-0.70.1}/LICENSE +0 -0
  36. {lamindb-0.70.0 → lamindb-0.70.1}/README.md +0 -0
  37. {lamindb-0.70.0 → lamindb-0.70.1}/docs/annotate-for-developers.ipynb +0 -0
  38. {lamindb-0.70.0 → lamindb-0.70.1}/docs/annotate.ipynb +0 -0
  39. {lamindb-0.70.0 → lamindb-0.70.1}/docs/bio-registries.ipynb +0 -0
  40. {lamindb-0.70.0 → lamindb-0.70.1}/docs/bionty-base.md +0 -0
  41. {lamindb-0.70.0 → lamindb-0.70.1}/docs/bionty.md +0 -0
  42. {lamindb-0.70.0 → lamindb-0.70.1}/docs/can-validate.ipynb +0 -0
  43. {lamindb-0.70.0 → lamindb-0.70.1}/docs/data.ipynb +0 -0
  44. {lamindb-0.70.0 → lamindb-0.70.1}/docs/faq/acid.ipynb +0 -0
  45. {lamindb-0.70.0 → lamindb-0.70.1}/docs/faq/delete.ipynb +0 -0
  46. {lamindb-0.70.0 → lamindb-0.70.1}/docs/faq/idempotency.ipynb +0 -0
  47. {lamindb-0.70.0 → lamindb-0.70.1}/docs/faq/import-schema.ipynb +0 -0
  48. {lamindb-0.70.0 → lamindb-0.70.1}/docs/faq/key.ipynb +0 -0
  49. {lamindb-0.70.0 → lamindb-0.70.1}/docs/faq/reference-field.ipynb +0 -0
  50. {lamindb-0.70.0 → lamindb-0.70.1}/docs/faq/setup.ipynb +0 -0
  51. {lamindb-0.70.0 → lamindb-0.70.1}/docs/faq/test_notebooks.py +0 -0
  52. {lamindb-0.70.0 → lamindb-0.70.1}/docs/faq/track-run-inputs.ipynb +0 -0
  53. {lamindb-0.70.0 → lamindb-0.70.1}/docs/faq/visibility.ipynb +0 -0
  54. {lamindb-0.70.0 → lamindb-0.70.1}/docs/faq.md +0 -0
  55. {lamindb-0.70.0 → lamindb-0.70.1}/docs/features-lamindb.md +0 -0
  56. {lamindb-0.70.0 → lamindb-0.70.1}/docs/features-laminhub.md +0 -0
  57. {lamindb-0.70.0 → lamindb-0.70.1}/docs/guide.md +0 -0
  58. {lamindb-0.70.0 → lamindb-0.70.1}/docs/index.md +0 -0
  59. {lamindb-0.70.0 → lamindb-0.70.1}/docs/installation.md +0 -0
  60. {lamindb-0.70.0 → lamindb-0.70.1}/docs/lamin-utils.md +0 -0
  61. {lamindb-0.70.0 → lamindb-0.70.1}/docs/lamindb.md +0 -0
  62. {lamindb-0.70.0 → lamindb-0.70.1}/docs/meta.ipynb +0 -0
  63. {lamindb-0.70.0 → lamindb-0.70.1}/docs/nbproject.md +0 -0
  64. {lamindb-0.70.0 → lamindb-0.70.1}/docs/query-search.md +0 -0
  65. {lamindb-0.70.0 → lamindb-0.70.1}/docs/readfcs.md +0 -0
  66. {lamindb-0.70.0 → lamindb-0.70.1}/docs/reference.md +0 -0
  67. {lamindb-0.70.0 → lamindb-0.70.1}/docs/schemas.ipynb +0 -0
  68. {lamindb-0.70.0 → lamindb-0.70.1}/docs/setup.ipynb +0 -0
  69. {lamindb-0.70.0 → lamindb-0.70.1}/docs/signup-login.md +0 -0
  70. {lamindb-0.70.0 → lamindb-0.70.1}/docs/storage/anndata-accessor.ipynb +0 -0
  71. {lamindb-0.70.0 → lamindb-0.70.1}/docs/storage/prepare-transfer-local-to-cloud.ipynb +0 -0
  72. {lamindb-0.70.0 → lamindb-0.70.1}/docs/storage/test-files/iris.csv +0 -0
  73. {lamindb-0.70.0 → lamindb-0.70.1}/docs/storage/test-files/iris.data +0 -0
  74. {lamindb-0.70.0 → lamindb-0.70.1}/docs/storage/test-files/new_iris.csv +0 -0
  75. {lamindb-0.70.0 → lamindb-0.70.1}/docs/storage/test_notebooks.py +0 -0
  76. {lamindb-0.70.0 → lamindb-0.70.1}/docs/storage/transfer-local-to-cloud.ipynb +0 -0
  77. {lamindb-0.70.0 → lamindb-0.70.1}/docs/storage/upload.ipynb +0 -0
  78. {lamindb-0.70.0 → lamindb-0.70.1}/docs/storage.md +0 -0
  79. {lamindb-0.70.0 → lamindb-0.70.1}/docs/test_notebooks.py +0 -0
  80. {lamindb-0.70.0 → lamindb-0.70.1}/docs/track.ipynb +0 -0
  81. {lamindb-0.70.0 → lamindb-0.70.1}/docs/transfer.ipynb +0 -0
  82. {lamindb-0.70.0 → lamindb-0.70.1}/docs/tutorial.ipynb +0 -0
  83. {lamindb-0.70.0 → lamindb-0.70.1}/docs/tutorial2.ipynb +0 -0
  84. {lamindb-0.70.0 → lamindb-0.70.1}/docs/wetlab.md +0 -0
  85. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/_annotate.py +0 -0
  86. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/_feature.py +0 -0
  87. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/_feature_set.py +0 -0
  88. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/_filter.py +0 -0
  89. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/_finish.py +0 -0
  90. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/_is_versioned.py +0 -0
  91. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/_parents.py +0 -0
  92. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/_query_manager.py +0 -0
  93. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/_query_set.py +0 -0
  94. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/_run.py +0 -0
  95. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/_storage.py +0 -0
  96. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/_transform.py +0 -0
  97. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/_ulabel.py +0 -0
  98. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/_utils.py +0 -0
  99. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/_view.py +0 -0
  100. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/core/__init__.py +0 -0
  101. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/core/_data.py +0 -0
  102. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/core/_feature_manager.py +0 -0
  103. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/core/_label_manager.py +0 -0
  104. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/core/_mapped_collection.py +0 -0
  105. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/core/_run_context.py +0 -0
  106. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/core/_settings.py +0 -0
  107. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/core/_sync_git.py +0 -0
  108. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/core/_track_environment.py +0 -0
  109. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/core/_transform_settings.py +0 -0
  110. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/core/_view_tree.py +0 -0
  111. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/core/datasets/__init__.py +0 -0
  112. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/core/datasets/_core.py +0 -0
  113. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/core/datasets/_fake.py +0 -0
  114. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/core/exceptions.py +0 -0
  115. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/core/fields.py +0 -0
  116. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/core/storage/_anndata_sizes.py +0 -0
  117. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/core/storage/_zarr.py +0 -0
  118. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/core/types.py +0 -0
  119. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/core/versioning.py +0 -0
  120. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/integrations/__init__.py +0 -0
  121. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/integrations/_vitessce.py +0 -0
  122. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/setup/__init__.py +0 -0
  123. {lamindb-0.70.0 → lamindb-0.70.1}/lamindb/setup/core/__init__.py +0 -0
  124. {lamindb-0.70.0 → lamindb-0.70.1}/noxfile.py +0 -0
  125. {lamindb-0.70.0 → lamindb-0.70.1}/sub/bionty/.github/workflows/build.yml +0 -0
  126. {lamindb-0.70.0 → lamindb-0.70.1}/sub/bionty/.github/workflows/latest-changes.jinja2 +0 -0
  127. {lamindb-0.70.0 → lamindb-0.70.1}/sub/bionty/.github/workflows/latest-changes.yml +0 -0
  128. {lamindb-0.70.0 → lamindb-0.70.1}/sub/bionty/.gitignore +0 -0
  129. {lamindb-0.70.0 → lamindb-0.70.1}/sub/bionty/.pre-commit-config.yaml +0 -0
  130. {lamindb-0.70.0 → lamindb-0.70.1}/sub/bionty/LICENSE +0 -0
  131. {lamindb-0.70.0 → lamindb-0.70.1}/sub/bionty/README.md +0 -0
  132. {lamindb-0.70.0 → lamindb-0.70.1}/sub/bionty/bionty/core/__init__.py +0 -0
  133. {lamindb-0.70.0 → lamindb-0.70.1}/sub/bionty/docs/changelog.md +0 -0
  134. {lamindb-0.70.0 → lamindb-0.70.1}/sub/bionty/docs/index.md +0 -0
  135. {lamindb-0.70.0 → lamindb-0.70.1}/sub/bionty/docs/reference.md +0 -0
  136. {lamindb-0.70.0 → lamindb-0.70.1}/sub/bionty/lamin-project.yaml +0 -0
  137. {lamindb-0.70.0 → lamindb-0.70.1}/sub/bionty/noxfile.py +0 -0
  138. {lamindb-0.70.0 → lamindb-0.70.1}/sub/bionty/tests/test_notebooks.py +0 -0
  139. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamin-cli/.gitignore +0 -0
  140. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamin-cli/.pre-commit-config.yaml +0 -0
  141. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamin-cli/README.md +0 -0
  142. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamin-cli/lamin_cli/__init__.py +0 -0
  143. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamin-cli/lamin_cli/__main__.py +0 -0
  144. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamin-cli/lamin_cli/_cache.py +0 -0
  145. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamin-cli/lamin_cli/_get.py +0 -0
  146. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamin-cli/lamin_cli/_migration.py +0 -0
  147. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamin-cli/lamin_cli/_save.py +0 -0
  148. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamin-cli/pyproject.toml +0 -0
  149. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamin-cli/tests/conftest.py +0 -0
  150. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
  151. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +0 -0
  152. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +0 -0
  153. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamin-cli/tests/scripts/initialized-no-git-sync.py +0 -0
  154. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamin-cli/tests/scripts/initialized.py +0 -0
  155. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamin-cli/tests/test_cli.py +0 -0
  156. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamin-cli/tests/test_get.py +0 -0
  157. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamin-cli/tests/test_migrate.py +0 -0
  158. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamin-cli/tests/test_multi_process.py +0 -0
  159. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamin-cli/tests/test_save_files.py +0 -0
  160. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamin-cli/tests/test_save_notebooks.py +0 -0
  161. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamin-cli/tests/test_save_scripts.py +0 -0
  162. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/.github/workflows/build.yml +0 -0
  163. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/.github/workflows/latest-changes.jinja2 +0 -0
  164. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/.github/workflows/latest-changes.yml +0 -0
  165. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/.gitignore +0 -0
  166. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/.pre-commit-config.yaml +0 -0
  167. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/LICENSE +0 -0
  168. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/README.md +0 -0
  169. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/docs/changelog.md +0 -0
  170. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/docs/hub-cloud/01-init-on-prem-instance.ipynb +0 -0
  171. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/docs/hub-cloud/02-connect-on-prem-instance.ipynb +0 -0
  172. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/docs/hub-cloud/03-set-storage.ipynb +0 -0
  173. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/docs/hub-cloud/04-test-bionty.ipynb +0 -0
  174. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/docs/hub-cloud/05-init-hosted-instance.ipynb +0 -0
  175. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/docs/hub-cloud/06-connect-hosted-instance.ipynb +0 -0
  176. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/docs/hub-cloud/test-multi-session.ipynb +0 -0
  177. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/docs/hub-cloud/test_notebooks.py +0 -0
  178. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/docs/hub-prod/test-cache-management.ipynb +0 -0
  179. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/docs/hub-prod/test-cloud-sync.ipynb +0 -0
  180. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/docs/hub-prod/test-connect-anonymously.ipynb +0 -0
  181. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/docs/hub-prod/test-empty-init.ipynb +0 -0
  182. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/docs/hub-prod/test-import-schema.ipynb +0 -0
  183. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/docs/hub-prod/test-insufficient-user-info.ipynb +0 -0
  184. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/docs/hub-prod/test-invalid-schema.ipynb +0 -0
  185. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/docs/hub-prod/test-sqlite-lock.ipynb +0 -0
  186. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/docs/hub-prod/test_notebooks2.py +0 -0
  187. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/docs/index.md +0 -0
  188. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/docs/notebooks.md +0 -0
  189. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/docs/reference.md +0 -0
  190. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/__init__.py +0 -0
  191. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/_add_remote_storage.py +0 -0
  192. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
  193. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/_check.py +0 -0
  194. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/_check_setup.py +0 -0
  195. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
  196. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/_connect_instance.py +0 -0
  197. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/_delete.py +0 -0
  198. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/_django.py +0 -0
  199. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/_exportdb.py +0 -0
  200. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/_importdb.py +0 -0
  201. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/_init_instance.py +0 -0
  202. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/_migrate.py +0 -0
  203. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
  204. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
  205. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/_setup_user.py +0 -0
  206. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
  207. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/core/__init__.py +0 -0
  208. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/core/_aws_storage.py +0 -0
  209. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/core/_deprecated.py +0 -0
  210. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/core/_docs.py +0 -0
  211. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/core/_hub_client.py +0 -0
  212. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/core/_hub_core.py +0 -0
  213. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/core/_hub_crud.py +0 -0
  214. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/core/_hub_utils.py +0 -0
  215. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/core/_settings.py +0 -0
  216. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/core/_settings_instance.py +0 -0
  217. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/core/_settings_load.py +0 -0
  218. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/core/_settings_save.py +0 -0
  219. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/core/_settings_storage.py +0 -0
  220. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/core/_settings_store.py +0 -0
  221. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/core/_settings_user.py +0 -0
  222. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/core/_setup_bionty_sources.py +0 -0
  223. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/core/cloud_sqlite_locker.py +0 -0
  224. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/core/django.py +0 -0
  225. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/core/exceptions.py +0 -0
  226. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/core/hashing.py +0 -0
  227. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/core/types.py +0 -0
  228. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/lamindb_setup/core/upath.py +0 -0
  229. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/noxfile.py +0 -0
  230. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/pyproject.toml +0 -0
  231. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/tests/hub-cloud/test_connect_instance.py +0 -0
  232. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/tests/hub-cloud/test_delete_instance.py +0 -0
  233. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/tests/hub-cloud/test_init_instance.py +0 -0
  234. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/tests/hub-cloud/test_login.py +0 -0
  235. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/tests/hub-cloud/test_migrate.py +0 -0
  236. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/tests/hub-cloud/test_set_storage.py +0 -0
  237. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/tests/hub-local/conftest.py +0 -0
  238. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/tests/hub-local/test_all.py +0 -0
  239. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/tests/hub-prod/conftest.py +0 -0
  240. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/tests/hub-prod/test_auto_connect.py +0 -0
  241. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/tests/hub-prod/test_django.py +0 -0
  242. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/tests/hub-prod/test_switch_and_fallback_env.py +0 -0
  243. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/tests/hub-prod/test_upath.py +0 -0
  244. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/tests/storage/test_hashing.py +0 -0
  245. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/tests/storage/test_storage_access.py +0 -0
  246. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/tests/storage/test_storage_basis.py +0 -0
  247. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lamindb-setup/tests/storage/test_storage_stats.py +0 -0
  248. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/.github/workflows/build.yml +0 -0
  249. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/.github/workflows/latest-changes.jinja2 +0 -0
  250. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/.github/workflows/latest-changes.yml +0 -0
  251. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/.gitignore +0 -0
  252. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/.pre-commit-config.yaml +0 -0
  253. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/LICENSE +0 -0
  254. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/README.md +0 -0
  255. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/docs/index.md +0 -0
  256. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/docs/reference.md +0 -0
  257. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lamin-project.yaml +0 -0
  258. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/_bionty.py +0 -0
  259. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/core/__init__.py +0 -0
  260. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/core/_bionty.py +0 -0
  261. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/core/_settings.py +0 -0
  262. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/ids.py +0 -0
  263. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0001_initial.py +0 -0
  264. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0001_initial_squashed_0016.py +0 -0
  265. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0002_rename_gene_type_gene_biotype_and_more.py +0 -0
  266. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0003_alter_biontysource_entity_alter_biontysource_source_and_more.py +0 -0
  267. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0004_alter_cellline_bionty_source_and_more.py +0 -0
  268. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0005_rename_short_name_cellline_abbr_and_more.py +0 -0
  269. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0006_alter_biontysource_options_alter_cellline_options_and_more.py +0 -0
  270. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0007_rename_readout_experimental_factor.py +0 -0
  271. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0008_remove_gene_hgnc_id_remove_gene_mgi_id_and_more.py +0 -0
  272. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0009_alter_gene_ensembl_gene_id.py +0 -0
  273. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0010_alter_species_name.py +0 -0
  274. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0011_cellline_datasets_cellmarker_datasets_and_more.py +0 -0
  275. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0012_gene_stable_id.py +0 -0
  276. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0013_alter_cellmarker_species_alter_gene_species_and_more.py +0 -0
  277. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0014_ethnicity_developmentalstage.py +0 -0
  278. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0015_migrate_to_integer_pks.py +0 -0
  279. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0016_export_legacy_data.py +0 -0
  280. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0017_import_legacy_data.py +0 -0
  281. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0018_organism_rename_species_biontysource_organism_and_more.py +0 -0
  282. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0019_rename_taxon_id_organism_ontology_id_and_more.py +0 -0
  283. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0020_alter_organism_bionty_source.py +0 -0
  284. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0021_rename_files_cellline_artifacts_and_more.py +0 -0
  285. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0022_rename_datasets_cellline_collections_and_more.py +0 -0
  286. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0023_rename_publicsource_encode_uid.py +0 -0
  287. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/lnschema_bionty/migrations/__init__.py +0 -0
  288. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/noxfile.py +0 -0
  289. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/pyproject.toml +0 -0
  290. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-bionty/tests/test_integrity.py +0 -0
  291. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/.github/workflows/build.yml +0 -0
  292. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/.github/workflows/latest-changes.jinja2 +0 -0
  293. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/.github/workflows/latest-changes.yml +0 -0
  294. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/.gitignore +0 -0
  295. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/.pre-commit-config.yaml +0 -0
  296. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/LICENSE +0 -0
  297. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/README.md +0 -0
  298. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/ids.py +0 -0
  299. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0001_initial.py +0 -0
  300. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0001_initial_squashed_0023.py +0 -0
  301. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0002_alter_user_name.py +0 -0
  302. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0003_alter_storage_region_alter_transform_short_name.py +0 -0
  303. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0004_rename_folder_tag_alter_project_folders.py +0 -0
  304. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0005_alter_run_inputs_delete_runinput.py +0 -0
  305. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0006_feature_dataset.py +0 -0
  306. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0007_feature_synonyms_featureset_field_and_more.py +0 -0
  307. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0008_file_hash_type_transform_parents.py +0 -0
  308. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0009_remove_featureset_files_feature_unit_and_more.py +0 -0
  309. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0010_dataset_categories_file_categories.py +0 -0
  310. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0011_label_remove_tag_created_by_remove_tag_parents_and_more.py +0 -0
  311. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0012_remove_label_ref_id_remove_label_ref_orm_and_more.py +0 -0
  312. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0013_remove_feature_labels_orm_and_more.py +0 -0
  313. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0014_rename_ref_field_featureset_registry.py +0 -0
  314. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0015_file_initial_version_file_version.py +0 -0
  315. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0016_dataset_input_of_dataset_run_dataset_transform_and_more.py +0 -0
  316. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0017_dataset_initial_version_dataset_version.py +0 -0
  317. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0018_rename_datasetlabel_datasetulabel_and_more.py +0 -0
  318. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0019_dataset_reference_dataset_reference_type_and_more.py +0 -0
  319. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0020_run_report_transform_latest_report_and_more.py +0 -0
  320. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0021_dataset_storage_alter_dataset_file.py +0 -0
  321. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0022_migrate_to_integer_pks.py +0 -0
  322. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0023_export_legacy_data.py +0 -0
  323. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0024_import_legacy_data.py +0 -0
  324. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0025_remove_user_email.py +0 -0
  325. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0026_dataset_visibility_file_visibility.py +0 -0
  326. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0027_file_key_is_virtual.py +0 -0
  327. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0028_alter_dataset_visibility_alter_file_visibility.py +0 -0
  328. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0029_remove_feature_modality_remove_featureset_modality_and_more.py +0 -0
  329. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0030_alter_dataset_visibility_alter_file_visibility.py +0 -0
  330. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0031_rename_file_to_artifact.py +0 -0
  331. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0032_remove_dataset_storage.py +0 -0
  332. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0033_alter_artifact_unique_together_artifact_n_objects_and_more.py +0 -0
  333. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0034_run_environment.py +0 -0
  334. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0035_remove_artifact_initial_version_and_more.py +0 -0
  335. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0036_storage_description.py +0 -0
  336. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0037_rename_dataset_to_collection.py +0 -0
  337. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0038_alter_collection_artifact_alter_collection_artifacts_and_more.py +0 -0
  338. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0039_remove_collection_artifacts_collectionartifact_and_more.py +0 -0
  339. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0040_alter_transform_type.py +0 -0
  340. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0041_remove_transform_short_name_transform_description_and_more.py +0 -0
  341. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0042_rename_run_at_run_started_at_run_finished_at.py +0 -0
  342. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0043_run_json.py +0 -0
  343. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0044_run_replicated_outputs_transform_ulabels_and_more.py +0 -0
  344. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/0045_rename_replicated_outputs_run_replicated_output_artifacts_and_more.py +0 -0
  345. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
  346. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/mocks.py +0 -0
  347. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/types.py +0 -0
  348. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/lnschema_core/users.py +0 -0
  349. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/noxfile.py +0 -0
  350. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/pyproject.toml +0 -0
  351. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/tests/test_integrity.py +0 -0
  352. {lamindb-0.70.0 → lamindb-0.70.1}/sub/lnschema-core/tests/test_types.py +0 -0
  353. {lamindb-0.70.0 → lamindb-0.70.1}/tests/conftest.py +0 -0
  354. {lamindb-0.70.0 → lamindb-0.70.1}/tests/notebooks/initialized-with-nbproject.ipynb +0 -0
  355. {lamindb-0.70.0 → lamindb-0.70.1}/tests/notebooks/no-title.ipynb +0 -0
  356. {lamindb-0.70.0 → lamindb-0.70.1}/tests/notebooks/not-initialized.ipynb +0 -0
  357. {lamindb-0.70.0 → lamindb-0.70.1}/tests/notebooks/with-title-initialized-consecutive-finish-not-last-cell.ipynb +0 -0
  358. {lamindb-0.70.0 → lamindb-0.70.1}/tests/notebooks/with-title-initialized-consecutive-finish.ipynb +0 -0
  359. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_annotate.py +0 -0
  360. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_can_validate.py +0 -0
  361. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_data.py +0 -0
  362. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_db.py +0 -0
  363. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_delete.py +0 -0
  364. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_feature.py +0 -0
  365. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_feature_manager.py +0 -0
  366. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_feature_set.py +0 -0
  367. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_from_values.py +0 -0
  368. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_label_manager.py +0 -0
  369. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_load.py +0 -0
  370. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_manager.py +0 -0
  371. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_notebooks.py +0 -0
  372. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_parents.py +0 -0
  373. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_queryset.py +0 -0
  374. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_registry.py +0 -0
  375. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_run.py +0 -0
  376. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_run_context.py +0 -0
  377. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_save.py +0 -0
  378. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_settings.py +0 -0
  379. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_transfer.py +0 -0
  380. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_transform.py +0 -0
  381. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_uid.py +0 -0
  382. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_ulabel.py +0 -0
  383. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_versioning.py +0 -0
  384. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_view.py +0 -0
  385. {lamindb-0.70.0 → lamindb-0.70.1}/tests/test_visibility.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lamindb
3
- Version: 0.70.0
3
+ Version: 0.70.1
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,7 +9,7 @@ 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.65.0
12
+ Requires-Dist: lnschema_core==0.65.1
13
13
  Requires-Dist: lamindb_setup==0.69.2
14
14
  Requires-Dist: lamin_utils==0.13.1
15
15
  Requires-Dist: lamin_cli==0.12.3
@@ -27,7 +27,7 @@ Requires-Dist: urllib3<2 ; extra == "aws"
27
27
  Requires-Dist: aiobotocore[boto3]>=2.5.4,<3.0.0 ; extra == "aws"
28
28
  Requires-Dist: s3fs==2023.12.2 ; extra == "aws"
29
29
  Requires-Dist: fsspec[s3]==2023.12.2 ; extra == "aws"
30
- Requires-Dist: bionty==0.42.8 ; extra == "bionty"
30
+ Requires-Dist: bionty==0.42.9 ; extra == "bionty"
31
31
  Requires-Dist: pandas<2 ; extra == "dev"
32
32
  Requires-Dist: pre-commit ; extra == "dev"
33
33
  Requires-Dist: nox ; extra == "dev"
@@ -14,6 +14,10 @@ When upgrading your LaminDB installation to a new `minor` version in `major.mino
14
14
 
15
15
  ## 0.70
16
16
 
17
+ ### 0.70.1 {small}`2024-04-18`
18
+
19
+ - 🚑️ Fix public_source in inspect [PR](https://github.com/laminlabs/lamindb/pull/1578) [@sunnyosun](https://github.com/sunnyosun)
20
+
17
21
  ### 0.70.0 {small}`2024-04-17`
18
22
 
19
23
  - 🚸 Update data source in case transform is re-run [PR](https://github.com/laminlabs/lamindb/pull/1571) [@falexwolf](https://github.com/falexwolf)
@@ -675,7 +675,11 @@
675
675
  {
676
676
  "cell_type": "code",
677
677
  "execution_count": null,
678
- "metadata": {},
678
+ "metadata": {
679
+ "tags": [
680
+ "hide-output"
681
+ ]
682
+ },
679
683
  "outputs": [],
680
684
  "source": [
681
685
  "# if it's small enough, you can load the entire collection into memory as if it was one\n",
@@ -37,7 +37,7 @@
37
37
  "metadata": {},
38
38
  "outputs": [],
39
39
  "source": [
40
- "AUTO_KEY_PREFIX = ln.core.storage.file.AUTO_KEY_PREFIX\n",
40
+ "AUTO_KEY_PREFIX = ln.core.storage.paths.AUTO_KEY_PREFIX\n",
41
41
  "root = ln.settings.storage"
42
42
  ]
43
43
  },
@@ -40,7 +40,7 @@ Modules & settings:
40
40
 
41
41
  """
42
42
 
43
- __version__ = "0.70.0" # denote a release candidate for 0.1.0 with 0.1rc1
43
+ __version__ = "0.70.1" # denote a release candidate for 0.1.0 with 0.1rc1
44
44
 
45
45
  import os as _os
46
46
 
@@ -37,7 +37,7 @@ from lamindb.core.storage import (
37
37
  size_adata,
38
38
  write_to_file,
39
39
  )
40
- from lamindb.core.storage.file import (
40
+ from lamindb.core.storage.paths import (
41
41
  auto_storage_key_from_artifact,
42
42
  auto_storage_key_from_artifact_uid,
43
43
  filepath_from_artifact,
@@ -50,8 +50,8 @@ from .core._data import (
50
50
  save_feature_set_links,
51
51
  save_feature_sets,
52
52
  )
53
- from .core.storage.file import AUTO_KEY_PREFIX
54
- from .core.storage.object import _mudata_is_installed
53
+ from .core.storage.objects import _mudata_is_installed
54
+ from .core.storage.paths import AUTO_KEY_PREFIX
55
55
 
56
56
  if TYPE_CHECKING:
57
57
  from lamindb_setup.core.types import UPathStr
@@ -167,7 +167,7 @@ def process_data(
167
167
  # Alex: I don't understand the line below
168
168
  if path.suffixes == []:
169
169
  path = path.with_suffix(suffix)
170
- if suffix not in {".zarr", ".zrad"}:
170
+ if suffix != ".zarr":
171
171
  write_to_file(data, path)
172
172
  use_existing_storage_key = False
173
173
  else:
@@ -188,11 +188,7 @@ def get_stat_or_artifact(
188
188
  n_objects = None
189
189
  if settings.upon_file_create_skip_size_hash:
190
190
  return None, None, None, n_objects
191
- if (
192
- suffix in {".zarr", ".zrad"}
193
- and memory_rep is not None
194
- and isinstance(memory_rep, AnnData)
195
- ):
191
+ if suffix == ".zarr" and memory_rep is not None and isinstance(memory_rep, AnnData):
196
192
  size = size_adata(memory_rep)
197
193
  return size, None, None, n_objects
198
194
  stat = path.stat() # one network request
@@ -450,7 +446,12 @@ def data_is_anndata(data: AnnData | UPathStr):
450
446
  if isinstance(data, AnnData):
451
447
  return True
452
448
  if isinstance(data, (str, Path, UPath)):
453
- return Path(data).suffix in {".h5ad", ".zrad"}
449
+ if Path(data).suffix == ".h5ad":
450
+ return True
451
+ elif Path(data).suffix == ".zarr":
452
+ raise NotImplementedError(
453
+ "auto-detecting AnnData from Zarr is not yet supported"
454
+ )
454
455
  return False
455
456
 
456
457
 
@@ -832,7 +833,7 @@ def replace(
832
833
 
833
834
  # docstring handled through attach_func_to_class_method
834
835
  def backed(self, is_run_input: bool | None = None) -> AnnDataAccessor | BackedAccessor:
835
- suffixes = (".h5", ".hdf5", ".h5ad", ".zrad", ".zarr")
836
+ suffixes = (".h5", ".hdf5", ".h5ad", ".zarr")
836
837
  if self.suffix not in suffixes:
837
838
  raise ValueError(
838
839
  "Artifact should have a zarr or h5 object as the underlying data, please"
@@ -30,6 +30,7 @@ def inspect(
30
30
  *,
31
31
  mute: bool = False,
32
32
  organism: str | Registry | None = None,
33
+ public_source: Registry | None = None,
33
34
  ) -> InspectResult:
34
35
  """{}."""
35
36
  return _inspect(
@@ -38,6 +39,7 @@ def inspect(
38
39
  field=field,
39
40
  mute=mute,
40
41
  organism=organism,
42
+ public_source=public_source,
41
43
  )
42
44
 
43
45
 
@@ -63,6 +65,7 @@ def _inspect(
63
65
  mute: bool = False,
64
66
  using_key: str | None = None,
65
67
  organism: str | Registry | None = None,
68
+ public_source: Registry | None = None,
66
69
  ) -> pd.DataFrame | dict[str, list[str]]:
67
70
  """{}."""
68
71
  from lamin_utils._inspect import inspect
@@ -86,9 +89,9 @@ def _inspect(
86
89
 
87
90
  if len(nonval) > 0 and orm.__get_schema_name__() == "bionty":
88
91
  try:
89
- bionty_result = orm.public(organism=organism).inspect(
90
- values=nonval, field=field, mute=True
91
- )
92
+ bionty_result = orm.public(
93
+ organism=organism, public_source=public_source
94
+ ).inspect(values=nonval, field=field, mute=True)
92
95
  bionty_validated = bionty_result.validated
93
96
  bionty_mapper = bionty_result.synonyms_mapper
94
97
  hint = False
@@ -234,7 +234,7 @@ def mapped(
234
234
  ) -> MappedCollection:
235
235
  path_list = []
236
236
  for artifact in self.artifacts.all():
237
- if artifact.suffix not in {".h5ad", ".zrad", ".zarr"}:
237
+ if artifact.suffix not in {".h5ad", ".zarr"}:
238
238
  logger.warning(f"Ignoring artifact with suffix {artifact.suffix}")
239
239
  continue
240
240
  elif not stream:
@@ -21,6 +21,7 @@ def get_or_create_records(
21
21
  from_public: bool = False,
22
22
  organism: Registry | str | None = None,
23
23
  public_source: Registry | None = None,
24
+ mute: bool = False,
24
25
  ) -> list[Registry]:
25
26
  """Get or create records from iterables."""
26
27
  upon_create_search_names = settings.upon_create_search_names
@@ -38,14 +39,18 @@ def get_or_create_records(
38
39
 
39
40
  # returns existing records & non-existing values
40
41
  records, nonexist_values, msg = get_existing_records(
41
- iterable_idx=iterable_idx, field=field, **kwargs
42
+ iterable_idx=iterable_idx, field=field, mute=mute, **kwargs
42
43
  )
43
44
 
44
45
  # new records to be created based on new values
45
46
  if len(nonexist_values) > 0:
46
47
  if from_public:
47
48
  records_bionty, unmapped_values = create_records_from_public(
48
- iterable_idx=nonexist_values, field=field, msg=msg, **kwargs
49
+ iterable_idx=nonexist_values,
50
+ field=field,
51
+ msg=msg,
52
+ mute=mute,
53
+ **kwargs,
49
54
  )
50
55
  if len(records_bionty) > 0:
51
56
  msg = ""
@@ -56,16 +61,17 @@ def get_or_create_records(
56
61
  unmapped_values = nonexist_values
57
62
  # unmapped new_ids will NOT create records
58
63
  if len(unmapped_values) > 0:
59
- if len(msg) > 0:
64
+ if len(msg) > 0 and not mute:
60
65
  logger.success(msg)
61
66
  s = "" if len(unmapped_values) == 1 else "s"
62
67
  print_values = colors.yellow(_print_values(unmapped_values))
63
68
  name = Registry.__name__
64
69
  n_nonval = colors.yellow(f"{len(unmapped_values)} non-validated")
65
- logger.warning(
66
- f"{colors.red('did not create')} {name} record{s} for "
67
- f"{n_nonval} {colors.italic(f'{field.field.name}{s}')}: {print_values}"
68
- )
70
+ if not mute:
71
+ logger.warning(
72
+ f"{colors.red('did not create')} {name} record{s} for "
73
+ f"{n_nonval} {colors.italic(f'{field.field.name}{s}')}: {print_values}"
74
+ )
69
75
  if Registry.__module__.startswith("lnschema_bionty.") or Registry == ULabel:
70
76
  if isinstance(iterable, pd.Series):
71
77
  feature = iterable.name
@@ -85,6 +91,7 @@ def get_or_create_records(
85
91
  def get_existing_records(
86
92
  iterable_idx: pd.Index,
87
93
  field: StrField,
94
+ mute: bool = False,
88
95
  **kwargs,
89
96
  ):
90
97
  model = field.field.model
@@ -96,7 +103,11 @@ def get_existing_records(
96
103
  # standardize based on the DB reference
97
104
  # log synonyms mapped terms
98
105
  result = model.inspect(
99
- iterable_idx, field=field, organism=kwargs.get("organism"), mute=True
106
+ iterable_idx,
107
+ field=field,
108
+ organism=kwargs.get("organism"),
109
+ public_source=kwargs.get("public_source"),
110
+ mute=True,
100
111
  )
101
112
  syn_mapper = result.synonyms_mapper
102
113
 
@@ -146,9 +157,10 @@ def get_existing_records(
146
157
  # no logging if all values are validated
147
158
  # logs if there are synonyms
148
159
  if len(syn_msg) > 0:
149
- if len(msg) > 0:
160
+ if len(msg) > 0 and not mute:
150
161
  logger.success(msg)
151
- logger.success(syn_msg)
162
+ if not mute:
163
+ logger.success(syn_msg)
152
164
  msg = ""
153
165
 
154
166
  existing_values = iterable_idx.intersection(
@@ -163,6 +175,7 @@ def create_records_from_public(
163
175
  iterable_idx: pd.Index,
164
176
  field: StrField,
165
177
  msg: str = "",
178
+ mute: bool = False,
166
179
  **kwargs,
167
180
  ):
168
181
  model = field.field.model
@@ -219,19 +232,20 @@ def create_records_from_public(
219
232
  s = "" if len(validated) == 1 else "s"
220
233
  print_values = colors.purple(_print_values(validated))
221
234
  # this is the success msg for existing records in the DB
222
- if len(msg) > 0:
235
+ if len(msg) > 0 and not mute:
223
236
  logger.success(msg)
224
- logger.success(
225
- "created"
226
- f" {colors.purple(f'{len(validated)} {model.__name__} record{s} from Bionty')}"
227
- f" matching {colors.italic(f'{field.field.name}')}: {print_values}"
228
- )
237
+ if not mute:
238
+ logger.success(
239
+ "created"
240
+ f" {colors.purple(f'{len(validated)} {model.__name__} record{s} from Bionty')}"
241
+ f" matching {colors.italic(f'{field.field.name}')}: {print_values}"
242
+ )
229
243
 
230
244
  # make sure that synonyms logging appears after the field logging
231
- if len(msg_syn) > 0:
245
+ if len(msg_syn) > 0 and not mute:
232
246
  logger.success(msg_syn)
233
247
  # warning about multi matches
234
- if len(multi_msg) > 0:
248
+ if len(multi_msg) > 0 and not mute:
235
249
  logger.warning(multi_msg)
236
250
 
237
251
  # return the values that are not found in the bionty reference
@@ -134,6 +134,7 @@ def from_values(
134
134
  field: StrField | None = None,
135
135
  organism: Registry | str | None = None,
136
136
  public_source: Registry | None = None,
137
+ mute: bool = False,
137
138
  ) -> list[Registry]:
138
139
  """{}."""
139
140
  from_public = True if cls.__module__.startswith("lnschema_bionty.") else False
@@ -144,6 +145,7 @@ def from_values(
144
145
  from_public=from_public,
145
146
  organism=organism,
146
147
  public_source=public_source,
148
+ mute=mute,
147
149
  )
148
150
 
149
151
 
@@ -16,11 +16,11 @@ from lamindb_setup.core.upath import UPath, print_hook
16
16
  from lnschema_core.models import Artifact, Registry
17
17
 
18
18
  from lamindb.core._settings import settings
19
- from lamindb.core.storage.file import (
19
+ from lamindb.core.storage.paths import (
20
20
  attempt_accessing_path,
21
21
  auto_storage_key_from_artifact,
22
22
  delete_storage_using_key,
23
- store_artifact,
23
+ store_file_or_folder,
24
24
  )
25
25
 
26
26
  try:
@@ -286,7 +286,7 @@ def upload_artifact(
286
286
  )
287
287
  msg = f"storing artifact '{artifact.uid}' at '{storage_path}'"
288
288
  if (
289
- artifact.suffix in {".zarr", ".zrad"}
289
+ artifact.suffix == ".zarr"
290
290
  and hasattr(artifact, "_memory_rep")
291
291
  and artifact._memory_rep is not None
292
292
  ):
@@ -295,6 +295,5 @@ def upload_artifact(
295
295
  write_adata_zarr(artifact._memory_rep, storage_path, callback=print_progress)
296
296
  elif hasattr(artifact, "_to_store") and artifact._to_store:
297
297
  logger.save(msg)
298
- store_artifact(artifact._local_filepath, storage_path)
299
-
298
+ store_file_or_folder(artifact._local_filepath, storage_path)
300
299
  return storage_path
@@ -10,5 +10,5 @@ from lamindb_setup.core.upath import LocalPathClasses, UPath, infer_filesystem
10
10
 
11
11
  from ._anndata_sizes import size_adata
12
12
  from ._backed_access import AnnDataAccessor, BackedAccessor
13
- from .file import delete_storage, load_to_memory
14
- from .object import infer_suffix, write_to_file
13
+ from .objects import infer_suffix, write_to_file
14
+ from .paths import delete_storage, load_to_memory
@@ -22,7 +22,7 @@ from lamindb_setup.core.upath import UPath, create_mapper, infer_filesystem
22
22
  from lnschema_core import Artifact
23
23
  from packaging import version
24
24
 
25
- from lamindb.core.storage.file import filepath_from_artifact
25
+ from lamindb.core.storage.paths import filepath_from_artifact
26
26
 
27
27
  if TYPE_CHECKING:
28
28
  from pathlib import Path
@@ -743,15 +743,15 @@ def backed_access(
743
743
 
744
744
  if filepath.suffix in (".h5", ".hdf5", ".h5ad"):
745
745
  conn, storage = registry.open("h5py", filepath)
746
- elif filepath.suffix in (".zarr", ".zrad"):
746
+ elif filepath.suffix == ".zarr":
747
747
  conn, storage = registry.open("zarr", filepath)
748
748
  else:
749
749
  raise ValueError(
750
- "file should have .h5, .hdf5, .h5ad, .zarr or .zrad suffix, not"
750
+ "file should have .h5, .hdf5, .h5ad, .zarr suffix, not"
751
751
  f" {filepath.suffix}."
752
752
  )
753
753
 
754
- if filepath.suffix in (".h5ad", ".zrad"):
754
+ if filepath.suffix in (".h5ad", ".zarr"):
755
755
  return AnnDataAccessor(conn, storage, name)
756
756
  else:
757
757
  if get_spec(storage).encoding_type == "anndata":
@@ -21,11 +21,10 @@ def infer_suffix(dmem, adata_format: str | None = None):
21
21
  """Infer LaminDB storage file suffix from a data object."""
22
22
  if isinstance(dmem, AnnData):
23
23
  if adata_format is not None:
24
- # below should be zrad, not zarr
25
- if adata_format not in ("h5ad", "zarr", "zrad"):
24
+ if adata_format not in ("h5ad", "zarr"):
26
25
  raise ValueError(
27
26
  "Error when specifying AnnData storage format, it should be"
28
- f" 'h5ad', 'zarr' or 'zrad', not '{adata_format}'. Check 'format'"
27
+ f" 'h5ad', 'zarr', not '{adata_format}'. Check 'format'"
29
28
  " or the suffix of 'key'."
30
29
  )
31
30
  return "." + adata_format
@@ -109,23 +109,23 @@ def read_adata_h5ad(filepath, **kwargs) -> ad.AnnData:
109
109
  return adata
110
110
 
111
111
 
112
- def store_artifact(localpath: UPathStr, storagepath: UPath) -> None:
113
- """Store directory or file to configured storage location."""
114
- localpath = Path(localpath)
115
- if not isinstance(storagepath, LocalPathClasses):
112
+ def store_file_or_folder(local_path: UPathStr, storage_path: UPath) -> None:
113
+ """Store file or folder (localpath) at storagepath."""
114
+ local_path = Path(local_path)
115
+ if not isinstance(storage_path, LocalPathClasses):
116
116
  # this uploads files and directories
117
- storagepath.upload_from(localpath, recursive=True, print_progress=True)
117
+ storage_path.upload_from(local_path, recursive=True, print_progress=True)
118
118
  else: # storage path is local
119
- storagepath.parent.mkdir(parents=True, exist_ok=True)
120
- if localpath.is_file():
119
+ storage_path.parent.mkdir(parents=True, exist_ok=True)
120
+ if local_path.is_file():
121
121
  try:
122
- shutil.copyfile(localpath, storagepath)
122
+ shutil.copyfile(local_path, storage_path)
123
123
  except shutil.SameFileError:
124
124
  pass
125
125
  else:
126
- if storagepath.exists():
127
- shutil.rmtree(storagepath)
128
- shutil.copytree(localpath, storagepath)
126
+ if storage_path.exists():
127
+ shutil.rmtree(storage_path)
128
+ shutil.copytree(local_path, storage_path)
129
129
 
130
130
 
131
131
  def delete_storage_using_key(
@@ -212,7 +212,7 @@ def load_to_memory(filepath: UPathStr, stream: bool = False, **kwargs):
212
212
  """
213
213
  filepath = create_path(filepath)
214
214
 
215
- if filepath.suffix not in {".h5ad", ".zarr", ".zrad"}:
215
+ if filepath.suffix not in {".h5ad", ".zarr"}:
216
216
  stream = False
217
217
 
218
218
  if not stream:
@@ -229,7 +229,6 @@ def load_to_memory(filepath: UPathStr, stream: bool = False, **kwargs):
229
229
  ".parquet": pd.read_parquet,
230
230
  ".fcs": read_fcs,
231
231
  ".zarr": read_adata_zarr,
232
- ".zrad": read_adata_zarr,
233
232
  ".html": load_html,
234
233
  ".json": load_json,
235
234
  ".h5mu": read_mdata_h5mu,
@@ -16,7 +16,7 @@ classifiers = [
16
16
  ]
17
17
  dependencies = [
18
18
  # Lamin PINNED packages
19
- "lnschema_core==0.65.0",
19
+ "lnschema_core==0.65.1",
20
20
  "lamindb_setup==0.69.2",
21
21
  "lamin_utils==0.13.1",
22
22
  "lamin_cli==0.12.3",
@@ -38,7 +38,7 @@ Home = "https://github.com/laminlabs/lamindb"
38
38
 
39
39
  [project.optional-dependencies]
40
40
  bionty = [
41
- "bionty==0.42.8",
41
+ "bionty==0.42.9",
42
42
  ]
43
43
  aws = [
44
44
  "urllib3<2", # for botocore, TODO: check that really required
@@ -122,7 +122,7 @@ Developer API:
122
122
  core
123
123
  """
124
124
 
125
- __version__ = "0.42.8"
125
+ __version__ = "0.42.9"
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.41.8",
11
+ "lnschema-bionty==0.41.9",
12
12
  ]
13
13
 
14
14
  [project.urls]
@@ -3,6 +3,7 @@
3
3
  <!-- prettier-ignore -->
4
4
  Name | PR | Developer | Date | Version
5
5
  --- | --- | --- | --- | ---
6
+ 🚑️ Fix public_source in inspect | [232](https://github.com/laminlabs/lnschema-bionty/pull/232) | [sunnyosun](https://github.com/sunnyosun) | 2024-04-18 |
6
7
  :bug: Remove repr | [231](https://github.com/laminlabs/lnschema-bionty/pull/231) | [Zethson](https://github.com/Zethson) | 2024-04-11 |
7
8
  🐛 Fix syncing public sources | [230](https://github.com/laminlabs/lnschema-bionty/pull/230) | [sunnyosun](https://github.com/sunnyosun) | 2024-04-11 |
8
9
  Upgrade bionty-base | [229](https://github.com/laminlabs/lnschema-bionty/pull/229) | [Zethson](https://github.com/Zethson) | 2024-04-05 |
@@ -4,7 +4,7 @@ Since version 0.40.0, `bionty` replaces `lnschema-bionty` as the user-facing pac
4
4
 
5
5
  """
6
6
 
7
- __version__ = "0.41.8" # Denote a release candidate of version 0.1.0 with 0.1rc1
7
+ __version__ = "0.41.9" # Denote a release candidate of version 0.1.0 with 0.1rc1
8
8
 
9
9
  from lamindb_setup import _check_instance_setup
10
10
 
@@ -149,7 +149,9 @@ class BioRegistry(Registry, HasParents, CanValidate):
149
149
  )
150
150
 
151
151
  @classmethod
152
- def from_public(cls, **kwargs) -> BioRegistry | list[BioRegistry] | None:
152
+ def from_public(
153
+ cls, mute: bool = False, **kwargs
154
+ ) -> BioRegistry | list[BioRegistry] | None:
153
155
  """Create a record or records from public reference based on a single field value.
154
156
 
155
157
  Notes:
@@ -183,7 +185,7 @@ class BioRegistry(Registry, HasParents, CanValidate):
183
185
  else:
184
186
  k = next(iter(kv))
185
187
  v = kwargs.pop(k)
186
- results = cls.from_values([v], field=getattr(cls, k), **kwargs)
188
+ results = cls.from_values([v], field=getattr(cls, k), mute=mute, **kwargs)
187
189
  if len(results) == 1:
188
190
  return results[0]
189
191
  elif len(results) == 0:
@@ -3,6 +3,7 @@
3
3
  <!-- prettier-ignore -->
4
4
  Name | PR | Developer | Date | Version
5
5
  --- | --- | --- | --- | ---
6
+ 🚑️ Fix public_source in inspect | [372](https://github.com/laminlabs/lnschema-core/pull/372) | [sunnyosun](https://github.com/sunnyosun) | 2024-04-18 |
6
7
  🐛 Fix replicated outputs slot | [371](https://github.com/laminlabs/lnschema-core/pull/371) | [falexwolf](https://github.com/falexwolf) | 2024-04-17 | 0.65.0
7
8
  🚚 Rename `.stage()` to `.cache()`, add `.save(upload=None)` | [369](https://github.com/laminlabs/lnschema-core/pull/369) | [falexwolf](https://github.com/falexwolf) | 2024-04-16 |
8
9
  🚚 Add `Run.replicated_outputs` & `Transform.ulabels` | [370](https://github.com/laminlabs/lnschema-core/pull/370) | [falexwolf](https://github.com/falexwolf) | 2024-04-16 |
@@ -1,6 +1,6 @@
1
1
  """LaminDB's core registries."""
2
2
 
3
- __version__ = "0.65.0"
3
+ __version__ = "0.65.1"
4
4
 
5
5
 
6
6
  from lamindb_setup import _check_instance_setup
@@ -122,6 +122,7 @@ class CanValidate:
122
122
  *,
123
123
  mute: bool = False,
124
124
  organism: str | Registry | None = None,
125
+ public_source: Registry | None = None,
125
126
  ) -> InspectResult:
126
127
  """Inspect if values are mappable to a field.
127
128
 
@@ -135,6 +136,7 @@ class CanValidate:
135
136
  field names.
136
137
  mute: Mute logging.
137
138
  organism: An Organism name or record.
139
+ public_source: A PublicSource record.
138
140
 
139
141
  See Also:
140
142
  :meth:`~lamindb.core.CanValidate.validate`
@@ -407,6 +409,7 @@ class Registry(models.Model):
407
409
  field: StrField | None = None,
408
410
  organism: Registry | str | None = None,
409
411
  public_source: Registry | None = None,
412
+ mute: bool = False,
410
413
  ) -> list[Registry]:
411
414
  """Bulk create validated records by parsing values for an identifier (a name, an id, etc.).
412
415
 
@@ -17,7 +17,7 @@ from lamindb._artifact import (
17
17
  )
18
18
  from lamindb.core._settings import settings
19
19
  from lamindb.core.storage._zarr import write_adata_zarr
20
- from lamindb.core.storage.file import (
20
+ from lamindb.core.storage.paths import (
21
21
  AUTO_KEY_PREFIX,
22
22
  auto_storage_key_from_artifact_uid,
23
23
  delete_storage,
@@ -71,14 +71,6 @@ def tsv_file():
71
71
  filepath.unlink()
72
72
 
73
73
 
74
- @pytest.fixture(scope="module")
75
- def zrad_file():
76
- filepath = Path("test.zrad")
77
- pd.DataFrame([1, 2]).to_csv(filepath, sep="\t")
78
- yield filepath
79
- filepath.unlink()
80
-
81
-
82
74
  @pytest.fixture(scope="module")
83
75
  def zip_file():
84
76
  filepath = Path("test.zip")
@@ -722,16 +714,13 @@ def test_serialize_paths():
722
714
  assert isinstance(filepath, CloudPath)
723
715
 
724
716
 
725
- def test_load_to_memory(tsv_file, zrad_file, zip_file, fcs_file):
717
+ def test_load_to_memory(tsv_file, zip_file, fcs_file):
726
718
  # tsv
727
719
  df = read_tsv(tsv_file)
728
720
  assert isinstance(df, pd.DataFrame)
729
721
  # fcs
730
722
  adata = read_fcs(fcs_file)
731
723
  assert isinstance(adata, ad.AnnData)
732
- # other
733
- with pytest.raises(NotADirectoryError):
734
- load_to_memory(zrad_file)
735
724
  # none
736
725
  load_to_memory(zip_file)
737
726
 
@@ -753,10 +742,10 @@ def test_folder_upload_cache(adata):
753
742
  def callback(*args, **kwargs):
754
743
  pass
755
744
 
756
- zarr_path = Path("./test_adata.zrad")
745
+ zarr_path = Path("./test_adata.zarr")
757
746
  write_adata_zarr(adata, zarr_path, callback)
758
747
 
759
- artifact = ln.Artifact(zarr_path, key="test_adata.zrad")
748
+ artifact = ln.Artifact(zarr_path, key="test_adata.zarr")
760
749
  artifact.save()
761
750
 
762
751
  assert isinstance(artifact.path, CloudPath) and artifact.path.exists()
@@ -794,10 +783,6 @@ def test_adata_suffix(adata):
794
783
  assert artifact.suffix == ".h5ad"
795
784
  artifact = ln.Artifact.from_anndata(adata, key="test_.zarr")
796
785
  assert artifact.suffix == ".zarr"
797
- artifact = ln.Artifact.from_anndata(adata, key="test_.zrad")
798
- assert artifact.suffix == ".zrad"
799
- artifact = ln.Artifact.from_anndata(adata, format="zrad", key="test_.zrad")
800
- assert artifact.suffix == ".zrad"
801
786
 
802
787
  with pytest.raises(ValueError) as error:
803
788
  artifact = ln.Artifact.from_anndata(adata, key="test_.def")
@@ -806,13 +791,6 @@ def test_adata_suffix(adata):
806
791
  == "ValueError: Error when specifying AnnData storage format"
807
792
  )
808
793
 
809
- # with pytest.raises(ValueError) as error:
810
- # artifact = ln.Artifact.from_anndata(adata, format="h5ad", key="test.zrad")
811
- # assert (
812
- # error.exconly().partition(",")[0]
813
- # == "ValueError: The suffix '.zrad' of the provided key is incorrect"
814
- # )
815
-
816
794
  with pytest.raises(ValueError) as error:
817
795
  artifact = ln.Artifact.from_anndata(adata, key="test_")
818
796
  assert (