lamindb 1.0.0__tar.gz → 1.0.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 (522) hide show
  1. {lamindb-1.0.0 → lamindb-1.0.1}/PKG-INFO +2 -2
  2. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/__init__.py +1 -1
  3. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0073_merge_ourprojects.py +7 -0
  4. {lamindb-1.0.0 → lamindb-1.0.1}/pyproject.toml +1 -1
  5. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/__init__.py +1 -1
  6. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/_connect_instance.py +18 -0
  7. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/hub-local/test_all.py +6 -3
  8. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/.github/workflows/build.yml +1 -1
  9. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/docs/guide/pert-curator.ipynb +32 -31
  10. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/noxfile.py +1 -1
  11. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/wetlab/__init__.py +1 -1
  12. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/wetlab/_pert_curator.py +39 -31
  13. {lamindb-1.0.0 → lamindb-1.0.1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  14. {lamindb-1.0.0 → lamindb-1.0.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  15. {lamindb-1.0.0 → lamindb-1.0.1}/.github/ISSUE_TEMPLATE/enhancement.yml +0 -0
  16. {lamindb-1.0.0 → lamindb-1.0.1}/.github/ISSUE_TEMPLATE/usage_question.yml +0 -0
  17. {lamindb-1.0.0 → lamindb-1.0.1}/.github/workflows/build.yml +0 -0
  18. {lamindb-1.0.0 → lamindb-1.0.1}/.github/workflows/doc-changes.yml +0 -0
  19. {lamindb-1.0.0 → lamindb-1.0.1}/.gitignore +0 -0
  20. {lamindb-1.0.0 → lamindb-1.0.1}/.gitmodules +0 -0
  21. {lamindb-1.0.0 → lamindb-1.0.1}/.pre-commit-config.yaml +0 -0
  22. {lamindb-1.0.0 → lamindb-1.0.1}/CONTRIBUTING.md +0 -0
  23. {lamindb-1.0.0 → lamindb-1.0.1}/LICENSE +0 -0
  24. {lamindb-1.0.0 → lamindb-1.0.1}/README.md +0 -0
  25. {lamindb-1.0.0 → lamindb-1.0.1}/docs/api.md +0 -0
  26. {lamindb-1.0.0 → lamindb-1.0.1}/docs/arrays.ipynb +0 -0
  27. {lamindb-1.0.0 → lamindb-1.0.1}/docs/bio-registries.ipynb +0 -0
  28. {lamindb-1.0.0 → lamindb-1.0.1}/docs/bionty.md +0 -0
  29. {lamindb-1.0.0 → lamindb-1.0.1}/docs/cellregistry.md +0 -0
  30. {lamindb-1.0.0 → lamindb-1.0.1}/docs/changelog.md +0 -0
  31. {lamindb-1.0.0 → lamindb-1.0.1}/docs/clinicore.md +0 -0
  32. {lamindb-1.0.0 → lamindb-1.0.1}/docs/curate-any.ipynb +0 -0
  33. {lamindb-1.0.0 → lamindb-1.0.1}/docs/curate-df.ipynb +0 -0
  34. {lamindb-1.0.0 → lamindb-1.0.1}/docs/curate-subclass.ipynb +0 -0
  35. {lamindb-1.0.0 → lamindb-1.0.1}/docs/curate.md +0 -0
  36. {lamindb-1.0.0 → lamindb-1.0.1}/docs/ehrcurator.py +0 -0
  37. {lamindb-1.0.0 → lamindb-1.0.1}/docs/faq/acid.ipynb +0 -0
  38. {lamindb-1.0.0 → lamindb-1.0.1}/docs/faq/delete.ipynb +0 -0
  39. {lamindb-1.0.0 → lamindb-1.0.1}/docs/faq/idempotency.ipynb +0 -0
  40. {lamindb-1.0.0 → lamindb-1.0.1}/docs/faq/import-modules.ipynb +0 -0
  41. {lamindb-1.0.0 → lamindb-1.0.1}/docs/faq/keep-artifacts-local.ipynb +0 -0
  42. {lamindb-1.0.0 → lamindb-1.0.1}/docs/faq/key.ipynb +0 -0
  43. {lamindb-1.0.0 → lamindb-1.0.1}/docs/faq/reference-field.ipynb +0 -0
  44. {lamindb-1.0.0 → lamindb-1.0.1}/docs/faq/search.ipynb +0 -0
  45. {lamindb-1.0.0 → lamindb-1.0.1}/docs/faq/setup.ipynb +0 -0
  46. {lamindb-1.0.0 → lamindb-1.0.1}/docs/faq/symbol-mapping.ipynb +0 -0
  47. {lamindb-1.0.0 → lamindb-1.0.1}/docs/faq/test_notebooks.py +0 -0
  48. {lamindb-1.0.0 → lamindb-1.0.1}/docs/faq/track-run-inputs.ipynb +0 -0
  49. {lamindb-1.0.0 → lamindb-1.0.1}/docs/faq/validate-fields.ipynb +0 -0
  50. {lamindb-1.0.0 → lamindb-1.0.1}/docs/faq/visibility.ipynb +0 -0
  51. {lamindb-1.0.0 → lamindb-1.0.1}/docs/faq.md +0 -0
  52. {lamindb-1.0.0 → lamindb-1.0.1}/docs/guide.md +0 -0
  53. {lamindb-1.0.0 → lamindb-1.0.1}/docs/includes/installation.md +0 -0
  54. {lamindb-1.0.0 → lamindb-1.0.1}/docs/index.md +0 -0
  55. {lamindb-1.0.0 → lamindb-1.0.1}/docs/lamindb.md +0 -0
  56. {lamindb-1.0.0 → lamindb-1.0.1}/docs/laminr.md +0 -0
  57. {lamindb-1.0.0 → lamindb-1.0.1}/docs/modules.ipynb +0 -0
  58. {lamindb-1.0.0 → lamindb-1.0.1}/docs/omop.md +0 -0
  59. {lamindb-1.0.0 → lamindb-1.0.1}/docs/query-search.md +0 -0
  60. {lamindb-1.0.0 → lamindb-1.0.1}/docs/registries.ipynb +0 -0
  61. {lamindb-1.0.0 → lamindb-1.0.1}/docs/rest.md +0 -0
  62. {lamindb-1.0.0 → lamindb-1.0.1}/docs/scripts/run-track-with-params.py +0 -0
  63. {lamindb-1.0.0 → lamindb-1.0.1}/docs/scripts/synced-with-git.py +0 -0
  64. {lamindb-1.0.0 → lamindb-1.0.1}/docs/setup.ipynb +0 -0
  65. {lamindb-1.0.0 → lamindb-1.0.1}/docs/signup-login.md +0 -0
  66. {lamindb-1.0.0 → lamindb-1.0.1}/docs/storage/add-replace-cache.ipynb +0 -0
  67. {lamindb-1.0.0 → lamindb-1.0.1}/docs/storage/anndata-accessor.ipynb +0 -0
  68. {lamindb-1.0.0 → lamindb-1.0.1}/docs/storage/prepare-transfer-local-to-cloud.ipynb +0 -0
  69. {lamindb-1.0.0 → lamindb-1.0.1}/docs/storage/test-files/iris.csv +0 -0
  70. {lamindb-1.0.0 → lamindb-1.0.1}/docs/storage/test-files/iris.data +0 -0
  71. {lamindb-1.0.0 → lamindb-1.0.1}/docs/storage/test-files/new_iris.csv +0 -0
  72. {lamindb-1.0.0 → lamindb-1.0.1}/docs/storage/test_notebooks.py +0 -0
  73. {lamindb-1.0.0 → lamindb-1.0.1}/docs/storage/transfer-local-to-cloud.ipynb +0 -0
  74. {lamindb-1.0.0 → lamindb-1.0.1}/docs/storage/upload.ipynb +0 -0
  75. {lamindb-1.0.0 → lamindb-1.0.1}/docs/storage/vitessce.ipynb +0 -0
  76. {lamindb-1.0.0 → lamindb-1.0.1}/docs/storage.md +0 -0
  77. {lamindb-1.0.0 → lamindb-1.0.1}/docs/test_notebooks.py +0 -0
  78. {lamindb-1.0.0 → lamindb-1.0.1}/docs/track.ipynb +0 -0
  79. {lamindb-1.0.0 → lamindb-1.0.1}/docs/transfer.ipynb +0 -0
  80. {lamindb-1.0.0 → lamindb-1.0.1}/docs/wetlab.md +0 -0
  81. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/_artifact.py +0 -0
  82. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/_can_curate.py +0 -0
  83. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/_collection.py +0 -0
  84. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/_feature.py +0 -0
  85. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/_finish.py +0 -0
  86. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/_from_values.py +0 -0
  87. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/_is_versioned.py +0 -0
  88. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/_parents.py +0 -0
  89. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/_query_manager.py +0 -0
  90. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/_query_set.py +0 -0
  91. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/_record.py +0 -0
  92. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/_run.py +0 -0
  93. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/_save.py +0 -0
  94. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/_schema.py +0 -0
  95. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/_storage.py +0 -0
  96. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/_transform.py +0 -0
  97. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/_ulabel.py +0 -0
  98. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/_utils.py +0 -0
  99. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/_view.py +0 -0
  100. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/base/__init__.py +0 -0
  101. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/base/fields.py +0 -0
  102. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/base/ids.py +0 -0
  103. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/base/types.py +0 -0
  104. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/base/users.py +0 -0
  105. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/base/validation.py +0 -0
  106. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/__init__.py +0 -0
  107. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/_context.py +0 -0
  108. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/_data.py +0 -0
  109. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/_describe.py +0 -0
  110. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/_django.py +0 -0
  111. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/_feature_manager.py +0 -0
  112. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/_label_manager.py +0 -0
  113. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/_mapped_collection.py +0 -0
  114. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/_settings.py +0 -0
  115. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/_sync_git.py +0 -0
  116. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/_track_environment.py +0 -0
  117. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/datasets/__init__.py +0 -0
  118. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/datasets/_core.py +0 -0
  119. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/datasets/_fake.py +0 -0
  120. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/datasets/_small.py +0 -0
  121. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/exceptions.py +0 -0
  122. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/fields.py +0 -0
  123. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/loaders.py +0 -0
  124. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/relations.py +0 -0
  125. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/storage/__init__.py +0 -0
  126. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/storage/_anndata_accessor.py +0 -0
  127. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/storage/_anndata_sizes.py +0 -0
  128. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/storage/_backed_access.py +0 -0
  129. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/storage/_pyarrow_dataset.py +0 -0
  130. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/storage/_tiledbsoma.py +0 -0
  131. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/storage/_valid_suffixes.py +0 -0
  132. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/storage/_zarr.py +0 -0
  133. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/storage/objects.py +0 -0
  134. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/storage/paths.py +0 -0
  135. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/subsettings/__init__.py +0 -0
  136. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/subsettings/_creation_settings.py +0 -0
  137. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/types.py +0 -0
  138. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/core/versioning.py +0 -0
  139. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/curators/__init__.py +0 -0
  140. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/curators/_spatial.py +0 -0
  141. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/integrations/__init__.py +0 -0
  142. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/integrations/_vitessce.py +0 -0
  143. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0052_squashed.py +0 -0
  144. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0053_alter_featureset_hash_alter_paramvalue_created_by_and_more.py +0 -0
  145. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0054_alter_feature_previous_runs_and_more.py +0 -0
  146. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0055_artifact_type_artifactparamvalue_and_more.py +0 -0
  147. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0056_rename_ulabel_ref_is_name_artifactulabel_label_ref_is_name_and_more.py +0 -0
  148. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0057_link_models_latest_report_and_others.py +0 -0
  149. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0058_artifact__actions_collection__actions.py +0 -0
  150. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0059_alter_artifact__accessor_alter_artifact__hash_type_and_more.py +0 -0
  151. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0060_alter_artifact__actions.py +0 -0
  152. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0061_alter_collection_meta_artifact_alter_run_environment_and_more.py +0 -0
  153. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0062_add_is_latest_field.py +0 -0
  154. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0063_populate_latest_field.py +0 -0
  155. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0064_alter_artifact_version_alter_collection_version_and_more.py +0 -0
  156. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0065_remove_collection_feature_sets_and_more.py +0 -0
  157. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0066_alter_artifact__feature_values_and_more.py +0 -0
  158. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0067_alter_featurevalue_unique_together_and_more.py +0 -0
  159. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0068_alter_artifactulabel_unique_together_and_more.py +0 -0
  160. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0069_alter_artifact__accessor_alter_artifact__hash_type_and_more.py +0 -0
  161. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0069_squashed.py +0 -0
  162. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0070_lamindbv1_migrate_data.py +0 -0
  163. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0071_lamindbv1_migrate_schema.py +0 -0
  164. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0072_remove_user__branch_code_remove_user_aux_and_more.py +0 -0
  165. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0074_lamindbv1_part4.py +0 -0
  166. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0075_lamindbv1_part5.py +0 -0
  167. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0076_lamindbv1_part6.py +0 -0
  168. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0077_lamindbv1_part6b.py +0 -0
  169. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0078_lamindbv1_part6c.py +0 -0
  170. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/0079_alter_rundata_value_json_and_more.py +0 -0
  171. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/migrations/__init__.py +0 -0
  172. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/models.py +0 -0
  173. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/setup/__init__.py +0 -0
  174. {lamindb-1.0.0 → lamindb-1.0.1}/lamindb/setup/core/__init__.py +0 -0
  175. {lamindb-1.0.0 → lamindb-1.0.1}/noxfile.py +0 -0
  176. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/.github/workflows/build.yml +0 -0
  177. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/.github/workflows/doc-changes.yml +0 -0
  178. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/.github/workflows/update_ontologies.yml +0 -0
  179. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/.gitignore +0 -0
  180. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/.pre-commit-config.yaml +0 -0
  181. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/LICENSE +0 -0
  182. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/README.md +0 -0
  183. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/__init__.py +0 -0
  184. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/_bionty.py +0 -0
  185. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/__init__.py +0 -0
  186. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/_display_sources.py +0 -0
  187. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/_ontology.py +0 -0
  188. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/_public_ontology.py +0 -0
  189. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/_settings.py +0 -0
  190. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/_sync_sources.py +0 -0
  191. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/dev/__init__.py +0 -0
  192. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/dev/_handle_sources.py +0 -0
  193. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/dev/_io.py +0 -0
  194. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/dev/_md5.py +0 -0
  195. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/entities/__init__.py +0 -0
  196. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/entities/_bfxpipeline.py +0 -0
  197. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/entities/_biosample.py +0 -0
  198. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/entities/_cellline.py +0 -0
  199. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/entities/_cellmarker.py +0 -0
  200. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/entities/_celltype.py +0 -0
  201. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/entities/_developmentalstage.py +0 -0
  202. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/entities/_disease.py +0 -0
  203. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/entities/_drug.py +0 -0
  204. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/entities/_ethnicity.py +0 -0
  205. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/entities/_experimentalfactor.py +0 -0
  206. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/entities/_gene.py +0 -0
  207. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/entities/_organism.py +0 -0
  208. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/entities/_pathway.py +0 -0
  209. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/entities/_phenotype.py +0 -0
  210. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/entities/_protein.py +0 -0
  211. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/entities/_shared_docstrings.py +0 -0
  212. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/entities/_tissue.py +0 -0
  213. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/scripts/bfxpipelines_info/custom_pipelines.json +0 -0
  214. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/scripts/check_ontologies_reachable.py +0 -0
  215. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/scripts/determine_md5s.py +0 -0
  216. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/scripts/generate_bfxpipelines.py +0 -0
  217. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/scripts/update_new_ontologies.py +0 -0
  218. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/scripts/upload_new_ontologies.py +0 -0
  219. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/base/sources.yaml +0 -0
  220. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/core/__init__.py +0 -0
  221. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/core/_add_ontology.py +0 -0
  222. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/core/_bionty.py +0 -0
  223. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/core/_settings.py +0 -0
  224. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/ids.py +0 -0
  225. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/migrations/0028_squashed.py +0 -0
  226. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/migrations/0029_alter_cellline_previous_runs_and_more.py +0 -0
  227. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/migrations/0030_rename_publicsource_source_and_more.py +0 -0
  228. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/migrations/0031_alter_cellmarker_name_and_more.py +0 -0
  229. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/migrations/0032_rename_source_name_source_description_and_more.py +0 -0
  230. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/migrations/0033_alter_artifactcellline_artifact_and_more.py +0 -0
  231. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/migrations/0034_alter_source_unique_together.py +0 -0
  232. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/migrations/0035_alter_protein_gene_symbol.py +0 -0
  233. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/migrations/0036_alter_source_artifacts_and_more.py +0 -0
  234. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/migrations/0037_alter_cellline_source_alter_cellmarker_source_and_more.py +0 -0
  235. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/migrations/0038_alter_artifactcellline_created_by_and_more.py +0 -0
  236. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/migrations/0039_alter_cellline_source_alter_cellmarker_source_and_more.py +0 -0
  237. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/migrations/0040_rename_feature_ref_is_symbol_artifactgene_feature_ref_is_name_and_more.py +0 -0
  238. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/migrations/0041_alter_artifactcellline_artifact_and_more.py +0 -0
  239. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/migrations/0041_squashed.py +0 -0
  240. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/migrations/0042_lamindbv1.py +0 -0
  241. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/migrations/0043_lamindbv2_part2.py +0 -0
  242. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/migrations/0044_alter_cellline_space_alter_cellmarker_space_and_more.py +0 -0
  243. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/migrations/0045_rename_aux_cellline__aux_rename_aux_cellmarker__aux_and_more.py +0 -0
  244. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/migrations/0046_alter_cellline__aux_alter_cellmarker__aux_and_more.py +0 -0
  245. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/migrations/0047_lamindbv1_part5.py +0 -0
  246. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/migrations/0048_lamindbv1_part6.py +0 -0
  247. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/migrations/__init__.py +0 -0
  248. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/bionty/models.py +0 -0
  249. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/docs/guide/concepts.md +0 -0
  250. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/docs/guide/config.md +0 -0
  251. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/docs/guide/extend.md +0 -0
  252. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/docs/guide/test_notebooks.py +0 -0
  253. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/docs/guide.md +0 -0
  254. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/docs/index.md +0 -0
  255. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/docs/reference.md +0 -0
  256. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/noxfile.py +0 -0
  257. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/pyproject.toml +0 -0
  258. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/tests/dev/test_handle_sources.py +0 -0
  259. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/tests/dev/test_io.py +0 -0
  260. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/tests/entities/test_bfxpipeline.py +0 -0
  261. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/tests/entities/test_biosample.py +0 -0
  262. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/tests/entities/test_cellline.py +0 -0
  263. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/tests/entities/test_cellmarker.py +0 -0
  264. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/tests/entities/test_celltype.py +0 -0
  265. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/tests/entities/test_developmentalstage.py +0 -0
  266. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/tests/entities/test_disease.py +0 -0
  267. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/tests/entities/test_drug.py +0 -0
  268. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/tests/entities/test_ethnicity.py +0 -0
  269. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/tests/entities/test_experimentalfactor.py +0 -0
  270. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/tests/entities/test_gene.py +0 -0
  271. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/tests/entities/test_organism.py +0 -0
  272. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/tests/entities/test_pathway.py +0 -0
  273. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/tests/entities/test_phenotype.py +0 -0
  274. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/tests/entities/test_protein.py +0 -0
  275. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/tests/entities/test_tissue.py +0 -0
  276. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/tests/test_bionty.py +0 -0
  277. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/tests/test_lamindb.py +0 -0
  278. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/tests/test_md5.py +0 -0
  279. {lamindb-1.0.0 → lamindb-1.0.1}/sub/bionty/tests/test_ontology.py +0 -0
  280. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/.github/workflows/build.yml +0 -0
  281. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/.github/workflows/doc-changes.yml +0 -0
  282. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/.gitignore +0 -0
  283. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/.pre-commit-config.yaml +0 -0
  284. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/LICENSE +0 -0
  285. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/README.md +0 -0
  286. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/clinicore/__init__.py +0 -0
  287. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/clinicore/migrations/0001_initial.py +0 -0
  288. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/clinicore/migrations/0002_biosample_patient_biosample_project.py +0 -0
  289. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/clinicore/migrations/0003_alter_project_uid.py +0 -0
  290. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/clinicore/migrations/0004_remove_biosample_project_clinicaltrial_and_more.py +0 -0
  291. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/clinicore/migrations/0005_alter_biosample_created_by_alter_biosample_run_and_more.py +0 -0
  292. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/clinicore/migrations/0006_artifactbiosample_artifactclinicaltrial_and_more.py +0 -0
  293. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/clinicore/migrations/0007_alter_artifactbiosample_artifact_and_more.py +0 -0
  294. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/clinicore/migrations/0008_lamindbv1.py +0 -0
  295. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/clinicore/migrations/0009_alter_biosample_space_alter_clinicaltrial_space_and_more.py +0 -0
  296. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/clinicore/migrations/0010_rename_aux_biosample__aux_and_more.py +0 -0
  297. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/clinicore/migrations/0011_alter_biosample__aux_alter_clinicaltrial__aux_and_more.py +0 -0
  298. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/clinicore/migrations/0012_lamindbv1_part6.py +0 -0
  299. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/clinicore/migrations/__init__.py +0 -0
  300. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/clinicore/models.py +0 -0
  301. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/docs/changelog.md +0 -0
  302. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/docs/guide.md +0 -0
  303. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/docs/index.md +0 -0
  304. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/docs/quickstart.ipynb +0 -0
  305. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/docs/reference.md +0 -0
  306. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/noxfile.py +0 -0
  307. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/pyproject.toml +0 -0
  308. {lamindb-1.0.0 → lamindb-1.0.1}/sub/clinicore/tests/test_notebooks.py +0 -0
  309. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/.github/workflows/doc-changes.yml +0 -0
  310. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/.gitignore +0 -0
  311. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/.pre-commit-config.yaml +0 -0
  312. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/LICENSE +0 -0
  313. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/README.md +0 -0
  314. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/lamin_cli/__init__.py +0 -0
  315. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/lamin_cli/__main__.py +0 -0
  316. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/lamin_cli/_cache.py +0 -0
  317. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/lamin_cli/_load.py +0 -0
  318. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/lamin_cli/_migration.py +0 -0
  319. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/lamin_cli/_save.py +0 -0
  320. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/lamin_cli/_settings.py +0 -0
  321. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/pyproject.toml +0 -0
  322. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/tests/conftest.py +0 -0
  323. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
  324. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +0 -0
  325. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +0 -0
  326. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/tests/scripts/merely-import-lamindb.py +0 -0
  327. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/tests/scripts/run-track-and-finish-sync-git.py +0 -0
  328. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/tests/scripts/run-track-and-finish.py +0 -0
  329. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/tests/scripts/run-track-with-params.py +0 -0
  330. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/tests/scripts/run-track.R +0 -0
  331. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/tests/scripts/run-track.qmd +0 -0
  332. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/tests/test_cli.py +0 -0
  333. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/tests/test_load.py +0 -0
  334. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/tests/test_migrate.py +0 -0
  335. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/tests/test_multi_process.py +0 -0
  336. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/tests/test_parse_uid_from_code.py +0 -0
  337. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/tests/test_save_files.py +0 -0
  338. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/tests/test_save_notebooks.py +0 -0
  339. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/tests/test_save_r_code.py +0 -0
  340. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamin-cli/tests/test_save_scripts.py +0 -0
  341. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/.github/workflows/build.yml +0 -0
  342. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/.github/workflows/doc-changes.yml +0 -0
  343. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/.gitignore +0 -0
  344. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/.pre-commit-config.yaml +0 -0
  345. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/LICENSE +0 -0
  346. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/README.md +0 -0
  347. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/docs/changelog.md +0 -0
  348. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/docs/hub-cloud/01-init-local-instance.ipynb +0 -0
  349. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/docs/hub-cloud/02-connect-local-instance.ipynb +0 -0
  350. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/docs/hub-cloud/03-add-managed-storage.ipynb +0 -0
  351. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/docs/hub-cloud/04-test-bionty.ipynb +0 -0
  352. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/docs/hub-cloud/05-init-hosted-instance.ipynb +0 -0
  353. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/docs/hub-cloud/06-connect-hosted-instance.ipynb +0 -0
  354. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/docs/hub-cloud/07-keep-artifacts-local.ipynb +0 -0
  355. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/docs/hub-cloud/08-test-multi-session.ipynb +0 -0
  356. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/docs/hub-cloud/test_notebooks.py +0 -0
  357. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/docs/hub-prod/test-cache-management.ipynb +0 -0
  358. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/docs/hub-prod/test-cloud-sync.ipynb +0 -0
  359. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/docs/hub-prod/test-connect-anonymously.ipynb +0 -0
  360. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/docs/hub-prod/test-empty-init.ipynb +0 -0
  361. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/docs/hub-prod/test-import-schema.ipynb +0 -0
  362. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/docs/hub-prod/test-init-load-local-anonymously.ipynb +0 -0
  363. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/docs/hub-prod/test-insufficient-user-info.ipynb +0 -0
  364. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/docs/hub-prod/test-invalid-schema.ipynb +0 -0
  365. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/docs/hub-prod/test-sqlite-lock.ipynb +0 -0
  366. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/docs/hub-prod/test_notebooks2.py +0 -0
  367. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/docs/index.md +0 -0
  368. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/docs/notebooks.md +0 -0
  369. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/docs/reference.md +0 -0
  370. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
  371. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/_check.py +0 -0
  372. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/_check_setup.py +0 -0
  373. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
  374. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/_delete.py +0 -0
  375. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/_django.py +0 -0
  376. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/_entry_points.py +0 -0
  377. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/_exportdb.py +0 -0
  378. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/_importdb.py +0 -0
  379. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/_init_instance.py +0 -0
  380. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/_migrate.py +0 -0
  381. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
  382. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
  383. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/_schema_metadata.py +0 -0
  384. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/_set_managed_storage.py +0 -0
  385. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/_setup_user.py +0 -0
  386. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
  387. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/__init__.py +0 -0
  388. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/_aws_credentials.py +0 -0
  389. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/_aws_storage.py +0 -0
  390. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/_deprecated.py +0 -0
  391. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/_docs.py +0 -0
  392. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/_hub_client.py +0 -0
  393. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/_hub_core.py +0 -0
  394. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/_hub_crud.py +0 -0
  395. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/_hub_utils.py +0 -0
  396. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/_private_django_api.py +0 -0
  397. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/_settings.py +0 -0
  398. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/_settings_instance.py +0 -0
  399. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/_settings_load.py +0 -0
  400. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/_settings_save.py +0 -0
  401. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/_settings_storage.py +0 -0
  402. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/_settings_store.py +0 -0
  403. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/_settings_user.py +0 -0
  404. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/_setup_bionty_sources.py +0 -0
  405. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/cloud_sqlite_locker.py +0 -0
  406. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/django.py +0 -0
  407. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/exceptions.py +0 -0
  408. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/hashing.py +0 -0
  409. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/types.py +0 -0
  410. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/lamindb_setup/core/upath.py +0 -0
  411. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/noxfile.py +0 -0
  412. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/pyproject.toml +0 -0
  413. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/hub-cloud/scripts/script-init-pass-user-no-writes.py +0 -0
  414. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/hub-cloud/scripts/script-to-fail-managed-storage.py +0 -0
  415. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/hub-cloud/test_connect_instance.py +0 -0
  416. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/hub-cloud/test_delete_instance.py +0 -0
  417. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/hub-cloud/test_edge_request.py +0 -0
  418. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/hub-cloud/test_fail_managed_storage.py +0 -0
  419. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/hub-cloud/test_init_instance.py +0 -0
  420. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/hub-cloud/test_init_pass_user_no_writes.py +0 -0
  421. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/hub-cloud/test_login.py +0 -0
  422. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/hub-cloud/test_migrate.py +0 -0
  423. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/hub-cloud/test_set_storage.py +0 -0
  424. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/hub-local/conftest.py +0 -0
  425. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/hub-local/test_update_schema_in_hub.py +0 -0
  426. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/hub-prod/conftest.py +0 -0
  427. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/hub-prod/test_aws_credentials_manager.py +0 -0
  428. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/hub-prod/test_django.py +0 -0
  429. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/hub-prod/test_global_settings.py +0 -0
  430. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/hub-prod/test_switch_and_fallback_env.py +0 -0
  431. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/hub-prod/test_upath.py +0 -0
  432. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/storage/test_entry_point.py +0 -0
  433. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/storage/test_hashing.py +0 -0
  434. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/storage/test_storage_access.py +0 -0
  435. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/storage/test_storage_basis.py +0 -0
  436. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/storage/test_storage_stats.py +0 -0
  437. {lamindb-1.0.0 → lamindb-1.0.1}/sub/lamindb-setup/tests/storage/test_to_url.py +0 -0
  438. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/.github/workflows/doc-changes.yml +0 -0
  439. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/.gitignore +0 -0
  440. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/.pre-commit-config.yaml +0 -0
  441. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/README.md +0 -0
  442. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/docs/changelog.md +0 -0
  443. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/docs/guide/get-started.md +0 -0
  444. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/docs/guide/pert-registries.ipynb +0 -0
  445. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/docs/guide.md +0 -0
  446. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/docs/index.md +0 -0
  447. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/docs/reference.md +0 -0
  448. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/pyproject.toml +0 -0
  449. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/tests/test_integrity.py +0 -0
  450. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/tests/test_notebooks.py +0 -0
  451. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/wetlab/migrations/0018_squashed.py +0 -0
  452. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/wetlab/migrations/0019_alter_treatment_system.py +0 -0
  453. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/wetlab/migrations/0020_treatmenttarget_pathways_treatmenttarget_proteins_and_more.py +0 -0
  454. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/wetlab/migrations/0021_alter_compoundtreatment_duration_unit_and_more.py +0 -0
  455. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/wetlab/migrations/0022_remove_experiment_experiment_type_and_more.py +0 -0
  456. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/wetlab/migrations/0023_compoundtreatment_duration_and_more.py +0 -0
  457. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/wetlab/migrations/0024_compound_chembl_id.py +0 -0
  458. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/wetlab/migrations/0025_alter_artifactbiosample_artifact_and_more.py +0 -0
  459. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/wetlab/migrations/0025_squashed.py +0 -0
  460. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/wetlab/migrations/0026_alter_biosample_artifacts_alter_techsample_artifacts.py +0 -0
  461. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/wetlab/migrations/0027_rename_treatment_add_donor.py +0 -0
  462. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/wetlab/migrations/0028_remove_combinationperturbation_compounds_and_more.py +0 -0
  463. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/wetlab/migrations/0029_artifactbiologic_biologic_artifactbiologic_biologic.py +0 -0
  464. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/wetlab/migrations/0030_lamindbv1.py +0 -0
  465. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/wetlab/migrations/0031_alter_biologic_space_alter_biosample_space_and_more.py +0 -0
  466. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/wetlab/migrations/0032_rename_aux_biologic__aux_rename_aux_biosample__aux_and_more.py +0 -0
  467. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/wetlab/migrations/0033_alter_biologic__aux_alter_biosample__aux_and_more.py +0 -0
  468. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/wetlab/migrations/0034_lamindbv1_part6.py +0 -0
  469. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/wetlab/migrations/__init__.py +0 -0
  470. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/wetlab/models.py +0 -0
  471. {lamindb-1.0.0 → lamindb-1.0.1}/sub/wetlab/wetlab/types.py +0 -0
  472. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/conftest.py +0 -0
  473. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/notebooks/basic-r-notebook.Rmd.cleaned.html +0 -0
  474. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/notebooks/basic-r-notebook.Rmd.html +0 -0
  475. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/notebooks/duplicate/with-title-initialized-consecutive-finish.ipynb +0 -0
  476. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/notebooks/no-title.ipynb +0 -0
  477. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/notebooks/with-title-initialized-consecutive-finish-not-last-cell.ipynb +0 -0
  478. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/notebooks/with-title-initialized-consecutive-finish.ipynb +0 -0
  479. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/scripts/duplicate1/script-to-test-versioning.py +0 -0
  480. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/scripts/duplicate2/script-to-test-versioning.py +0 -0
  481. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/scripts/duplicate3/script-to-test-versioning.py +0 -0
  482. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/scripts/duplicate4/script-to-test-versioning.py +0 -0
  483. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/scripts/script-to-test-filename-change.py +0 -0
  484. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/scripts/script-to-test-versioning.py +0 -0
  485. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_artifact.py +0 -0
  486. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_artifact_folders.py +0 -0
  487. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_cache.py +0 -0
  488. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_can_validate.py +0 -0
  489. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_collection.py +0 -0
  490. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_context.py +0 -0
  491. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_data.py +0 -0
  492. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_db.py +0 -0
  493. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_delete.py +0 -0
  494. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_describe_and_df_calls.py +0 -0
  495. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_feature.py +0 -0
  496. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_feature_label_manager.py +0 -0
  497. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_from_values.py +0 -0
  498. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_integrity.py +0 -0
  499. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_load.py +0 -0
  500. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_manager.py +0 -0
  501. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_models.py +0 -0
  502. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_notebooks.py +0 -0
  503. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_parents.py +0 -0
  504. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_queryset.py +0 -0
  505. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_record.py +0 -0
  506. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_run.py +0 -0
  507. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_save.py +0 -0
  508. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_schema.py +0 -0
  509. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_search.py +0 -0
  510. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_settings.py +0 -0
  511. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_transform.py +0 -0
  512. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_uid.py +0 -0
  513. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_ulabel.py +0 -0
  514. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_versioning.py +0 -0
  515. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_view.py +0 -0
  516. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_visibility.py +0 -0
  517. {lamindb-1.0.0 → lamindb-1.0.1}/tests/core/test_zdatatables.py +0 -0
  518. {lamindb-1.0.0 → lamindb-1.0.1}/tests/curators/conftest.py +0 -0
  519. {lamindb-1.0.0 → lamindb-1.0.1}/tests/curators/test_curator.py +0 -0
  520. {lamindb-1.0.0 → lamindb-1.0.1}/tests/storage/conftest.py +0 -0
  521. {lamindb-1.0.0 → lamindb-1.0.1}/tests/storage/test_storage.py +0 -0
  522. {lamindb-1.0.0 → lamindb-1.0.1}/tests/storage/test_transfer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: lamindb
3
- Version: 1.0.0
3
+ Version: 1.0.1
4
4
  Summary: A data framework for biology.
5
5
  Author-email: Lamin Labs <open-source@lamin.ai>
6
6
  Requires-Python: >=3.10,<3.13
@@ -10,7 +10,7 @@ Classifier: Programming Language :: Python :: 3.11
10
10
  Classifier: Programming Language :: Python :: 3.12
11
11
  Requires-Dist: lamin_utils==0.13.10
12
12
  Requires-Dist: lamin_cli==1.0.2
13
- Requires-Dist: lamindb_setup[aws]==1.0.1
13
+ Requires-Dist: lamindb_setup[aws]==1.0.3
14
14
  Requires-Dist: pyarrow
15
15
  Requires-Dist: typing_extensions!=4.6.0
16
16
  Requires-Dist: python-dateutil
@@ -53,7 +53,7 @@ Modules and settings.
53
53
  """
54
54
 
55
55
  # denote a release candidate for 0.1.0 with 0.1rc1, 0.1a1, 0.1b1, etc.
56
- __version__ = "1.0.0"
56
+ __version__ = "1.0.1"
57
57
 
58
58
  from lamindb_setup._check_setup import InstanceNotSetupError as _InstanceNotSetupError
59
59
  from lamindb_setup._check_setup import _check_instance_setup
@@ -2,6 +2,7 @@
2
2
 
3
3
  import django.core.validators
4
4
  import django.db.models.deletion
5
+ import lamindb_setup
5
6
  from django.db import migrations, models
6
7
 
7
8
  import lamindb.base.fields
@@ -943,3 +944,9 @@ class Migration(migrations.Migration):
943
944
  migrate_data,
944
945
  ),
945
946
  ]
947
+
948
+
949
+ if "ourprojects" in lamindb_setup.settings.instance.modules:
950
+ Migration.dependencies += [
951
+ ("ourprojects", "0003_alter_person_space_alter_project_space_and_more"),
952
+ ]
@@ -17,7 +17,7 @@ dependencies = [
17
17
  # Lamin PINNED packages
18
18
  "lamin_utils==0.13.10",
19
19
  "lamin_cli==1.0.2",
20
- "lamindb_setup[aws]==1.0.1",
20
+ "lamindb_setup[aws]==1.0.3",
21
21
  # others
22
22
  "pyarrow",
23
23
  "typing_extensions!=4.6.0",
@@ -33,7 +33,7 @@ Modules & settings:
33
33
 
34
34
  """
35
35
 
36
- __version__ = "1.0.1" # denote a release candidate for 0.1.0 with 0.1rc1
36
+ __version__ = "1.0.3" # denote a release candidate for 0.1.0 with 0.1rc1
37
37
 
38
38
  import os
39
39
 
@@ -394,6 +394,24 @@ def migrate_lnschema_core(
394
394
  if response != "y":
395
395
  print("Aborted.")
396
396
  quit()
397
+ if isettings.is_on_hub:
398
+ from lamindb_setup.core._hub_client import call_with_fallback_auth
399
+ from lamindb_setup.core._hub_crud import (
400
+ select_collaborator,
401
+ )
402
+
403
+ # double check that user is an admin, otherwise will fail below
404
+ # due to insufficient SQL permissions with cryptic error
405
+ collaborator = call_with_fallback_auth(
406
+ select_collaborator,
407
+ instance_id=settings.instance._id,
408
+ account_id=settings.user._uuid,
409
+ )
410
+ if collaborator is None or collaborator["role"] != "admin":
411
+ raise SystemExit(
412
+ "❌ Only admins can deploy migrations, please ensure that you're an"
413
+ f" admin: https://lamin.ai/{settings.instance.slug}/settings"
414
+ )
397
415
  for table in tables_to_rename:
398
416
  if db_type == "sqlite":
399
417
  cur.execute(
@@ -325,7 +325,10 @@ def test_connect_instance_hub_corrupted_or_expired_credentials(
325
325
  create_myinstance, create_testadmin1_session
326
326
  ):
327
327
  # assume token & password are corrupted or expired
328
- ln_setup.settings.user.access_token = "corrupted_or_expired_token"
328
+ # make realisticly looking token that passes
329
+ # supafunc is_valid_jwt but is actually not a real token
330
+ invalid_token = "header1.payload1.signature1"
331
+ ln_setup.settings.user.access_token = invalid_token
329
332
  correct_password = ln_setup.settings.user.password
330
333
  ln_setup.settings.user.password = "corrupted_password"
331
334
  with pytest.raises(FunctionsHttpError):
@@ -336,7 +339,7 @@ def test_connect_instance_hub_corrupted_or_expired_credentials(
336
339
  # now, let's assume only the token is expired or corrupted
337
340
  # re-creating the auth client triggers a re-generated token because it
338
341
  # excepts the error assuming the token is expired
339
- ln_setup.settings.user.access_token = "corrupted_or_expired_token"
342
+ ln_setup.settings.user.access_token = invalid_token
340
343
  ln_setup.settings.user.password = correct_password
341
344
  connect_instance_hub(
342
345
  owner="testadmin1",
@@ -344,7 +347,7 @@ def test_connect_instance_hub_corrupted_or_expired_credentials(
344
347
  )
345
348
  # check access_token renewal
346
349
  access_token = ln_setup.settings.user.access_token
347
- assert access_token != "corrupted_or_expired_token"
350
+ assert access_token != invalid_token
348
351
  # check that the access_token was written to the settings
349
352
  ln_setup.settings._user_settings = None
350
353
  assert ln_setup.settings.user.access_token == access_token
@@ -15,7 +15,7 @@ jobs:
15
15
  fail-fast: false
16
16
  matrix:
17
17
  python-version: ["3.12"]
18
- timeout-minutes: 8
18
+ timeout-minutes: 15
19
19
 
20
20
  steps:
21
21
  - uses: actions/checkout@v4
@@ -11,7 +11,7 @@
11
11
  "cell_type": "markdown",
12
12
  "metadata": {},
13
13
  "source": [
14
- "Here we use `PertCurator` to curate perturbation related columns in an `AnnData` object of [McFarland et al. 2020](https://www.nature.com/articles/s41467-020-17440-w)."
14
+ "Here we use `PertCurator` to curate perturbation related columns in a subsetted `AnnData` object of [McFarland et al. 2020](https://www.nature.com/articles/s41467-020-17440-w)."
15
15
  ]
16
16
  },
17
17
  {
@@ -21,7 +21,7 @@
21
21
  "outputs": [],
22
22
  "source": [
23
23
  "# pip install 'lamindb[jupyter,wetlab]' cellxgene-lamin\n",
24
- "!lamin init --storage ./test-pert-curator --modules bionty,wetlab,ourprojects"
24
+ "!lamin init --storage ./test-pert-curator --modules bionty,wetlab"
25
25
  ]
26
26
  },
27
27
  {
@@ -37,11 +37,9 @@
37
37
  "import lamindb as ln\n",
38
38
  "import wetlab as wl\n",
39
39
  "import bionty as bt\n",
40
- "import ourprojects as ops\n",
41
40
  "import pandas as pd\n",
42
- "import scanpy as sc\n",
43
41
  "\n",
44
- "ln.track(\"HIRTYxL3aZc70000\")"
42
+ "ln.track()"
45
43
  ]
46
44
  },
47
45
  {
@@ -54,16 +52,6 @@
54
52
  "adata.obs.head()"
55
53
  ]
56
54
  },
57
- {
58
- "cell_type": "code",
59
- "execution_count": null,
60
- "metadata": {},
61
- "outputs": [],
62
- "source": [
63
- "# Calculate an embedding because CELLxGENE requires one\n",
64
- "sc.tl.pca(adata)"
65
- ]
66
- },
67
55
  {
68
56
  "cell_type": "markdown",
69
57
  "metadata": {},
@@ -96,7 +84,9 @@
96
84
  "# fix the perturbation type as suggested by the curator\n",
97
85
  "adata.obs[\"pert_type\"] = adata.obs[\"pert_type\"].cat.rename_categories(\n",
98
86
  " {\"CRISPR\": \"genetic\", \"drug\": \"compound\"}\n",
99
- ")"
87
+ ")\n",
88
+ "\n",
89
+ "adata.obs[\"tissue_type\"] = \"cell culture\""
100
90
  ]
101
91
  },
102
92
  {
@@ -149,16 +139,28 @@
149
139
  " \"sgor2j2\": \"OR2J2\", # cutting control\n",
150
140
  "}\n",
151
141
  "\n",
142
+ "ln.settings.creation.search_names = False\n",
152
143
  "for sg_name, gene_symbol in pert_target_map.items():\n",
153
- " pert = wl.GeneticPerturbation(\n",
154
- " system=\"CRISPR-Cas9\",\n",
155
- " name=sg_name,\n",
156
- " description=\"cutting control\" if sg_name == \"sgor2j2\" else None,\n",
157
- " ).save()\n",
158
- " target = wl.PerturbationTarget(name=gene_symbol).save()\n",
144
+ " pert = wl.GeneticPerturbation.filter(\n",
145
+ " system=\"CRISPR-Cas9\", name=sg_name\n",
146
+ " ).one_or_none()\n",
147
+ " if pert is None:\n",
148
+ " pert = wl.GeneticPerturbation(\n",
149
+ " system=\"CRISPR-Cas9\",\n",
150
+ " name=sg_name,\n",
151
+ " description=\"cutting control\" if sg_name == \"sgor2j2\" else None,\n",
152
+ " ).save()\n",
153
+ " target = wl.PerturbationTarget.filter(name=gene_symbol).one_or_none()\n",
154
+ " if target is None:\n",
155
+ " target = wl.PerturbationTarget(name=gene_symbol).save()\n",
159
156
  " pert.targets.add(target)\n",
160
- " gene = bt.Gene.from_source(symbol=gene_symbol, organism=\"human\").save()\n",
161
- " target.genes.set([gene] if isinstance(gene, bt.Gene) else gene)\n",
157
+ " genes = bt.Gene.filter(symbol=gene_symbol).all()\n",
158
+ " if len(genes) == 0:\n",
159
+ " genes = bt.Gene.from_values(\n",
160
+ " [gene_symbol], field=bt.Gene.symbol, organism=\"human\"\n",
161
+ " ).save()\n",
162
+ " target.genes.add(*genes)\n",
163
+ "ln.settings.creation.search_names = True\n",
162
164
  "\n",
163
165
  "adata.obs[\"pert_target\"] = adata.obs[\"pert_genetic\"].map(pert_target_map)\n",
164
166
  "\n",
@@ -207,15 +209,14 @@
207
209
  "outputs": [],
208
210
  "source": [
209
211
  "# manually fix sex and set assay\n",
210
- "adata.obs[\"sex\"] = adata.obs[\"sex\"].cat.rename_categories({\"Unknown\": \"unknown\"})\n",
212
+ "adata.obs[\"sex\"] = adata.obs[\"sex\"].astype(str).str.lower()\n",
211
213
  "adata.obs[\"assay\"] = \"10x 3' v3\"\n",
212
214
  "\n",
213
215
  "# subset the adata to only include the validated genes\n",
214
216
  "adata = adata[:, ~adata.var_names.isin(curator.non_validated[\"var_index\"])].copy()\n",
215
217
  "\n",
216
218
  "# standardize disease and sex as suggested\n",
217
- "curator.standardize(\"disease\")\n",
218
- "curator.standardize(\"sex\")"
219
+ "curator.standardize(\"disease\")"
219
220
  ]
220
221
  },
221
222
  {
@@ -272,7 +273,7 @@
272
273
  "metadata": {},
273
274
  "outputs": [],
274
275
  "source": [
275
- "reference = ops.Reference(\n",
276
+ "reference = ln.Reference(\n",
276
277
  " name=\"Multiplexed single-cell transcriptional response profiling to define cancer vulnerabilities and therapeutic mechanism of action\",\n",
277
278
  " abbr=\"McFarland 2020\",\n",
278
279
  " url=\"https://www.nature.com/articles/s41467-020-17440-w\",\n",
@@ -311,7 +312,7 @@
311
312
  },
312
313
  "outputs": [],
313
314
  "source": [
314
- "artifact = curator.save_artifact(description=\"McFarland AnnData\")"
315
+ "artifact = curator.save_artifact(key=\"mini_mcFarland20.h5ad\")"
315
316
  ]
316
317
  },
317
318
  {
@@ -336,7 +337,7 @@
336
337
  ],
337
338
  "metadata": {
338
339
  "kernelspec": {
339
- "display_name": "py312",
340
+ "display_name": "py310",
340
341
  "language": "python",
341
342
  "name": "python3"
342
343
  },
@@ -350,7 +351,7 @@
350
351
  "name": "python",
351
352
  "nbconvert_exporter": "python",
352
353
  "pygments_lexer": "ipython3",
353
- "version": "3.12.8"
354
+ "version": "3.10.13"
354
355
  }
355
356
  },
356
357
  "nbformat": 4,
@@ -35,6 +35,6 @@ def test(session: nox.Session) -> None:
35
35
 
36
36
  @nox.session
37
37
  def docs(session: nox.Session) -> None:
38
- run(session, "lamin init --storage ./docsbuild --modules bionty,wetlab,ourprojects")
38
+ run(session, "lamin init --storage ./docsbuild --modules bionty,wetlab")
39
39
  build_docs(session, strict=True)
40
40
  upload_docs_artifact(aws=True)
@@ -55,7 +55,7 @@ Types:
55
55
 
56
56
  """
57
57
 
58
- __version__ = "1.0.1"
58
+ __version__ = "1.0.2"
59
59
 
60
60
  from lamindb_setup import _check_instance_setup
61
61
 
@@ -24,6 +24,7 @@ except ImportError:
24
24
  from .models import (
25
25
  Biologic,
26
26
  Compound,
27
+ Donor,
27
28
  EnvironmentalPerturbation,
28
29
  GeneticPerturbation,
29
30
  PerturbationTarget,
@@ -220,37 +221,6 @@ class PertCurator(CellxGeneCurate):
220
221
  schema_version=cxg_schema_version,
221
222
  )
222
223
 
223
- # sort columns
224
- first_columns = [
225
- "pert_target",
226
- "pert_genetic",
227
- "pert_compound",
228
- "pert_biologic",
229
- "pert_physical",
230
- "pert_dose",
231
- "pert_time",
232
- "organism",
233
- "cell_line",
234
- "cell_type",
235
- "disease",
236
- "tissue_type",
237
- "tissue",
238
- "assay",
239
- "suspension_type",
240
- "donor_id",
241
- "sex",
242
- "self_reported_ethnicity",
243
- "development_stage",
244
- "pert_name",
245
- "pert_type",
246
- ]
247
- sorted_columns = [
248
- col for col in first_columns if col in self._adata.obs.columns
249
- ] + [col for col in self._adata.obs.columns if col not in first_columns]
250
- # must assign to self._df to ensure .standardize works correctly
251
- self._df = self._adata.obs[sorted_columns]
252
- self._adata.obs = self._df
253
-
254
224
  def _setup_configuration(self, adata: ad.AnnData):
255
225
  """Set up default configuration values."""
256
226
  self.PT_DEFAULT_VALUES = CellxGeneFields.OBS_FIELD_DEFAULTS | {
@@ -270,6 +240,8 @@ class PertCurator(CellxGeneCurate):
270
240
  }.items()
271
241
  if k in adata.obs.columns
272
242
  }
243
+ # if "donor_id" in self.PT_CATEGORICALS:
244
+ # self.PT_CATEGORICALS["donor_id"] = Donor.name
273
245
 
274
246
  def _setup_sources(self, adata: ad.AnnData, using_key: str):
275
247
  """Set up data sources."""
@@ -352,8 +324,44 @@ class PertCurator(CellxGeneCurate):
352
324
  validated &= self._validate_time_column()
353
325
 
354
326
  self._validated = validated
327
+
328
+ # sort columns
329
+ first_columns = [
330
+ "pert_target",
331
+ "pert_genetic",
332
+ "pert_compound",
333
+ "pert_biologic",
334
+ "pert_physical",
335
+ "pert_dose",
336
+ "pert_time",
337
+ "organism",
338
+ "cell_line",
339
+ "cell_type",
340
+ "disease",
341
+ "tissue_type",
342
+ "tissue",
343
+ "assay",
344
+ "suspension_type",
345
+ "donor_id",
346
+ "sex",
347
+ "self_reported_ethnicity",
348
+ "development_stage",
349
+ "pert_name",
350
+ "pert_type",
351
+ ]
352
+ sorted_columns = [
353
+ col for col in first_columns if col in self._adata.obs.columns
354
+ ] + [col for col in self._adata.obs.columns if col not in first_columns]
355
+ # must assign to self._df to ensure .standardize works correctly
356
+ self._df = self._adata.obs[sorted_columns]
357
+ self._adata.obs = self._df
355
358
  return validated
356
359
 
360
+ def standardize(self, key: str) -> pd.DataFrame:
361
+ """Standardize the AnnData object."""
362
+ super().standardize(key)
363
+ self._adata.obs = self._df
364
+
357
365
  def _validate_dose_column(self) -> bool:
358
366
  """Validate the dose column."""
359
367
  if not ln.Feature.filter(name="pert_dose").exists():
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes