lamindb 0.67.0__tar.gz → 0.67.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 (336) hide show
  1. {lamindb-0.67.0 → lamindb-0.67.1}/PKG-INFO +4 -4
  2. {lamindb-0.67.0 → lamindb-0.67.1}/docs/changelog.md +8 -0
  3. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/__init__.py +15 -15
  4. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/_artifact.py +4 -3
  5. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/_collection.py +5 -1
  6. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/_from_values.py +7 -7
  7. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/_query_manager.py +3 -6
  8. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/_query_set.py +17 -1
  9. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/_run.py +23 -0
  10. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/_transform.py +26 -1
  11. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/dev/_label_manager.py +1 -1
  12. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/dev/_run_context.py +2 -2
  13. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/dev/storage/file.py +33 -1
  14. {lamindb-0.67.0 → lamindb-0.67.1}/pyproject.toml +3 -3
  15. lamindb-0.67.1/sub/lamin-cli/lamin_cli/__init__.py +3 -0
  16. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamin-cli/lamin_cli/_transform.py +2 -2
  17. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/docs/changelog.md +2 -0
  18. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/__init__.py +1 -1
  19. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/_bionty.py +25 -25
  20. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/models.py +13 -15
  21. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/pyproject.toml +1 -1
  22. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_artifact.py +61 -15
  23. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_collection.py +2 -9
  24. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_delete.py +1 -2
  25. lamindb-0.67.1/tests/test_load.py +39 -0
  26. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_transfer.py +13 -13
  27. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_transform.py +53 -6
  28. lamindb-0.67.0/lamindb/_delete.py +0 -65
  29. lamindb-0.67.0/sub/lamin-cli/lamin_cli/__init__.py +0 -3
  30. {lamindb-0.67.0 → lamindb-0.67.1}/.github/workflows/build.yml +0 -0
  31. {lamindb-0.67.0 → lamindb-0.67.1}/.github/workflows/latest-changes.jinja2 +0 -0
  32. {lamindb-0.67.0 → lamindb-0.67.1}/.github/workflows/latest-changes.yml +0 -0
  33. {lamindb-0.67.0 → lamindb-0.67.1}/.gitignore +0 -0
  34. {lamindb-0.67.0 → lamindb-0.67.1}/.gitmodules +0 -0
  35. {lamindb-0.67.0 → lamindb-0.67.1}/.pre-commit-config.yaml +0 -0
  36. {lamindb-0.67.0 → lamindb-0.67.1}/LICENSE +0 -0
  37. {lamindb-0.67.0 → lamindb-0.67.1}/README.md +0 -0
  38. {lamindb-0.67.0 → lamindb-0.67.1}/docs/annotate.ipynb +0 -0
  39. {lamindb-0.67.0 → lamindb-0.67.1}/docs/bio-registries.ipynb +0 -0
  40. {lamindb-0.67.0 → lamindb-0.67.1}/docs/bionty.md +0 -0
  41. {lamindb-0.67.0 → lamindb-0.67.1}/docs/data.ipynb +0 -0
  42. {lamindb-0.67.0 → lamindb-0.67.1}/docs/faq/acid.ipynb +0 -0
  43. {lamindb-0.67.0 → lamindb-0.67.1}/docs/faq/delete.ipynb +0 -0
  44. {lamindb-0.67.0 → lamindb-0.67.1}/docs/faq/idempotency.ipynb +0 -0
  45. {lamindb-0.67.0 → lamindb-0.67.1}/docs/faq/import-schema.ipynb +0 -0
  46. {lamindb-0.67.0 → lamindb-0.67.1}/docs/faq/key.ipynb +0 -0
  47. {lamindb-0.67.0 → lamindb-0.67.1}/docs/faq/reference-field.ipynb +0 -0
  48. {lamindb-0.67.0 → lamindb-0.67.1}/docs/faq/setup.ipynb +0 -0
  49. {lamindb-0.67.0 → lamindb-0.67.1}/docs/faq/test_notebooks.py +0 -0
  50. {lamindb-0.67.0 → lamindb-0.67.1}/docs/faq/track-run-inputs.ipynb +0 -0
  51. {lamindb-0.67.0 → lamindb-0.67.1}/docs/faq/validator.ipynb +0 -0
  52. {lamindb-0.67.0 → lamindb-0.67.1}/docs/faq/visibility.ipynb +0 -0
  53. {lamindb-0.67.0 → lamindb-0.67.1}/docs/faq.md +0 -0
  54. {lamindb-0.67.0 → lamindb-0.67.1}/docs/features-lamindb.md +0 -0
  55. {lamindb-0.67.0 → lamindb-0.67.1}/docs/features-laminhub.md +0 -0
  56. {lamindb-0.67.0 → lamindb-0.67.1}/docs/guide.md +0 -0
  57. {lamindb-0.67.0 → lamindb-0.67.1}/docs/index.md +0 -0
  58. {lamindb-0.67.0 → lamindb-0.67.1}/docs/installation.md +0 -0
  59. {lamindb-0.67.0 → lamindb-0.67.1}/docs/introduction.ipynb +0 -0
  60. {lamindb-0.67.0 → lamindb-0.67.1}/docs/lamin-utils.md +0 -0
  61. {lamindb-0.67.0 → lamindb-0.67.1}/docs/lamindb.md +0 -0
  62. {lamindb-0.67.0 → lamindb-0.67.1}/docs/lnschema-bionty.md +0 -0
  63. {lamindb-0.67.0 → lamindb-0.67.1}/docs/meta.ipynb +0 -0
  64. {lamindb-0.67.0 → lamindb-0.67.1}/docs/nbproject.md +0 -0
  65. {lamindb-0.67.0 → lamindb-0.67.1}/docs/query-search.md +0 -0
  66. {lamindb-0.67.0 → lamindb-0.67.1}/docs/readfcs.md +0 -0
  67. {lamindb-0.67.0 → lamindb-0.67.1}/docs/reference.md +0 -0
  68. {lamindb-0.67.0 → lamindb-0.67.1}/docs/schemas.ipynb +0 -0
  69. {lamindb-0.67.0 → lamindb-0.67.1}/docs/setup.ipynb +0 -0
  70. {lamindb-0.67.0 → lamindb-0.67.1}/docs/signup-login.md +0 -0
  71. {lamindb-0.67.0 → lamindb-0.67.1}/docs/storage/add-replace-stage.ipynb +0 -0
  72. {lamindb-0.67.0 → lamindb-0.67.1}/docs/storage/anndata-accessor.ipynb +0 -0
  73. {lamindb-0.67.0 → lamindb-0.67.1}/docs/storage/test-files/iris.csv +0 -0
  74. {lamindb-0.67.0 → lamindb-0.67.1}/docs/storage/test-files/iris.data +0 -0
  75. {lamindb-0.67.0 → lamindb-0.67.1}/docs/storage/test-files/new_iris.csv +0 -0
  76. {lamindb-0.67.0 → lamindb-0.67.1}/docs/storage/test_notebooks.py +0 -0
  77. {lamindb-0.67.0 → lamindb-0.67.1}/docs/storage/upload.ipynb +0 -0
  78. {lamindb-0.67.0 → lamindb-0.67.1}/docs/storage.md +0 -0
  79. {lamindb-0.67.0 → lamindb-0.67.1}/docs/test_notebooks.py +0 -0
  80. {lamindb-0.67.0 → lamindb-0.67.1}/docs/track.ipynb +0 -0
  81. {lamindb-0.67.0 → lamindb-0.67.1}/docs/transfer.ipynb +0 -0
  82. {lamindb-0.67.0 → lamindb-0.67.1}/docs/tutorial.ipynb +0 -0
  83. {lamindb-0.67.0 → lamindb-0.67.1}/docs/tutorial2.ipynb +0 -0
  84. {lamindb-0.67.0 → lamindb-0.67.1}/docs/validate.ipynb +0 -0
  85. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/_feature.py +0 -0
  86. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/_feature_set.py +0 -0
  87. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/_filter.py +0 -0
  88. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/_parents.py +0 -0
  89. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/_registry.py +0 -0
  90. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/_save.py +0 -0
  91. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/_storage.py +0 -0
  92. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/_ulabel.py +0 -0
  93. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/_utils.py +0 -0
  94. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/_validate.py +0 -0
  95. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/_view.py +0 -0
  96. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/dev/__init__.py +0 -0
  97. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/dev/_data.py +0 -0
  98. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/dev/_feature_manager.py +0 -0
  99. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/dev/_mapped_collection.py +0 -0
  100. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/dev/_settings.py +0 -0
  101. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/dev/_track_environment.py +0 -0
  102. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/dev/_view_tree.py +0 -0
  103. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/dev/datasets/__init__.py +0 -0
  104. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/dev/datasets/_core.py +0 -0
  105. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/dev/datasets/_fake.py +0 -0
  106. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/dev/exceptions.py +0 -0
  107. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/dev/fields.py +0 -0
  108. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/dev/hashing.py +0 -0
  109. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/dev/storage/__init__.py +0 -0
  110. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/dev/storage/_anndata_sizes.py +0 -0
  111. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/dev/storage/_backed_access.py +0 -0
  112. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/dev/storage/_zarr.py +0 -0
  113. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/dev/storage/object.py +0 -0
  114. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/dev/types.py +0 -0
  115. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/dev/versioning.py +0 -0
  116. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/setup/__init__.py +0 -0
  117. {lamindb-0.67.0 → lamindb-0.67.1}/lamindb/setup/dev/__init__.py +0 -0
  118. {lamindb-0.67.0 → lamindb-0.67.1}/noxfile.py +0 -0
  119. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamin-cli/.gitignore +0 -0
  120. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamin-cli/.pre-commit-config.yaml +0 -0
  121. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamin-cli/README.md +0 -0
  122. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamin-cli/lamin_cli/__main__.py +0 -0
  123. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamin-cli/pyproject.toml +0 -0
  124. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamin-cli/tests/conftest.py +0 -0
  125. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamin-cli/tests/notebooks/no-title.ipynb +0 -0
  126. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
  127. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +0 -0
  128. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +0 -0
  129. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamin-cli/tests/scripts/initialized.py +0 -0
  130. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamin-cli/tests/scripts/not-initialized.py +0 -0
  131. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamin-cli/tests/test_cli.py +0 -0
  132. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamin-cli/tests/test_migrate.py +0 -0
  133. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamin-cli/tests/test_notebooks.py +0 -0
  134. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamin-cli/tests/test_scripts.py +0 -0
  135. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/.github/workflows/build.yml +0 -0
  136. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/.github/workflows/latest-changes.jinja2 +0 -0
  137. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/.github/workflows/latest-changes.yml +0 -0
  138. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/.gitignore +0 -0
  139. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/.pre-commit-config.yaml +0 -0
  140. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/LICENSE +0 -0
  141. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/README.md +0 -0
  142. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/docs/changelog.md +0 -0
  143. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/docs/index.md +0 -0
  144. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/docs/notebooks.md +0 -0
  145. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/docs/prod-only/test-cache-management.ipynb +0 -0
  146. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/docs/prod-only/test-empty-init.ipynb +0 -0
  147. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/docs/prod-only/test-import-schema.ipynb +0 -0
  148. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/docs/prod-only/test-insufficient-user-info.ipynb +0 -0
  149. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/docs/prod-only/test-invalid-schema.ipynb +0 -0
  150. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/docs/prod-only/test-load-anonymously.ipynb +0 -0
  151. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/docs/prod-only/test-load-lock.ipynb +0 -0
  152. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/docs/prod-only/test-sqlite-sync.ipynb +0 -0
  153. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/docs/prod-only/test_notebooks2.py +0 -0
  154. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/docs/prod-staging/01-init-instance.ipynb +0 -0
  155. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/docs/prod-staging/02-load-instance.ipynb +0 -0
  156. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/docs/prod-staging/03-set-storage.ipynb +0 -0
  157. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/docs/prod-staging/04-test-bionty.ipynb +0 -0
  158. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/docs/prod-staging/test-multi-session.ipynb +0 -0
  159. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/docs/prod-staging/test_notebooks.py +0 -0
  160. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/docs/reference.md +0 -0
  161. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/__init__.py +0 -0
  162. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
  163. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/_check.py +0 -0
  164. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/_check_instance_setup.py +0 -0
  165. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
  166. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/_delete.py +0 -0
  167. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/_django.py +0 -0
  168. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/_docstrings.py +0 -0
  169. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/_export.py +0 -0
  170. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/_info.py +0 -0
  171. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/_init_instance.py +0 -0
  172. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/_init_vault.py +0 -0
  173. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/_load_instance.py +0 -0
  174. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/_migrate.py +0 -0
  175. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
  176. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
  177. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/_set.py +0 -0
  178. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/_settings.py +0 -0
  179. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/_setup_user.py +0 -0
  180. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
  181. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/dev/__init__.py +0 -0
  182. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/dev/_deprecated.py +0 -0
  183. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/dev/_docs.py +0 -0
  184. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/dev/_hub_client.py +0 -0
  185. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/dev/_hub_core.py +0 -0
  186. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/dev/_hub_crud.py +0 -0
  187. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/dev/_hub_utils.py +0 -0
  188. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/dev/_settings_instance.py +0 -0
  189. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/dev/_settings_load.py +0 -0
  190. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/dev/_settings_save.py +0 -0
  191. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/dev/_settings_storage.py +0 -0
  192. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/dev/_settings_store.py +0 -0
  193. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/dev/_settings_user.py +0 -0
  194. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/dev/_setup_bionty_sources.py +0 -0
  195. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/dev/cloud_sqlite_locker.py +0 -0
  196. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/dev/django.py +0 -0
  197. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/lamindb_setup/dev/upath.py +0 -0
  198. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/noxfile.py +0 -0
  199. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/pyproject.toml +0 -0
  200. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/tests/hub-local/conftest.py +0 -0
  201. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/tests/hub-local/test_all.py +0 -0
  202. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/tests/prod-only/conftest.py +0 -0
  203. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/tests/prod-only/test_django.py +0 -0
  204. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/tests/prod-only/test_switch_and_fallback_env.py +0 -0
  205. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/tests/prod-staging/test_delete_instance.py +0 -0
  206. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/tests/prod-staging/test_init_instance.py +0 -0
  207. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/tests/prod-staging/test_load_instance.py +0 -0
  208. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/tests/prod-staging/test_login.py +0 -0
  209. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/tests/prod-staging/test_migrate.py +0 -0
  210. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/tests/prod-staging/test_set_storage.py +0 -0
  211. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/tests/test_storage_access.py +0 -0
  212. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lamindb-setup/tests/test_vault.py +0 -0
  213. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/.github/workflows/build.yml +0 -0
  214. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/.github/workflows/latest-changes.jinja2 +0 -0
  215. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/.github/workflows/latest-changes.yml +0 -0
  216. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/.gitignore +0 -0
  217. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/.pre-commit-config.yaml +0 -0
  218. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/LICENSE +0 -0
  219. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/README.md +0 -0
  220. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/docs/index.md +0 -0
  221. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/docs/reference.md +0 -0
  222. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lamin-project.yaml +0 -0
  223. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/dev/__init__.py +0 -0
  224. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/dev/_bionty.py +0 -0
  225. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/dev/_settings.py +0 -0
  226. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/ids.py +0 -0
  227. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0001_initial.py +0 -0
  228. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0001_initial_squashed_0016.py +0 -0
  229. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0002_rename_gene_type_gene_biotype_and_more.py +0 -0
  230. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0003_alter_biontysource_entity_alter_biontysource_source_and_more.py +0 -0
  231. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0004_alter_cellline_bionty_source_and_more.py +0 -0
  232. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0005_rename_short_name_cellline_abbr_and_more.py +0 -0
  233. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0006_alter_biontysource_options_alter_cellline_options_and_more.py +0 -0
  234. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0007_rename_readout_experimental_factor.py +0 -0
  235. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0008_remove_gene_hgnc_id_remove_gene_mgi_id_and_more.py +0 -0
  236. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0009_alter_gene_ensembl_gene_id.py +0 -0
  237. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0010_alter_species_name.py +0 -0
  238. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0011_cellline_datasets_cellmarker_datasets_and_more.py +0 -0
  239. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0012_gene_stable_id.py +0 -0
  240. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0013_alter_cellmarker_species_alter_gene_species_and_more.py +0 -0
  241. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0014_ethnicity_developmentalstage.py +0 -0
  242. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0015_migrate_to_integer_pks.py +0 -0
  243. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0016_export_legacy_data.py +0 -0
  244. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0017_import_legacy_data.py +0 -0
  245. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0018_organism_rename_species_biontysource_organism_and_more.py +0 -0
  246. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0019_rename_taxon_id_organism_ontology_id_and_more.py +0 -0
  247. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0020_alter_organism_bionty_source.py +0 -0
  248. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0021_rename_files_cellline_artifacts_and_more.py +0 -0
  249. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0022_rename_datasets_cellline_collections_and_more.py +0 -0
  250. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/0023_rename_publicsource_encode_uid.py +0 -0
  251. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/lnschema_bionty/migrations/__init__.py +0 -0
  252. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/noxfile.py +0 -0
  253. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-bionty/tests/test_integrity.py +0 -0
  254. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/.github/workflows/build.yml +0 -0
  255. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/.github/workflows/latest-changes.jinja2 +0 -0
  256. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/.github/workflows/latest-changes.yml +0 -0
  257. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/.gitignore +0 -0
  258. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/.pre-commit-config.yaml +0 -0
  259. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/CHANGELOG.md +0 -0
  260. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/LICENSE +0 -0
  261. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/README.md +0 -0
  262. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/__init__.py +0 -0
  263. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/ids.py +0 -0
  264. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0001_initial.py +0 -0
  265. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0001_initial_squashed_0023.py +0 -0
  266. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0002_alter_user_name.py +0 -0
  267. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0003_alter_storage_region_alter_transform_short_name.py +0 -0
  268. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0004_rename_folder_tag_alter_project_folders.py +0 -0
  269. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0005_alter_run_inputs_delete_runinput.py +0 -0
  270. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0006_feature_dataset.py +0 -0
  271. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0007_feature_synonyms_featureset_field_and_more.py +0 -0
  272. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0008_file_hash_type_transform_parents.py +0 -0
  273. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0009_remove_featureset_files_feature_unit_and_more.py +0 -0
  274. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0010_dataset_categories_file_categories.py +0 -0
  275. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0011_label_remove_tag_created_by_remove_tag_parents_and_more.py +0 -0
  276. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0012_remove_label_ref_id_remove_label_ref_orm_and_more.py +0 -0
  277. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0013_remove_feature_labels_orm_and_more.py +0 -0
  278. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0014_rename_ref_field_featureset_registry.py +0 -0
  279. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0015_file_initial_version_file_version.py +0 -0
  280. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0016_dataset_input_of_dataset_run_dataset_transform_and_more.py +0 -0
  281. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0017_dataset_initial_version_dataset_version.py +0 -0
  282. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0018_rename_datasetlabel_datasetulabel_and_more.py +0 -0
  283. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0019_dataset_reference_dataset_reference_type_and_more.py +0 -0
  284. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0020_run_report_transform_latest_report_and_more.py +0 -0
  285. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0021_dataset_storage_alter_dataset_file.py +0 -0
  286. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0022_migrate_to_integer_pks.py +0 -0
  287. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0023_export_legacy_data.py +0 -0
  288. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0024_import_legacy_data.py +0 -0
  289. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0025_remove_user_email.py +0 -0
  290. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0026_dataset_visibility_file_visibility.py +0 -0
  291. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0027_file_key_is_virtual.py +0 -0
  292. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0028_alter_dataset_visibility_alter_file_visibility.py +0 -0
  293. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0029_remove_feature_modality_remove_featureset_modality_and_more.py +0 -0
  294. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0030_alter_dataset_visibility_alter_file_visibility.py +0 -0
  295. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0031_rename_file_to_artifact.py +0 -0
  296. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0032_remove_dataset_storage.py +0 -0
  297. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0033_alter_artifact_unique_together_artifact_n_objects_and_more.py +0 -0
  298. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0034_run_environment.py +0 -0
  299. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0035_remove_artifact_initial_version_and_more.py +0 -0
  300. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0036_storage_description.py +0 -0
  301. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0037_rename_dataset_to_collection.py +0 -0
  302. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0038_alter_collection_artifact_alter_collection_artifacts_and_more.py +0 -0
  303. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/0039_remove_collection_artifacts_collectionartifact_and_more.py +0 -0
  304. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
  305. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/mocks.py +0 -0
  306. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/models.py +0 -0
  307. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/types.py +0 -0
  308. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/lnschema_core/users.py +0 -0
  309. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/noxfile.py +0 -0
  310. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/pyproject.toml +0 -0
  311. {lamindb-0.67.0 → lamindb-0.67.1}/sub/lnschema-core/tests/test_integrity.py +0 -0
  312. {lamindb-0.67.0 → lamindb-0.67.1}/tests/conftest.py +0 -0
  313. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_cache.py +0 -0
  314. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_data.py +0 -0
  315. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_db.py +0 -0
  316. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_feature.py +0 -0
  317. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_feature_manager.py +0 -0
  318. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_feature_set.py +0 -0
  319. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_from_values.py +0 -0
  320. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_hashing.py +0 -0
  321. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_label_manager.py +0 -0
  322. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_manager.py +0 -0
  323. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_parents.py +0 -0
  324. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_queryset.py +0 -0
  325. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_registry.py +0 -0
  326. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_run.py +0 -0
  327. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_run_context.py +0 -0
  328. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_save.py +0 -0
  329. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_settings.py +0 -0
  330. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_storage.py +0 -0
  331. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_uid.py +0 -0
  332. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_ulabel.py +0 -0
  333. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_validate.py +0 -0
  334. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_versioning.py +0 -0
  335. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_view.py +0 -0
  336. {lamindb-0.67.0 → lamindb-0.67.1}/tests/test_visibility.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lamindb
