lamindb 0.76.16__tar.gz → 0.77.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (610) hide show
  1. lamindb-0.77.2/.github/ISSUE_TEMPLATE/bug_report.yml +15 -0
  2. {lamindb-0.76.16 → lamindb-0.77.2}/.github/ISSUE_TEMPLATE/config.yml +2 -2
  3. lamindb-0.77.2/.github/ISSUE_TEMPLATE/enhancement.yml +12 -0
  4. lamindb-0.77.2/.github/ISSUE_TEMPLATE/usage_question.yml +14 -0
  5. {lamindb-0.76.16 → lamindb-0.77.2}/.github/workflows/build.yml +1 -1
  6. {lamindb-0.76.16 → lamindb-0.77.2}/.gitignore +2 -0
  7. {lamindb-0.76.16 → lamindb-0.77.2}/.pre-commit-config.yaml +5 -1
  8. {lamindb-0.76.16 → lamindb-0.77.2}/PKG-INFO +7 -8
  9. {lamindb-0.76.16 → lamindb-0.77.2}/docs/arrays.ipynb +1 -1
  10. {lamindb-0.76.16 → lamindb-0.77.2}/docs/bio-registries.ipynb +2 -2
  11. {lamindb-0.76.16 → lamindb-0.77.2}/docs/curate-any.ipynb +8 -8
  12. {lamindb-0.76.16 → lamindb-0.77.2}/docs/curate-df.ipynb +137 -44
  13. {lamindb-0.76.16 → lamindb-0.77.2}/docs/curate-subclass.ipynb +2 -2
  14. {lamindb-0.76.16 → lamindb-0.77.2}/docs/ehrcurator.py +1 -1
  15. {lamindb-0.76.16 → lamindb-0.77.2}/docs/faq/search.ipynb +53 -41
  16. {lamindb-0.76.16 → lamindb-0.77.2}/docs/faq/symbol-mapping.ipynb +16 -13
  17. {lamindb-0.76.16 → lamindb-0.77.2}/docs/faq/track-run-inputs.ipynb +27 -0
  18. lamindb-0.77.2/docs/faq/validate-fields.ipynb +77 -0
  19. {lamindb-0.76.16 → lamindb-0.77.2}/docs/faq.md +1 -0
  20. {lamindb-0.76.16 → lamindb-0.77.2}/docs/guide.md +0 -9
  21. {lamindb-0.76.16 → lamindb-0.77.2}/docs/registries.ipynb +239 -125
  22. {lamindb-0.76.16 → lamindb-0.77.2}/docs/storage/upload.ipynb +13 -20
  23. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/__init__.py +2 -2
  24. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/_artifact.py +6 -3
  25. lamindb-0.76.16/lamindb/_can_validate.py → lamindb-0.77.2/lamindb/_can_curate.py +10 -8
  26. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/_collection.py +1 -1
  27. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/_curate.py +388 -319
  28. lamindb-0.77.2/lamindb/_feature.py +180 -0
  29. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/_feature_set.py +6 -4
  30. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/_finish.py +68 -13
  31. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/_from_values.py +10 -6
  32. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/_parents.py +8 -1
  33. lamindb-0.77.2/lamindb/_query_set.py +632 -0
  34. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/_record.py +79 -10
  35. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/_save.py +1 -0
  36. lamindb-0.77.2/lamindb/_view.py +168 -0
  37. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/__init__.py +6 -4
  38. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/_context.py +20 -19
  39. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/_data.py +58 -88
  40. lamindb-0.77.2/lamindb/core/_describe.py +139 -0
  41. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/_django.py +7 -8
  42. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/_feature_manager.py +408 -198
  43. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/_label_manager.py +148 -110
  44. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/datasets/__init__.py +31 -2
  45. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/datasets/_core.py +0 -27
  46. lamindb-0.77.2/lamindb/core/datasets/_small.py +100 -0
  47. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/exceptions.py +1 -1
  48. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/loaders.py +15 -5
  49. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/storage/_zarr.py +8 -1
  50. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/storage/paths.py +9 -4
  51. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/types.py +12 -2
  52. {lamindb-0.76.16 → lamindb-0.77.2}/noxfile.py +4 -3
  53. {lamindb-0.76.16 → lamindb-0.77.2}/pyproject.toml +6 -8
  54. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/.github/workflows/build.yml +33 -12
  55. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/.gitignore +5 -0
  56. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/__init__.py +2 -3
  57. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/_bionty.py +4 -0
  58. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/_public_ontology.py +17 -15
  59. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/dev/_handle_sources.py +8 -8
  60. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/dev/_io.py +5 -0
  61. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/entities/_bfxpipeline.py +1 -3
  62. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/entities/_biosample.py +1 -1
  63. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/entities/_cellline.py +1 -1
  64. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/entities/_cellmarker.py +1 -1
  65. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/entities/_celltype.py +1 -1
  66. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/entities/_developmentalstage.py +1 -1
  67. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/entities/_disease.py +1 -1
  68. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/entities/_drug.py +1 -1
  69. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/entities/_ethnicity.py +1 -1
  70. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/entities/_experimentalfactor.py +1 -1
  71. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/entities/_gene.py +64 -22
  72. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/entities/_organism.py +7 -5
  73. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/entities/_pathway.py +1 -1
  74. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/entities/_phenotype.py +1 -1
  75. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/entities/_protein.py +1 -1
  76. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/entities/_shared_docstrings.py +1 -9
  77. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/scripts/generate_bfxpipelines.py +3 -4
  78. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/scripts/update_new_ontologies.py +1 -3
  79. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/core/_add_ontology.py +3 -1
  80. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/core/_bionty.py +9 -4
  81. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/migrations/0028_squashed.py +14 -21
  82. lamindb-0.77.2/sub/bionty/bionty/migrations/0041_alter_artifactcellline_artifact_and_more.py +2404 -0
  83. lamindb-0.77.2/sub/bionty/bionty/migrations/0041_squashed.py +3008 -0
  84. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/models.py +202 -228
  85. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/noxfile.py +2 -2
  86. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/pyproject.toml +3 -1
  87. lamindb-0.77.2/sub/bionty/tests/dev/test_io.py +43 -0
  88. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/tests/entities/test_gene.py +16 -15
  89. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/tests/test_md5.py +1 -2
  90. lamindb-0.77.2/sub/bionty/tests/test_ontology.py +20 -0
  91. {lamindb-0.76.16 → lamindb-0.77.2}/sub/cellregistry/cellregistry/__init__.py +3 -1
  92. {lamindb-0.76.16 → lamindb-0.77.2}/sub/cellregistry/cellregistry/migrations/0001_initial.py +1 -1
  93. lamindb-0.77.2/sub/cellregistry/cellregistry/migrations/0002_alter_artifactcell_artifact_alter_artifactcell_cell_and_more.py +126 -0
  94. {lamindb-0.76.16 → lamindb-0.77.2}/sub/cellregistry/cellregistry/models.py +14 -17
  95. {lamindb-0.76.16 → lamindb-0.77.2}/sub/cellregistry/pyproject.toml +1 -1
  96. {lamindb-0.76.16 → lamindb-0.77.2}/sub/clinicore/.gitignore +1 -1
  97. {lamindb-0.76.16/sub/omop → lamindb-0.77.2/sub/clinicore}/.pre-commit-config.yaml +7 -7
  98. {lamindb-0.76.16 → lamindb-0.77.2}/sub/clinicore/clinicore/__init__.py +3 -1
  99. {lamindb-0.76.16 → lamindb-0.77.2}/sub/clinicore/clinicore/migrations/0001_initial.py +5 -5
  100. {lamindb-0.76.16 → lamindb-0.77.2}/sub/clinicore/clinicore/migrations/0004_remove_biosample_project_clinicaltrial_and_more.py +1 -1
  101. lamindb-0.77.2/sub/clinicore/clinicore/migrations/0007_alter_artifactbiosample_artifact_and_more.py +864 -0
  102. {lamindb-0.76.16 → lamindb-0.77.2}/sub/clinicore/clinicore/models.py +83 -110
  103. {lamindb-0.76.16 → lamindb-0.77.2}/sub/clinicore/docs/quickstart.ipynb +12 -10
  104. {lamindb-0.76.16 → lamindb-0.77.2}/sub/clinicore/pyproject.toml +6 -6
  105. {lamindb-0.76.16 → lamindb-0.77.2}/sub/findrefs/.github/workflows/build.yml +3 -3
  106. {lamindb-0.76.16 → lamindb-0.77.2}/sub/findrefs/findrefs/__init__.py +4 -2
  107. {lamindb-0.76.16 → lamindb-0.77.2}/sub/findrefs/findrefs/migrations/0001_initial.py +1 -1
  108. lamindb-0.77.2/sub/findrefs/findrefs/migrations/0002_alter_artifactreference_artifact_and_more.py +190 -0
  109. lamindb-0.77.2/sub/findrefs/findrefs/models.py +87 -0
  110. {lamindb-0.76.16 → lamindb-0.77.2}/sub/findrefs/pyproject.toml +1 -1
  111. lamindb-0.77.2/sub/lamin-cli/lamin_cli/__init__.py +3 -0
  112. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/lamin_cli/_load.py +33 -13
  113. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/lamin_cli/_save.py +17 -18
  114. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/pyproject.toml +0 -3
  115. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/tests/test_save_r_code.py +2 -0
  116. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/tests/test_save_scripts.py +0 -3
  117. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/docs/hub-cloud/05-init-hosted-instance.ipynb +21 -1
  118. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/docs/hub-cloud/06-connect-hosted-instance.ipynb +55 -2
  119. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/__init__.py +1 -1
  120. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/_setup_bionty_sources.py +18 -3
  121. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/upath.py +9 -0
  122. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/hub-cloud/test_fail_managed_storage.py +2 -1
  123. lamindb-0.77.2/sub/lamindb-setup/tests/hub-cloud/test_init_pass_user_no_writes.py +31 -0
  124. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/__init__.py +6 -3
  125. lamindb-0.77.2/sub/lnschema-core/lnschema_core/fields.py +281 -0
  126. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/migrations/0052_squashed.py +4 -43
  127. lamindb-0.77.2/sub/lnschema-core/lnschema_core/migrations/0069_alter_artifact__accessor_alter_artifact__hash_type_and_more.py +1306 -0
  128. lamindb-0.77.2/sub/lnschema-core/lnschema_core/migrations/0069_squashed.py +1808 -0
  129. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/mocks.py +1 -1
  130. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/models.py +289 -228
  131. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/types.py +12 -1
  132. lamindb-0.77.2/sub/lnschema-core/lnschema_core/validation.py +64 -0
  133. {lamindb-0.76.16 → lamindb-0.77.2}/sub/omop/.gitignore +1 -0
  134. {lamindb-0.76.16 → lamindb-0.77.2}/sub/omop/docs/changelog.md +2 -0
  135. {lamindb-0.76.16 → lamindb-0.77.2}/sub/omop/omop/__init__.py +1 -1
  136. lamindb-0.77.2/sub/omop/omop/migrations/0002_alter_caresite_options_alter_cdmsource_options_and_more.py +5222 -0
  137. lamindb-0.77.2/sub/omop/omop/models.py +1339 -0
  138. {lamindb-0.76.16 → lamindb-0.77.2}/sub/omop/pyproject.toml +1 -1
  139. {lamindb-0.76.16 → lamindb-0.77.2}/sub/ourprojects/.github/workflows/build.yml +3 -3
  140. {lamindb-0.76.16 → lamindb-0.77.2}/sub/ourprojects/.github/workflows/doc-changes.yml +1 -1
  141. {lamindb-0.76.16 → lamindb-0.77.2}/sub/ourprojects/.gitignore +2 -0
  142. {lamindb-0.76.16 → lamindb-0.77.2}/sub/ourprojects/ourprojects/__init__.py +7 -3
  143. lamindb-0.77.2/sub/ourprojects/ourprojects/migrations/0001_initial.py +501 -0
  144. lamindb-0.77.2/sub/ourprojects/ourprojects/models.py +199 -0
  145. {lamindb-0.76.16 → lamindb-0.77.2}/sub/ourprojects/pyproject.toml +1 -1
  146. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/.pre-commit-config.yaml +7 -7
  147. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/docs/guide/get-started.ipynb +2 -2
  148. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/docs/guide/modeling_perturbations.ipynb +15 -9
  149. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/pyproject.toml +3 -4
  150. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/wetlab/__init__.py +1 -1
  151. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/wetlab/migrations/0018_squashed.py +8 -16
  152. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/wetlab/migrations/0020_treatmenttarget_pathways_treatmenttarget_proteins_and_more.py +4 -4
  153. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/wetlab/migrations/0022_remove_experiment_experiment_type_and_more.py +1 -1
  154. lamindb-0.77.2/sub/wetlab/wetlab/migrations/0025_alter_artifactbiosample_artifact_and_more.py +1461 -0
  155. lamindb-0.77.2/sub/wetlab/wetlab/migrations/0025_squashed.py +1806 -0
  156. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/wetlab/models.py +163 -173
  157. lamindb-0.77.2/tests/core/notebooks/basic-r-notebook.Rmd.cleaned.html +42 -0
  158. lamindb-0.77.2/tests/core/notebooks/basic-r-notebook.Rmd.html +42 -0
  159. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_artifact.py +10 -0
  160. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_collection.py +3 -1
  161. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_context.py +26 -13
  162. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_curate.py +122 -18
  163. lamindb-0.77.2/tests/core/test_curate_annotate_df.py +145 -0
  164. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_feature.py +53 -62
  165. lamindb-0.76.16/tests/core/test_feature_manager.py → lamindb-0.77.2/tests/core/test_feature_label_manager.py +217 -58
  166. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_feature_set.py +1 -1
  167. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_parents.py +7 -2
  168. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_queryset.py +23 -38
  169. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_record.py +14 -0
  170. lamindb-0.76.16/.github/ISSUE_TEMPLATE/bug_report.yml +0 -95
  171. lamindb-0.76.16/.github/ISSUE_TEMPLATE/feature_request.yml +0 -20
  172. lamindb-0.76.16/.github/ISSUE_TEMPLATE/usage_question.yml +0 -20
  173. lamindb-0.76.16/docs/includes/features-lamindb.md +0 -1
  174. lamindb-0.76.16/docs/includes/features-laminhub.md +0 -1
  175. lamindb-0.76.16/docs/introduction.ipynb +0 -34
  176. lamindb-0.76.16/docs/tutorial.ipynb +0 -962
  177. lamindb-0.76.16/docs/tutorial2.ipynb +0 -864
  178. lamindb-0.76.16/lamindb/_feature.py +0 -154
  179. lamindb-0.76.16/lamindb/_query_set.py +0 -413
  180. lamindb-0.76.16/lamindb/_view.py +0 -72
  181. lamindb-0.76.16/sub/bionty/bionty/migrations/0023_rename_publicsource_encode_uid.py +0 -1141
  182. lamindb-0.76.16/sub/bionty/bionty/migrations/0024_remove_cellline_collections_and_more.py +0 -64
  183. lamindb-0.76.16/sub/bionty/bionty/migrations/0025_artifactcellline_alter_cellline_artifacts_and_more.py +0 -829
  184. lamindb-0.76.16/sub/bionty/bionty/migrations/0026_artifactcellline_cell_line_ref_is_name_and_more.py +0 -520
  185. lamindb-0.76.16/sub/bionty/bionty/migrations/0027_remove_artifactcellline_created_at_and_more.py +0 -388
  186. lamindb-0.76.16/sub/bionty/bionty/migrations/0028_artifactcellline_created_at_and_more.py +0 -703
  187. lamindb-0.76.16/sub/bionty/lamin-project.yaml +0 -5
  188. lamindb-0.76.16/sub/bionty/tests/dev/test_io.py +0 -22
  189. lamindb-0.76.16/sub/bionty/tests/test_ontology.py +0 -11
  190. lamindb-0.76.16/sub/findrefs/findrefs/models.py +0 -72
  191. lamindb-0.76.16/sub/lamin-cli/lamin_cli/__init__.py +0 -3
  192. lamindb-0.76.16/sub/lamindb-setup/tests/hub-cloud/test_init_pass_user_no_writes.py +0 -17
  193. lamindb-0.76.16/sub/lnschema-core/lnschema_core/migrations/0037_rename_dataset_to_collection.py +0 -1151
  194. lamindb-0.76.16/sub/lnschema-core/lnschema_core/migrations/0038_alter_collection_artifact_alter_collection_artifacts_and_more.py +0 -87
  195. lamindb-0.76.16/sub/lnschema-core/lnschema_core/migrations/0039_remove_collection_artifacts_collectionartifact_and_more.py +0 -58
  196. lamindb-0.76.16/sub/lnschema-core/lnschema_core/migrations/0040_alter_transform_type.py +0 -32
  197. lamindb-0.76.16/sub/lnschema-core/lnschema_core/migrations/0041_remove_transform_short_name_transform_description_and_more.py +0 -103
  198. lamindb-0.76.16/sub/lnschema-core/lnschema_core/migrations/0042_rename_run_at_run_started_at_run_finished_at.py +0 -25
  199. lamindb-0.76.16/sub/lnschema-core/lnschema_core/migrations/0043_run_json.py +0 -17
  200. lamindb-0.76.16/sub/lnschema-core/lnschema_core/migrations/0044_run_replicated_outputs_transform_ulabels_and_more.py +0 -38
  201. lamindb-0.76.16/sub/lnschema-core/lnschema_core/migrations/0045_rename_replicated_outputs_run_replicated_output_artifacts_and_more.py +0 -24
  202. lamindb-0.76.16/sub/lnschema-core/lnschema_core/migrations/0046_storage_instance_uid.py +0 -40
  203. lamindb-0.76.16/sub/lnschema-core/lnschema_core/migrations/0047_featurevalue_artifactfeaturevalue_and_more.py +0 -178
  204. lamindb-0.76.16/sub/lnschema-core/lnschema_core/migrations/0048_alter_artifactulabel_feature_and_more.py +0 -33
  205. lamindb-0.76.16/sub/lnschema-core/lnschema_core/migrations/0049_rename_type_feature_dtype_and_more.py +0 -58
  206. lamindb-0.76.16/sub/lnschema-core/lnschema_core/migrations/0050_artifactfeatureset_feature_ref_is_semantic_and_more.py +0 -191
  207. lamindb-0.76.16/sub/lnschema-core/lnschema_core/migrations/0051_remove_feature_feature_sets_featuresetfeature_and_more.py +0 -71
  208. lamindb-0.76.16/sub/lnschema-core/lnschema_core/migrations/0052_rename_feature_value_artifactfeaturevalue_featurevalue_and_more.py +0 -419
  209. lamindb-0.76.16/sub/omop/omop/models.py +0 -1503
  210. lamindb-0.76.16/sub/ourprojects/ourprojects/migrations/0001_initial.py +0 -139
  211. lamindb-0.76.16/sub/ourprojects/ourprojects/models.py +0 -68
  212. lamindb-0.76.16/sub/wetlab/wetlab/migrations/0017_remove_biosample_artifacts.py +0 -375
  213. lamindb-0.76.16/sub/wetlab/wetlab/migrations/0018_well_created_at_well_created_by_well_updated_at.py +0 -38
  214. lamindb-0.76.16/tests/core/test_label_manager.py +0 -53
  215. {lamindb-0.76.16 → lamindb-0.77.2}/.github/workflows/doc-changes.yml +0 -0
  216. {lamindb-0.76.16 → lamindb-0.77.2}/.gitmodules +0 -0
  217. {lamindb-0.76.16 → lamindb-0.77.2}/CONTRIBUTING.md +0 -0
  218. {lamindb-0.76.16 → lamindb-0.77.2}/LICENSE +0 -0
  219. {lamindb-0.76.16 → lamindb-0.77.2}/README.md +0 -0
  220. {lamindb-0.76.16 → lamindb-0.77.2}/docs/api.md +0 -0
  221. {lamindb-0.76.16 → lamindb-0.77.2}/docs/bionty.md +0 -0
  222. {lamindb-0.76.16 → lamindb-0.77.2}/docs/cellregistry.md +0 -0
  223. {lamindb-0.76.16 → lamindb-0.77.2}/docs/changelog.md +0 -0
  224. {lamindb-0.76.16 → lamindb-0.77.2}/docs/clinicore.md +0 -0
  225. {lamindb-0.76.16 → lamindb-0.77.2}/docs/curate.md +0 -0
  226. {lamindb-0.76.16 → lamindb-0.77.2}/docs/faq/acid.ipynb +0 -0
  227. {lamindb-0.76.16 → lamindb-0.77.2}/docs/faq/delete.ipynb +0 -0
  228. {lamindb-0.76.16 → lamindb-0.77.2}/docs/faq/idempotency.ipynb +0 -0
  229. {lamindb-0.76.16 → lamindb-0.77.2}/docs/faq/import-schema.ipynb +0 -0
  230. {lamindb-0.76.16 → lamindb-0.77.2}/docs/faq/keep-artifacts-local.ipynb +0 -0
  231. {lamindb-0.76.16 → lamindb-0.77.2}/docs/faq/key.ipynb +0 -0
  232. {lamindb-0.76.16 → lamindb-0.77.2}/docs/faq/reference-field.ipynb +0 -0
  233. {lamindb-0.76.16 → lamindb-0.77.2}/docs/faq/setup.ipynb +0 -0
  234. {lamindb-0.76.16 → lamindb-0.77.2}/docs/faq/test_notebooks.py +0 -0
  235. {lamindb-0.76.16 → lamindb-0.77.2}/docs/faq/visibility.ipynb +0 -0
  236. {lamindb-0.76.16 → lamindb-0.77.2}/docs/findrefs.md +0 -0
  237. {lamindb-0.76.16 → lamindb-0.77.2}/docs/includes/installation.md +0 -0
  238. {lamindb-0.76.16 → lamindb-0.77.2}/docs/index.md +0 -0
  239. {lamindb-0.76.16 → lamindb-0.77.2}/docs/lamindb.md +0 -0
  240. {lamindb-0.76.16 → lamindb-0.77.2}/docs/laminr.md +0 -0
  241. {lamindb-0.76.16 → lamindb-0.77.2}/docs/omop.md +0 -0
  242. {lamindb-0.76.16 → lamindb-0.77.2}/docs/ourprojects.md +0 -0
  243. {lamindb-0.76.16 → lamindb-0.77.2}/docs/query-search.md +0 -0
  244. {lamindb-0.76.16 → lamindb-0.77.2}/docs/rest.md +0 -0
  245. {lamindb-0.76.16 → lamindb-0.77.2}/docs/schemas.ipynb +0 -0
  246. {lamindb-0.76.16 → lamindb-0.77.2}/docs/scripts/run-track-with-params.py +0 -0
  247. {lamindb-0.76.16 → lamindb-0.77.2}/docs/scripts/synced-with-git.py +0 -0
  248. {lamindb-0.76.16 → lamindb-0.77.2}/docs/setup.ipynb +0 -0
  249. {lamindb-0.76.16 → lamindb-0.77.2}/docs/signup-login.md +0 -0
  250. {lamindb-0.76.16 → lamindb-0.77.2}/docs/storage/add-replace-cache.ipynb +0 -0
  251. {lamindb-0.76.16 → lamindb-0.77.2}/docs/storage/anndata-accessor.ipynb +0 -0
  252. {lamindb-0.76.16 → lamindb-0.77.2}/docs/storage/prepare-transfer-local-to-cloud.ipynb +0 -0
  253. {lamindb-0.76.16 → lamindb-0.77.2}/docs/storage/test-files/iris.csv +0 -0
  254. {lamindb-0.76.16 → lamindb-0.77.2}/docs/storage/test-files/iris.data +0 -0
  255. {lamindb-0.76.16 → lamindb-0.77.2}/docs/storage/test-files/new_iris.csv +0 -0
  256. {lamindb-0.76.16 → lamindb-0.77.2}/docs/storage/test_notebooks.py +0 -0
  257. {lamindb-0.76.16 → lamindb-0.77.2}/docs/storage/transfer-local-to-cloud.ipynb +0 -0
  258. {lamindb-0.76.16 → lamindb-0.77.2}/docs/storage/vitessce.ipynb +0 -0
  259. {lamindb-0.76.16 → lamindb-0.77.2}/docs/storage.md +0 -0
  260. {lamindb-0.76.16 → lamindb-0.77.2}/docs/test_notebooks.py +0 -0
  261. {lamindb-0.76.16 → lamindb-0.77.2}/docs/track.ipynb +0 -0
  262. {lamindb-0.76.16 → lamindb-0.77.2}/docs/transfer.ipynb +0 -0
  263. {lamindb-0.76.16 → lamindb-0.77.2}/docs/wetlab.md +0 -0
  264. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/_is_versioned.py +0 -0
  265. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/_query_manager.py +0 -0
  266. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/_run.py +0 -0
  267. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/_storage.py +0 -0
  268. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/_transform.py +0 -0
  269. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/_ulabel.py +0 -0
  270. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/_utils.py +0 -0
  271. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/_mapped_collection.py +0 -0
  272. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/_settings.py +0 -0
  273. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/_sync_git.py +0 -0
  274. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/_track_environment.py +0 -0
  275. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/datasets/_fake.py +0 -0
  276. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/fields.py +0 -0
  277. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/schema.py +0 -0
  278. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/storage/__init__.py +0 -0
  279. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/storage/_anndata_accessor.py +0 -0
  280. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/storage/_anndata_sizes.py +0 -0
  281. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/storage/_backed_access.py +0 -0
  282. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/storage/_pyarrow_dataset.py +0 -0
  283. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/storage/_tiledbsoma.py +0 -0
  284. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/storage/_valid_suffixes.py +0 -0
  285. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/storage/objects.py +0 -0
  286. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/subsettings/__init__.py +0 -0
  287. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/subsettings/_creation_settings.py +0 -0
  288. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/subsettings/_transform_settings.py +0 -0
  289. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/core/versioning.py +0 -0
  290. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/integrations/__init__.py +0 -0
  291. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/integrations/_vitessce.py +0 -0
  292. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/setup/__init__.py +0 -0
  293. {lamindb-0.76.16 → lamindb-0.77.2}/lamindb/setup/core/__init__.py +0 -0
  294. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/.github/workflows/doc-changes.yml +0 -0
  295. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/.github/workflows/update_ontologies.yml +0 -0
  296. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/.pre-commit-config.yaml +0 -0
  297. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/LICENSE +0 -0
  298. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/README.md +0 -0
  299. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/__init__.py +0 -0
  300. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/_display_sources.py +0 -0
  301. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/_ontology.py +0 -0
  302. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/_settings.py +0 -0
  303. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/_sync_sources.py +0 -0
  304. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/dev/__init__.py +0 -0
  305. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/dev/_md5.py +0 -0
  306. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/entities/__init__.py +0 -0
  307. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/entities/_tissue.py +0 -0
  308. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/scripts/bfxpipelines_info/custom_pipelines.json +0 -0
  309. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/scripts/check_ontologies_reachable.py +0 -0
  310. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/scripts/determine_md5s.py +0 -0
  311. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/scripts/upload_new_ontologies.py +0 -0
  312. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/base/sources.yaml +0 -0
  313. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/core/__init__.py +0 -0
  314. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/core/_settings.py +0 -0
  315. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/ids.py +0 -0
  316. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/migrations/0029_alter_cellline_previous_runs_and_more.py +0 -0
  317. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/migrations/0030_rename_publicsource_source_and_more.py +0 -0
  318. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/migrations/0031_alter_cellmarker_name_and_more.py +0 -0
  319. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/migrations/0032_rename_source_name_source_description_and_more.py +0 -0
  320. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/migrations/0033_alter_artifactcellline_artifact_and_more.py +0 -0
  321. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/migrations/0034_alter_source_unique_together.py +0 -0
  322. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/migrations/0035_alter_protein_gene_symbol.py +0 -0
  323. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/migrations/0036_alter_source_artifacts_and_more.py +0 -0
  324. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/migrations/0037_alter_cellline_source_alter_cellmarker_source_and_more.py +0 -0
  325. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/migrations/0038_alter_artifactcellline_created_by_and_more.py +0 -0
  326. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/migrations/0039_alter_cellline_source_alter_cellmarker_source_and_more.py +0 -0
  327. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/migrations/0040_rename_feature_ref_is_symbol_artifactgene_feature_ref_is_name_and_more.py +0 -0
  328. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/bionty/migrations/__init__.py +0 -0
  329. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/docs/guide/concepts.md +0 -0
  330. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/docs/guide/config.md +0 -0
  331. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/docs/guide/extend.md +0 -0
  332. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/docs/guide/test_notebooks.py +0 -0
  333. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/docs/guide.md +0 -0
  334. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/docs/index.md +0 -0
  335. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/docs/reference.md +0 -0
  336. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/tests/dev/test_handle_sources.py +0 -0
  337. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/tests/entities/test_bfxpipeline.py +0 -0
  338. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/tests/entities/test_biosample.py +0 -0
  339. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/tests/entities/test_cellline.py +0 -0
  340. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/tests/entities/test_cellmarker.py +0 -0
  341. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/tests/entities/test_celltype.py +0 -0
  342. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/tests/entities/test_developmentalstage.py +0 -0
  343. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/tests/entities/test_disease.py +0 -0
  344. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/tests/entities/test_drug.py +0 -0
  345. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/tests/entities/test_ethnicity.py +0 -0
  346. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/tests/entities/test_experimentalfactor.py +0 -0
  347. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/tests/entities/test_organism.py +0 -0
  348. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/tests/entities/test_pathway.py +0 -0
  349. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/tests/entities/test_phenotype.py +0 -0
  350. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/tests/entities/test_protein.py +0 -0
  351. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/tests/entities/test_tissue.py +0 -0
  352. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/tests/test_bionty.py +0 -0
  353. {lamindb-0.76.16 → lamindb-0.77.2}/sub/bionty/tests/test_lamindb.py +0 -0
  354. {lamindb-0.76.16 → lamindb-0.77.2}/sub/cellregistry/.github/workflows/build.yml +0 -0
  355. {lamindb-0.76.16 → lamindb-0.77.2}/sub/cellregistry/.github/workflows/doc-changes.yml +0 -0
  356. {lamindb-0.76.16 → lamindb-0.77.2}/sub/cellregistry/.gitignore +0 -0
  357. {lamindb-0.76.16 → lamindb-0.77.2}/sub/cellregistry/.pre-commit-config.yaml +0 -0
  358. {lamindb-0.76.16 → lamindb-0.77.2}/sub/cellregistry/LICENSE +0 -0
  359. {lamindb-0.76.16 → lamindb-0.77.2}/sub/cellregistry/README.md +0 -0
  360. {lamindb-0.76.16 → lamindb-0.77.2}/sub/cellregistry/cellregistry/migrations/__init__.py +0 -0
  361. {lamindb-0.76.16 → lamindb-0.77.2}/sub/cellregistry/noxfile.py +0 -0
  362. {lamindb-0.76.16 → lamindb-0.77.2}/sub/cellregistry/tests/test_integrity.py +0 -0
  363. {lamindb-0.76.16 → lamindb-0.77.2}/sub/clinicore/.github/workflows/build.yml +0 -0
  364. {lamindb-0.76.16 → lamindb-0.77.2}/sub/clinicore/.github/workflows/doc-changes.yml +0 -0
  365. {lamindb-0.76.16 → lamindb-0.77.2}/sub/clinicore/LICENSE +0 -0
  366. {lamindb-0.76.16 → lamindb-0.77.2}/sub/clinicore/README.md +0 -0
  367. {lamindb-0.76.16 → lamindb-0.77.2}/sub/clinicore/clinicore/migrations/0002_biosample_patient_biosample_project.py +0 -0
  368. {lamindb-0.76.16 → lamindb-0.77.2}/sub/clinicore/clinicore/migrations/0003_alter_project_uid.py +0 -0
  369. {lamindb-0.76.16 → lamindb-0.77.2}/sub/clinicore/clinicore/migrations/0005_alter_biosample_created_by_alter_biosample_run_and_more.py +0 -0
  370. {lamindb-0.76.16 → lamindb-0.77.2}/sub/clinicore/clinicore/migrations/0006_artifactbiosample_artifactclinicaltrial_and_more.py +0 -0
  371. {lamindb-0.76.16 → lamindb-0.77.2}/sub/clinicore/clinicore/migrations/__init__.py +0 -0
  372. {lamindb-0.76.16 → lamindb-0.77.2}/sub/clinicore/docs/changelog.md +0 -0
  373. {lamindb-0.76.16 → lamindb-0.77.2}/sub/clinicore/docs/guide.md +0 -0
  374. {lamindb-0.76.16 → lamindb-0.77.2}/sub/clinicore/docs/index.md +0 -0
  375. {lamindb-0.76.16 → lamindb-0.77.2}/sub/clinicore/docs/reference.md +0 -0
  376. {lamindb-0.76.16 → lamindb-0.77.2}/sub/clinicore/noxfile.py +0 -0
  377. {lamindb-0.76.16 → lamindb-0.77.2}/sub/clinicore/tests/test_notebooks.py +0 -0
  378. {lamindb-0.76.16 → lamindb-0.77.2}/sub/findrefs/.github/workflows/doc-changes.yml +0 -0
  379. {lamindb-0.76.16 → lamindb-0.77.2}/sub/findrefs/.gitignore +0 -0
  380. {lamindb-0.76.16 → lamindb-0.77.2}/sub/findrefs/.pre-commit-config.yaml +0 -0
  381. {lamindb-0.76.16 → lamindb-0.77.2}/sub/findrefs/LICENSE +0 -0
  382. {lamindb-0.76.16 → lamindb-0.77.2}/sub/findrefs/README.md +0 -0
  383. {lamindb-0.76.16 → lamindb-0.77.2}/sub/findrefs/findrefs/migrations/__init__.py +0 -0
  384. {lamindb-0.76.16 → lamindb-0.77.2}/sub/findrefs/noxfile.py +0 -0
  385. {lamindb-0.76.16 → lamindb-0.77.2}/sub/findrefs/tests/test_integrity.py +0 -0
  386. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/.github/workflows/doc-changes.yml +0 -0
  387. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/.gitignore +0 -0
  388. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/.pre-commit-config.yaml +0 -0
  389. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/LICENSE +0 -0
  390. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/README.md +0 -0
  391. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/lamin_cli/__main__.py +0 -0
  392. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/lamin_cli/_cache.py +0 -0
  393. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/lamin_cli/_migration.py +0 -0
  394. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/lamin_cli/_settings.py +0 -0
  395. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/tests/conftest.py +0 -0
  396. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
  397. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +0 -0
  398. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +0 -0
  399. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/tests/scripts/merely-import-lamindb.py +0 -0
  400. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/tests/scripts/run-track-and-finish-sync-git.py +0 -0
  401. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/tests/scripts/run-track-and-finish.py +0 -0
  402. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/tests/scripts/run-track-with-params.py +0 -0
  403. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/tests/scripts/run-track.R +0 -0
  404. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/tests/scripts/run-track.qmd +0 -0
  405. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/tests/test_cli.py +0 -0
  406. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/tests/test_load.py +0 -0
  407. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/tests/test_migrate.py +0 -0
  408. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/tests/test_multi_process.py +0 -0
  409. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/tests/test_parse_uid_from_code.py +0 -0
  410. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/tests/test_save_files.py +0 -0
  411. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamin-cli/tests/test_save_notebooks.py +0 -0
  412. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/.github/workflows/build.yml +0 -0
  413. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/.github/workflows/doc-changes.yml +0 -0
  414. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/.gitignore +0 -0
  415. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/.pre-commit-config.yaml +0 -0
  416. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/LICENSE +0 -0
  417. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/README.md +0 -0
  418. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/docs/changelog.md +0 -0
  419. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/docs/hub-cloud/01-init-local-instance.ipynb +0 -0
  420. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/docs/hub-cloud/02-connect-local-instance.ipynb +0 -0
  421. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/docs/hub-cloud/03-add-managed-storage.ipynb +0 -0
  422. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/docs/hub-cloud/04-test-bionty.ipynb +0 -0
  423. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/docs/hub-cloud/07-keep-artifacts-local.ipynb +0 -0
  424. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/docs/hub-cloud/08-test-multi-session.ipynb +0 -0
  425. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/docs/hub-cloud/test_notebooks.py +0 -0
  426. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/docs/hub-prod/test-cache-management.ipynb +0 -0
  427. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/docs/hub-prod/test-cloud-sync.ipynb +0 -0
  428. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/docs/hub-prod/test-connect-anonymously.ipynb +0 -0
  429. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/docs/hub-prod/test-empty-init.ipynb +0 -0
  430. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/docs/hub-prod/test-import-schema.ipynb +0 -0
  431. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/docs/hub-prod/test-init-load-local-anonymously.ipynb +0 -0
  432. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/docs/hub-prod/test-insufficient-user-info.ipynb +0 -0
  433. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/docs/hub-prod/test-invalid-schema.ipynb +0 -0
  434. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/docs/hub-prod/test-sqlite-lock.ipynb +0 -0
  435. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/docs/hub-prod/test_notebooks2.py +0 -0
  436. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/docs/index.md +0 -0
  437. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/docs/notebooks.md +0 -0
  438. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/docs/reference.md +0 -0
  439. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
  440. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/_check.py +0 -0
  441. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/_check_setup.py +0 -0
  442. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
  443. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/_connect_instance.py +0 -0
  444. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/_delete.py +0 -0
  445. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/_django.py +0 -0
  446. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/_entry_points.py +0 -0
  447. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/_exportdb.py +0 -0
  448. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/_importdb.py +0 -0
  449. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/_init_instance.py +0 -0
  450. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/_migrate.py +0 -0
  451. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
  452. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
  453. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/_schema_metadata.py +0 -0
  454. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/_set_managed_storage.py +0 -0
  455. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/_setup_user.py +0 -0
  456. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
  457. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/__init__.py +0 -0
  458. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/_aws_credentials.py +0 -0
  459. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/_aws_storage.py +0 -0
  460. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/_deprecated.py +0 -0
  461. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/_docs.py +0 -0
  462. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/_hub_client.py +0 -0
  463. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/_hub_core.py +0 -0
  464. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/_hub_crud.py +0 -0
  465. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/_hub_utils.py +0 -0
  466. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/_private_django_api.py +0 -0
  467. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/_settings.py +0 -0
  468. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/_settings_instance.py +0 -0
  469. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/_settings_load.py +0 -0
  470. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/_settings_save.py +0 -0
  471. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/_settings_storage.py +0 -0
  472. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/_settings_store.py +0 -0
  473. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/_settings_user.py +0 -0
  474. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/cloud_sqlite_locker.py +0 -0
  475. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/django.py +0 -0
  476. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/exceptions.py +0 -0
  477. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/hashing.py +0 -0
  478. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/lamindb_setup/core/types.py +0 -0
  479. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/noxfile.py +0 -0
  480. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/pyproject.toml +0 -0
  481. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/hub-cloud/scripts/script-init-pass-user-no-writes.py +0 -0
  482. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/hub-cloud/scripts/script-to-fail-managed-storage.py +0 -0
  483. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/hub-cloud/test_connect_instance.py +0 -0
  484. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/hub-cloud/test_delete_instance.py +0 -0
  485. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/hub-cloud/test_edge_request.py +0 -0
  486. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/hub-cloud/test_init_instance.py +0 -0
  487. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/hub-cloud/test_login.py +0 -0
  488. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/hub-cloud/test_migrate.py +0 -0
  489. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/hub-cloud/test_set_storage.py +0 -0
  490. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/hub-local/conftest.py +0 -0
  491. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/hub-local/test_all.py +0 -0
  492. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/hub-local/test_update_schema_in_hub.py +0 -0
  493. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/hub-prod/conftest.py +0 -0
  494. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/hub-prod/test_aws_credentials_manager.py +0 -0
  495. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/hub-prod/test_django.py +0 -0
  496. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/hub-prod/test_global_settings.py +0 -0
  497. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/hub-prod/test_switch_and_fallback_env.py +0 -0
  498. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/hub-prod/test_upath.py +0 -0
  499. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/storage/test_entry_point.py +0 -0
  500. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/storage/test_hashing.py +0 -0
  501. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/storage/test_storage_access.py +0 -0
  502. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/storage/test_storage_basis.py +0 -0
  503. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/storage/test_storage_stats.py +0 -0
  504. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lamindb-setup/tests/storage/test_to_url.py +0 -0
  505. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/.github/workflows/build.yml +0 -0
  506. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/.github/workflows/doc-changes.yml +0 -0
  507. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/.gitignore +0 -0
  508. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/.pre-commit-config.yaml +0 -0
  509. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/CHANGELOG.md +0 -0
  510. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/LICENSE +0 -0
  511. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/README.md +0 -0
  512. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/ids.py +0 -0
  513. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/migrations/0053_alter_featureset_hash_alter_paramvalue_created_by_and_more.py +0 -0
  514. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/migrations/0054_alter_feature_previous_runs_and_more.py +0 -0
  515. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/migrations/0055_artifact_type_artifactparamvalue_and_more.py +0 -0
  516. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/migrations/0056_rename_ulabel_ref_is_name_artifactulabel_label_ref_is_name_and_more.py +0 -0
  517. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/migrations/0057_link_models_latest_report_and_others.py +0 -0
  518. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/migrations/0058_artifact__actions_collection__actions.py +0 -0
  519. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/migrations/0059_alter_artifact__accessor_alter_artifact__hash_type_and_more.py +0 -0
  520. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/migrations/0060_alter_artifact__actions.py +0 -0
  521. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/migrations/0061_alter_collection_meta_artifact_alter_run_environment_and_more.py +0 -0
  522. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/migrations/0062_add_is_latest_field.py +0 -0
  523. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/migrations/0063_populate_latest_field.py +0 -0
  524. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/migrations/0064_alter_artifact_version_alter_collection_version_and_more.py +0 -0
  525. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/migrations/0065_remove_collection_feature_sets_and_more.py +0 -0
  526. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/migrations/0066_alter_artifact__feature_values_and_more.py +0 -0
  527. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/migrations/0067_alter_featurevalue_unique_together_and_more.py +0 -0
  528. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/migrations/0068_alter_artifactulabel_unique_together_and_more.py +0 -0
  529. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
  530. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/lnschema_core/users.py +0 -0
  531. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/noxfile.py +0 -0
  532. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/pyproject.toml +0 -0
  533. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/tests/conftest.py +0 -0
  534. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/tests/test_integrity.py +0 -0
  535. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/tests/test_models.py +1 -1
  536. {lamindb-0.76.16 → lamindb-0.77.2}/sub/lnschema-core/tests/test_types.py +0 -0
  537. {lamindb-0.76.16 → lamindb-0.77.2}/sub/omop/.github/workflows/build.yml +0 -0
  538. {lamindb-0.76.16 → lamindb-0.77.2}/sub/omop/.github/workflows/latest-changes.jinja2 +0 -0
  539. {lamindb-0.76.16 → lamindb-0.77.2}/sub/omop/.github/workflows/latest-changes.yml +0 -0
  540. {lamindb-0.76.16/sub/clinicore → lamindb-0.77.2/sub/omop}/.pre-commit-config.yaml +0 -0
  541. {lamindb-0.76.16 → lamindb-0.77.2}/sub/omop/LICENSE +0 -0
  542. {lamindb-0.76.16 → lamindb-0.77.2}/sub/omop/README.md +0 -0
  543. {lamindb-0.76.16 → lamindb-0.77.2}/sub/omop/docs/guide.md +0 -0
  544. {lamindb-0.76.16 → lamindb-0.77.2}/sub/omop/docs/index.md +0 -0
  545. {lamindb-0.76.16 → lamindb-0.77.2}/sub/omop/docs/notes/inspectdb.ipynb +0 -0
  546. {lamindb-0.76.16 → lamindb-0.77.2}/sub/omop/docs/notes.md +0 -0
  547. {lamindb-0.76.16 → lamindb-0.77.2}/sub/omop/docs/quickstart.ipynb +0 -0
  548. {lamindb-0.76.16 → lamindb-0.77.2}/sub/omop/docs/reference.md +0 -0
  549. {lamindb-0.76.16 → lamindb-0.77.2}/sub/omop/lamin-project.yaml +0 -0
  550. {lamindb-0.76.16 → lamindb-0.77.2}/sub/omop/noxfile.py +0 -0
  551. {lamindb-0.76.16 → lamindb-0.77.2}/sub/omop/omop/migrations/0001_initial.py +0 -0
  552. {lamindb-0.76.16 → lamindb-0.77.2}/sub/omop/omop/migrations/__init__.py +0 -0
  553. {lamindb-0.76.16 → lamindb-0.77.2}/sub/omop/tests/test_integrity.py +0 -0
  554. {lamindb-0.76.16 → lamindb-0.77.2}/sub/omop/tests/test_notebooks.py +0 -0
  555. {lamindb-0.76.16 → lamindb-0.77.2}/sub/ourprojects/.pre-commit-config.yaml +0 -0
  556. {lamindb-0.76.16 → lamindb-0.77.2}/sub/ourprojects/LICENSE +0 -0
  557. {lamindb-0.76.16 → lamindb-0.77.2}/sub/ourprojects/README.md +0 -0
  558. {lamindb-0.76.16 → lamindb-0.77.2}/sub/ourprojects/noxfile.py +0 -0
  559. {lamindb-0.76.16 → lamindb-0.77.2}/sub/ourprojects/ourprojects/migrations/__init__.py +0 -0
  560. {lamindb-0.76.16 → lamindb-0.77.2}/sub/ourprojects/tests/test_integrity.py +0 -0
  561. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/.github/workflows/build.yml +0 -0
  562. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/.github/workflows/doc-changes.yml +0 -0
  563. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/.gitignore +0 -0
  564. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/README.md +0 -0
  565. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/docs/changelog.md +0 -0
  566. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/docs/guide.md +0 -0
  567. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/docs/index.md +0 -0
  568. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/docs/reference.md +0 -0
  569. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/noxfile.py +0 -0
  570. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/tests/test_integrity.py +0 -0
  571. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/tests/test_notebooks.py +0 -0
  572. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/wetlab/migrations/0019_alter_treatment_system.py +0 -0
  573. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/wetlab/migrations/0021_alter_compoundtreatment_duration_unit_and_more.py +0 -0
  574. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/wetlab/migrations/0023_compoundtreatment_duration_and_more.py +0 -0
  575. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/wetlab/migrations/0024_compound_chembl_id.py +0 -0
  576. {lamindb-0.76.16 → lamindb-0.77.2}/sub/wetlab/wetlab/migrations/__init__.py +0 -0
  577. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/conftest.py +0 -0
  578. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/notebooks/duplicate/with-title-initialized-consecutive-finish.ipynb +0 -0
  579. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/notebooks/no-title.ipynb +0 -0
  580. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/notebooks/not-initialized.ipynb +0 -0
  581. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/notebooks/with-title-initialized-consecutive-finish-not-last-cell.ipynb +0 -0
  582. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/notebooks/with-title-initialized-consecutive-finish.ipynb +0 -0
  583. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/scripts/duplicate1/script-to-test-versioning.py +0 -0
  584. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/scripts/duplicate2/script-to-test-versioning.py +0 -0
  585. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/scripts/duplicate3/script-to-test-versioning.py +0 -0
  586. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/scripts/script-to-test-filename-change.py +0 -0
  587. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/scripts/script-to-test-versioning.py +0 -0
  588. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_artifact_folders.py +0 -0
  589. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_cache.py +0 -0
  590. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_can_validate.py +0 -0
  591. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_data.py +0 -0
  592. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_db.py +0 -0
  593. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_delete.py +0 -0
  594. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_from_values.py +0 -0
  595. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_load.py +0 -0
  596. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_manager.py +0 -0
  597. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_notebooks.py +0 -0
  598. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_run.py +0 -0
  599. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_save.py +0 -0
  600. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_search.py +0 -0
  601. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_settings.py +0 -0
  602. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_transform.py +0 -0
  603. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_uid.py +0 -0
  604. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_ulabel.py +0 -0
  605. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_versioning.py +0 -0
  606. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_view.py +0 -0
  607. {lamindb-0.76.16 → lamindb-0.77.2}/tests/core/test_visibility.py +0 -0
  608. {lamindb-0.76.16 → lamindb-0.77.2}/tests/storage/conftest.py +0 -0
  609. {lamindb-0.76.16 → lamindb-0.77.2}/tests/storage/test_storage.py +0 -0
  610. {lamindb-0.76.16 → lamindb-0.77.2}/tests/storage/test_transfer.py +0 -0
