lamindb 1.0.2__tar.gz → 1.0.3__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 (524) hide show
  1. {lamindb-1.0.2 → lamindb-1.0.3}/PKG-INFO +2 -2
  2. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/__init__.py +1 -1
  3. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/_finish.py +19 -13
  4. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/_context.py +38 -8
  5. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/curators/__init__.py +3 -7
  6. {lamindb-1.0.2 → lamindb-1.0.3}/pyproject.toml +1 -1
  7. lamindb-1.0.3/sub/lamin-cli/lamin_cli/__init__.py +3 -0
  8. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/lamin_cli/_load.py +6 -4
  9. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/tests/test_save_scripts.py +1 -1
  10. lamindb-1.0.2/sub/lamin-cli/lamin_cli/__init__.py +0 -3
  11. {lamindb-1.0.2 → lamindb-1.0.3}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  12. {lamindb-1.0.2 → lamindb-1.0.3}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  13. {lamindb-1.0.2 → lamindb-1.0.3}/.github/ISSUE_TEMPLATE/enhancement.yml +0 -0
  14. {lamindb-1.0.2 → lamindb-1.0.3}/.github/ISSUE_TEMPLATE/usage_question.yml +0 -0
  15. {lamindb-1.0.2 → lamindb-1.0.3}/.github/workflows/build.yml +0 -0
  16. {lamindb-1.0.2 → lamindb-1.0.3}/.github/workflows/doc-changes.yml +0 -0
  17. {lamindb-1.0.2 → lamindb-1.0.3}/.gitignore +0 -0
  18. {lamindb-1.0.2 → lamindb-1.0.3}/.gitmodules +0 -0
  19. {lamindb-1.0.2 → lamindb-1.0.3}/.pre-commit-config.yaml +0 -0
  20. {lamindb-1.0.2 → lamindb-1.0.3}/CONTRIBUTING.md +0 -0
  21. {lamindb-1.0.2 → lamindb-1.0.3}/LICENSE +0 -0
  22. {lamindb-1.0.2 → lamindb-1.0.3}/README.md +0 -0
  23. {lamindb-1.0.2 → lamindb-1.0.3}/docs/api.md +0 -0
  24. {lamindb-1.0.2 → lamindb-1.0.3}/docs/arrays.ipynb +0 -0
  25. {lamindb-1.0.2 → lamindb-1.0.3}/docs/bio-registries.ipynb +0 -0
  26. {lamindb-1.0.2 → lamindb-1.0.3}/docs/bionty.md +0 -0
  27. {lamindb-1.0.2 → lamindb-1.0.3}/docs/cellregistry.md +0 -0
  28. {lamindb-1.0.2 → lamindb-1.0.3}/docs/changelog.md +0 -0
  29. {lamindb-1.0.2 → lamindb-1.0.3}/docs/clinicore.md +0 -0
  30. {lamindb-1.0.2 → lamindb-1.0.3}/docs/curate-any.ipynb +0 -0
  31. {lamindb-1.0.2 → lamindb-1.0.3}/docs/curate-df.ipynb +0 -0
  32. {lamindb-1.0.2 → lamindb-1.0.3}/docs/curate-subclass.ipynb +0 -0
  33. {lamindb-1.0.2 → lamindb-1.0.3}/docs/curate.md +0 -0
  34. {lamindb-1.0.2 → lamindb-1.0.3}/docs/ehrcurator.py +0 -0
  35. {lamindb-1.0.2 → lamindb-1.0.3}/docs/faq/acid.ipynb +0 -0
  36. {lamindb-1.0.2 → lamindb-1.0.3}/docs/faq/delete.ipynb +0 -0
  37. {lamindb-1.0.2 → lamindb-1.0.3}/docs/faq/idempotency.ipynb +0 -0
  38. {lamindb-1.0.2 → lamindb-1.0.3}/docs/faq/import-modules.ipynb +0 -0
  39. {lamindb-1.0.2 → lamindb-1.0.3}/docs/faq/keep-artifacts-local.ipynb +0 -0
  40. {lamindb-1.0.2 → lamindb-1.0.3}/docs/faq/key.ipynb +0 -0
  41. {lamindb-1.0.2 → lamindb-1.0.3}/docs/faq/reference-field.ipynb +0 -0
  42. {lamindb-1.0.2 → lamindb-1.0.3}/docs/faq/search.ipynb +0 -0
  43. {lamindb-1.0.2 → lamindb-1.0.3}/docs/faq/setup.ipynb +0 -0
  44. {lamindb-1.0.2 → lamindb-1.0.3}/docs/faq/symbol-mapping.ipynb +0 -0
  45. {lamindb-1.0.2 → lamindb-1.0.3}/docs/faq/test_notebooks.py +0 -0
  46. {lamindb-1.0.2 → lamindb-1.0.3}/docs/faq/track-run-inputs.ipynb +0 -0
  47. {lamindb-1.0.2 → lamindb-1.0.3}/docs/faq/validate-fields.ipynb +0 -0
  48. {lamindb-1.0.2 → lamindb-1.0.3}/docs/faq/visibility.ipynb +0 -0
  49. {lamindb-1.0.2 → lamindb-1.0.3}/docs/faq.md +0 -0
  50. {lamindb-1.0.2 → lamindb-1.0.3}/docs/guide.md +0 -0
  51. {lamindb-1.0.2 → lamindb-1.0.3}/docs/includes/installation.md +0 -0
  52. {lamindb-1.0.2 → lamindb-1.0.3}/docs/index.md +0 -0
  53. {lamindb-1.0.2 → lamindb-1.0.3}/docs/lamindb.md +0 -0
  54. {lamindb-1.0.2 → lamindb-1.0.3}/docs/laminr.md +0 -0
  55. {lamindb-1.0.2 → lamindb-1.0.3}/docs/modules.ipynb +0 -0
  56. {lamindb-1.0.2 → lamindb-1.0.3}/docs/omop.md +0 -0
  57. {lamindb-1.0.2 → lamindb-1.0.3}/docs/query-search.md +0 -0
  58. {lamindb-1.0.2 → lamindb-1.0.3}/docs/registries.ipynb +0 -0
  59. {lamindb-1.0.2 → lamindb-1.0.3}/docs/rest.md +0 -0
  60. {lamindb-1.0.2 → lamindb-1.0.3}/docs/scripts/run-track-with-params.py +0 -0
  61. {lamindb-1.0.2 → lamindb-1.0.3}/docs/scripts/synced-with-git.py +0 -0
  62. {lamindb-1.0.2 → lamindb-1.0.3}/docs/setup.ipynb +0 -0
  63. {lamindb-1.0.2 → lamindb-1.0.3}/docs/signup-login.md +0 -0
  64. {lamindb-1.0.2 → lamindb-1.0.3}/docs/storage/add-replace-cache.ipynb +0 -0
  65. {lamindb-1.0.2 → lamindb-1.0.3}/docs/storage/anndata-accessor.ipynb +0 -0
  66. {lamindb-1.0.2 → lamindb-1.0.3}/docs/storage/prepare-transfer-local-to-cloud.ipynb +0 -0
  67. {lamindb-1.0.2 → lamindb-1.0.3}/docs/storage/test-files/iris.csv +0 -0
  68. {lamindb-1.0.2 → lamindb-1.0.3}/docs/storage/test-files/iris.data +0 -0
  69. {lamindb-1.0.2 → lamindb-1.0.3}/docs/storage/test-files/new_iris.csv +0 -0
  70. {lamindb-1.0.2 → lamindb-1.0.3}/docs/storage/test_notebooks.py +0 -0
  71. {lamindb-1.0.2 → lamindb-1.0.3}/docs/storage/transfer-local-to-cloud.ipynb +0 -0
  72. {lamindb-1.0.2 → lamindb-1.0.3}/docs/storage/upload.ipynb +0 -0
  73. {lamindb-1.0.2 → lamindb-1.0.3}/docs/storage/vitessce.ipynb +0 -0
  74. {lamindb-1.0.2 → lamindb-1.0.3}/docs/storage.md +0 -0
  75. {lamindb-1.0.2 → lamindb-1.0.3}/docs/test_notebooks.py +0 -0
  76. {lamindb-1.0.2 → lamindb-1.0.3}/docs/track.ipynb +0 -0
  77. {lamindb-1.0.2 → lamindb-1.0.3}/docs/transfer.ipynb +0 -0
  78. {lamindb-1.0.2 → lamindb-1.0.3}/docs/wetlab.md +0 -0
  79. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/_artifact.py +0 -0
  80. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/_can_curate.py +0 -0
  81. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/_collection.py +0 -0
  82. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/_feature.py +0 -0
  83. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/_from_values.py +0 -0
  84. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/_is_versioned.py +0 -0
  85. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/_parents.py +0 -0
  86. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/_query_manager.py +0 -0
  87. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/_query_set.py +0 -0
  88. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/_record.py +0 -0
  89. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/_run.py +0 -0
  90. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/_save.py +0 -0
  91. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/_schema.py +0 -0
  92. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/_storage.py +0 -0
  93. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/_transform.py +0 -0
  94. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/_ulabel.py +0 -0
  95. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/_utils.py +0 -0
  96. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/_view.py +0 -0
  97. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/base/__init__.py +0 -0
  98. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/base/fields.py +0 -0
  99. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/base/ids.py +0 -0
  100. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/base/types.py +0 -0
  101. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/base/users.py +0 -0
  102. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/base/validation.py +0 -0
  103. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/__init__.py +0 -0
  104. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/_data.py +0 -0
  105. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/_describe.py +0 -0
  106. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/_django.py +0 -0
  107. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/_feature_manager.py +0 -0
  108. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/_label_manager.py +0 -0
  109. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/_mapped_collection.py +0 -0
  110. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/_settings.py +0 -0
  111. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/_sync_git.py +0 -0
  112. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/_track_environment.py +0 -0
  113. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/datasets/__init__.py +0 -0
  114. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/datasets/_core.py +0 -0
  115. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/datasets/_fake.py +0 -0
  116. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/datasets/_small.py +0 -0
  117. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/exceptions.py +0 -0
  118. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/fields.py +0 -0
  119. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/loaders.py +0 -0
  120. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/relations.py +0 -0
  121. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/storage/__init__.py +0 -0
  122. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/storage/_anndata_accessor.py +0 -0
  123. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/storage/_anndata_sizes.py +0 -0
  124. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/storage/_backed_access.py +0 -0
  125. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/storage/_pyarrow_dataset.py +0 -0
  126. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/storage/_tiledbsoma.py +0 -0
  127. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/storage/_valid_suffixes.py +0 -0
  128. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/storage/_zarr.py +0 -0
  129. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/storage/objects.py +0 -0
  130. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/storage/paths.py +0 -0
  131. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/subsettings/__init__.py +0 -0
  132. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/subsettings/_creation_settings.py +0 -0
  133. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/types.py +0 -0
  134. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/core/versioning.py +0 -0
  135. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/curators/_spatial.py +0 -0
  136. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/integrations/__init__.py +0 -0
  137. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/integrations/_vitessce.py +0 -0
  138. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0052_squashed.py +0 -0
  139. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0053_alter_featureset_hash_alter_paramvalue_created_by_and_more.py +0 -0
  140. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0054_alter_feature_previous_runs_and_more.py +0 -0
  141. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0055_artifact_type_artifactparamvalue_and_more.py +0 -0
  142. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0056_rename_ulabel_ref_is_name_artifactulabel_label_ref_is_name_and_more.py +0 -0
  143. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0057_link_models_latest_report_and_others.py +0 -0
  144. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0058_artifact__actions_collection__actions.py +0 -0
  145. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0059_alter_artifact__accessor_alter_artifact__hash_type_and_more.py +0 -0
  146. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0060_alter_artifact__actions.py +0 -0
  147. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0061_alter_collection_meta_artifact_alter_run_environment_and_more.py +0 -0
  148. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0062_add_is_latest_field.py +0 -0
  149. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0063_populate_latest_field.py +0 -0
  150. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0064_alter_artifact_version_alter_collection_version_and_more.py +0 -0
  151. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0065_remove_collection_feature_sets_and_more.py +0 -0
  152. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0066_alter_artifact__feature_values_and_more.py +0 -0
  153. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0067_alter_featurevalue_unique_together_and_more.py +0 -0
  154. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0068_alter_artifactulabel_unique_together_and_more.py +0 -0
  155. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0069_alter_artifact__accessor_alter_artifact__hash_type_and_more.py +0 -0
  156. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0069_squashed.py +0 -0
  157. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0070_lamindbv1_migrate_data.py +0 -0
  158. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0071_lamindbv1_migrate_schema.py +0 -0
  159. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0072_remove_user__branch_code_remove_user_aux_and_more.py +0 -0
  160. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0073_merge_ourprojects.py +0 -0
  161. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0074_lamindbv1_part4.py +0 -0
  162. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0075_lamindbv1_part5.py +0 -0
  163. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0076_lamindbv1_part6.py +0 -0
  164. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0077_lamindbv1_part6b.py +0 -0
  165. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0078_lamindbv1_part6c.py +0 -0
  166. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0079_alter_rundata_value_json_and_more.py +0 -0
  167. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/0080_polish_lamindbv1.py +0 -0
  168. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/migrations/__init__.py +0 -0
  169. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/models.py +0 -0
  170. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/setup/__init__.py +0 -0
  171. {lamindb-1.0.2 → lamindb-1.0.3}/lamindb/setup/core/__init__.py +0 -0
  172. {lamindb-1.0.2 → lamindb-1.0.3}/noxfile.py +0 -0
  173. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/.github/workflows/build.yml +0 -0
  174. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/.github/workflows/doc-changes.yml +0 -0
  175. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/.github/workflows/update_ontologies.yml +0 -0
  176. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/.gitignore +0 -0
  177. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/.pre-commit-config.yaml +0 -0
  178. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/LICENSE +0 -0
  179. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/README.md +0 -0
  180. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/__init__.py +0 -0
  181. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/_bionty.py +0 -0
  182. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/__init__.py +0 -0
  183. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/_display_sources.py +0 -0
  184. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/_ontology.py +0 -0
  185. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/_public_ontology.py +0 -0
  186. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/_settings.py +0 -0
  187. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/_sync_sources.py +0 -0
  188. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/dev/__init__.py +0 -0
  189. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/dev/_handle_sources.py +0 -0
  190. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/dev/_io.py +0 -0
  191. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/dev/_md5.py +0 -0
  192. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/entities/__init__.py +0 -0
  193. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/entities/_bfxpipeline.py +0 -0
  194. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/entities/_biosample.py +0 -0
  195. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/entities/_cellline.py +0 -0
  196. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/entities/_cellmarker.py +0 -0
  197. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/entities/_celltype.py +0 -0
  198. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/entities/_developmentalstage.py +0 -0
  199. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/entities/_disease.py +0 -0
  200. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/entities/_drug.py +0 -0
  201. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/entities/_ethnicity.py +0 -0
  202. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/entities/_experimentalfactor.py +0 -0
  203. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/entities/_gene.py +0 -0
  204. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/entities/_organism.py +0 -0
  205. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/entities/_pathway.py +0 -0
  206. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/entities/_phenotype.py +0 -0
  207. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/entities/_protein.py +0 -0
  208. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/entities/_shared_docstrings.py +0 -0
  209. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/entities/_tissue.py +0 -0
  210. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/scripts/bfxpipelines_info/custom_pipelines.json +0 -0
  211. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/scripts/check_ontologies_reachable.py +0 -0
  212. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/scripts/determine_md5s.py +0 -0
  213. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/scripts/generate_bfxpipelines.py +0 -0
  214. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/scripts/update_new_ontologies.py +0 -0
  215. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/scripts/upload_new_ontologies.py +0 -0
  216. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/base/sources.yaml +0 -0
  217. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/core/__init__.py +0 -0
  218. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/core/_add_ontology.py +0 -0
  219. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/core/_bionty.py +0 -0
  220. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/core/_settings.py +0 -0
  221. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/ids.py +0 -0
  222. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/migrations/0028_squashed.py +0 -0
  223. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/migrations/0029_alter_cellline_previous_runs_and_more.py +0 -0
  224. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/migrations/0030_rename_publicsource_source_and_more.py +0 -0
  225. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/migrations/0031_alter_cellmarker_name_and_more.py +0 -0
  226. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/migrations/0032_rename_source_name_source_description_and_more.py +0 -0
  227. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/migrations/0033_alter_artifactcellline_artifact_and_more.py +0 -0
  228. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/migrations/0034_alter_source_unique_together.py +0 -0
  229. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/migrations/0035_alter_protein_gene_symbol.py +0 -0
  230. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/migrations/0036_alter_source_artifacts_and_more.py +0 -0
  231. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/migrations/0037_alter_cellline_source_alter_cellmarker_source_and_more.py +0 -0
  232. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/migrations/0038_alter_artifactcellline_created_by_and_more.py +0 -0
  233. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/migrations/0039_alter_cellline_source_alter_cellmarker_source_and_more.py +0 -0
  234. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/migrations/0040_rename_feature_ref_is_symbol_artifactgene_feature_ref_is_name_and_more.py +0 -0
  235. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/migrations/0041_alter_artifactcellline_artifact_and_more.py +0 -0
  236. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/migrations/0041_squashed.py +0 -0
  237. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/migrations/0042_lamindbv1.py +0 -0
  238. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/migrations/0043_lamindbv2_part2.py +0 -0
  239. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/migrations/0044_alter_cellline_space_alter_cellmarker_space_and_more.py +0 -0
  240. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/migrations/0045_rename_aux_cellline__aux_rename_aux_cellmarker__aux_and_more.py +0 -0
  241. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/migrations/0046_alter_cellline__aux_alter_cellmarker__aux_and_more.py +0 -0
  242. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/migrations/0047_lamindbv1_part5.py +0 -0
  243. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/migrations/0048_lamindbv1_part6.py +0 -0
  244. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/migrations/__init__.py +0 -0
  245. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/bionty/models.py +0 -0
  246. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/docs/guide/concepts.md +0 -0
  247. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/docs/guide/config.md +0 -0
  248. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/docs/guide/extend.md +0 -0
  249. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/docs/guide/test_notebooks.py +0 -0
  250. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/docs/guide.md +0 -0
  251. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/docs/index.md +0 -0
  252. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/docs/reference.md +0 -0
  253. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/noxfile.py +0 -0
  254. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/pyproject.toml +0 -0
  255. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/tests/dev/test_handle_sources.py +0 -0
  256. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/tests/dev/test_io.py +0 -0
  257. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/tests/entities/test_bfxpipeline.py +0 -0
  258. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/tests/entities/test_biosample.py +0 -0
  259. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/tests/entities/test_cellline.py +0 -0
  260. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/tests/entities/test_cellmarker.py +0 -0
  261. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/tests/entities/test_celltype.py +0 -0
  262. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/tests/entities/test_developmentalstage.py +0 -0
  263. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/tests/entities/test_disease.py +0 -0
  264. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/tests/entities/test_drug.py +0 -0
  265. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/tests/entities/test_ethnicity.py +0 -0
  266. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/tests/entities/test_experimentalfactor.py +0 -0
  267. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/tests/entities/test_gene.py +0 -0
  268. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/tests/entities/test_organism.py +0 -0
  269. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/tests/entities/test_pathway.py +0 -0
  270. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/tests/entities/test_phenotype.py +0 -0
  271. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/tests/entities/test_protein.py +0 -0
  272. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/tests/entities/test_tissue.py +0 -0
  273. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/tests/test_bionty.py +0 -0
  274. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/tests/test_lamindb.py +0 -0
  275. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/tests/test_md5.py +0 -0
  276. {lamindb-1.0.2 → lamindb-1.0.3}/sub/bionty/tests/test_ontology.py +0 -0
  277. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/.github/workflows/build.yml +0 -0
  278. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/.github/workflows/doc-changes.yml +0 -0
  279. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/.gitignore +0 -0
  280. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/.pre-commit-config.yaml +0 -0
  281. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/LICENSE +0 -0
  282. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/README.md +0 -0
  283. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/clinicore/__init__.py +0 -0
  284. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/clinicore/migrations/0001_initial.py +0 -0
  285. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/clinicore/migrations/0002_biosample_patient_biosample_project.py +0 -0
  286. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/clinicore/migrations/0003_alter_project_uid.py +0 -0
  287. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/clinicore/migrations/0004_remove_biosample_project_clinicaltrial_and_more.py +0 -0
  288. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/clinicore/migrations/0005_alter_biosample_created_by_alter_biosample_run_and_more.py +0 -0
  289. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/clinicore/migrations/0006_artifactbiosample_artifactclinicaltrial_and_more.py +0 -0
  290. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/clinicore/migrations/0007_alter_artifactbiosample_artifact_and_more.py +0 -0
  291. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/clinicore/migrations/0008_lamindbv1.py +0 -0
  292. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/clinicore/migrations/0009_alter_biosample_space_alter_clinicaltrial_space_and_more.py +0 -0
  293. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/clinicore/migrations/0010_rename_aux_biosample__aux_and_more.py +0 -0
  294. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/clinicore/migrations/0011_alter_biosample__aux_alter_clinicaltrial__aux_and_more.py +0 -0
  295. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/clinicore/migrations/0012_lamindbv1_part6.py +0 -0
  296. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/clinicore/migrations/__init__.py +0 -0
  297. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/clinicore/models.py +0 -0
  298. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/docs/changelog.md +0 -0
  299. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/docs/guide.md +0 -0
  300. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/docs/index.md +0 -0
  301. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/docs/quickstart.ipynb +0 -0
  302. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/docs/reference.md +0 -0
  303. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/noxfile.py +0 -0
  304. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/pyproject.toml +0 -0
  305. {lamindb-1.0.2 → lamindb-1.0.3}/sub/clinicore/tests/test_notebooks.py +0 -0
  306. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/.github/workflows/doc-changes.yml +0 -0
  307. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/.gitignore +0 -0
  308. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/.pre-commit-config.yaml +0 -0
  309. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/LICENSE +0 -0
  310. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/README.md +0 -0
  311. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/lamin_cli/__main__.py +0 -0
  312. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/lamin_cli/_cache.py +0 -0
  313. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/lamin_cli/_migration.py +0 -0
  314. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/lamin_cli/_save.py +0 -0
  315. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/lamin_cli/_settings.py +0 -0
  316. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/pyproject.toml +0 -0
  317. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/tests/conftest.py +0 -0
  318. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
  319. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +0 -0
  320. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +0 -0
  321. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/tests/scripts/merely-import-lamindb.py +0 -0
  322. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/tests/scripts/run-track-and-finish-sync-git.py +0 -0
  323. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/tests/scripts/run-track-and-finish.py +0 -0
  324. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/tests/scripts/run-track-with-params.py +0 -0
  325. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/tests/scripts/run-track.R +0 -0
  326. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/tests/scripts/run-track.qmd +0 -0
  327. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/tests/test_cli.py +0 -0
  328. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/tests/test_load.py +0 -0
  329. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/tests/test_migrate.py +0 -0
  330. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/tests/test_multi_process.py +0 -0
  331. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/tests/test_parse_uid_from_code.py +0 -0
  332. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/tests/test_save_files.py +0 -0
  333. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/tests/test_save_notebooks.py +0 -0
  334. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamin-cli/tests/test_save_r_code.py +0 -0
  335. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/.github/workflows/build.yml +0 -0
  336. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/.github/workflows/doc-changes.yml +0 -0
  337. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/.gitignore +0 -0
  338. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/.pre-commit-config.yaml +0 -0
  339. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/LICENSE +0 -0
  340. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/README.md +0 -0
  341. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/docs/changelog.md +0 -0
  342. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/docs/hub-cloud/01-init-local-instance.ipynb +0 -0
  343. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/docs/hub-cloud/02-connect-local-instance.ipynb +0 -0
  344. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/docs/hub-cloud/03-add-managed-storage.ipynb +0 -0
  345. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/docs/hub-cloud/04-test-bionty.ipynb +0 -0
  346. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/docs/hub-cloud/05-init-hosted-instance.ipynb +0 -0
  347. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/docs/hub-cloud/06-connect-hosted-instance.ipynb +0 -0
  348. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/docs/hub-cloud/07-keep-artifacts-local.ipynb +0 -0
  349. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/docs/hub-cloud/08-test-multi-session.ipynb +0 -0
  350. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/docs/hub-cloud/test_notebooks.py +0 -0
  351. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/docs/hub-prod/test-cache-management.ipynb +0 -0
  352. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/docs/hub-prod/test-cloud-sync.ipynb +0 -0
  353. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/docs/hub-prod/test-connect-anonymously.ipynb +0 -0
  354. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/docs/hub-prod/test-empty-init.ipynb +0 -0
  355. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/docs/hub-prod/test-import-schema.ipynb +0 -0
  356. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/docs/hub-prod/test-init-load-local-anonymously.ipynb +0 -0
  357. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/docs/hub-prod/test-insufficient-user-info.ipynb +0 -0
  358. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/docs/hub-prod/test-invalid-schema.ipynb +0 -0
  359. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/docs/hub-prod/test-sqlite-lock.ipynb +0 -0
  360. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/docs/hub-prod/test_notebooks2.py +0 -0
  361. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/docs/index.md +0 -0
  362. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/docs/notebooks.md +0 -0
  363. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/docs/reference.md +0 -0
  364. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/__init__.py +0 -0
  365. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
  366. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/_check.py +0 -0
  367. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/_check_setup.py +0 -0
  368. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
  369. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/_connect_instance.py +0 -0
  370. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/_delete.py +0 -0
  371. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/_django.py +0 -0
  372. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/_entry_points.py +0 -0
  373. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/_exportdb.py +0 -0
  374. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/_importdb.py +0 -0
  375. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/_init_instance.py +0 -0
  376. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/_migrate.py +0 -0
  377. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
  378. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
  379. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/_schema_metadata.py +0 -0
  380. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/_set_managed_storage.py +0 -0
  381. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/_setup_user.py +0 -0
  382. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
  383. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/__init__.py +0 -0
  384. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/_aws_credentials.py +0 -0
  385. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/_aws_storage.py +0 -0
  386. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/_deprecated.py +0 -0
  387. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/_docs.py +0 -0
  388. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/_hub_client.py +0 -0
  389. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/_hub_core.py +0 -0
  390. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/_hub_crud.py +0 -0
  391. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/_hub_utils.py +0 -0
  392. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/_private_django_api.py +0 -0
  393. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/_settings.py +0 -0
  394. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/_settings_instance.py +0 -0
  395. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/_settings_load.py +0 -0
  396. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/_settings_save.py +0 -0
  397. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/_settings_storage.py +0 -0
  398. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/_settings_store.py +0 -0
  399. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/_settings_user.py +0 -0
  400. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/_setup_bionty_sources.py +0 -0
  401. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/cloud_sqlite_locker.py +0 -0
  402. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/django.py +0 -0
  403. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/exceptions.py +0 -0
  404. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/hashing.py +0 -0
  405. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/types.py +0 -0
  406. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/lamindb_setup/core/upath.py +0 -0
  407. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/noxfile.py +0 -0
  408. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/pyproject.toml +0 -0
  409. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/hub-cloud/scripts/script-init-pass-user-no-writes.py +0 -0
  410. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/hub-cloud/scripts/script-to-fail-managed-storage.py +0 -0
  411. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/hub-cloud/test_connect_instance.py +0 -0
  412. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/hub-cloud/test_delete_instance.py +0 -0
  413. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/hub-cloud/test_edge_request.py +0 -0
  414. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/hub-cloud/test_fail_managed_storage.py +0 -0
  415. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/hub-cloud/test_init_instance.py +0 -0
  416. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/hub-cloud/test_init_pass_user_no_writes.py +0 -0
  417. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/hub-cloud/test_login.py +0 -0
  418. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/hub-cloud/test_migrate.py +0 -0
  419. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/hub-cloud/test_set_storage.py +0 -0
  420. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/hub-local/conftest.py +0 -0
  421. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/hub-local/test_all.py +0 -0
  422. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/hub-local/test_update_schema_in_hub.py +0 -0
  423. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/hub-prod/conftest.py +0 -0
  424. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/hub-prod/test_aws_credentials_manager.py +0 -0
  425. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/hub-prod/test_django.py +0 -0
  426. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/hub-prod/test_global_settings.py +0 -0
  427. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/hub-prod/test_switch_and_fallback_env.py +0 -0
  428. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/hub-prod/test_upath.py +0 -0
  429. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/storage/test_entry_point.py +0 -0
  430. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/storage/test_hashing.py +0 -0
  431. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/storage/test_storage_access.py +0 -0
  432. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/storage/test_storage_basis.py +0 -0
  433. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/storage/test_storage_stats.py +0 -0
  434. {lamindb-1.0.2 → lamindb-1.0.3}/sub/lamindb-setup/tests/storage/test_to_url.py +0 -0
  435. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/.github/workflows/build.yml +0 -0
  436. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/.github/workflows/doc-changes.yml +0 -0
  437. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/.gitignore +0 -0
  438. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/.pre-commit-config.yaml +0 -0
  439. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/README.md +0 -0
  440. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/docs/changelog.md +0 -0
  441. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/docs/guide/get-started.md +0 -0
  442. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/docs/guide/pert-curator.ipynb +0 -0
  443. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/docs/guide/pert-registries.ipynb +0 -0
  444. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/docs/guide.md +0 -0
  445. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/docs/index.md +0 -0
  446. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/docs/reference.md +0 -0
  447. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/noxfile.py +0 -0
  448. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/pyproject.toml +0 -0
  449. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/tests/test_integrity.py +0 -0
  450. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/tests/test_notebooks.py +0 -0
  451. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/wetlab/__init__.py +0 -0
  452. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/wetlab/_pert_curator.py +0 -0
  453. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/wetlab/migrations/0018_squashed.py +0 -0
  454. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/wetlab/migrations/0019_alter_treatment_system.py +0 -0
  455. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/wetlab/migrations/0020_treatmenttarget_pathways_treatmenttarget_proteins_and_more.py +0 -0
  456. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/wetlab/migrations/0021_alter_compoundtreatment_duration_unit_and_more.py +0 -0
  457. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/wetlab/migrations/0022_remove_experiment_experiment_type_and_more.py +0 -0
  458. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/wetlab/migrations/0023_compoundtreatment_duration_and_more.py +0 -0
  459. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/wetlab/migrations/0024_compound_chembl_id.py +0 -0
  460. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/wetlab/migrations/0025_alter_artifactbiosample_artifact_and_more.py +0 -0
  461. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/wetlab/migrations/0025_squashed.py +0 -0
  462. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/wetlab/migrations/0026_alter_biosample_artifacts_alter_techsample_artifacts.py +0 -0
  463. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/wetlab/migrations/0027_rename_treatment_add_donor.py +0 -0
  464. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/wetlab/migrations/0028_remove_combinationperturbation_compounds_and_more.py +0 -0
  465. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/wetlab/migrations/0029_artifactbiologic_biologic_artifactbiologic_biologic.py +0 -0
  466. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/wetlab/migrations/0030_lamindbv1.py +0 -0
  467. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/wetlab/migrations/0031_alter_biologic_space_alter_biosample_space_and_more.py +0 -0
  468. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/wetlab/migrations/0032_rename_aux_biologic__aux_rename_aux_biosample__aux_and_more.py +0 -0
  469. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/wetlab/migrations/0033_alter_biologic__aux_alter_biosample__aux_and_more.py +0 -0
  470. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/wetlab/migrations/0034_lamindbv1_part6.py +0 -0
  471. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/wetlab/migrations/__init__.py +0 -0
  472. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/wetlab/models.py +0 -0
  473. {lamindb-1.0.2 → lamindb-1.0.3}/sub/wetlab/wetlab/types.py +0 -0
  474. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/conftest.py +0 -0
  475. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/notebooks/basic-r-notebook.Rmd.cleaned.html +0 -0
  476. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/notebooks/basic-r-notebook.Rmd.html +0 -0
  477. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/notebooks/duplicate/with-title-initialized-consecutive-finish.ipynb +0 -0
  478. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/notebooks/no-title.ipynb +0 -0
  479. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/notebooks/with-title-initialized-consecutive-finish-not-last-cell.ipynb +0 -0
  480. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/notebooks/with-title-initialized-consecutive-finish.ipynb +0 -0
  481. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/scripts/duplicate1/script-to-test-versioning.py +0 -0
  482. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/scripts/duplicate2/script-to-test-versioning.py +0 -0
  483. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/scripts/duplicate3/script-to-test-versioning.py +0 -0
  484. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/scripts/duplicate4/script-to-test-versioning.py +0 -0
  485. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/scripts/script-to-test-filename-change.py +0 -0
  486. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/scripts/script-to-test-versioning.py +0 -0
  487. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_artifact.py +0 -0
  488. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_artifact_folders.py +0 -0
  489. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_cache.py +0 -0
  490. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_can_validate.py +0 -0
  491. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_collection.py +0 -0
  492. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_context.py +0 -0
  493. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_data.py +0 -0
  494. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_db.py +0 -0
  495. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_delete.py +0 -0
  496. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_describe_and_df_calls.py +0 -0
  497. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_feature.py +0 -0
  498. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_feature_label_manager.py +0 -0
  499. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_from_values.py +0 -0
  500. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_integrity.py +0 -0
  501. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_load.py +0 -0
  502. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_manager.py +0 -0
  503. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_models.py +0 -0
  504. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_notebooks.py +0 -0
  505. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_parents.py +0 -0
  506. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_queryset.py +0 -0
  507. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_record.py +0 -0
  508. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_run.py +0 -0
  509. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_save.py +0 -0
  510. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_schema.py +0 -0
  511. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_search.py +0 -0
  512. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_settings.py +0 -0
  513. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_transform.py +0 -0
  514. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_uid.py +0 -0
  515. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_ulabel.py +0 -0
  516. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_versioning.py +0 -0
  517. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_view.py +0 -0
  518. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_visibility.py +0 -0
  519. {lamindb-1.0.2 → lamindb-1.0.3}/tests/core/test_zflextables.py +0 -0
  520. {lamindb-1.0.2 → lamindb-1.0.3}/tests/curators/conftest.py +0 -0
  521. {lamindb-1.0.2 → lamindb-1.0.3}/tests/curators/test_curator.py +0 -0
  522. {lamindb-1.0.2 → lamindb-1.0.3}/tests/storage/conftest.py +0 -0
  523. {lamindb-1.0.2 → lamindb-1.0.3}/tests/storage/test_storage.py +0 -0
  524. {lamindb-1.0.2 → lamindb-1.0.3}/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.2