3
- Version: 0.67.0
3
+ Version: 0.67.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
@@ -12,7 +12,7 @@ Classifier: Programming Language :: Python :: 3.11
12
12
  Requires-Dist: lnschema_core==0.61.1
13
13
  Requires-Dist: lamindb_setup==0.64.2
14
14
  Requires-Dist: lamin_utils==0.13.0
15
- Requires-Dist: lamin_cli==0.6.0
15
+ Requires-Dist: lamin_cli==0.6.1
16
16
  Requires-Dist: rapidfuzz
17
17
  Requires-Dist: pyarrow
18
18
  Requires-Dist: typing_extensions!=4.6.0
@@ -28,7 +28,7 @@ Requires-Dist: boto3==1.28.17 ; extra == "aws"
28
28
  Requires-Dist: aiobotocore==2.5.4 ; extra == "aws"
29
29
  Requires-Dist: fsspec[s3]==2023.9.0 ; extra == "aws"
30
30
  Requires-Dist: s3fs>=2023.9.0 ; extra == "aws"
31
- Requires-Dist: lnschema_bionty==0.38.3 ; extra == "bionty"
31
+ Requires-Dist: lnschema_bionty==0.39.0 ; extra == "bionty"
32
32
  Requires-Dist: pandas<2 ; extra == "dev"