@@ -0,0 +1,15 @@
1
+ name: Report a bug
2
+ description: Report a bug.
3
+ labels:
4
+ - ":bug: bug"
5
+ body:
6
+ - type: textarea
7
+ id: report
8
+ attributes:
9
+ label: Add a description
10
+ placeholder: |
11
+ Describe and consider providing version information. Please ensure you're on the latest version of lamindb.
12
+ This is a public repository!
13
+ Do not reveal any internal information.
14
+ validations:
15
+ required: true
@@ -2,7 +2,7 @@ blank_issues_enabled: true
2
2
  contact_links:
3
3
  - name: LaminHub issues
4
4
  url: https://github.com/laminlabs/laminhub-public
5
- about: If you have issues with LaminHub, please report them here.
5
+ about: If you have issues with the GUI/web app at lamin.ai, please report them here.
6
6
  - name: Enterprise support
7
7
  url: https://lamin.ai/contact
8
- about: If you have non-technical inquiries, please contact us directly.
8
+ about: If you have other questions, contact us directly.
@@ -0,0 +1,12 @@
1
+ name: Propose an enhancement
2
+ description: Propose an enhancement.
3
+ body:
4
+ - type: textarea
5
+ id: description
6
+ attributes:
7
+ label: Add a description
8
+ placeholder: |
9
+ This is a public repository!
10
+ Do not reveal any internal information.
11
+ validations:
12
+ required: true
@@ -0,0 +1,14 @@
1
+ name: Ask a usage question
2
+ description: Ask a usage question.
3
+ labels:
4
+ - "usage question"
5
+ body:
6
+ - type: textarea
7
+ id: description
8
+ attributes:
9
+ label: Add a description
10
+ placeholder: |
11
+ This is a public repository!
12
+ Do not reveal any internal information.
13
+ validations:
14
+ required: true
@@ -22,7 +22,7 @@ jobs:
22
22
  - "faq"