3
+ Version: 1.0.3
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
@@ -9,7 +9,7 @@ Classifier: Programming Language :: Python :: 3.10
9
9
  Classifier: Programming Language :: Python :: 3.11
10
10
  Classifier: Programming Language :: Python :: 3.12
11
11
  Requires-Dist: lamin_utils==0.13.10
12
- Requires-Dist: lamin_cli==1.0.2
12
+ Requires-Dist: lamin_cli==1.0.4
13
13
  Requires-Dist: lamindb_setup[aws]==1.0.3
14
14
  Requires-Dist: pyarrow
15
15
  Requires-Dist: typing_extensions!=4.6.0
@@ -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.2"
56
+ __version__ = "1.0.3"
57
57
 
58
58
  from lamindb_setup._check_setup import InstanceNotSetupError as _InstanceNotSetupError
59
59
  from lamindb_setup._check_setup import _check_instance_setup
@@ -118,9 +118,8 @@ def notebook_to_script(
118
118
  def clean_r_notebook_html(file_path: Path) -> tuple[str | None, Path]:
119
119
  import re
120
120
 
121
- cleaned_content = (
122
- file_path.read_text()
123
- ) # at this point cleaned_content is still raw
121
+ cleaned_content = file_path.read_text()
122
+ # remove title from content
124
123
  pattern_title = r"<title>(.*?)</title>"
125
124
  title_match = re.search(pattern_title, cleaned_content)
126
125
  title_text = None
@@ -129,9 +128,18 @@ def clean_r_notebook_html(file_path: Path) -> tuple[str | None, Path]:
129
128
  pattern_h1 = f"<h1[^>]*>{re.escape(title_text)}</h1>"
130
129
  cleaned_content = re.sub(pattern_title, "", cleaned_content)
131
130
  cleaned_content = re.sub(pattern_h1, "", cleaned_content)
132
- cleaned_content = cleaned_content.replace(
133
- f"NotebookNotSaved: {get_save_notebook_message()}", ""
134
- )
131
+ # remove error message from content
132
+ if "NotebookNotSaved" in cleaned_content:
133
+ orig_error_message = f"NotebookNotSaved: {get_save_notebook_message()}"
134
+ # coming up with the regex for this is a bit tricky due to all the
135
+ # escape characters we'd need to insert into the message; hence,
136
+ # we do this with a replace() instead
137
+ cleaned_content = cleaned_content.replace(orig_error_message, "")
138
+ if "NotebookNotSaved" in cleaned_content:
139
+ orig_error_message = orig_error_message.replace(
140
+ " `finish()`", "\n`finish()`"
141
+ ) # RStudio might insert a newline
142
+ cleaned_content = cleaned_content.replace(orig_error_message, "")
135
143
  cleaned_path = file_path.parent / (f"{file_path.stem}.cleaned{file_path.suffix}")
136
144
  cleaned_path.write_text(cleaned_content)
137
145
  return title_text, cleaned_path
@@ -151,8 +159,6 @@ def save_context_core(
151
159
  format_field_value, # needs to come after lamindb was imported because of CLI use
152
160
  )
153
161
 
154
- from .core._context import context
155
-
156
162
  ln.settings.verbosity = "success"
157
163
 
158
164
  # for scripts, things are easy
@@ -202,7 +208,7 @@ def save_context_core(
202
208
  report_path = filepath.with_suffix(".html")
203
209
  else:
204
210
  logger.warning(
205
- f"no {filepath.with_suffix('.nb.html')} found, save your manually rendered .html report via the CLI: lamin save {filepath}"
211
+ f"no html report found; to attach one, create an .html export for your {filepath.suffix} file and then run: lamin save {filepath}"
206
212
  )
207
213
  if report_path is not None and not from_cli:
208
214
  if get_seconds_since_modified(report_path) > 2 and not ln_setup._TESTING:
@@ -292,10 +298,13 @@ def save_context_core(
292
298
  )
293
299
  report_file.save(upload=True, print_progress=False)
294
300
  run.report = report_file
301
+ if is_r_notebook:
302
+ # this is the "cleaned" report
303
+ report_path.unlink()
295
304
  logger.debug(
296
305
  f"saved transform.latest_run.report: {transform.latest_run.report}"
297
306
  )
298
- run.is_consecutive = is_consecutive
307
+ run._is_consecutive = is_consecutive
299
308
 
300
309
  # save both run & transform records if we arrive here
301
310
  run.save()
@@ -324,7 +333,4 @@ def save_context_core(
324
333
  logger.important(
325
334
  f"if you want to update your {thing} without re-running it, use `lamin save {filepath}`"
326
335
  )
327
- # because run & transform changed, update the global context
328
- context._run = run
329
- context._transform = transform
330
336
  return None
@@ -395,6 +395,11 @@ class Context:
395
395
  path = Path(module.__file__)
396
396
  else:
397
397
  path = Path(path)
398
+ # for Rmd and qmd, we could also extract the title
399
+ # we don't do this for now as we're setting the title upon `ln.finish()` or `lamin save`
400
+ # by extracting it from the html while cleaning it: see clean_r_notebook_html()
401
+ # also see the script_to_notebook() in the CLI _load.py where the title is extracted
402
+ # from the source code YAML and updated with the transform description
398
403
  transform_type = "notebook" if path.suffix in {".Rmd", ".qmd"} else "script"
399
404
  reference = None
400
405
  reference_type = None
@@ -489,14 +494,30 @@ class Context:
489
494
  if aux_transform.key in self._path.as_posix():
490
495
  key = aux_transform.key
491
496
  if (
497
+ # if the transform source code wasn't yet saved
492
498
  aux_transform.source_code is None
493
- or aux_transform.hash == hash
499
+ # if the transform source code is unchanged
500
+ # if aux_transform.type == "notebook", we anticipate the user makes changes to the notebook source code
501
+ # in an interactive session, hence we *pro-actively bump* the version number by setting `revises`
502
+ # in the second part of the if condition even though the source code is unchanged at point of running track()
503
+ or (
504
+ aux_transform.hash == hash
505
+ and aux_transform.type != "notebook"
506
+ )
494
507
  ):
495
508
  uid = aux_transform.uid
496
509
  target_transform = aux_transform
497
510
  else:
498
511
  uid = f"{aux_transform.uid[:-4]}{increment_base62(aux_transform.uid[-4:])}"
499
- message = f"there already is a transform with key '{aux_transform.key}', creating new version '{uid}'"
512
+ message = f"there already is a {aux_transform.type} with `key` '{aux_transform.key}'"
513
+ if (
514
+ aux_transform.hash == hash
515
+ and aux_transform.type == "notebook"
516
+ ):
517
+ message += " -- notebook source code is unchanged, but anticipating changes during this run"
518
+ elif aux_transform.hash != hash:
519
+ message += " -- source code changed"
520
+ message += f", creating new version '{uid}'"
500
521
  revises = aux_transform
501
522
  found_key = True
502
523
  break
@@ -508,7 +529,7 @@ class Context:
508
529
  for transform in transforms
509
530
  ]
510
531
  )
511
- message = f"ignoring transform{plural_s} with same filedescription:\n{transforms_str}"
532
+ message = f"ignoring transform{plural_s} with same filename:\n{transforms_str}"
512
533
  if message != "":
513
534
  logger.important(message)
514
535
  self.uid, transform = uid, target_transform
@@ -581,7 +602,7 @@ class Context:
581
602
  # check whether the transform.key is consistent
582
603
  if transform.key != key:
583
604
  raise UpdateContext(get_key_clashing_message(transform, key))
584
- elif transform.description != description:
605
+ elif transform.description != description and description is not None:
585
606
  transform.description = description
586
607
  transform.save()
587
608
  self._logging_message_track += (
@@ -597,7 +618,9 @@ class Context:
597
618
  # check whether transform source code was already saved
598
619
  if transform_was_saved:
599
620
  bump_revision = False
600
- if is_run_from_ipython:
621
+ if transform.type == "notebook":
622
+ # we anticipate the user makes changes to the notebook source code
623
+ # in an interactive session, hence we pro-actively bump the version number
601
624
  bump_revision = True
602
625
  else:
603
626
  hash, _ = hash_file(self._path) # ignore hash_type for now
@@ -609,12 +632,12 @@ class Context:
609
632
  )
610
633
  if bump_revision:
611
634
  change_type = (
612
- "re-running saved notebook"
613
- if is_run_from_ipython
635
+ "re-running notebook with already-saved source code"
636
+ if transform.type == "notebook"
614
637
  else "source code changed"
615
638
  )
616
639
  raise UpdateContext(
617
- f'✗ {change_type}, run: ln.track("{uid[:-4]}{increment_base62(uid[-4:])}")'
640
+ f'✗ {change_type}, please update the `uid` argument in `track()` to "{uid[:-4]}{increment_base62(uid[-4:])}"'
618
641
  )
619
642
  else:
620
643
  self._logging_message_track += f"loaded Transform('{transform.uid}')"
@@ -683,6 +706,13 @@ class Context:
683
706
  )
684
707
  if self.transform.type != "notebook":
685
708
  self._stream_tracker.finish()
709
+ # reset the context attributes so that somebody who runs `track()` after finish
710
+ # starts fresh
711
+ self._uid = None
712
+ self._run = None
713
+ self._transform = None
714
+ self._version = None
715
+ self._description = None
686
716
 
687
717
 
688
718
  context = Context()
@@ -13,6 +13,7 @@ from lamin_utils import colors, logger
13
13
  from lamindb_setup.core._docs import doc_args
14
14
  from lamindb_setup.core.upath import UPath
15
15
 
16
+ from lamindb.base.types import FieldAttr # noqa
16
17
  from lamindb.models import (
17
18
  Artifact,
18
19
  Feature,
@@ -31,11 +32,6 @@ if TYPE_CHECKING:
31
32
 
32
33
  from lamindb_setup.core.types import UPathStr
33
34
  from mudata import MuData
34
- from spatialdata import SpatialData
35
-
36
- from lamindb.base.types import FieldAttr
37
-
38
- from ._spatial import SpatialDataCurator
39
35
 
40
36
 
41
37
  class CurateLookup:
@@ -1720,7 +1716,7 @@ class Curator(BaseCurator):
1720
1716
  @classmethod
1721
1717
  def from_spatialdata(
1722
1718
  cls,
1723
- sdata: SpatialData,
1719
+ sdata,
1724
1720
  var_index: dict[str, FieldAttr],
1725
1721
  categoricals: dict[str, dict[str, FieldAttr]] | None = None,
1726
1722
  using_key: str | None = None,
@@ -1730,7 +1726,7 @@ class Curator(BaseCurator):
1730
1726
  verbosity: str = "hint",
1731
1727
  *,
1732
1728
  sample_metadata_key: str = "sample",
1733
- ) -> SpatialDataCurator:
1729
+ ):
1734
1730
  """Curation flow for a ``Spatialdata`` object.
1735
1731
 
1736
1732
  See also :class:`~lamindb.Curator`.
@@ -16,7 +16,7 @@ classifiers = [
16
16
  dependencies = [
17
17
  # Lamin PINNED packages
18
18
  "lamin_utils==0.13.10",
19
- "lamin_cli==1.0.2",
19
+ "lamin_cli==1.0.4",
20
20
  "lamindb_setup[aws]==1.0.3",
21
21
  # others
22
22
  "pyarrow",
@@ -0,0 +1,3 @@
1
+ """Lamin CLI."""
2
+
3
+ __version__ = "1.0.4"
@@ -66,13 +66,15 @@ def load(entity: str, uid: str = None, key: str = None, with_env: bool = False):
66
66
  flags=re.DOTALL | re.MULTILINE,
67
67
  )
68
68
  logger.important(
69
- f"fixed title: {current_title} → {transform.description}"
69
+ f"updated title to match description: {current_title} →"
70
+ f" {transform.description}"
70
71
  )
71
72
  if bump_revision:
72
73
  uid = transform.uid
73
- new_uid = f"{uid[:-4]}{increment_base62(uid[-4:])}"
74
- new_content = new_content.replace(uid, new_uid)
75
- logger.important(f"updated uid: {uid} → {new_uid}")
74
+ if uid in new_content:
75
+ new_uid = f"{uid[:-4]}{increment_base62(uid[-4:])}"
76
+ new_content = new_content.replace(uid, new_uid)
77
+ logger.important(f"updated uid: {uid} → {new_uid}")
76
78
  if notebook_path.suffix == ".ipynb":
77
79
  notebook = jupytext.reads(new_content, fmt="py:percent")
78
80
  jupytext.write(notebook, notebook_path)
@@ -118,7 +118,7 @@ def test_run_save_cache_with_git_and_uid():
118
118
  # print(result.stdout.decode())
119
119
  # print(result.stderr.decode())
120
120
  assert result.returncode == 1
121
- assert "✗ source code changed, run:" in result.stderr.decode()
121
+ assert "✗ source code changed, please update" in result.stderr.decode()
122
122
 
123
123
  # update the uid
124
124
  content = filepath.read_text()
@@ -1,3 +0,0 @@
1
- """Lamin CLI."""
2
-
3
- __version__ = "1.0.2"
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
File without changes
File without changes
File without changes
File without changes