33
33
  Requires-Dist: pre-commit ; extra == "dev"
34
34
  Requires-Dist: nox ; extra == "dev"
@@ -42,7 +42,7 @@ Requires-Dist: lamin_vault ; extra == "dev"
42
42
  Requires-Dist: django-schema-graph ; extra == "erdiagram"
43
43
  Requires-Dist: readfcs>=1.1.7 ; extra == "fcs"
44
44
  Requires-Dist: fsspec[gs]==2023.9.0 ; extra == "gcp"
45
- Requires-Dist: nbproject==0.9.2 ; extra == "jupyter"
45
+ Requires-Dist: nbproject==0.10.0 ; extra == "jupyter"
46
46
  Requires-Dist: nbstripout ; extra == "jupyter"
47
47
  Requires-Dist: nbconvert ; extra == "jupyter"
48
48
  Requires-Dist: zarr>=2.16.0 ; extra == "zarr"
@@ -7,6 +7,14 @@
7
7
 
8
8
  ## 0.67
9
9
 
10
+ ### 0.67.1 {small}`2024-01-12`
11
+
12
+ - 🐛 Fix idempotency of `collection.save()` [PR](https://github.com/laminlabs/lamindb/pull/1401) [@falexwolf](https://github.com/falexwolf)
13
+ - 🩹 Also amend run [PR](https://github.com/laminlabs/lamindb/pull/1399) [@falexwolf](https://github.com/falexwolf)
14
+ - 🚸 Disallow bulk-delete for Artifact, Transform & Collection [PR](https://github.com/laminlabs/lamindb/pull/1398) [@falexwolf](https://github.com/falexwolf)
15
+ - 🚸 Init transform versions at 1 [PR](https://github.com/laminlabs/lamindb/pull/1397) [@falexwolf](https://github.com/falexwolf)
16
+ - ✨ Load json and html files [PR](https://github.com/laminlabs/lamindb/pull/1396) [@falexwolf](https://github.com/falexwolf)
17
+
10
18
  ### 0.67.0 {small}`2024-01-11`
11
19
 
12
20
  - 🚚 Rename `.bionty` to `.public`, `.from_bionty` to `.from_public` [PR](https://github.com/laminlabs/lamindb/pull/1394) [@sunnyosun](https://github.com/sunnyosun)
@@ -54,7 +54,7 @@ Modules & settings:
54
54
 
55
55
  """
56
56
 
57
- __version__ = "0.67.0" # denote a release candidate for 0.1.0 with 0.1rc1
57
+ __version__ = "0.67.1" # denote a release candidate for 0.1.0 with 0.1rc1
58
58
 
59
59
  import os as _os
60
60
 
@@ -102,20 +102,20 @@ if _INSTANCE_SETUP:
102
102
  User,
103
103
  )
104
104
 
105
- File = Artifact # backward compat
106
- from . import _artifact # noqa
107
- from . import _collection
108
- from . import _feature
109
- from . import _feature_set
110
- from . import _parents
111
- from . import _registry
112
- from . import _run
113
- from . import _storage
114
- from . import _transform
115
- from . import _ulabel
116
- from . import _validate
117
- from . import dev
118
- from ._delete import delete
105
+ from . import (
106
+ _artifact,
107
+ _collection,
108
+ _feature,
109
+ _feature_set,
110
+ _parents,
111
+ _registry,
112
+ _run,
113
+ _storage,
114
+ _transform,
115
+ _ulabel,
116
+ _validate,
117
+ dev,
118
+ )
119
119
  from ._save import save
120
120
  from ._view import view
121
121
  from .dev._run_context import run_context
@@ -911,13 +911,13 @@ def delete(
911
911
  self, permanent: Optional[bool] = None, storage: Optional[bool] = None
912
912
  ) -> None:
913
913
  # by default, we only move artifacts into the trash
914
- if self.visibility > VisibilityChoice.trash.value and permanent is not True:
914
+ if self.visibility > -1 and permanent is not True:
915
915
  if storage is not None:
916
916
  logger.warning("moving artifact to trash, storage arg is ignored")
917
917
  # move to trash
918
- self.visibility = VisibilityChoice.trash.value
918
+ self.visibility = -1
919
919
  self.save()
920
- logger.warning("moved artifact to trash")
920
+ logger.warning("moved artifact to trash (visibility = -1)")
921
921
  return
922
922
 
923
923
  # if the artifact is already in the trash
@@ -929,6 +929,7 @@ def delete(
929
929
  )
930
930
  delete_record = response == "y"
931
931
  else:
932
+ # this second option doesn't feel very intuitive
932
933
  delete_record = permanent
933
934
 
934
935
  if delete_record:
@@ -424,8 +424,12 @@ def save(self, *args, **kwargs) -> None:
424
424
  self.artifact.save()
425
425
  # we don't need to save feature sets again
426
426
  save_feature_sets(self)
427
+ state_was_adding = self._state.adding
427
428
  super(Collection, self).save()
428
- if hasattr(self, "_artifacts"):
429
+ # we don't allow updating the collection of artifacts
430
+ # if users want to update the set of artifacts, they
431
+ # have to create a new collection
432
+ if state_was_adding and hasattr(self, "_artifacts"):
429
433
  if self._artifacts is not None and len(self._artifacts) > 0:
430
434
  links = [
431
435
  CollectionArtifact(collection_id=self.id, artifact_id=artifact.id)
@@ -173,20 +173,20 @@ def create_records_from_public(
173
173
 
174
174
  # create the corresponding bionty object from model
175
175
  try:
176
- bionty_object = model.public(
176
+ public_ontology = model.public(
177
177
  organism=kwargs.get("organism"), public_source=kwargs.get("public_source")
178
178
  )
179
179
  except Exception:
180
180
  # for custom records that are not created from bionty sources
181
181
  return records, iterable_idx
182
182
  # add public_source record to the kwargs
183
- kwargs.update({"public_source": get_public_source_record(bionty_object)})
183
+ kwargs.update({"public_source": get_public_source_record(public_ontology)})
184
184
 
185
185
  # filter the columns in bionty df based on fields
186
- bionty_df = _filter_bionty_df_columns(model=model, bionty_object=bionty_object)
186
+ bionty_df = _filter_bionty_df_columns(model=model, public_ontology=public_ontology)
187
187
 
188
188
  # standardize in the bionty reference
189
- result = bionty_object.inspect(iterable_idx, field=field.field.name, mute=True)
189
+ result = public_ontology.inspect(iterable_idx, field=field.field.name, mute=True)
190
190
  syn_mapper = result.synonyms_mapper
191
191
 
192
192
  msg_syn: str = ""
@@ -254,13 +254,13 @@ def _print_values(names: List, n: int = 20) -> str:
254
254
  return print_values
255
255
 
256
256
 
257
- def _filter_bionty_df_columns(model: Registry, bionty_object: Any) -> pd.DataFrame:
257
+ def _filter_bionty_df_columns(model: Registry, public_ontology: Any) -> pd.DataFrame:
258
258
  bionty_df = pd.DataFrame()
259
- if bionty_object is not None:
259
+ if public_ontology is not None:
260
260
  model_field_names = {i.name for i in model._meta.fields}
261
261
  # parents needs to be added here as relationships aren't in fields
262
262
  model_field_names.add("parents")
263
- bionty_df = bionty_object.df().reset_index()
263
+ bionty_df = public_ontology.df().reset_index()
264
264
  if model.__name__ == "Gene":
265
265
  # groupby ensembl_gene_id and concat ncbi_gene_ids
266
266
  groupby_id_col = (
@@ -46,14 +46,11 @@ class QueryManager(models.Manager):
46
46
 
47
47
  Examples:
48
48
  >>> ln.save(ln.ULabel.from_values(["ULabel1", "ULabel2", "ULabel3"], field="name"))
49
- >>> labels = ln.ULabel.filter(name__icontains = "label").all()
49
+ >>> labels = ln.ULabel.filter(name__icontains="label").all()
50
50
  >>> ln.ULabel(name="ULabel1").save()
51
51
  >>> label = ln.ULabel.filter(name="ULabel1").one()
52
52
  >>> label.parents.set(labels)
53
53
  >>> label.parents.list()
54
- [ULabel(id=sFMcPepC, name=ULabel1, updated_at=2023-07-19 19:45:17, created_by_id=DzTjkKse), # noqa
55
- ULabel(id=2SscQvsM, name=ULabel2, updated_at=2023-07-19 19:45:17, created_by_id=DzTjkKse), # noqa
56
- ULabel(id=lecV87vi, name=ULabel3, updated_at=2023-07-19 19:45:17, created_by_id=DzTjkKse)] # noqa
57
54
  >>> label.parents.list("name")
58
55
  ['ULabel1', 'ULabel2', 'ULabel3']
59
56
  """
@@ -76,7 +73,7 @@ class QueryManager(models.Manager):
76
73
  For `**kwargs`, see :meth:`lamindb.dev.QuerySet.df`.
77
74
  """
78
75
  self._track_run_input_manager()
79
- return self.all_base_class()
76
+ return self._all_base_class()
80
77
 
81
78
  @doc_args(Registry.search.__doc__)
82
79
  def search(self, string: str, **kwargs):
@@ -115,5 +112,5 @@ models.Manager.__getitem__ = QueryManager.__getitem__
115
112
  models.Manager._track_run_input_manager = QueryManager._track_run_input_manager
116
113
  # the two lines below would be easy if we could actually inherit; like this,
117
114
  # they're suboptimal
118
- models.Manager.all_base_class = models.Manager.all
115
+ models.Manager._all_base_class = models.Manager.all
119
116
  models.Manager.all = QueryManager.all
@@ -4,7 +4,14 @@ from typing import Dict, Iterable, List, NamedTuple, Optional, Union
4
4
  import pandas as pd
5
5
  from django.db import models
6
6
  from lamindb_setup.dev._docs import doc_args
7
- from lnschema_core.models import CanValidate, IsTree, Registry
7
+ from lnschema_core.models import (
8
+ Artifact,
9
+ CanValidate,
10
+ Collection,
11
+ IsTree,
12
+ Registry,
13
+ Transform,
14
+ )
8
15
  from lnschema_core.types import ListLike, StrField
9
16
 
10
17
 
@@ -147,6 +154,13 @@ class QuerySet(models.QuerySet, CanValidate, IsTree):
147
154
  df.rename(columns={values_expression: expression}, inplace=True)
148
155
  return df
149
156
 
157
+ def delete(self, *args, **kwargs):
158
+ if self.model in {Artifact, Collection, Transform}:
159
+ for record in self:
160
+ record.delete(*args, **kwargs)
161
+ else:
162
+ self._delete_base_class(*args, **kwargs)
163
+
150
164
  def list(self, field: Optional[str] = None) -> List[Registry]:
151
165
  """Populate a list with the results.
152
166
 
@@ -282,3 +296,5 @@ models.QuerySet.lookup = QuerySet.lookup
282
296
  models.QuerySet.validate = QuerySet.validate
283
297
  models.QuerySet.inspect = QuerySet.inspect
284
298
  models.QuerySet.standardize = QuerySet.standardize
299
+ models.QuerySet._delete_base_class = models.QuerySet.delete
300
+ models.QuerySet.delete = QuerySet.delete
@@ -30,4 +30,27 @@ def __init__(run: Run, *args, **kwargs):
30
30
  )
31
31
 
32
32
 
33
+ def delete_run_artifacts(run: Run) -> None:
34
+ environment = None
35
+ if run.environment is not None:
36
+ environment = run.environment
37
+ run.environment = None
38
+ report = None
39
+ if run.report is not None:
40
+ report = run.report
41
+ run.report = None
42
+ if environment is not None or report is not None:
43
+ run.save()
44
+ if environment is not None:
45
+ environment.delete(permanent=True)
46
+ if report is not None:
47
+ report.delete(permanent=True)
48
+
49
+
50
+ def delete(self) -> None:
51
+ delete_run_artifacts(self)
52
+ super(Run, self).delete()
53
+
54
+
33
55
  Run.__init__ = __init__
56
+ Run.delete = delete
@@ -1,7 +1,8 @@
1
1
  from typing import TYPE_CHECKING, Optional
2
2
 
3
- from lnschema_core.models import TRANSFORM_TYPE_DEFAULT, Transform
3
+ from lnschema_core.models import TRANSFORM_TYPE_DEFAULT, Artifact, Run, Transform
4
4
 
5
+ from ._run import delete_run_artifacts
5
6
  from .dev.versioning import get_uid_from_old_version, init_uid
6
7
 
7
8
  if TYPE_CHECKING:
@@ -63,4 +64,28 @@ def __init__(transform: Transform, *args, **kwargs):
63
64
  )
64
65
 
65
66
 
67
+ def delete(self) -> None:
68
+ # set latest_report to None, it's tracked through the latest run
69
+ latest_report = None
70
+ if self.latest_report is not None:
71
+ latest_report = self.latest_report
72
+ self.latest_report = None
73
+ source_code = None
74
+ if self.source_code is not None:
75
+ source_code = self.source_code
76
+ self.source_code = None
77
+ if latest_report is not None or source_code is not None:
78
+ self.save()
79
+ if source_code is not None:
80
+ source_code.delete(permanent=True)
81
+ # query all runs and delete their artifacts
82
+ runs = Run.filter(transform=self)
83
+ for run in runs:
84
+ delete_run_artifacts(run)
85
+ # at this point, all artifacts have been taken care of
86
+ # we can now leverage CASCADE delete
87
+ super(Transform, self).delete()
88
+
89
+
66
90
  Transform.__init__ = __init__
91
+ Transform.delete = delete
@@ -23,7 +23,7 @@ def get_labels_as_dict(self: Data):
23
23
  ).items():
24
24
  if related_name in {
25
25
  "feature_sets",
26
- "artifacts",
26
+ "unordered_artifacts",
27
27
  "input_of",
28
28
  "collections",
29
29
  "source_of",
@@ -27,9 +27,9 @@ msg_path_failed = (
27
27
 
28
28
  msg_manual_init = (
29
29
  "\n(1) save your notebook!"
30
- "\n(2) attach metadata to the notebook by running the CLI:\n"
30
+ "\n(2) add stem_uid & version to your notebook file by running the CLI:\n"
31
31
  "lamin track {notebook_path}"
32
- "\n(3) reload or re-open your notebook"
32
+ "\n(3) reload your notebook from disk"
33
33
  )
34
34
 
35
35
 
@@ -1,6 +1,8 @@
1
+ import builtins
2
+ import re
1
3
  import shutil
2
4
  from pathlib import Path
3
- from typing import Union
5
+ from typing import Optional, Union
4
6
 
5
7
  import anndata as ad
6
8
  import pandas as pd
@@ -24,6 +26,7 @@ except ImportError:
24
26
 
25
27
 
26
28
  AUTO_KEY_PREFIX = ".lamindb/"
29
+ is_run_from_ipython = getattr(builtins, "__IPYTHON__", False)
27
30
 
28
31
 
29
32
  # add type annotations back asap when re-organizing the module
@@ -143,6 +146,33 @@ def read_tsv(path: Union[str, Path, UPath]) -> pd.DataFrame:
143
146
  return pd.read_csv(path_sanitized, sep="\t")
144
147
 
145
148
 
149
+ def load_html(path: Union[str, Path, UPath]):
150
+ if is_run_from_ipython:
151
+ with open(path, encoding="utf-8") as f:
152
+ html_content = f.read()
153
+ # Extract the body content using regular expressions
154
+ body_content = re.findall(
155
+ r"<body(?:.*?)>(?:.*?)</body>", html_content, re.DOTALL
156
+ )
157
+ # Remove any empty body tags
158
+ if body_content:
159
+ body_content = body_content[0]
160
+ body_content = body_content.strip() # type: ignore
161
+ from IPython.display import HTML, display
162
+
163
+ display(HTML(data=body_content))
164
+ else:
165
+ return path
166
+
167
+
168
+ def load_json(path: Union[str, Path, UPath]):
169
+ import json
170
+
171
+ with open(path) as f:
172
+ data = json.load(f)
173
+ return data
174
+
175
+
146
176
  def load_to_memory(filepath: Union[str, Path, UPath], stream: bool = False, **kwargs):
147
177
  """Load a file into memory.
148
178
 
@@ -170,6 +200,8 @@ def load_to_memory(filepath: Union[str, Path, UPath], stream: bool = False, **kw
170
200
  ".fcs": read_fcs,
171
201
  ".zarr": read_adata_zarr,
172
202
  ".zrad": read_adata_zarr,
203
+ ".html": load_html,
204
+ ".json": load_json,
173
205
  }
174
206
 
175
207
  reader = READER_FUNCS.get(filepath.suffix)
@@ -19,7 +19,7 @@ dependencies = [
19
19
  "lnschema_core==0.61.1",
20
20
  "lamindb_setup==0.64.2",
21
21
  "lamin_utils==0.13.0",
22
- "lamin_cli==0.6.0",
22
+ "lamin_cli==0.6.1",
23
23
  # others
24
24
  "rapidfuzz",
25
25
  "pyarrow",
@@ -37,7 +37,7 @@ Home = "https://github.com/laminlabs/lamindb"
37
37
 
38
38
  [project.optional-dependencies]
39
39
  bionty = [
40
- "lnschema_bionty==0.38.3",
40
+ "lnschema_bionty==0.39.0",
41
41
  ]
42
42
  aws = [
43
43
  "botocore==1.31.17", # for aiobotocore inside s3fs, to fix deps resolution
@@ -51,7 +51,7 @@ gcp = [
51
51
  "fsspec[gs]==2023.9.0"
52
52
  ]
53
53
  jupyter = [
54
- "nbproject==0.9.2", # keep pinning
54
+ "nbproject==0.10.0", # keep pinning
55
55
  "nbstripout",
56
56
  "nbconvert",
57
57
  ]
@@ -0,0 +1,3 @@
1
+ """Lamin CLI."""
2
+
3
+ __version__ = "0.6.1"
@@ -13,7 +13,7 @@ def init_script_metadata(script_path: str):
13
13
  from lnschema_core.ids import base62_12
14
14
 
15
15
  stem_uid = base62_12()
16
- version = "0"
16
+ version = "1"
17
17
 
18
18
  with open(script_path) as f:
19
19
  content = f.read()
@@ -331,7 +331,7 @@ def save(filepath: str) -> Optional[str]:
331
331
  else:
332
332
  report_file = ln.Artifact(
333
333
  filepath_html,
334
- description=f"Report of transform {transform.uid}",
334
+ description=f"Report of run {run.uid}",
335
335
  is_new_version_of=initial_report,
336
336
  visibility=0, # hidden file
337
337
  )
@@ -3,6 +3,8 @@
3
3
  <!-- prettier-ignore -->
4
4
  Name | PR | Developer | Date | Version
5
5
  --- | --- | --- | --- | ---
6
+ ⬆️ Rename Bionty to PublicOntology | [214](https://github.com/laminlabs/lnschema-bionty/pull/214) | [sunnyosun](https://github.com/sunnyosun) | 2024-01-12 | 0.39.0
7
+ ✏️ Fix encoding | [213](https://github.com/laminlabs/lnschema-bionty/pull/213) | [sunnyosun](https://github.com/sunnyosun) | 2024-01-12 | 0.38.4
6
8
  🚑️ Re-encode PublicSource | [212](https://github.com/laminlabs/lnschema-bionty/pull/212) | [sunnyosun](https://github.com/sunnyosun) | 2024-01-10 | 0.38.3
7
9
  🔊 Remove logging | [211](https://github.com/laminlabs/lnschema-bionty/pull/211) | [sunnyosun](https://github.com/sunnyosun) | 2024-01-10 | 0.38.2
8
10
  ⚡️ Speed up previous migration | [210](https://github.com/laminlabs/lnschema-bionty/pull/210) | [sunnyosun](https://github.com/sunnyosun) | 2024-01-10 | 0.38.1
@@ -79,7 +79,7 @@ Developer API:
79
79
  dev
80
80
  """
81
81
 
82
- __version__ = "0.38.3" # Denote a release candidate of version 0.1.0 with 0.1rc1
82
+ __version__ = "0.39.0" # Denote a release candidate of version 0.1.0 with 0.1rc1
83
83
 
84
84
  from lamindb_setup import _check_instance_setup
85
85
 
@@ -44,12 +44,12 @@ def create_or_get_organism_record(organism: Optional[Union[str, Registry]], orm:
44
44
  return organism_record
45
45
 
46
46
 
47
- def get_public_source_record(bionty_object: bt.Bionty):
47
+ def get_public_source_record(public_ontology: bt.PublicOntology):
48
48
  kwargs = dict(
49
- entity=bionty_object.__class__.__name__,
50
- organism=bionty_object.organism,
51
- source=bionty_object.source,
52
- version=bionty_object.version,
49
+ entity=public_ontology.__class__.__name__,
50
+ organism=public_ontology.organism,
51
+ source=public_ontology.source,
52
+ version=public_ontology.version,
53
53
  )
54
54
  from .models import PublicSource
55
55
 
@@ -66,36 +66,36 @@ def encode_uid(orm: Registry, kwargs: dict):
66
66
  except AttributeError:
67
67
  name = orm.__class__.__name__.lower()
68
68
  ontology = False
69
- str_to_encode = ""
69
+ str_to_encode = None
70
70
  if name == "gene":
71
- str_to_encode = kwargs.get("ensembl_gene_id", "")
72
- if str_to_encode == "":
73
- str_to_encode = kwargs.get("stable_id", "")
74
- if str_to_encode == "":
75
- str_to_encode = kwargs.get("symbol", "")
76
- if str_to_encode == "":
71
+ str_to_encode = kwargs.get("ensembl_gene_id")
72
+ if str_to_encode is None or str_to_encode == "":
73
+ str_to_encode = kwargs.get("stable_id")
74
+ if str_to_encode is None or str_to_encode == "":
75
+ str_to_encode = kwargs.get("symbol")
76
+ if str_to_encode is None or str_to_encode == "":
77
77
  raise AssertionError("must provide ensembl_gene_id, stable_id or symbol")
78
78
  elif name == "protein":
79
- str_to_encode = kwargs.get("uniprotkb_id", "")
80
- if str_to_encode == "":
81
- str_to_encode = kwargs.get("name", "")
82
- if str_to_encode == "":
79
+ str_to_encode = kwargs.get("uniprotkb_id")
80
+ if str_to_encode is None or str_to_encode == "":
81
+ str_to_encode = kwargs.get("name")
82
+ if str_to_encode is None or str_to_encode == "":
83
83
  raise AssertionError("must provide uniprotkb_id or name")
84
84
  elif name == "cellmarker":
85
- str_to_encode = kwargs.get("name", "")
86
- if str_to_encode == "":
85
+ str_to_encode = kwargs.get("name")
86
+ if str_to_encode is None or str_to_encode == "":
87
87
  raise AssertionError("must provide name")
88
88
  elif name == "publicsource":
89
89
  str_to_encode = f'{kwargs.get("entity", "")}{kwargs.get("source", "")}{kwargs.get("organism", "")}{kwargs.get("version", "")}' # noqa
90
90
  else:
91
- str_to_encode = kwargs.get("ontology_id", "")
92
- if str_to_encode == "":
93
- str_to_encode = kwargs.get("name", "")
94
- if str_to_encode == "":
91
+ str_to_encode = kwargs.get("ontology_id")
92
+ if str_to_encode is None or str_to_encode == "":
93
+ str_to_encode = kwargs.get("name")
94
+ if str_to_encode is None or str_to_encode == "":
95
95
  raise AssertionError("must provide ontology_id or name")
96
96
  ontology = True
97
97
 
98
- if len(str_to_encode) > 0:
98
+ if str_to_encode is not None and len(str_to_encode) > 0:
99
99
  if ontology:
100
100
  id_encoder = ids.ontology
101
101
  else:
@@ -122,8 +122,8 @@ def lookup2kwargs(orm: Registry, *args, **kwargs) -> Dict:
122
122
  organism_record = create_or_get_organism_record(orm=orm.__class__, organism=kwargs.get("organism"))
123
123
  if organism_record is not None:
124
124
  bionty_kwargs["organism"] = organism_record
125
- bionty_object = getattr(bt, orm.__class__.__name__)(organism=organism_record.name if organism_record is not None else None)
126
- bionty_kwargs["public_source"] = get_public_source_record(bionty_object)
125
+ public_ontology = getattr(bt, orm.__class__.__name__)(organism=organism_record.name if organism_record is not None else None)
126
+ bionty_kwargs["public_source"] = get_public_source_record(public_ontology)
127
127
 
128
128
  model_field_names = {i.name for i in orm._meta.fields}
129
129
  model_field_names.add("parents")
@@ -1,7 +1,8 @@
1
- from typing import List, Optional, Tuple, TypeAlias, Union, overload # noqa
1
+ from typing import List, Optional, Tuple, Union, overload # noqa
2
2
 
3
3
  import bionty as bt
4
4
  import numpy as np
5
+ from bionty import PublicOntology
5
6
  from django.db import models
6
7
  from lamin_utils import logger
7
8
  from lnschema_core.models import CanValidate, HasParents, Registry, User
@@ -10,8 +11,6 @@ from lnschema_core.users import current_user_id
10
11
  from . import ids
11
12
  from ._bionty import encode_uid, lookup2kwargs
12
13
 
13
- PublicOntology: TypeAlias = bt.Bionty
14
-
15
14
 
16
15
  class BioRegistry(Registry, HasParents, CanValidate):
17
16
  """Base Registry of lnschema_bionty.
@@ -88,28 +87,28 @@ class BioRegistry(Registry, HasParents, CanValidate):
88
87
  public_source: Optional["PublicSource"] = None,
89
88
  **kwargs,
90
89
  ) -> "PublicOntology":
91
- """The corresponding Bionty object.
90
+ """The corresponding PublicOntology object.
92
91
 
93
- e.g. lnschema_bionty.CellType.public() is equivalent to bionty.CellType().
94
92
  Note that the public source is auto-configured and tracked via :meth:`lnschema_bionty.PublicSource`.
95
93
 
96
94
  See Also:
97
- `Bionty <https://lamin.ai/docs/public-ontologies>`__
95
+ `PublicOntology <https://lamin.ai/docs/public-ontologies>`__
98
96
 
99
97
  Examples:
100
98
  >>> celltype_pub = lb.CellType.public()
101
99
  >>> celltype_pub
102
- CellType
100
+ PublicOntology
101
+ Entity: CellType
103
102
  Organism: all
104
103
  Source: cl, 2023-04-20
105
104
  #terms: 2698
106
105
  ...
107
- 📖 CellType.df(): ontology reference table
108
- 🔎 CellType.lookup(): autocompletion of terms
109
- 🎯 CellType.search(): free text search of terms
110
- 🧐 CellType.inspect(): check if identifiers are mappable
111
- 👽 CellType.standardize(): map synonyms to standardized names
112
- 🔗 CellType.ontology: Pronto.Ontology object
106
+ 📖 .df(): ontology reference table
107
+ 🔎 .lookup(): autocompletion of terms
108
+ 🎯 .search(): free text search of terms
109
+ 🧐 .inspect(): check if identifiers are mappable
110
+ 👽 .standardize(): map synonyms to standardized names
111
+ 🔗 .to_pronto(): Pronto.Ontology object
113
112
  """
114
113
  if cls.__module__.startswith("lnschema_bionty."):
115
114
  # backward compat with renaming species to organism
@@ -129,9 +128,8 @@ class BioRegistry(Registry, HasParents, CanValidate):
129
128
  organism = organism if lb.settings.organism is None else lb.settings.organism.name
130
129
  source = None
131
130
  version = None
132
- bionty_object = getattr(bt, cls.__name__)(organism=organism, source=source, version=version)
133
131
 
134
- return bionty_object
132
+ return getattr(bt, cls.__name__)(organism=organism, source=source, version=version)
135
133
 
136
134
  @classmethod
137
135
  def from_public(cls, **kwargs) -> Optional[Union["BioRegistry", List["BioRegistry"]]]:
@@ -15,7 +15,7 @@ classifiers = [
15
15
  ]
16
16
  dependencies = [
17
17
  "lnschema_core>=0.58.0",
18
- "bionty==0.35.2",
18
+ "bionty==0.36.0",
19
19
  ]
20
20
 
21
21
  [project.urls]