23
23
  - "storage"
24
24
  - "cli"
25
- timeout-minutes: 10
25
+ timeout-minutes: 15
26
26
 
27
27
  steps:
28
28
  - uses: actions/checkout@v4
@@ -20,6 +20,7 @@ lamin-tutorial/
20
20
  mytest/
21
21
  rds/
22
22
  mydb/
23
+ docs/test-registries/
23
24
  docs/test-annotate-flexible/
24
25
  docs/lamindb.*
25
26
  lamin_sphinx
@@ -58,6 +59,7 @@ default_storage_unit_core
58
59
  default_storage_unit_storage
59
60
  test.ipynb
60
61
  run-tests
62
+ test-django-validation/
61
63
 
62
64
  # General
63
65
  .DS_Store
@@ -12,7 +12,7 @@ repos:
12
12
  - id: prettier
13
13
  exclude: |
14
14
  (?x)(
15
- docs/changelog.md|.github/ISSUE_TEMPLATE/config.yml
15
+ docs/changelog.md|.github/ISSUE_TEMPLATE/config.yml|tests/core/notebooks/basic-r-notebook.Rmd.cleaned.html
16
16
  )
17
17
  - repo: https://github.com/kynan/nbstripout
18
18
  rev: 0.6.1
@@ -42,6 +42,10 @@ repos:
42
42
  - id: mixed-line-ending
