lamindb 0.75.0__tar.gz → 0.75.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 (444) hide show
  1. {lamindb-0.75.0 → lamindb-0.75.1}/PKG-INFO +4 -4
  2. {lamindb-0.75.0 → lamindb-0.75.1}/docs/api.md +1 -1
  3. {lamindb-0.75.0 → lamindb-0.75.1}/docs/bio-registries.ipynb +4 -4
  4. {lamindb-0.75.0 → lamindb-0.75.1}/docs/curate-df.ipynb +113 -37
  5. {lamindb-0.75.0 → lamindb-0.75.1}/docs/introduction.ipynb +2 -1
  6. lamindb-0.75.1/docs/storage/vitessce.ipynb +203 -0
  7. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/__init__.py +1 -1
  8. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_can_validate.py +52 -22
  9. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_curate.py +384 -144
  10. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_from_values.py +8 -8
  11. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_record.py +26 -26
  12. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_save.py +5 -5
  13. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_view.py +13 -11
  14. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/__init__.py +2 -0
  15. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/_data.py +4 -4
  16. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/_feature_manager.py +16 -6
  17. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/schema.py +5 -5
  18. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/storage/__init__.py +11 -2
  19. lamindb-0.75.1/lamindb/core/storage/_valid_suffixes.py +19 -0
  20. lamindb-0.75.1/lamindb/integrations/_vitessce.py +112 -0
  21. {lamindb-0.75.0 → lamindb-0.75.1}/pyproject.toml +3 -3
  22. lamindb-0.75.1/sub/bionty/.github/workflows/update_ontologies.yml +25 -0
  23. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/.gitignore +3 -0
  24. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/.pre-commit-config.yaml +4 -4
  25. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/__init__.py +1 -1
  26. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/_public_ontology.py +10 -9
  27. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/scripts/determine_md5s.py +4 -4
  28. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/scripts/update_new_ontologies.py +1 -1
  29. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/scripts/upload_new_ontologies.py +2 -2
  30. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/sources.yaml +45 -0
  31. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/core/_bionty.py +34 -21
  32. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/models.py +28 -56
  33. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/noxfile.py +7 -8
  34. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/pyproject.toml +4 -4
  35. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_experimentalfactor.py +1 -1
  36. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/__init__.py +1 -1
  37. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_schema_metadata.py +7 -3
  38. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/upath.py +6 -9
  39. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/storage/test_storage_basis.py +1 -1
  40. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/__init__.py +1 -3
  41. lamindb-0.75.1/sub/lnschema-core/lnschema_core/migrations/0060_alter_artifact__actions.py +22 -0
  42. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/models.py +220 -186
  43. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/tests/test_models.py +2 -2
  44. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/wetlab/__init__.py +1 -1
  45. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/wetlab/models.py +11 -11
  46. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_curate.py +1 -1
  47. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_transfer.py +48 -0
  48. lamindb-0.75.0/docs/storage/vitessce.ipynb +0 -163
  49. lamindb-0.75.0/lamindb/core/storage/_valid_suffixes.py +0 -5
  50. lamindb-0.75.0/lamindb/integrations/_vitessce.py +0 -75
  51. {lamindb-0.75.0 → lamindb-0.75.1}/.github/workflows/build.yml +0 -0
  52. {lamindb-0.75.0 → lamindb-0.75.1}/.github/workflows/doc-changes.yml +0 -0
  53. {lamindb-0.75.0 → lamindb-0.75.1}/.gitignore +0 -0
  54. {lamindb-0.75.0 → lamindb-0.75.1}/.gitmodules +0 -0
  55. {lamindb-0.75.0 → lamindb-0.75.1}/.pre-commit-config.yaml +0 -0
  56. {lamindb-0.75.0 → lamindb-0.75.1}/CONTRIBUTING.md +0 -0
  57. {lamindb-0.75.0 → lamindb-0.75.1}/LICENSE +0 -0
  58. {lamindb-0.75.0 → lamindb-0.75.1}/README.md +0 -0
  59. {lamindb-0.75.0 → lamindb-0.75.1}/docs/arrays.ipynb +0 -0
  60. {lamindb-0.75.0 → lamindb-0.75.1}/docs/bionty.md +0 -0
  61. {lamindb-0.75.0 → lamindb-0.75.1}/docs/changelog.md +0 -0
  62. {lamindb-0.75.0 → lamindb-0.75.1}/docs/curate-any.ipynb +0 -0
  63. {lamindb-0.75.0 → lamindb-0.75.1}/docs/curate.md +0 -0
  64. {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq/acid.ipynb +0 -0
  65. {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq/delete.ipynb +0 -0
  66. {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq/idempotency.ipynb +0 -0
  67. {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq/import-schema.ipynb +0 -0
  68. {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq/keep-artifacts-local.ipynb +0 -0
  69. {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq/key.ipynb +0 -0
  70. {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq/reference-field.ipynb +0 -0
  71. {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq/setup.ipynb +0 -0
  72. {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq/test_notebooks.py +0 -0
  73. {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq/track-run-inputs.ipynb +0 -0
  74. {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq/visibility.ipynb +0 -0
  75. {lamindb-0.75.0 → lamindb-0.75.1}/docs/faq.md +0 -0
  76. {lamindb-0.75.0 → lamindb-0.75.1}/docs/guide.md +0 -0
  77. {lamindb-0.75.0 → lamindb-0.75.1}/docs/includes/features-lamindb.md +0 -0
  78. {lamindb-0.75.0 → lamindb-0.75.1}/docs/includes/features-laminhub.md +0 -0
  79. {lamindb-0.75.0 → lamindb-0.75.1}/docs/includes/installation.md +0 -0
  80. {lamindb-0.75.0 → lamindb-0.75.1}/docs/index.md +0 -0
  81. {lamindb-0.75.0 → lamindb-0.75.1}/docs/lamindb.md +0 -0
  82. {lamindb-0.75.0 → lamindb-0.75.1}/docs/query-search.md +0 -0
  83. {lamindb-0.75.0 → lamindb-0.75.1}/docs/readfcs.md +0 -0
  84. {lamindb-0.75.0 → lamindb-0.75.1}/docs/records.ipynb +0 -0
  85. {lamindb-0.75.0 → lamindb-0.75.1}/docs/schemas.ipynb +0 -0
  86. {lamindb-0.75.0 → lamindb-0.75.1}/docs/setup.ipynb +0 -0
  87. {lamindb-0.75.0 → lamindb-0.75.1}/docs/signup-login.md +0 -0
  88. {lamindb-0.75.0 → lamindb-0.75.1}/docs/storage/add-replace-cache.ipynb +0 -0
  89. {lamindb-0.75.0 → lamindb-0.75.1}/docs/storage/anndata-accessor.ipynb +0 -0
  90. {lamindb-0.75.0 → lamindb-0.75.1}/docs/storage/prepare-transfer-local-to-cloud.ipynb +0 -0
  91. {lamindb-0.75.0 → lamindb-0.75.1}/docs/storage/test-files/iris.csv +0 -0
  92. {lamindb-0.75.0 → lamindb-0.75.1}/docs/storage/test-files/iris.data +0 -0
  93. {lamindb-0.75.0 → lamindb-0.75.1}/docs/storage/test-files/new_iris.csv +0 -0
  94. {lamindb-0.75.0 → lamindb-0.75.1}/docs/storage/test_notebooks.py +0 -0
  95. {lamindb-0.75.0 → lamindb-0.75.1}/docs/storage/transfer-local-to-cloud.ipynb +0 -0
  96. {lamindb-0.75.0 → lamindb-0.75.1}/docs/storage/upload.ipynb +0 -0
  97. {lamindb-0.75.0 → lamindb-0.75.1}/docs/storage.md +0 -0
  98. {lamindb-0.75.0 → lamindb-0.75.1}/docs/test_notebooks.py +0 -0
  99. {lamindb-0.75.0 → lamindb-0.75.1}/docs/track.ipynb +0 -0
  100. {lamindb-0.75.0 → lamindb-0.75.1}/docs/transfer.ipynb +0 -0
  101. {lamindb-0.75.0 → lamindb-0.75.1}/docs/tutorial.ipynb +0 -0
  102. {lamindb-0.75.0 → lamindb-0.75.1}/docs/tutorial2.ipynb +0 -0
  103. {lamindb-0.75.0 → lamindb-0.75.1}/docs/wetlab.md +0 -0
  104. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_artifact.py +0 -0
  105. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_collection.py +0 -0
  106. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_feature.py +0 -0
  107. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_feature_set.py +0 -0
  108. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_filter.py +0 -0
  109. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_finish.py +0 -0
  110. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_is_versioned.py +0 -0
  111. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_parents.py +0 -0
  112. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_query_manager.py +0 -0
  113. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_query_set.py +0 -0
  114. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_run.py +0 -0
  115. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_storage.py +0 -0
  116. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_transform.py +0 -0
  117. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_ulabel.py +0 -0
  118. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/_utils.py +0 -0
  119. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/_label_manager.py +0 -0
  120. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/_mapped_collection.py +0 -0
  121. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/_run_context.py +0 -0
  122. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/_settings.py +0 -0
  123. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/_sync_git.py +0 -0
  124. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/_track_environment.py +0 -0
  125. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/datasets/__init__.py +0 -0
  126. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/datasets/_core.py +0 -0
  127. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/datasets/_fake.py +0 -0
  128. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/exceptions.py +0 -0
  129. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/fields.py +0 -0
  130. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/storage/_anndata_accessor.py +0 -0
  131. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/storage/_anndata_sizes.py +0 -0
  132. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/storage/_backed_access.py +0 -0
  133. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/storage/_zarr.py +0 -0
  134. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/storage/objects.py +0 -0
  135. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/storage/paths.py +0 -0
  136. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/subsettings/__init__.py +0 -0
  137. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/subsettings/_creation_settings.py +0 -0
  138. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/subsettings/_transform_settings.py +0 -0
  139. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/types.py +0 -0
  140. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/core/versioning.py +0 -0
  141. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/integrations/__init__.py +0 -0
  142. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/setup/__init__.py +0 -0
  143. {lamindb-0.75.0 → lamindb-0.75.1}/lamindb/setup/core/__init__.py +0 -0
  144. {lamindb-0.75.0 → lamindb-0.75.1}/noxfile.py +0 -0
  145. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/.github/workflows/build.yml +0 -0
  146. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/.github/workflows/doc-changes.yml +0 -0
  147. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/LICENSE +0 -0
  148. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/README.md +0 -0
  149. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/_bionty.py +0 -0
  150. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/__init__.py +0 -0
  151. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/_display_sources.py +0 -0
  152. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/_ontology.py +0 -0
  153. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/_settings.py +0 -0
  154. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/_sync_sources.py +0 -0
  155. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/dev/__init__.py +0 -0
  156. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/dev/_handle_sources.py +0 -0
  157. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/dev/_io.py +0 -0
  158. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/dev/_md5.py +0 -0
  159. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/__init__.py +0 -0
  160. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_bfxpipeline.py +0 -0
  161. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_biosample.py +0 -0
  162. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_cellline.py +0 -0
  163. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_cellmarker.py +0 -0
  164. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_celltype.py +0 -0
  165. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_developmentalstage.py +0 -0
  166. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_disease.py +0 -0
  167. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_drug.py +0 -0
  168. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_ethnicity.py +0 -0
  169. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_experimentalfactor.py +0 -0
  170. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_gene.py +0 -0
  171. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_organism.py +0 -0
  172. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_pathway.py +0 -0
  173. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_phenotype.py +0 -0
  174. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_protein.py +0 -0
  175. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_shared_docstrings.py +0 -0
  176. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/entities/_tissue.py +0 -0
  177. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/scripts/bfxpipelines_info/custom_pipelines.json +0 -0
  178. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/scripts/check_ontologies_reachable.py +0 -0
  179. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/base/scripts/generate_bfxpipelines.py +0 -0
  180. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/core/__init__.py +0 -0
  181. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/core/_add_ontology.py +0 -0
  182. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/core/_settings.py +0 -0
  183. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/ids.py +0 -0
  184. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0023_rename_publicsource_encode_uid.py +0 -0
  185. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0024_remove_cellline_collections_and_more.py +0 -0
  186. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0025_artifactcellline_alter_cellline_artifacts_and_more.py +0 -0
  187. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0026_artifactcellline_cell_line_ref_is_name_and_more.py +0 -0
  188. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0027_remove_artifactcellline_created_at_and_more.py +0 -0
  189. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0028_artifactcellline_created_at_and_more.py +0 -0
  190. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0028_squashed.py +0 -0
  191. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0029_alter_cellline_previous_runs_and_more.py +0 -0
  192. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0030_rename_publicsource_source_and_more.py +0 -0
  193. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0031_alter_cellmarker_name_and_more.py +0 -0
  194. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0032_rename_source_name_source_description_and_more.py +0 -0
  195. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0033_alter_artifactcellline_artifact_and_more.py +0 -0
  196. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/0034_alter_source_unique_together.py +0 -0
  197. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/bionty/migrations/__init__.py +0 -0
  198. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/developer/updating_source.md +0 -0
  199. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/guide/comparison.md +0 -0
  200. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/guide/concepts.md +0 -0
  201. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/guide/config.md +0 -0
  202. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/guide/extend.md +0 -0
  203. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/guide/ontology.ipynb +0 -0
  204. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/guide/search.ipynb +0 -0
  205. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/guide/sources.ipynb +0 -0
  206. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/guide/test_notebooks.py +0 -0
  207. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/guide/validate.ipynb +0 -0
  208. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/guide.md +0 -0
  209. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/index.md +0 -0
  210. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/docs/reference.md +0 -0
  211. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/lamin-project.yaml +0 -0
  212. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/dev/test_handle_sources.py +0 -0
  213. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/dev/test_io.py +0 -0
  214. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_bfxpipeline.py +0 -0
  215. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_biosample.py +0 -0
  216. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_cellline.py +0 -0
  217. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_cellmarker.py +0 -0
  218. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_celltype.py +0 -0
  219. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_developmentalstage.py +0 -0
  220. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_disease.py +0 -0
  221. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_drug.py +0 -0
  222. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_ethnicity.py +0 -0
  223. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_gene.py +0 -0
  224. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_organism.py +0 -0
  225. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_pathway.py +0 -0
  226. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_phenotype.py +0 -0
  227. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_protein.py +0 -0
  228. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/entities/test_tissue.py +0 -0
  229. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/test_bionty.py +0 -0
  230. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/test_lamindb.py +0 -0
  231. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/test_md5.py +0 -0
  232. {lamindb-0.75.0 → lamindb-0.75.1}/sub/bionty/tests/test_ontology.py +0 -0
  233. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/.github/workflows/doc-changes.yml +0 -0
  234. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/.gitignore +0 -0
  235. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/.pre-commit-config.yaml +0 -0
  236. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/README.md +0 -0
  237. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/lamin_cli/__init__.py +0 -0
  238. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/lamin_cli/__main__.py +0 -0
  239. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/lamin_cli/_cache.py +0 -0
  240. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/lamin_cli/_get.py +0 -0
  241. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/lamin_cli/_migration.py +0 -0
  242. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/lamin_cli/_save.py +0 -0
  243. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/pyproject.toml +0 -0
  244. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/conftest.py +0 -0
  245. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
  246. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +0 -0
  247. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +0 -0
  248. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/scripts/merely-import-lamindb.py +0 -0
  249. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/scripts/run-track-and-finish-sync-git.py +0 -0
  250. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/scripts/run-track-and-finish.py +0 -0
  251. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/test_cli.py +0 -0
  252. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/test_get.py +0 -0
  253. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/test_migrate.py +0 -0
  254. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/test_multi_process.py +0 -0
  255. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/test_save_files.py +0 -0
  256. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/test_save_notebooks.py +0 -0
  257. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamin-cli/tests/test_save_scripts.py +0 -0
  258. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/.github/workflows/build.yml +0 -0
  259. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/.github/workflows/doc-changes.yml +0 -0
  260. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/.gitignore +0 -0
  261. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/.pre-commit-config.yaml +0 -0
  262. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/LICENSE +0 -0
  263. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/README.md +0 -0
  264. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/changelog.md +0 -0
  265. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-cloud/01-init-local-instance.ipynb +0 -0
  266. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-cloud/02-connect-local-instance.ipynb +0 -0
  267. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-cloud/03-add-managed-storage.ipynb +0 -0
  268. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-cloud/04-test-bionty.ipynb +0 -0
  269. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-cloud/05-init-hosted-instance.ipynb +0 -0
  270. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-cloud/06-connect-hosted-instance.ipynb +0 -0
  271. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-cloud/07-keep-artifacts-local.ipynb +0 -0
  272. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-cloud/test-multi-session.ipynb +0 -0
  273. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-cloud/test_notebooks.py +0 -0
  274. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-prod/test-cache-management.ipynb +0 -0
  275. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-prod/test-cloud-sync.ipynb +0 -0
  276. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-prod/test-connect-anonymously.ipynb +0 -0
  277. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-prod/test-empty-init.ipynb +0 -0
  278. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-prod/test-import-schema.ipynb +0 -0
  279. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-prod/test-insufficient-user-info.ipynb +0 -0
  280. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-prod/test-invalid-schema.ipynb +0 -0
  281. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-prod/test-sqlite-lock.ipynb +0 -0
  282. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/hub-prod/test_notebooks2.py +0 -0
  283. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/index.md +0 -0
  284. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/notebooks.md +0 -0
  285. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/docs/reference.md +0 -0
  286. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
  287. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_check.py +0 -0
  288. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_check_setup.py +0 -0
  289. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
  290. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_connect_instance.py +0 -0
  291. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_delete.py +0 -0
  292. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_django.py +0 -0
  293. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_exportdb.py +0 -0
  294. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_importdb.py +0 -0
  295. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_init_instance.py +0 -0
  296. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_migrate.py +0 -0
  297. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
  298. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
  299. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_set_managed_storage.py +0 -0
  300. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_setup_user.py +0 -0
  301. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
  302. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/__init__.py +0 -0
  303. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_aws_credentials.py +0 -0
  304. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_aws_storage.py +0 -0
  305. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_deprecated.py +0 -0
  306. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_docs.py +0 -0
  307. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_hub_client.py +0 -0
  308. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_hub_core.py +0 -0
  309. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_hub_crud.py +0 -0
  310. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_hub_utils.py +0 -0
  311. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_private_django_api.py +0 -0
  312. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_settings.py +0 -0
  313. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_settings_instance.py +0 -0
  314. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_settings_load.py +0 -0
  315. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_settings_save.py +0 -0
  316. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_settings_storage.py +0 -0
  317. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_settings_store.py +0 -0
  318. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_settings_user.py +0 -0
  319. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/_setup_bionty_sources.py +0 -0
  320. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/cloud_sqlite_locker.py +0 -0
  321. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/django.py +0 -0
  322. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/exceptions.py +0 -0
  323. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/hashing.py +0 -0
  324. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/lamindb_setup/core/types.py +0 -0
  325. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/noxfile.py +0 -0
  326. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/pyproject.toml +0 -0
  327. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-cloud/test_connect_instance.py +0 -0
  328. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-cloud/test_delete_instance.py +0 -0
  329. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-cloud/test_init_instance.py +0 -0
  330. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-cloud/test_login.py +0 -0
  331. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-cloud/test_migrate.py +0 -0
  332. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-cloud/test_set_storage.py +0 -0
  333. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-local/conftest.py +0 -0
  334. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-local/test_all.py +0 -0
  335. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-local/test_update_schema_in_hub.py +0 -0
  336. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-prod/conftest.py +0 -0
  337. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-prod/test_django.py +0 -0
  338. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-prod/test_global_settings.py +0 -0
  339. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-prod/test_switch_and_fallback_env.py +0 -0
  340. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/hub-prod/test_upath.py +0 -0
  341. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/storage/test_hashing.py +0 -0
  342. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/storage/test_storage_access.py +0 -0
  343. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/storage/test_storage_stats.py +0 -0
  344. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lamindb-setup/tests/storage/test_to_url.py +0 -0
  345. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/.github/workflows/build.yml +0 -0
  346. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/.github/workflows/doc-changes.yml +0 -0
  347. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/.gitignore +0 -0
  348. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/.pre-commit-config.yaml +0 -0
  349. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/CHANGELOG.md +0 -0
  350. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/LICENSE +0 -0
  351. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/README.md +0 -0
  352. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/ids.py +0 -0
  353. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0037_rename_dataset_to_collection.py +0 -0
  354. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0038_alter_collection_artifact_alter_collection_artifacts_and_more.py +0 -0
  355. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0039_remove_collection_artifacts_collectionartifact_and_more.py +0 -0
  356. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0040_alter_transform_type.py +0 -0
  357. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0041_remove_transform_short_name_transform_description_and_more.py +0 -0
  358. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0042_rename_run_at_run_started_at_run_finished_at.py +0 -0
  359. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0043_run_json.py +0 -0
  360. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0044_run_replicated_outputs_transform_ulabels_and_more.py +0 -0
  361. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0045_rename_replicated_outputs_run_replicated_output_artifacts_and_more.py +0 -0
  362. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0046_storage_instance_uid.py +0 -0
  363. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0047_featurevalue_artifactfeaturevalue_and_more.py +0 -0
  364. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0048_alter_artifactulabel_feature_and_more.py +0 -0
  365. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0049_rename_type_feature_dtype_and_more.py +0 -0
  366. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0050_artifactfeatureset_feature_ref_is_semantic_and_more.py +0 -0
  367. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0051_remove_feature_feature_sets_featuresetfeature_and_more.py +0 -0
  368. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0052_rename_feature_value_artifactfeaturevalue_featurevalue_and_more.py +0 -0
  369. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0052_squashed.py +0 -0
  370. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0053_alter_featureset_hash_alter_paramvalue_created_by_and_more.py +0 -0
  371. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0054_alter_feature_previous_runs_and_more.py +0 -0
  372. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0055_artifact_type_artifactparamvalue_and_more.py +0 -0
  373. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0056_rename_ulabel_ref_is_name_artifactulabel_label_ref_is_name_and_more.py +0 -0
  374. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0057_link_models_latest_report_and_others.py +0 -0
  375. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0058_artifact__actions_collection__actions.py +0 -0
  376. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/0059_alter_artifact__accessor_alter_artifact__hash_type_and_more.py +0 -0
  377. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
  378. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/mocks.py +0 -0
  379. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/types.py +0 -0
  380. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/lnschema_core/users.py +0 -0
  381. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/noxfile.py +0 -0
  382. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/pyproject.toml +0 -0
  383. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/tests/conftest.py +0 -0
  384. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/tests/test_integrity.py +0 -0
  385. {lamindb-0.75.0 → lamindb-0.75.1}/sub/lnschema-core/tests/test_types.py +0 -0
  386. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/.github/workflows/build.yml +0 -0
  387. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/.github/workflows/doc-changes.yml +0 -0
  388. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/.gitignore +0 -0
  389. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/.pre-commit-config.yaml +0 -0
  390. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/README.md +0 -0
  391. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/docs/changelog.md +0 -0
  392. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/docs/guide/get-started.ipynb +0 -0
  393. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/docs/guide/modeling_perturbations.ipynb +0 -0
  394. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/docs/guide.md +0 -0
  395. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/docs/index.md +0 -0
  396. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/docs/reference.md +0 -0
  397. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/noxfile.py +0 -0
  398. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/pyproject.toml +0 -0
  399. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/tests/test_integrity.py +0 -0
  400. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/tests/test_notebooks.py +0 -0
  401. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/wetlab/migrations/0017_remove_biosample_artifacts.py +0 -0
  402. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/wetlab/migrations/0018_squashed.py +0 -0
  403. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/wetlab/migrations/0018_well_created_at_well_created_by_well_updated_at.py +0 -0
  404. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/wetlab/migrations/0019_alter_treatment_system.py +0 -0
  405. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/wetlab/migrations/0020_treatmenttarget_pathways_treatmenttarget_proteins_and_more.py +0 -0
  406. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/wetlab/migrations/0021_alter_compoundtreatment_duration_unit_and_more.py +0 -0
  407. {lamindb-0.75.0 → lamindb-0.75.1}/sub/wetlab/wetlab/migrations/__init__.py +0 -0
  408. {lamindb-0.75.0 → lamindb-0.75.1}/tests/conftest.py +0 -0
  409. {lamindb-0.75.0 → lamindb-0.75.1}/tests/notebooks/initialized-with-nbproject.ipynb +0 -0
  410. {lamindb-0.75.0 → lamindb-0.75.1}/tests/notebooks/no-title.ipynb +0 -0
  411. {lamindb-0.75.0 → lamindb-0.75.1}/tests/notebooks/not-initialized.ipynb +0 -0
  412. {lamindb-0.75.0 → lamindb-0.75.1}/tests/notebooks/with-title-initialized-consecutive-finish-not-last-cell.ipynb +0 -0
  413. {lamindb-0.75.0 → lamindb-0.75.1}/tests/notebooks/with-title-initialized-consecutive-finish.ipynb +0 -0
  414. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_artifact.py +0 -0
  415. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_artifact_folders.py +0 -0
  416. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_cache.py +0 -0
  417. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_can_validate.py +0 -0
  418. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_collection.py +0 -0
  419. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_data.py +0 -0
  420. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_db.py +0 -0
  421. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_delete.py +0 -0
  422. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_feature.py +0 -0
  423. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_feature_manager.py +0 -0
  424. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_feature_set.py +0 -0
  425. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_from_values.py +0 -0
  426. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_label_manager.py +0 -0
  427. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_load.py +0 -0
  428. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_manager.py +0 -0
  429. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_notebooks.py +0 -0
  430. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_parents.py +0 -0
  431. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_queryset.py +0 -0
  432. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_record.py +0 -0
  433. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_run.py +0 -0
  434. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_run_context.py +0 -0
  435. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_save.py +0 -0
  436. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_search.py +0 -0
  437. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_settings.py +0 -0
  438. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_storage.py +0 -0
  439. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_transform.py +0 -0
  440. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_uid.py +0 -0
  441. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_ulabel.py +0 -0
  442. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_versioning.py +0 -0
  443. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_view.py +0 -0
  444. {lamindb-0.75.0 → lamindb-0.75.1}/tests/test_visibility.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lamindb
3
- Version: 0.75.0
3
+ Version: 0.75.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,8 +9,8 @@ Classifier: Programming Language :: Python :: 3.8
9
9
  Classifier: Programming Language :: Python :: 3.9
10
10
  Classifier: Programming Language :: Python :: 3.10
11
11
  Classifier: Programming Language :: Python :: 3.11
12
- Requires-Dist: lnschema_core==0.72.1
13
- Requires-Dist: lamindb_setup==0.76.2
12
+ Requires-Dist: lnschema_core==0.72.2
13
+ Requires-Dist: lamindb_setup==0.76.3
14
14
  Requires-Dist: lamin_utils==0.13.2
15
15
  Requires-Dist: lamin_cli==0.16.0
16
16
  Requires-Dist: rapidfuzz
@@ -24,7 +24,7 @@ Requires-Dist: pandas
24
24
  Requires-Dist: graphviz
25
25
  Requires-Dist: psycopg2-binary
26
26
  Requires-Dist: lamindb_setup[aws] ; extra == "aws"
27
- Requires-Dist: bionty==0.47.1 ; extra == "bionty"
27
+ Requires-Dist: bionty==0.48.0 ; extra == "bionty"
28
28
  Requires-Dist: pre-commit ; extra == "dev"
29
29
  Requires-Dist: nox ; extra == "dev"
30
30
  Requires-Dist: laminci>=0.3 ; extra == "dev"
@@ -20,7 +20,7 @@ lamindb
20
20
 
21
21
  ```{toctree}
22
22
  :maxdepth: 1
23
- :caption: Plug-ins
23
+ :caption: Plugins
24
24
  :hidden:
25
25
 
26
26
  bionty
@@ -20,7 +20,7 @@
20
20
  "cell_type": "markdown",
21
21
  "metadata": {},
22
22
  "source": [
23
- "With plug-in {mod}`bionty`, it's easy to import records from public biological ontologies."
23
+ "This guide shows how to manage metadata for basic biological entities based on plugin {mod}`bionty`."
24
24
  ]
25
25
  },
26
26
  {
@@ -541,7 +541,7 @@
541
541
  "source": [
542
542
  "Several registries are organism-aware (has a `.organism` field), for instance, {class}`~bionty.Gene`.\n",
543
543
  "\n",
544
- "In this case, API calls that interact with multi-organism registries requires a `organism` argument (name or {class}`~bionty.CellType`) when there's ambiguity."
544
+ "In this case, API calls that interact with multi-organism registries require an `organism` argument when there's ambiguity."
545
545
  ]
546
546
  },
547
547
  {
@@ -584,7 +584,7 @@
584
584
  "cell_type": "markdown",
585
585
  "metadata": {},
586
586
  "source": [
587
- "And when working with the same organism throughout your analysis/workflow, you can omit the `organism` argument by configuring it globally:"
587
+ "When working with the same organism throughout your analysis/workflow, you can omit the `organism` argument by configuring it globally:"
588
588
  ]
589
589
  },
590
590
  {
@@ -757,7 +757,7 @@
757
757
  "name": "python",
758
758
  "nbconvert_exporter": "python",
759
759
  "pygments_lexer": "ipython3",
760
- "version": "3.10.13"
760
+ "version": "3.11.7"
761
761
  },
762
762
  "nbproject": {
763
763
  "id": "s7F7PezA1HdQ",
@@ -75,12 +75,15 @@
75
75
  },
76
76
  "outputs": [],
77
77
  "source": [
78
- "df = pd.DataFrame({\n",
79
- " \"temperature\": [37.2, 36.3, 38.2],\n",
80
- " \"cell_type\": [\"cerebral pyramidal neuron\", \"astrocyte\", \"oligodendrocyte\"],\n",
81
- " \"assay_ontology_id\": [\"EFO:0008913\", \"EFO:0008913\", \"EFO:0008913\"],\n",
82
- " \"donor\": [\"D0001\", \"D0002\", \"DOOO3\"],\n",
83
- "})\n",
78
+ "df = pd.DataFrame(\n",
79
+ " {\n",
80
+ " \"temperature\": [37.2, 36.3, 38.2],\n",
81
+ " \"cell_type\": [\"cerebral pyramidal neuron\", \"astrocyte\", \"oligodendrocyte\"],\n",
82
+ " \"assay_ontology_id\": [\"EFO:0008913\", \"EFO:0008913\", \"EFO:0008913\"],\n",
83
+ " \"donor\": [\"D0001\", \"D0002\", \"DOOO3\"]\n",
84
+ " },\n",
85
+ " index = [\"obs1\", \"obs2\", \"obs3\"]\n",
86
+ ")\n",
84
87
  "df"
85
88
  ]
86
89
  },
@@ -109,8 +112,24 @@
109
112
  " \"cell_type\": bt.CellType.name,\n",
110
113
  " \"assay_ontology_id\": bt.ExperimentalFactor.ontology_id,\n",
111
114
  " \"donor\": ln.ULabel.name,\n",
112
- "}\n",
113
- "\n",
115
+ "}"
116
+ ]
117
+ },
118
+ {
119
+ "cell_type": "markdown",
120
+ "id": "6c293ddf",
121
+ "metadata": {},
122
+ "source": [
123
+ "Now, initialize a Curate object by passing data and its validation criteria:"
124
+ ]
125
+ },
126
+ {
127
+ "cell_type": "code",
128
+ "execution_count": null,
129
+ "id": "78424b30",
130
+ "metadata": {},
131
+ "outputs": [],
132
+ "source": [
114
133
  "# create an Curate object to guide validation and annotation\n",
115
134
  "# this object will use our DataFrame and the defined categorical criteria\n",
116
135
  "curate = ln.Curate.from_df(df, categoricals=categoricals)"
@@ -150,17 +169,6 @@
150
169
  "Because our current database instance is empty, here, we'll add values to the registries defined in the validation criteria."
151
170
  ]
152
171
  },
153
- {
154
- "cell_type": "code",
155
- "execution_count": null,
156
- "id": "65bb5e39",
157
- "metadata": {},
158
- "outputs": [],
159
- "source": [
160
- "# this adds assays that were validated (via a public ontology)\n",
161
- "curate.add_validated_from(\"assay_ontology_id\")"
162
- ]
163
- },
164
172
  {
165
173
  "cell_type": "code",
166
174
  "execution_count": null,
@@ -172,8 +180,8 @@
172
180
  },
173
181
  "outputs": [],
174
182
  "source": [
175
- "# this adds cell types that were _not_ validated\n",
176
- "curate.add_new_from(\"cell_type\")"
183
+ "# this adds cell types that were validated (via a public ontology)\n",
184
+ "curate.add_validated_from(\"cell_type\")"
177
185
  ]
178
186
  },
179
187
  {
@@ -220,10 +228,25 @@
220
228
  "source": [
221
229
  "# curate the cell type\n",
222
230
  "df.cell_type = df.cell_type.replace({\"cerebral pyramidal neuron\": cell_types.cerebral_cortex_pyramidal_neuron.name})\n",
223
- "# register validated cell types\n",
231
+ "# now register curated and validated cell types\n",
224
232
  "curate.add_validated_from(df.cell_type.name)"
225
233
  ]
226
234
  },
235
+ {
236
+ "cell_type": "code",
237
+ "execution_count": null,
238
+ "id": "ede057e8",
239
+ "metadata": {
240
+ "tags": [
241
+ "hide-output"
242
+ ]
243
+ },
244
+ "outputs": [],
245
+ "source": [
246
+ "# this adds assays that were validated (via a public ontology)\n",
247
+ "curate.add_validated_from(\"assay_ontology_id\")"
248
+ ]
249
+ },
227
250
  {
228
251
  "cell_type": "code",
229
252
  "execution_count": null,
@@ -235,7 +258,7 @@
235
258
  },
236
259
  "outputs": [],
237
260
  "source": [
238
- "# register non-validated donors\n",
261
+ "# this adds donors that were _not_ validated\n",
239
262
  "curate.add_new_from(df.donor.name)"
240
263
  ]
241
264
  },
@@ -262,7 +285,7 @@
262
285
  "source": [
263
286
  "## Validate an AnnData object\n",
264
287
  "\n",
265
- "Here we addtionally specify which `var_fields` to validate against."
288
+ "Here we addtionally specify which `var_index` to validate against."
266
289
  ]
267
290
  },
268
291
  {
@@ -276,9 +299,17 @@
276
299
  },
277
300
  "outputs": [],
278
301
  "source": [
279
- "df.index = [\"obs1\", \"obs2\", \"obs3\"]\n",
280
- "\n",
281
- "X = pd.DataFrame({\"TCF7\": [1, 2, 3], \"PDCD1\": [4, 5, 6], \"CD3E\": [7, 8, 9], \"CD4\": [10, 11, 12], \"CD8A\": [13, 14, 15]}, index=[\"obs1\", \"obs2\", \"obs3\"])\n",
302
+ "X = pd.DataFrame(\n",
303
+ " {\n",
304
+ " \"ENSG00000081059\": [1, 2, 3], \n",
305
+ " \"ENSG00000276977\": [4, 5, 6], \n",
306
+ " \"ENSG00000198851\": [7, 8, 9], \n",
307
+ " \"ENSG00000010610\": [10, 11, 12], \n",
308
+ " \"ENSG00000153563\": [13, 14, 15],\n",
309
+ " \"corrupted\": [16, 17, 18]\n",
310
+ " }, \n",
311
+ " index=df.index\n",
312
+ ")\n",
282
313
  "\n",
283
314
  "adata = ad.AnnData(X=X, obs=df)\n",
284
315
  "adata"
@@ -297,7 +328,7 @@
297
328
  "source": [
298
329
  "curate = ln.Curate.from_anndata(\n",
299
330
  " adata, \n",
300
- " var_index=bt.Gene.symbol,\n",
331
+ " var_index=bt.Gene.ensembl_gene_id, # validate var.index against Gene.ensembl_gene_id\n",
301
332
  " categoricals=categoricals, \n",
302
333
  " organism=\"human\",\n",
303
334
  ")"
@@ -317,24 +348,62 @@
317
348
  "curate.validate()"
318
349
  ]
319
350
  },
351
+ {
352
+ "cell_type": "markdown",
353
+ "id": "a8a7a653",
354
+ "metadata": {},
355
+ "source": [
356
+ "## Curate data object to pass validation"
357
+ ]
358
+ },
359
+ {
360
+ "cell_type": "markdown",
361
+ "id": "614545ea",
362
+ "metadata": {},
363
+ "source": [
364
+ "Non-validated terms can be accessed via:"
365
+ ]
366
+ },
320
367
  {
321
368
  "cell_type": "code",
322
369
  "execution_count": null,
323
- "id": "7877c058",
324
- "metadata": {
325
- "tags": [
326
- "hide-output"
327
- ]
328
- },
370
+ "id": "4e2fd290",
371
+ "metadata": {},
329
372
  "outputs": [],
330
373
  "source": [
331
- "curate.add_validated_from(\"all\")"
374
+ "curate.non_validated"
375
+ ]
376
+ },
377
+ {
378
+ "cell_type": "markdown",
379
+ "id": "b2ec4aeb",
380
+ "metadata": {},
381
+ "source": [
382
+ "Subset anndata object to validated genes only:"
383
+ ]
384
+ },
385
+ {
386
+ "cell_type": "code",
387
+ "execution_count": null,
388
+ "id": "3c47e4b7",
389
+ "metadata": {},
390
+ "outputs": [],
391
+ "source": [
392
+ "adata_validated = adata[:, ~adata.var.index.isin(curate.non_validated[\"var_index\"])].copy()"
393
+ ]
394
+ },
395
+ {
396
+ "cell_type": "markdown",
397
+ "id": "1b0b2b10",
398
+ "metadata": {},
399
+ "source": [
400
+ "Now let's validate the subsetted object:"
332
401
  ]
333
402
  },
334
403
  {
335
404
  "cell_type": "code",
336
405
  "execution_count": null,
337
- "id": "0e139bda",
406
+ "id": "6ac64695",
338
407
  "metadata": {
339
408
  "tags": [
340
409
  "hide-output"
@@ -342,6 +411,13 @@
342
411
  },
343
412
  "outputs": [],
344
413
  "source": [
414
+ "curate = ln.Curate.from_anndata(\n",
415
+ " adata_validated, \n",
416
+ " var_index=bt.Gene.ensembl_gene_id, # validate var.index against Gene.ensembl_gene_id\n",
417
+ " categoricals=categoricals, \n",
418
+ " organism=\"human\",\n",
419
+ ")\n",
420
+ "\n",
345
421
  "curate.validate()"
346
422
  ]
347
423
  },
@@ -431,7 +507,7 @@
431
507
  "name": "python",
432
508
  "nbconvert_exporter": "python",
433
509
  "pygments_lexer": "ipython3",
434
- "version": "3.1.-1"
510
+ "version": "3.10.13"
435
511
  },
436
512
  "nbproject": {
437
513
  "id": "WOK3vP0bNGLx",
@@ -804,6 +804,7 @@
804
804
  " categoricals={adata.obs.perturbation.name: ln.ULabel.name}, \n",
805
805
  " organism=\"human\", # specify the organism for the Gene registry\n",
806
806
  ")\n",
807
+ "curate.add_validated_from_var_index()\n",
807
808
  "curate.validate()\n",
808
809
  "\n",
809
810
  "# save curated artifact\n",
@@ -1163,7 +1164,7 @@
1163
1164
  "\n",
1164
1165
  "### Repositories\n",
1165
1166
  "\n",
1166
- "LaminDB and its plug-ins consist in open-source Python libraries & publicly hosted metadata assets:\n",
1167
+ "LaminDB and its plugins consist in open-source Python libraries & publicly hosted metadata assets:\n",
1167
1168
  "\n",
1168
1169
  "- [lamindb](https://github.com/laminlabs/lamindb): Core package.\n",
1169
1170
  "- [bionty](https://github.com/laminlabs/bionty): Registries for basic biological entities, coupled to public ontologies.\n",
@@ -0,0 +1,203 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "metadata": {},
6
+ "source": [
7
+ "# Vitessce integration"
8
+ ]
9
+ },
10
+ {
11
+ "cell_type": "markdown",
12
+ "metadata": {},
13
+ "source": [
14
+ "For more comprehensive integration tests, see: https://github.com/laminlabs/lamin-spatial"
15
+ ]
16
+ },
17
+ {
18
+ "cell_type": "code",
19
+ "execution_count": null,
20
+ "metadata": {},
21
+ "outputs": [],
22
+ "source": [
23
+ "!lamin login testuser1\n",
24
+ "!lamin init --storage \"s3://lamindb-ci/test-vitessce\""
25
+ ]
26
+ },
27
+ {
28
+ "cell_type": "code",
29
+ "execution_count": null,
30
+ "metadata": {},
31
+ "outputs": [],
32
+ "source": [
33
+ "import lamindb as ln\n",
34
+ "import pytest\n",
35
+ "from vitessce import (\n",
36
+ " VitessceConfig,\n",
37
+ " Component as cm,\n",
38
+ " AnnDataWrapper,\n",
39
+ ")"
40
+ ]
41
+ },
42
+ {
43
+ "cell_type": "markdown",
44
+ "metadata": {},
45
+ "source": [
46
+ "Set up test data:"
47
+ ]
48
+ },
49
+ {
50
+ "cell_type": "code",
51
+ "execution_count": null,
52
+ "metadata": {},
53
+ "outputs": [],
54
+ "source": [
55
+ "pbmc68k = ln.core.datasets.anndata_pbmc68k_reduced()[:100, :200].copy()\n",
56
+ "zarr_filepath = \"my_test.zarr\"\n",
57
+ "# write the anndata to a local zarr path\n",
58
+ "pbmc68k.write_zarr(zarr_filepath)\n",
59
+ "# create an artifact from the path\n",
60
+ "dataset_artifact = ln.Artifact(zarr_filepath, description=\"Test dataset\").save()\n",
61
+ "# this is the where the zarr folder is located on a public S3 bucket\n",
62
+ "dataset_artifact.path.to_url()"
63
+ ]
64
+ },
65
+ {
66
+ "cell_type": "markdown",
67
+ "metadata": {},
68
+ "source": [
69
+ "Create a `VitessceConfig` object: "
70
+ ]
71
+ },
72
+ {
73
+ "cell_type": "code",
74
+ "execution_count": null,
75
+ "metadata": {
76
+ "tags": [
77
+ "hide-output"
78
+ ]
79
+ },
80
+ "outputs": [],
81
+ "source": [
82
+ "vc = VitessceConfig(schema_version=\"1.0.15\")\n",
83
+ "vc.add_dataset(name=\"test1\").add_object(\n",
84
+ " AnnDataWrapper(\n",
85
+ " adata_url=dataset_artifact.path.to_url(),\n",
86
+ " obs_embedding_paths=[\"obsm/X_umap\"],\n",
87
+ " ),\n",
88
+ ")\n",
89
+ "vc.to_dict()"
90
+ ]
91
+ },
92
+ {
93
+ "cell_type": "code",
94
+ "execution_count": null,
95
+ "metadata": {},
96
+ "outputs": [],
97
+ "source": [
98
+ "vitessce_config_artifact = ln.integrations.save_vitessce_config(vc, description=\"View testdata in Vitessce\")"
99
+ ]
100
+ },
101
+ {
102
+ "cell_type": "code",
103
+ "execution_count": null,
104
+ "metadata": {},
105
+ "outputs": [],
106
+ "source": [
107
+ "# different equivalent ways of testing that the action is attached\n",
108
+ "assert dataset_artifact._actions.get() == vitessce_config_artifact\n",
109
+ "assert vitessce_config_artifact._action_targets.get() == dataset_artifact\n",
110
+ "assert vitessce_config_artifact._actions.first() is None\n",
111
+ "assert ln.Artifact.filter(_actions=vitessce_config_artifact).one() == dataset_artifact"
112
+ ]
113
+ },
114
+ {
115
+ "cell_type": "code",
116
+ "execution_count": null,
117
+ "metadata": {},
118
+ "outputs": [],
119
+ "source": [
120
+ "dataset_artifact.delete(permanent=True)\n",
121
+ "vitessce_config_artifact.delete(permanent=True)"
122
+ ]
123
+ },
124
+ {
125
+ "cell_type": "markdown",
126
+ "metadata": {},
127
+ "source": [
128
+ "Test validation within `save_vitessce_config`:"
129
+ ]
130
+ },
131
+ {
132
+ "cell_type": "code",
133
+ "execution_count": null,
134
+ "metadata": {},
135
+ "outputs": [],
136
+ "source": [
137
+ "# use a corrupted suffix\n",
138
+ "vc = VitessceConfig(schema_version=\"1.0.15\")\n",
139
+ "vc.add_dataset(name=\"test1\").add_object(\n",
140
+ " AnnDataWrapper(\n",
141
+ " adata_url=dataset_artifact.path.to_url() + \".random\",\n",
142
+ " obs_embedding_paths=[\"obsm/X_umap\"],\n",
143
+ " ),\n",
144
+ ")\n",
145
+ "with pytest.raises(ValueError) as error:\n",
146
+ " ln.integrations.save_vitessce_config(vc)\n",
147
+ "print(error.exconly())\n",
148
+ "assert error.exconly().startswith(\"ValueError: Suffix should be '.zarr' or one of\")\n",
149
+ "assert error.exconly().endswith(\".random\")\n"
150
+ ]
151
+ },
152
+ {
153
+ "cell_type": "code",
154
+ "execution_count": null,
155
+ "metadata": {},
156
+ "outputs": [],
157
+ "source": [
158
+ "# use a corrupted stem_uid\n",
159
+ "vc = VitessceConfig(schema_version=\"1.0.15\")\n",
160
+ "vc.add_dataset(name=\"test1\").add_object(\n",
161
+ " AnnDataWrapper(\n",
162
+ " adata_url=dataset_artifact.path.to_url().replace(dataset_artifact.stem_uid, \"not-a-valid-uid\"),\n",
163
+ " obs_embedding_paths=[\"obsm/X_umap\"],\n",
164
+ " ),\n",
165
+ ")\n",
166
+ "with pytest.raises(ValueError) as error:\n",
167
+ " ln.integrations.save_vitessce_config(vc)\n",
168
+ "print(error.exconly())\n",
169
+ "assert error.exconly().startswith(\"ValueError: Could not find dataset with stem uid 'not-a-valid-uid' in lamindb\")"
170
+ ]
171
+ },
172
+ {
173
+ "cell_type": "code",
174
+ "execution_count": null,
175
+ "metadata": {},
176
+ "outputs": [],
177
+ "source": [
178
+ "ln.setup.delete(\"test-vitessce\", force=True)"
179
+ ]
180
+ }
181
+ ],
182
+ "metadata": {
183
+ "kernelspec": {
184
+ "display_name": "py310",
185
+ "language": "python",
186
+ "name": "python3"
187
+ },
188
+ "language_info": {
189
+ "codemirror_mode": {
190
+ "name": "ipython",
191
+ "version": 3
192
+ },
193
+ "file_extension": ".py",
194
+ "mimetype": "text/x-python",
195
+ "name": "python",
196
+ "nbconvert_exporter": "python",
197
+ "pygments_lexer": "ipython3",
198
+ "version": "3.10.13"
199
+ }
200
+ },
201
+ "nbformat": 4,
202
+ "nbformat_minor": 2
203
+ }
@@ -42,7 +42,7 @@ Modules & settings:
42
42
  """
43
43
 
44
44
  # denote a release candidate for 0.1.0 with 0.1rc1, 0.1a1, 0.1b1, etc.
45
- __version__ = "0.75.0"
45
+ __version__ = "0.75.1"
46
46
 
47
47
  import os as _os
48
48