43
43
  args: [--fix=lf]
44
44
  - id: trailing-whitespace
45
+ exclude: |
46
+ (?x)(
47
+ tests/core/notebooks/basic-r-notebook.Rmd.cleaned.html
48
+ )
45
49
  - id: check-case-conflict
46
50
  - repo: https://github.com/pre-commit/mirrors-mypy
47
51
  rev: v1.7.1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lamindb
3
- Version: 0.76.16
3
+ Version: 0.77.2
4
4
  Summary: A data framework for biology.
5
5
  Author-email: Lamin Labs <open-source@lamin.ai>
6
6
  Requires-Python: >=3.9,<3.13
@@ -9,11 +9,10 @@ Classifier: Programming Language :: Python :: 3.9
9
9
  Classifier: Programming Language :: Python :: 3.10
10
10
  Classifier: Programming Language :: Python :: 3.11
11
11
  Classifier: Programming Language :: Python :: 3.12
12
- Requires-Dist: lnschema_core==0.76.2
13
- Requires-Dist: lamin_utils==0.13.7
14
- Requires-Dist: lamin_cli==0.21.2
15
- Requires-Dist: lamindb_setup
16
- Requires-Dist: rapidfuzz
12
+ Requires-Dist: lnschema_core==0.77.1
13
+ Requires-Dist: lamin_utils==0.13.9
14
+ Requires-Dist: lamin_cli==0.22.0
15
+ Requires-Dist: lamindb_setup==0.81.2
17
16
  Requires-Dist: pyarrow
18
17
  Requires-Dist: typing_extensions!=4.6.0
19
18
  Requires-Dist: python-dateutil
@@ -22,7 +21,7 @@ Requires-Dist: fsspec
22
21
  Requires-Dist: graphviz
23
22
  Requires-Dist: psycopg2-binary
24
23
  Requires-Dist: lamindb_setup[aws] ; extra == "aws"
25
- Requires-Dist: bionty==0.52.1 ; extra == "bionty"
24
+ Requires-Dist: bionty==0.53.2 ; extra == "bionty"
26
25
  Requires-Dist: cellregistry ; extra == "cellregistry"
27
26
  Requires-Dist: clinicore ; extra == "clinicore"
28
27
  Requires-Dist: line_profiler ; extra == "dev"
@@ -41,7 +40,7 @@ Requires-Dist: findrefs ; extra == "findrefs"
41
40
  Requires-Dist: lamindb_setup[gcp] ; extra == "gcp"
42
41
  Requires-Dist: nbproject==0.10.5 ; extra == "jupyter"
43
42
  Requires-Dist: jupytext ; extra == "jupyter"
44
- Requires-Dist: nbconvert ; extra == "jupyter"
43
+ Requires-Dist: nbconvert>=7.2.1 ; extra == "jupyter"
45
44
  Requires-Dist: omop ; extra == "omop"
46
45
  Requires-Dist: ourprojects ; extra == "ourprojects"
47
46
  Requires-Dist: wetlab ; extra == "wetlab"
@@ -11,7 +11,7 @@
11
11
  "cell_type": "markdown",
12
12
  "metadata": {},
13
13
  "source": [
14
- "# Query arrays"
14
+ "# Slice arrays"
15
15
  ]
16
16
  },
17
17
  {
@@ -304,7 +304,7 @@
304
304
  "source": [
305
305
  "We'd like to load the corresponding records in our in-house registry to annotate a dataset.\n",
306
306
  "\n",
307
- "To this end, you'll typically use {class}`~lamindb.core.CanValidate.from_values`, which will both validate & retrieve records that match the values."
307
+ "To this end, you'll typically use {class}`~lamindb.core.CanCurate.from_values`, which will both validate & retrieve records that match the values."
308
308
  ]
309
309
  },
310
310
  {
@@ -697,7 +697,7 @@
697
697
  "source": [
698
698
  "Sometimes, the default source doesn't contain the ontology term you are looking for.\n",
699
699
  "\n",
700
- "You can then specify to create a record from a non-default source. For instance, instead of using untyped labels for iris organisms as {doc}`/tutorial2`, we can use the `ncbitaxon` ontology:"
700
+ "You can then specify to create a record from a non-default source. For instance, we can use the `ncbitaxon` ontology:"
701
701
  ]
702
702
  },
703
703
  {
@@ -20,11 +20,11 @@
20
20
  "source": [
21
21
  ":::{dropdown} How do I validate based on a public ontology?\n",
22
22
  "\n",
23
- "LaminDB makes it easy to validate categorical variables based on registries that inherit from {class}`~lamindb.core.CanValidate`.\n",
23
+ "LaminDB makes it easy to validate categorical variables based on registries that inherit from {class}`~lamindb.core.CanCurate`.\n",
24
24
  "\n",
25
- "{class}`~lamindb.core.CanValidate` methods validate against the registries in your LaminDB instance.\n",
25
+ "{class}`~lamindb.core.CanCurate` methods validate against the registries in your LaminDB instance.\n",
26
26
  "In {doc}`./bio-registries`, you'll see how to extend standard validation to validation against _public references_ using a `ReferenceTable` ontology object: `public = Record.public()`.\n",
27
- "By default, {meth}`~lamindb.core.CanValidate.from_values` considers a match in a public reference a validated value for any {mod}`bionty` entity.\n",
27
+ "By default, {meth}`~lamindb.core.CanCurate.from_values` considers a match in a public reference a validated value for any {mod}`bionty` entity.\n",
28
28
  "\n",
29
29
  ":::"
30
30
  ]
@@ -92,7 +92,7 @@
92
92
  "cell_type": "markdown",
93
93
  "metadata": {},
94
94
  "source": [
95
- "{meth}`~lamindb.core.CanValidate.validate` validates passed values against reference values in a registry.\n",
95
+ "{meth}`~lamindb.core.CanCurate.validate` validates passed values against reference values in a registry.\n",
96
96
  "It returns a boolean vector indicating whether a value has an exact match in the reference values."
97
97
  ]
98
98
  },
@@ -109,11 +109,11 @@
109
109
  "cell_type": "markdown",
110
110
  "metadata": {},
111
111
  "source": [
112
- "When validation fails, you can call {meth}`~lamindb.core.CanValidate.inspect` to figure out what to do.\n",
112
+ "When validation fails, you can call {meth}`~lamindb.core.CanCurate.inspect` to figure out what to do.\n",
113
113
  "\n",
114
- "{meth}`~lamindb.core.CanValidate.inspect` applies the same definition of validation as {meth}`~lamindb.core.CanValidate.validate`, but returns a rich return value {class}`~lamindb.core.InspectResult`. Most importantly, it logs recommended curation steps that would render the data validated.\n",
114
+ "{meth}`~lamindb.core.CanCurate.inspect` applies the same definition of validation as {meth}`~lamindb.core.CanCurate.validate`, but returns a rich return value {class}`~lamindb.core.InspectResult`. Most importantly, it logs recommended curation steps that would render the data validated.\n",
115
115
  "\n",
116
- "Note: you can use {meth}`~lamindb.core.CanValidate.standardize` to standardize synonyms."
116
+ "Note: you can use {meth}`~lamindb.core.CanCurate.standardize` to standardize synonyms."
117
117
  ]
118
118
  },
119
119
  {
@@ -131,7 +131,7 @@
131
131
  "source": [
132
132
  "Following the suggestions to register new labels:\n",
133
133
  "\n",
134
- "Bulk creating records using {meth}`~lamindb.core.CanValidate.from_values` only returns validated records:\n",
134
+ "Bulk creating records using {meth}`~lamindb.core.CanCurate.from_values` only returns validated records:\n",
135
135
  "\n",
136
136
  "Note: Terms validated with public reference are also created with `.from_values`, see {doc}`/bio-registries` for details."
137
137
  ]
@@ -7,19 +7,76 @@
7
7
  "source": [
8
8
  "# Curate DataFrames and AnnDatas\n",
9
9
  "\n",
10
- "Curating datasets typically means three things:\n",
10
+ "Curating a dataset with LaminDB means three things:\n",
11
11
  "\n",
12
- "1. Validate: ensure a dataset meets predefined _validation criteria_\n",
13
- "2. Standardize: transform a dataset so that it meets validation criteria, e.g., by fixing typos or using standardized identifiers\n",
14
- "3. Annotate: link a dataset against metadata records\n",
12
+ "1. **Validate:** ensure the dataset meets predefined _validation criteria_\n",
13
+ "2. **Standardize:** transform the dataset so that it meets validation criteria, e.g., by fixing typos or using standard instead of ad hoc identifiers\n",
14
+ "3. **Annotate:** link the dataset against validated metadata so that it becomes queryable\n",
15
15
  "\n",
16
- "In LaminDB, valid metadata is metadata that's stored in a metadata registry and _validation criteria_ merely defines a mapping onto a field of a registry.\n",
16
+ "If a dataset passes validation, curating it takes two lines of code:\n",
17
17
  "\n",
18
- "```{admonition} Example\n",
18
+ "```python\n",
19
+ "curator = ln.Curator.from_df(df, ...) # create a Curator and pass criteria in \"...\"\n",
20
+ "curator.save_artifact() # validates the content of the dataset and saves it as annotated artifact\n",
21
+ "```\n",
19
22
  "\n",
20
- "`\"Experiment 1\"` is a valid value for `ULabel.name` if a record with this name exists in the {class}`~lamindb.ULabel` registry.\n",
23
+ "Beyond having valid content, the curated dataset is now queryable via metadata identifiers found in the dataset because they have been validated & linked against LaminDB registries.\n",
21
24
  "\n",
22
- "```"
25
+ ":::{admonition} Definition: valid metadata identifier\n",
26
+ "\n",
27
+ "An identifier like `\"Experiment 1\"` is a valid value for `ULabel.name` if a record with `name` `\"Experiment 1\"` exists in the {class}`~lamindb.ULabel` registry.\n",
28
+ "\n",
29
+ "```python\n",
30
+ "categoricals = {\"experiment\": ln.ULabel.name} # the validation constraint\n",
31
+ "curator = ln.Curator.from_df(df, categoricals=categoricals)\n",
32
+ "curator.validate()\n",
33
+ "```\n",
34
+ "\n",
35
+ "The DataFrame validates if \n",
36
+ "\n",
37
+ "- there is a column with name `\"experiment\"` in the dataframe whose values are all found in the `name` field of the {class}`~lamindb.ULabel` registry\n",
38
+ "- the column name `\"experiment\"` is found in the `name` field of the {class}`~lamindb.Feature` registry\n",
39
+ "\n",
40
+ ":::\n",
41
+ "\n",
42
+ "Beyond validating metadata identifiers, LaminDB also validates data types and dataset schema.\n",
43
+ "\n",
44
+ ":::{dropdown} How does validation in LaminDB compare to validation in pandera?\n",
45
+ "\n",
46
+ "Like LaminDB, [pandera](https://pandera.readthedocs.io/) validates the _dataset schema_ (i.e., column names and `dtype`s).\n",
47
+ "\n",
48
+ "`pandera` is only available for `DataFrame`-like datasets and cannot annotate datasets; i.e., can't make datasets queryable.\n",
49
+ "\n",
50
+ "However, it offers an API for range-checks, both for numerical and string-like data. If you need such checks, you can combine LaminDB and pandera-based validation.\n",
51
+ "\n",
52
+ "```python\n",
53
+ "import pandas as pd\n",
54
+ "import pandera as pa\n",
55
+ "\n",
56
+ "# data to validate\n",
57
+ "df = pd.DataFrame({\n",
58
+ " \"column1\": [1, 4, 0, 10, 9],\n",
59
+ " \"column2\": [-1.3, -1.4, -2.9, -10.1, -20.4],\n",
60
+ " \"column3\": [\"value_1\", \"value_2\", \"value_3\", \"value_2\", \"value_1\"],\n",
61
+ "})\n",
62
+ "\n",
63
+ "# define schema\n",
64
+ "schema = pa.DataFrameSchema({\n",
65
+ " \"column1\": pa.Column(int, checks=pa.Check.le(10)),\n",
66
+ " \"column2\": pa.Column(float, checks=pa.Check.lt(-1.2)),\n",
67
+ " \"column3\": pa.Column(str, checks=[\n",
68
+ " pa.Check.str_startswith(\"value_\"),\n",
69
+ " # define custom checks as functions that take a series as input and\n",
70
+ " # outputs a boolean or boolean Series\n",
71
+ " pa.Check(lambda s: s.str.split(\"_\", expand=True).shape[1] == 2)\n",
72
+ " ]),\n",
73
+ "})\n",
74
+ "\n",
75
+ "validated_df = schema(df) # this corresponds to curator.validate() in LaminDB\n",
76
+ "print(validated_df)\n",
77
+ "```\n",
78
+ "\n",
79
+ ":::"
23
80
  ]
24
81
  },
25
82
  {
@@ -42,7 +99,7 @@
42
99
  "id": "946a3371",
43
100
  "metadata": {},
44
101
  "source": [
45
- "## Validate a DataFrame"
102
+ "## Curate a DataFrame"
46
103
  ]
47
104
  },
48
105
  {
@@ -72,7 +129,7 @@
72
129
  "df = pd.DataFrame(\n",
73
130
  " {\n",
74
131
  " \"temperature\": [37.2, 36.3, 38.2],\n",
75
- " \"cell_type\": [\"cerebral pyramidal neuron\", \"astrocyte\", \"oligodendrocyte\"],\n",
132
+ " \"cell_type\": [\"cerebral pyramidal neuron\", \"astrocytic glia\", \"oligodendrocyte\"],\n",
76
133
  " \"assay_ontology_id\": [\"EFO:0008913\", \"EFO:0008913\", \"EFO:0008913\"],\n",
77
134
  " \"donor\": [\"D0001\", \"D0002\", \"D0003\"]\n",
78
135
  " },\n",
@@ -134,22 +191,54 @@
134
191
  "curate.validate()"
135
192
  ]
136
193
  },
194
+ {
195
+ "cell_type": "code",
196
+ "execution_count": null,
197
+ "id": "e7acf0d2",
198
+ "metadata": {},
199
+ "outputs": [],
200
+ "source": [
201
+ "# check the non-validated terms\n",
202
+ "curate.non_validated"
203
+ ]
204
+ },
137
205
  {
138
206
  "cell_type": "markdown",
139
- "id": "7c157df6",
207
+ "id": "8c2417c7",
140
208
  "metadata": {},
141
209
  "source": [
142
- "## Register new metadata values\n",
210
+ "For `cell_type`, we saw that \"cerebral pyramidal neuron\", \"astrocytic glia\" are not validated.\n",
143
211
  "\n",
144
- "If you see \"non-validated\" values, you'll need to decide whether to add them to your registries or \"fix\" them in your dataset."
212
+ "First, let's standardize synonym \"astrocytic glia\" as suggested"
213
+ ]
214
+ },
215
+ {
216
+ "cell_type": "code",
217
+ "execution_count": null,
218
+ "id": "35b3ce8e",
219
+ "metadata": {},
220
+ "outputs": [],
221
+ "source": [
222
+ "curate.standardize(\"cell_type\")"
223
+ ]
224
+ },
225
+ {
226
+ "cell_type": "code",
227
+ "execution_count": null,
228
+ "id": "336293ac",
229
+ "metadata": {},
230
+ "outputs": [],
231
+ "source": [
232
+ "# now we have only one non-validated term left\n",
233
+ "curate.non_validated"
145
234
  ]
146
235
  },
147
236
  {
148
237
  "cell_type": "markdown",
149
- "id": "8c2417c7",
238
+ "id": "c1bfe41c",
150
239
  "metadata": {},
151
240
  "source": [
152
- "For `cell_type`, we saw that 'cerebral pyramidal neuron' is not validated, let's understand which cell type in the public ontology might be the actual match."
241
+ "For \"cerebral pyramidal neuron\", let's understand which cell type in the public ontology might be the actual match."
153
242
  ]
154
243
  },
155
244
  {
@@ -235,8 +324,35 @@
235
324
  "outputs": [],
236
325
  "source": [
237
326
  "# validate again\n",
238
- "validated = curate.validate()\n",
239
- "validated"
327
+ "curate.validate()"
328
+ ]
329
+ },
330
+ {
331
+ "cell_type": "markdown",
332
+ "id": "ab7cfff0",
333
+ "metadata": {},
334
+ "source": [
335
+ "Save a curated artifact."
336
+ ]
337
+ },
338
+ {
339
+ "cell_type": "code",
340
+ "execution_count": null,
341
+ "id": "9e7e6372",
342
+ "metadata": {},
343
+ "outputs": [],
344
+ "source": [
345
+ "artifact = curate.save_artifact(description=\"My curated dataframe\")"
346
+ ]
347
+ },
348
+ {
349
+ "cell_type": "code",
350
+ "execution_count": null,
351
+ "id": "74f91cc8",
352
+ "metadata": {},
353
+ "outputs": [],
354
+ "source": [
355
+ "artifact.describe(print_types=True)"
240
356
  ]
241
357
  },
242
358
  {
@@ -244,7 +360,7 @@
244
360
  "id": "b9d09a10",
245
361
  "metadata": {},
246
362
  "source": [
247
- "## Validate an AnnData\n",
363
+ "## Curate an AnnData\n",
248
364
  "\n",
249
365
  "Here we additionally specify which `var_index` to validate against."
250
366
  ]
@@ -271,9 +387,8 @@
271
387
  " \"ENSG00000153563\": [13, 14, 15],\n",
272
388
  " \"ENSGcorrupted\": [16, 17, 18]\n",
273
389
  " }, \n",
274
- " index=df.index\n",
390
+ " index=df.index # because we already curated the dataframe above, it will validate \n",
275
391
  ")\n",
276
- "\n",
277
392
  "adata = ad.AnnData(X=X, obs=df)\n",
278
393
  "adata"
279
394
  ]
@@ -294,20 +409,7 @@
294
409
  " var_index=bt.Gene.ensembl_gene_id, # validate var.index against Gene.ensembl_gene_id\n",
295
410
  " categoricals=categoricals, \n",
296
411
  " organism=\"human\",\n",
297
- ")"
298
- ]
299
- },
300
- {
301
- "cell_type": "code",
302
- "execution_count": null,
303
- "id": "e8d8cee5",
304
- "metadata": {
305
- "tags": [
306
- "hide-output"
307
- ]
308
- },
309
- "outputs": [],
310
- "source": [
412
+ ")\n",
311
413
  "curate.validate()"
312
414
  ]
313
415
  },
@@ -376,18 +478,9 @@
376
478
  " categoricals=categoricals, \n",
377
479
  " organism=\"human\",\n",
378
480
  ")\n",
379
- "\n",
380
481
  "curate.validate()"
381
482
  ]
382
483
  },
383
- {
384
- "cell_type": "markdown",
385
- "id": "38a30170",
386
- "metadata": {},
387
- "source": [
388
- "## Save a curated artifact"
389
- ]
390
- },
391
484
  {
392
485
  "cell_type": "markdown",
393
486
  "id": "a814ef37",
@@ -466,7 +559,7 @@
466
559
  "name": "python",
467
560
  "nbconvert_exporter": "python",
468
561
  "pygments_lexer": "ipython3",
469
- "version": "3.10.13"
562
+ "version": "3.10.15"
470
563
  },
471
564
  "nbproject": {
472
565
  "id": "WOK3vP0bNGLx",
@@ -95,8 +95,8 @@
95
95
  "source": [
96
96
  "# create example DataFrame that has all mandatory columns but one ('patient_age') is wrongly named\n",
97
97
  "data = {\n",
98
- " 'disease': ['Alzheimer disease', 'Diabetes mellitus', 'Breast cancer', 'Hypertension', 'Asthma'],\n",
99
- " 'phenotype': ['Cognitive decline', 'Hyperglycemia', 'Tumor growth', 'Increased blood pressure', 'Airway inflammation'],\n",
98
+ " 'disease': ['Alzheimer disease', 'diabetes mellitus', 'breast cancer', 'Hypertension', 'asthma'],\n",
99
+ " 'phenotype': ['Mental deterioration', 'Hyperglycemia', 'Tumor growth', 'Increased blood pressure', 'Airway inflammation'],\n",
100
100
  " 'developmental_stage': ['Adult', 'Adult', 'Adult', 'Adult', 'Child'],\n",
101
101
  " 'patient_age': [70, 55, 60, 65, 12],\n",
102
102
  "}\n",
@@ -46,7 +46,7 @@ class EHRCurator(DataFrameCurator):
46
46
  if col not in self.data.columns:
47
47
  self.data[col] = default
48
48
  else:
49
- self.data[col].fillna(default, inplace=True)
49
+ self.data[col] = self.data[col].fillna(default)
50
50
 
51
51
  super().__init__(
52
52
  df=self.data,
@@ -8,33 +8,19 @@
8
8
  "# How does search work?"
9
9
  ]
10
10
  },
11
- {
12
- "cell_type": "code",
13
- "execution_count": null,
14
- "id": "955b6253",
15
- "metadata": {},
16
- "outputs": [],
17
- "source": [
18
- "from laminci.db import setup_local_test_postgres"
19
- ]
20
- },
21
- {
22
- "cell_type": "code",
23
- "execution_count": null,
24
- "id": "7f312433",
25
- "metadata": {},
26
- "outputs": [],
27
- "source": [
28
- "pgurl = setup_local_test_postgres()"
29
- ]
30
- },
31
11
  {
32
12
  "cell_type": "code",
33
13
  "execution_count": null,
34
14
  "id": "286aeebc",
35
- "metadata": {},
15
+ "metadata": {
16
+ "tags": [
17
+ "hide-cell"
18
+ ]
19
+ },
36
20
  "outputs": [],
37
21
  "source": [
22
+ "from laminci.db import setup_local_test_postgres\n",
23
+ "pgurl = setup_local_test_postgres()\n",
38
24
  "!lamin init --name benchmark_search --db {pgurl} --schema bionty --storage ./benchmark_search"
39
25
  ]
40
26
  },
@@ -43,7 +29,7 @@
43
29
  "id": "40234d47",
44
30
  "metadata": {},
45
31
  "source": [
46
- "Here we show how to perform text search on `Record` and evaluate some search queries."
32
+ "Here we show how to perform text search on `Record` and evaluate some search queries for the {class}`bionty.CellType` ontology."
47
33
  ]
48
34
  },
49
35
  {
@@ -54,36 +40,32 @@
54
40
  "outputs": [],
55
41
  "source": [
56
42
  "import lamindb as ln\n",
57
- "import bionty as bt"
58
- ]
59
- },
60
- {
61
- "cell_type": "code",
62
- "execution_count": null,
63
- "id": "83a46a9a",
64
- "metadata": {},
65
- "outputs": [],
66
- "source": [
43
+ "import bionty as bt\n",
44
+ "\n",
45
+ "SEARCH_QUERIES_EXACT = (\"t cell\", \"stem cell\", \"b cell\", \"regulatory B cell\", \"Be2 cell\", \"adipocyte\")\n",
46
+ "SEARCH_QUERIES_CONTAINS = (\"t cel\", \"t-cel\", \"neural\", \"kidney\", \"kidne\")\n",
47
+ "TOP_N = 20\n",
48
+ "\n",
67
49
  "bt.CellType.import_source()"
68
50
  ]
69
51
  },
70
52
  {
71
- "cell_type": "code",
72
- "execution_count": null,
73
- "id": "7991a73f",
53
+ "cell_type": "markdown",
54
+ "id": "799b528e",
74
55
  "metadata": {},
75
- "outputs": [],
76
56
  "source": [
77
- "SEARCH_QUERIES_EXACT = (\"t cell\", \"stem cell\", \"b cell\", \"regulatory B cell\", \"Be2 cell\", \"adipocyte\")\n",
78
- "SEARCH_QUERIES_CONTAINS = (\"t cel\", \"t-cel\", \"neural\", \"kidney\", \"kidne\")\n",
79
- "TOP_N = 20"
57
+ "## Search the registry"
80
58
  ]
81
59
  },
82
60
  {
83
61
  "cell_type": "code",
84
62
  "execution_count": null,
85
63
  "id": "682fcd2f",
86
- "metadata": {},
64
+ "metadata": {
65
+ "tags": [
66
+ "hide-output"
67
+ ]
68
+ },
87
69
  "outputs": [],
88
70
  "source": [
89
71
  "for query in SEARCH_QUERIES_EXACT:\n",
@@ -98,7 +80,11 @@
98
80
  "cell_type": "code",
99
81
  "execution_count": null,
100
82
  "id": "ee059b0d",
101
- "metadata": {},
83
+ "metadata": {
84
+ "tags": [
85
+ "hide-output"
86
+ ]
87
+ },
102
88
  "outputs": [],
103
89
  "source": [
104
90
  "for query in SEARCH_QUERIES_CONTAINS:\n",
@@ -111,6 +97,32 @@
111
97
  " assert query in top_record.name.lower() or query in top_record.synonyms.lower()"
112
98
  ]
113
99
  },
100
+ {
101
+ "cell_type": "markdown",
102
+ "id": "f4e41c9b",
103
+ "metadata": {},
104
+ "source": [
105
+ "## Search the public ontology"
106
+ ]
107
+ },
108
+ {
109
+ "cell_type": "code",
110
+ "execution_count": null,
111
+ "id": "d42c3594",
112
+ "metadata": {
113
+ "tags": [
114
+ "hide-output"
115
+ ]
116
+ },
117
+ "outputs": [],
118
+ "source": [
119
+ "ct_public = bt.CellType.public()\n",
120
+ "\n",
121
+ "df = ct_public.search(\"b cell\", limit=20)\n",
122
+ "assert df.iloc[0][\"name\"] == \"B cell\"\n",
123
+ "df"
124
+ ]
125
+ },
114
126
  {
115
127
  "cell_type": "code",
116
128
  "execution_count": null,