lamindb 0.67.1__tar.gz → 0.67.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (338) hide show
  1. {lamindb-0.67.1 → lamindb-0.67.2}/PKG-INFO +2 -2
  2. {lamindb-0.67.1 → lamindb-0.67.2}/docs/changelog.md +4 -1
  3. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/__init__.py +1 -1
  4. {lamindb-0.67.1 → lamindb-0.67.2}/noxfile.py +24 -20
  5. {lamindb-0.67.1 → lamindb-0.67.2}/pyproject.toml +1 -1
  6. lamindb-0.67.2/sub/lamin-cli/lamin_cli/__init__.py +3 -0
  7. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamin-cli/lamin_cli/__main__.py +10 -2
  8. lamindb-0.67.2/sub/lamin-cli/lamin_cli/_stage.py +29 -0
  9. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamin-cli/tests/scripts/initialized.py +1 -1
  10. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamin-cli/tests/test_scripts.py +13 -4
  11. lamindb-0.67.2/sub/lamin-cli/tests/test_stage.py +21 -0
  12. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/docs/changelog.md +2 -0
  13. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/dev/upath.py +3 -2
  14. lamindb-0.67.2/sub/lamindb-setup/tests/prod-only/test_upath.py +18 -0
  15. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/tests/prod-staging/test_load_instance.py +5 -5
  16. lamindb-0.67.1/sub/lamin-cli/lamin_cli/__init__.py +0 -3
  17. {lamindb-0.67.1 → lamindb-0.67.2}/.github/workflows/build.yml +0 -0
  18. {lamindb-0.67.1 → lamindb-0.67.2}/.github/workflows/latest-changes.jinja2 +0 -0
  19. {lamindb-0.67.1 → lamindb-0.67.2}/.github/workflows/latest-changes.yml +0 -0
  20. {lamindb-0.67.1 → lamindb-0.67.2}/.gitignore +0 -0
  21. {lamindb-0.67.1 → lamindb-0.67.2}/.gitmodules +0 -0
  22. {lamindb-0.67.1 → lamindb-0.67.2}/.pre-commit-config.yaml +0 -0
  23. {lamindb-0.67.1 → lamindb-0.67.2}/LICENSE +0 -0
  24. {lamindb-0.67.1 → lamindb-0.67.2}/README.md +0 -0
  25. {lamindb-0.67.1 → lamindb-0.67.2}/docs/annotate.ipynb +0 -0
  26. {lamindb-0.67.1 → lamindb-0.67.2}/docs/bio-registries.ipynb +0 -0
  27. {lamindb-0.67.1 → lamindb-0.67.2}/docs/bionty.md +0 -0
  28. {lamindb-0.67.1 → lamindb-0.67.2}/docs/data.ipynb +0 -0
  29. {lamindb-0.67.1 → lamindb-0.67.2}/docs/faq/acid.ipynb +0 -0
  30. {lamindb-0.67.1 → lamindb-0.67.2}/docs/faq/delete.ipynb +0 -0
  31. {lamindb-0.67.1 → lamindb-0.67.2}/docs/faq/idempotency.ipynb +0 -0
  32. {lamindb-0.67.1 → lamindb-0.67.2}/docs/faq/import-schema.ipynb +0 -0
  33. {lamindb-0.67.1 → lamindb-0.67.2}/docs/faq/key.ipynb +0 -0
  34. {lamindb-0.67.1 → lamindb-0.67.2}/docs/faq/reference-field.ipynb +0 -0
  35. {lamindb-0.67.1 → lamindb-0.67.2}/docs/faq/setup.ipynb +0 -0
  36. {lamindb-0.67.1 → lamindb-0.67.2}/docs/faq/test_notebooks.py +0 -0
  37. {lamindb-0.67.1 → lamindb-0.67.2}/docs/faq/track-run-inputs.ipynb +0 -0
  38. {lamindb-0.67.1 → lamindb-0.67.2}/docs/faq/validator.ipynb +0 -0
  39. {lamindb-0.67.1 → lamindb-0.67.2}/docs/faq/visibility.ipynb +0 -0
  40. {lamindb-0.67.1 → lamindb-0.67.2}/docs/faq.md +0 -0
  41. {lamindb-0.67.1 → lamindb-0.67.2}/docs/features-lamindb.md +0 -0
  42. {lamindb-0.67.1 → lamindb-0.67.2}/docs/features-laminhub.md +0 -0
  43. {lamindb-0.67.1 → lamindb-0.67.2}/docs/guide.md +0 -0
  44. {lamindb-0.67.1 → lamindb-0.67.2}/docs/index.md +0 -0
  45. {lamindb-0.67.1 → lamindb-0.67.2}/docs/installation.md +0 -0
  46. {lamindb-0.67.1 → lamindb-0.67.2}/docs/introduction.ipynb +0 -0
  47. {lamindb-0.67.1 → lamindb-0.67.2}/docs/lamin-utils.md +0 -0
  48. {lamindb-0.67.1 → lamindb-0.67.2}/docs/lamindb.md +0 -0
  49. {lamindb-0.67.1 → lamindb-0.67.2}/docs/lnschema-bionty.md +0 -0
  50. {lamindb-0.67.1 → lamindb-0.67.2}/docs/meta.ipynb +0 -0
  51. {lamindb-0.67.1 → lamindb-0.67.2}/docs/nbproject.md +0 -0
  52. {lamindb-0.67.1 → lamindb-0.67.2}/docs/query-search.md +0 -0
  53. {lamindb-0.67.1 → lamindb-0.67.2}/docs/readfcs.md +0 -0
  54. {lamindb-0.67.1 → lamindb-0.67.2}/docs/reference.md +0 -0
  55. {lamindb-0.67.1 → lamindb-0.67.2}/docs/schemas.ipynb +0 -0
  56. {lamindb-0.67.1 → lamindb-0.67.2}/docs/setup.ipynb +0 -0
  57. {lamindb-0.67.1 → lamindb-0.67.2}/docs/signup-login.md +0 -0
  58. {lamindb-0.67.1 → lamindb-0.67.2}/docs/storage/add-replace-stage.ipynb +0 -0
  59. {lamindb-0.67.1 → lamindb-0.67.2}/docs/storage/anndata-accessor.ipynb +0 -0
  60. {lamindb-0.67.1 → lamindb-0.67.2}/docs/storage/test-files/iris.csv +0 -0
  61. {lamindb-0.67.1 → lamindb-0.67.2}/docs/storage/test-files/iris.data +0 -0
  62. {lamindb-0.67.1 → lamindb-0.67.2}/docs/storage/test-files/new_iris.csv +0 -0
  63. {lamindb-0.67.1 → lamindb-0.67.2}/docs/storage/test_notebooks.py +0 -0
  64. {lamindb-0.67.1 → lamindb-0.67.2}/docs/storage/upload.ipynb +0 -0
  65. {lamindb-0.67.1 → lamindb-0.67.2}/docs/storage.md +0 -0
  66. {lamindb-0.67.1 → lamindb-0.67.2}/docs/test_notebooks.py +0 -0
  67. {lamindb-0.67.1 → lamindb-0.67.2}/docs/track.ipynb +0 -0
  68. {lamindb-0.67.1 → lamindb-0.67.2}/docs/transfer.ipynb +0 -0
  69. {lamindb-0.67.1 → lamindb-0.67.2}/docs/tutorial.ipynb +0 -0
  70. {lamindb-0.67.1 → lamindb-0.67.2}/docs/tutorial2.ipynb +0 -0
  71. {lamindb-0.67.1 → lamindb-0.67.2}/docs/validate.ipynb +0 -0
  72. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/_artifact.py +0 -0
  73. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/_collection.py +0 -0
  74. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/_feature.py +0 -0
  75. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/_feature_set.py +0 -0
  76. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/_filter.py +0 -0
  77. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/_from_values.py +0 -0
  78. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/_parents.py +0 -0
  79. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/_query_manager.py +0 -0
  80. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/_query_set.py +0 -0
  81. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/_registry.py +0 -0
  82. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/_run.py +0 -0
  83. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/_save.py +0 -0
  84. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/_storage.py +0 -0
  85. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/_transform.py +0 -0
  86. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/_ulabel.py +0 -0
  87. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/_utils.py +0 -0
  88. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/_validate.py +0 -0
  89. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/_view.py +0 -0
  90. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/dev/__init__.py +0 -0
  91. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/dev/_data.py +0 -0
  92. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/dev/_feature_manager.py +0 -0
  93. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/dev/_label_manager.py +0 -0
  94. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/dev/_mapped_collection.py +0 -0
  95. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/dev/_run_context.py +0 -0
  96. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/dev/_settings.py +0 -0
  97. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/dev/_track_environment.py +0 -0
  98. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/dev/_view_tree.py +0 -0
  99. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/dev/datasets/__init__.py +0 -0
  100. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/dev/datasets/_core.py +0 -0
  101. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/dev/datasets/_fake.py +0 -0
  102. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/dev/exceptions.py +0 -0
  103. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/dev/fields.py +0 -0
  104. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/dev/hashing.py +0 -0
  105. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/dev/storage/__init__.py +0 -0
  106. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/dev/storage/_anndata_sizes.py +0 -0
  107. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/dev/storage/_backed_access.py +0 -0
  108. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/dev/storage/_zarr.py +0 -0
  109. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/dev/storage/file.py +0 -0
  110. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/dev/storage/object.py +0 -0
  111. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/dev/types.py +0 -0
  112. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/dev/versioning.py +0 -0
  113. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/setup/__init__.py +0 -0
  114. {lamindb-0.67.1 → lamindb-0.67.2}/lamindb/setup/dev/__init__.py +0 -0
  115. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamin-cli/.gitignore +0 -0
  116. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamin-cli/.pre-commit-config.yaml +0 -0
  117. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamin-cli/README.md +0 -0
  118. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamin-cli/lamin_cli/_transform.py +0 -0
  119. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamin-cli/pyproject.toml +0 -0
  120. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamin-cli/tests/conftest.py +0 -0
  121. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamin-cli/tests/notebooks/no-title.ipynb +0 -0
  122. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
  123. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +0 -0
  124. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +0 -0
  125. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamin-cli/tests/scripts/not-initialized.py +0 -0
  126. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamin-cli/tests/test_cli.py +0 -0
  127. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamin-cli/tests/test_migrate.py +0 -0
  128. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamin-cli/tests/test_notebooks.py +0 -0
  129. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/.github/workflows/build.yml +0 -0
  130. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/.github/workflows/latest-changes.jinja2 +0 -0
  131. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/.github/workflows/latest-changes.yml +0 -0
  132. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/.gitignore +0 -0
  133. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/.pre-commit-config.yaml +0 -0
  134. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/LICENSE +0 -0
  135. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/README.md +0 -0
  136. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/docs/index.md +0 -0
  137. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/docs/notebooks.md +0 -0
  138. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/docs/prod-only/test-cache-management.ipynb +0 -0
  139. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/docs/prod-only/test-empty-init.ipynb +0 -0
  140. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/docs/prod-only/test-import-schema.ipynb +0 -0
  141. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/docs/prod-only/test-insufficient-user-info.ipynb +0 -0
  142. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/docs/prod-only/test-invalid-schema.ipynb +0 -0
  143. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/docs/prod-only/test-load-anonymously.ipynb +0 -0
  144. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/docs/prod-only/test-load-lock.ipynb +0 -0
  145. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/docs/prod-only/test-sqlite-sync.ipynb +0 -0
  146. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/docs/prod-only/test_notebooks2.py +0 -0
  147. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/docs/prod-staging/01-init-instance.ipynb +0 -0
  148. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/docs/prod-staging/02-load-instance.ipynb +0 -0
  149. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/docs/prod-staging/03-set-storage.ipynb +0 -0
  150. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/docs/prod-staging/04-test-bionty.ipynb +0 -0
  151. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/docs/prod-staging/test-multi-session.ipynb +0 -0
  152. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/docs/prod-staging/test_notebooks.py +0 -0
  153. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/docs/reference.md +0 -0
  154. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/__init__.py +0 -0
  155. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
  156. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/_check.py +0 -0
  157. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/_check_instance_setup.py +0 -0
  158. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
  159. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/_delete.py +0 -0
  160. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/_django.py +0 -0
  161. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/_docstrings.py +0 -0
  162. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/_export.py +0 -0
  163. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/_info.py +0 -0
  164. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/_init_instance.py +0 -0
  165. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/_init_vault.py +0 -0
  166. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/_load_instance.py +0 -0
  167. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/_migrate.py +0 -0
  168. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
  169. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
  170. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/_set.py +0 -0
  171. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/_settings.py +0 -0
  172. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/_setup_user.py +0 -0
  173. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
  174. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/dev/__init__.py +0 -0
  175. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/dev/_deprecated.py +0 -0
  176. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/dev/_docs.py +0 -0
  177. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/dev/_hub_client.py +0 -0
  178. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/dev/_hub_core.py +0 -0
  179. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/dev/_hub_crud.py +0 -0
  180. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/dev/_hub_utils.py +0 -0
  181. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/dev/_settings_instance.py +0 -0
  182. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/dev/_settings_load.py +0 -0
  183. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/dev/_settings_save.py +0 -0
  184. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/dev/_settings_storage.py +0 -0
  185. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/dev/_settings_store.py +0 -0
  186. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/dev/_settings_user.py +0 -0
  187. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/dev/_setup_bionty_sources.py +0 -0
  188. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/dev/cloud_sqlite_locker.py +0 -0
  189. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/lamindb_setup/dev/django.py +0 -0
  190. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/noxfile.py +0 -0
  191. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/pyproject.toml +0 -0
  192. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/tests/hub-local/conftest.py +0 -0
  193. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/tests/hub-local/test_all.py +0 -0
  194. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/tests/prod-only/conftest.py +0 -0
  195. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/tests/prod-only/test_django.py +0 -0
  196. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/tests/prod-only/test_switch_and_fallback_env.py +0 -0
  197. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/tests/prod-staging/test_delete_instance.py +0 -0
  198. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/tests/prod-staging/test_init_instance.py +0 -0
  199. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/tests/prod-staging/test_login.py +0 -0
  200. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/tests/prod-staging/test_migrate.py +0 -0
  201. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/tests/prod-staging/test_set_storage.py +0 -0
  202. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/tests/test_storage_access.py +0 -0
  203. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lamindb-setup/tests/test_vault.py +0 -0
  204. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/.github/workflows/build.yml +0 -0
  205. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/.github/workflows/latest-changes.jinja2 +0 -0
  206. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/.github/workflows/latest-changes.yml +0 -0
  207. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/.gitignore +0 -0
  208. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/.pre-commit-config.yaml +0 -0
  209. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/LICENSE +0 -0
  210. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/README.md +0 -0
  211. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/docs/changelog.md +0 -0
  212. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/docs/index.md +0 -0
  213. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/docs/reference.md +0 -0
  214. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lamin-project.yaml +0 -0
  215. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/__init__.py +0 -0
  216. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/_bionty.py +0 -0
  217. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/dev/__init__.py +0 -0
  218. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/dev/_bionty.py +0 -0
  219. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/dev/_settings.py +0 -0
  220. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/ids.py +0 -0
  221. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0001_initial.py +0 -0
  222. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0001_initial_squashed_0016.py +0 -0
  223. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0002_rename_gene_type_gene_biotype_and_more.py +0 -0
  224. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0003_alter_biontysource_entity_alter_biontysource_source_and_more.py +0 -0
  225. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0004_alter_cellline_bionty_source_and_more.py +0 -0
  226. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0005_rename_short_name_cellline_abbr_and_more.py +0 -0
  227. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0006_alter_biontysource_options_alter_cellline_options_and_more.py +0 -0
  228. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0007_rename_readout_experimental_factor.py +0 -0
  229. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0008_remove_gene_hgnc_id_remove_gene_mgi_id_and_more.py +0 -0
  230. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0009_alter_gene_ensembl_gene_id.py +0 -0
  231. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0010_alter_species_name.py +0 -0
  232. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0011_cellline_datasets_cellmarker_datasets_and_more.py +0 -0
  233. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0012_gene_stable_id.py +0 -0
  234. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0013_alter_cellmarker_species_alter_gene_species_and_more.py +0 -0
  235. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0014_ethnicity_developmentalstage.py +0 -0
  236. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0015_migrate_to_integer_pks.py +0 -0
  237. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0016_export_legacy_data.py +0 -0
  238. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0017_import_legacy_data.py +0 -0
  239. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0018_organism_rename_species_biontysource_organism_and_more.py +0 -0
  240. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0019_rename_taxon_id_organism_ontology_id_and_more.py +0 -0
  241. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0020_alter_organism_bionty_source.py +0 -0
  242. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0021_rename_files_cellline_artifacts_and_more.py +0 -0
  243. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0022_rename_datasets_cellline_collections_and_more.py +0 -0
  244. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/0023_rename_publicsource_encode_uid.py +0 -0
  245. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/migrations/__init__.py +0 -0
  246. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/lnschema_bionty/models.py +0 -0
  247. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/noxfile.py +0 -0
  248. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/pyproject.toml +0 -0
  249. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-bionty/tests/test_integrity.py +0 -0
  250. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/.github/workflows/build.yml +0 -0
  251. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/.github/workflows/latest-changes.jinja2 +0 -0
  252. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/.github/workflows/latest-changes.yml +0 -0
  253. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/.gitignore +0 -0
  254. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/.pre-commit-config.yaml +0 -0
  255. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/CHANGELOG.md +0 -0
  256. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/LICENSE +0 -0
  257. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/README.md +0 -0
  258. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/__init__.py +0 -0
  259. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/ids.py +0 -0
  260. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0001_initial.py +0 -0
  261. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0001_initial_squashed_0023.py +0 -0
  262. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0002_alter_user_name.py +0 -0
  263. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0003_alter_storage_region_alter_transform_short_name.py +0 -0
  264. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0004_rename_folder_tag_alter_project_folders.py +0 -0
  265. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0005_alter_run_inputs_delete_runinput.py +0 -0
  266. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0006_feature_dataset.py +0 -0
  267. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0007_feature_synonyms_featureset_field_and_more.py +0 -0
  268. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0008_file_hash_type_transform_parents.py +0 -0
  269. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0009_remove_featureset_files_feature_unit_and_more.py +0 -0
  270. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0010_dataset_categories_file_categories.py +0 -0
  271. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0011_label_remove_tag_created_by_remove_tag_parents_and_more.py +0 -0
  272. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0012_remove_label_ref_id_remove_label_ref_orm_and_more.py +0 -0
  273. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0013_remove_feature_labels_orm_and_more.py +0 -0
  274. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0014_rename_ref_field_featureset_registry.py +0 -0
  275. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0015_file_initial_version_file_version.py +0 -0
  276. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0016_dataset_input_of_dataset_run_dataset_transform_and_more.py +0 -0
  277. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0017_dataset_initial_version_dataset_version.py +0 -0
  278. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0018_rename_datasetlabel_datasetulabel_and_more.py +0 -0
  279. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0019_dataset_reference_dataset_reference_type_and_more.py +0 -0
  280. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0020_run_report_transform_latest_report_and_more.py +0 -0
  281. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0021_dataset_storage_alter_dataset_file.py +0 -0
  282. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0022_migrate_to_integer_pks.py +0 -0
  283. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0023_export_legacy_data.py +0 -0
  284. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0024_import_legacy_data.py +0 -0
  285. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0025_remove_user_email.py +0 -0
  286. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0026_dataset_visibility_file_visibility.py +0 -0
  287. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0027_file_key_is_virtual.py +0 -0
  288. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0028_alter_dataset_visibility_alter_file_visibility.py +0 -0
  289. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0029_remove_feature_modality_remove_featureset_modality_and_more.py +0 -0
  290. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0030_alter_dataset_visibility_alter_file_visibility.py +0 -0
  291. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0031_rename_file_to_artifact.py +0 -0
  292. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0032_remove_dataset_storage.py +0 -0
  293. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0033_alter_artifact_unique_together_artifact_n_objects_and_more.py +0 -0
  294. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0034_run_environment.py +0 -0
  295. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0035_remove_artifact_initial_version_and_more.py +0 -0
  296. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0036_storage_description.py +0 -0
  297. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0037_rename_dataset_to_collection.py +0 -0
  298. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0038_alter_collection_artifact_alter_collection_artifacts_and_more.py +0 -0
  299. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/0039_remove_collection_artifacts_collectionartifact_and_more.py +0 -0
  300. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
  301. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/mocks.py +0 -0
  302. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/models.py +0 -0
  303. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/types.py +0 -0
  304. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/lnschema_core/users.py +0 -0
  305. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/noxfile.py +0 -0
  306. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/pyproject.toml +0 -0
  307. {lamindb-0.67.1 → lamindb-0.67.2}/sub/lnschema-core/tests/test_integrity.py +0 -0
  308. {lamindb-0.67.1 → lamindb-0.67.2}/tests/conftest.py +0 -0
  309. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_artifact.py +0 -0
  310. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_cache.py +0 -0
  311. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_collection.py +0 -0
  312. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_data.py +0 -0
  313. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_db.py +0 -0
  314. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_delete.py +0 -0
  315. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_feature.py +0 -0
  316. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_feature_manager.py +0 -0
  317. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_feature_set.py +0 -0
  318. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_from_values.py +0 -0
  319. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_hashing.py +0 -0
  320. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_label_manager.py +0 -0
  321. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_load.py +0 -0
  322. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_manager.py +0 -0
  323. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_parents.py +0 -0
  324. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_queryset.py +0 -0
  325. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_registry.py +0 -0
  326. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_run.py +0 -0
  327. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_run_context.py +0 -0
  328. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_save.py +0 -0
  329. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_settings.py +0 -0
  330. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_storage.py +0 -0
  331. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_transfer.py +0 -0
  332. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_transform.py +0 -0
  333. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_uid.py +0 -0
  334. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_ulabel.py +0 -0
  335. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_validate.py +0 -0
  336. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_versioning.py +0 -0
  337. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_view.py +0 -0
  338. {lamindb-0.67.1 → lamindb-0.67.2}/tests/test_visibility.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lamindb
3
- Version: 0.67.1
3
+ Version: 0.67.2
4
4
  Summary: A data framework for biology.
5
5
  Author-email: Lamin Labs <open-source@lamin.ai>
6
6
  Requires-Python: >=3.8
@@ -12,7 +12,7 @@ Classifier: Programming Language :: Python :: 3.11
12
12
  Requires-Dist: lnschema_core==0.61.1
13
13
  Requires-Dist: lamindb_setup==0.64.2
14
14
  Requires-Dist: lamin_utils==0.13.0
15
- Requires-Dist: lamin_cli==0.6.1
15
+ Requires-Dist: lamin_cli==0.7.0
16
16
  Requires-Dist: rapidfuzz
17
17
  Requires-Dist: pyarrow
18
18
  Requires-Dist: typing_extensions!=4.6.0
@@ -7,10 +7,13 @@
7
7
 
8
8
  ## 0.67
9
9
 
10
+ ### 0.67.2 {small}`2024-01-14`
11
+
12
+ - ✨ Enable staging notebooks & code using the CLI [PR](https://github.com/laminlabs/lamindb/pull/1403) [@falexwolf](https://github.com/falexwolf)
13
+
10
14
  ### 0.67.1 {small}`2024-01-12`
11
15
 
12
16
  - 🐛 Fix idempotency of `collection.save()` [PR](https://github.com/laminlabs/lamindb/pull/1401) [@falexwolf](https://github.com/falexwolf)
13
- - 🩹 Also amend run [PR](https://github.com/laminlabs/lamindb/pull/1399) [@falexwolf](https://github.com/falexwolf)
14
17
  - 🚸 Disallow bulk-delete for Artifact, Transform & Collection [PR](https://github.com/laminlabs/lamindb/pull/1398) [@falexwolf](https://github.com/falexwolf)
15
18
  - 🚸 Init transform versions at 1 [PR](https://github.com/laminlabs/lamindb/pull/1397) [@falexwolf](https://github.com/falexwolf)
16
19
  - ✨ Load json and html files [PR](https://github.com/laminlabs/lamindb/pull/1396) [@falexwolf](https://github.com/falexwolf)
@@ -54,7 +54,7 @@ Modules & settings:
54
54
 
55
55
  """
56
56
 
57
- __version__ = "0.67.1" # denote a release candidate for 0.1.0 with 0.1rc1
57
+ __version__ = "0.67.2" # denote a release candidate for 0.1.0 with 0.1rc1
58
58
 
59
59
  import os as _os
60
60
 
@@ -130,37 +130,41 @@ def docs(session):
130
130
  if group in {"tutorial", "guide", "biology"}:
131
131
  for path in Path(f"./docs/{group}").glob("*"):
132
132
  path.rename(f"./docs/{path.name}")
133
- login_testuser1(session)
134
133
  session.run(*"lamin init --storage ./docsbuild --schema bionty".split())
135
134
 
136
135
  def generate_cli_docs(main_parser):
137
136
  page = "# `lamin`\n\nFor a guide, see: {doc}`/setup`.\n\n"
138
- commands = [
139
- "login",
140
- "init",
141
- "load",
142
- "close",
143
- "delete",
144
- "track",
145
- "info",
146
- "migrate",
147
- "save",
148
- "set",
149
- "schema",
150
- ]
137
+ command_groups = {
138
+ "General": ["login", "info"],
139
+ "Instances": [
140
+ "init",
141
+ "load",
142
+ "close",
143
+ "delete",
144
+ "migrate",
145
+ "set",
146
+ "schema",
147
+ ],
148
+ "Transforms": ["track", "save", "stage"],
149
+ }
151
150
  for action_group in main_parser._action_groups:
152
151
  for group_action in action_group._group_actions:
153
152
  if type(group_action).__name__ == "_SubParsersAction":
154
- for command in commands:
155
- subparser = group_action.choices[command]
156
- # replace the "nox" command with the "lamin" command
157
- help_string = subparser.format_help().replace("nox", "lamin")
158
- page += f"## `lamin {command}`\n\n```\n{help_string}```\n\n"
153
+ for command_group, commands in command_groups.items():
154
+ page += f"## {command_group}\n\n"
155
+ for command in commands:
156
+ subparser = group_action.choices[command]
157
+ # replace the "nox" command with the "lamin" command
158
+ help_string = subparser.format_help().replace(
159
+ "nox", "lamin"
160
+ )
161
+ page += (
162
+ f"### `lamin {command}`\n\n```\n{help_string}```\n\n"
163
+ )
159
164
  Path("./docs/cli.md").write_text(page)
160
165
 
161
166
  from lamin_cli import __main__
162
167
 
163
168
  generate_cli_docs(__main__.parser)
164
-
165
169
  build_docs(session, strip_prefix=True, strict=True)
166
170
  upload_docs_artifact(aws=True)
@@ -19,7 +19,7 @@ dependencies = [
19
19
  "lnschema_core==0.61.1",
20
20
  "lamindb_setup==0.64.2",
21
21
  "lamin_utils==0.13.0",
22
- "lamin_cli==0.6.1",
22
+ "lamin_cli==0.7.0",
23
23
  # others
24
24
  "rapidfuzz",
25
25
  "pyarrow",
@@ -0,0 +1,3 @@
1
+ """Lamin CLI."""
2
+
3
+ __version__ = "0.7.0"
@@ -100,8 +100,12 @@ aa("--pypackage", type=str, metavar="pypackage", default=None, help=pypackage_he
100
100
  # save
101
101
  save_parser = subparsers.add_parser("save", help="save notebook or script")
102
102
  aa = save_parser.add_argument
103
- filepath_help = "A path to the notebook."
104
- aa("filepath", type=str, metavar="filepath", help=filepath_help)
103
+ aa("filepath", type=str, metavar="filepath", help="filepath to notebook or script")
104
+
105
+ # stage
106
+ save_parser = subparsers.add_parser("stage", help="stage a notebook or script")
107
+ aa = save_parser.add_argument
108
+ aa("url", type=str, metavar="url", help="a lamin.ai url")
105
109
 
106
110
  # login and logout user
107
111
  login = subparsers.add_parser("login", help="log in")
@@ -219,6 +223,10 @@ def main():
219
223
  from lamin_cli._transform import save
220
224
 
221
225
  return save(args.filepath)
226
+ elif args.command == "stage":
227
+ from lamin_cli._stage import stage
228
+
229
+ return stage(args.url)
222
230
  elif args.command == "cache":
223
231
  from lamindb_setup._cache import clear_cache_dir, get_cache_dir, set_cache_dir
224
232
 
@@ -0,0 +1,29 @@
1
+ from typing import Tuple
2
+ from lamin_utils import logger
3
+
4
+
5
+ def decompose_url(url: str) -> Tuple[str, str, str]:
6
+ assert "Transform" in url
7
+ uid = url.split("uid=")[1]
8
+ instance_identifier = "/".join(url.replace("https://lamin.ai/", "").split("/")[:2])
9
+ return instance_identifier, "transform", uid
10
+
11
+
12
+ def stage(identifier: str):
13
+ import lamindb as ln
14
+
15
+ ln.settings.verbosity = "success"
16
+ if identifier.startswith("https://lamin.ai"):
17
+ instance_identifier, entity, uid = decompose_url(identifier)
18
+ else:
19
+ entity, uid = identifier.split()
20
+ instance_identifier = ln.setup.settings.instance.identifier
21
+
22
+ if entity == "transform":
23
+ transform = ln.Transform.using(instance_identifier).filter(uid=uid).one()
24
+ filepath_cache = transform.source_code.stage()
25
+ target_filename = f"{transform.short_name}.ipynb"
26
+ filepath_cache.rename(target_filename)
27
+ logger.success(f"staged source code of transform {uid} as {target_filename}")
28
+ else:
29
+ raise NotImplementedError
@@ -1,5 +1,5 @@
1
1
  __transform_stem_uid__ = "m5uCHTTpJnjQ"
2
- __version__ = "0"
2
+ __version__ = "1"
3
3
 
4
4
 
5
5
  import lamindb as ln
@@ -7,6 +7,7 @@ scripts_dir = Path(__file__).parent.resolve() / "scripts"
7
7
 
8
8
  print(scripts_dir)
9
9
 
10
+
10
11
  def test_initialize():
11
12
  filepath = scripts_dir / "not-initialized.py"
12
13
  print(scripts_dir)
@@ -19,16 +20,16 @@ def test_initialize():
19
20
 
20
21
  with open(filepath) as f:
21
22
  content = f.read()
22
- prepend = f'__transform_stem_uid__ = "'
23
+ prepend = '__transform_stem_uid__ = "'
23
24
  assert content.startswith(prepend)
24
25
 
25
26
 
26
- def test_run_and_save():
27
+ def test_run_save_stage():
27
28
  env = os.environ
28
29
  env["LAMIN_TESTING"] = "true"
29
-
30
+
30
31
  filepath = scripts_dir / "initialized.py"
31
- # python sub/lamin-cli/tests/scripts/initialized.py
32
+ # python sub/lamin-cli/tests/scripts/initialized.py
32
33
  result = subprocess.run(
33
34
  f"python {str(filepath)}",
34
35
  shell=True,
@@ -68,3 +69,11 @@ def test_run_and_save():
68
69
  )
69
70
  print(result)
70
71
  assert result.returncode == 0
72
+
73
+ result = subprocess.run(
74
+ "lamin stage 'transform m5uCHTTpJnjQ5zKv'",
75
+ shell=True,
76
+ capture_output=True,
77
+ )
78
+ print(result)
79
+ assert result.returncode == 0
@@ -0,0 +1,21 @@
1
+ from lamin_cli._stage import decompose_url
2
+ import subprocess
3
+
4
+
5
+ def test_decompose_url():
6
+ url = "https://lamin.ai/laminlabs/arrayloader-benchmarks/record/core/Transform?uid=1GCKs8zLtkc85zKv" # noqa
7
+ instance_identifier, entity, uid = decompose_url(url)
8
+ assert instance_identifier == "laminlabs/arrayloader-benchmarks"
9
+ assert entity == "transform"
10
+ assert uid == "1GCKs8zLtkc85zKv"
11
+
12
+
13
+ def test_stage():
14
+ result = subprocess.run(
15
+ "lamin stage"
16
+ " 'https://lamin.ai/laminlabs/arrayloader-benchmarks/record/core/Transform?uid=1GCKs8zLtkc85zKv'", # noqa
17
+ shell=True,
18
+ capture_output=True,
19
+ )
20
+ print(result)
21
+ assert result.returncode == 0
@@ -3,6 +3,8 @@
3
3
  <!-- prettier-ignore -->
4
4
  Name | PR | Developer | Date | Version
5
5
  --- | --- | --- | --- | ---
6
+ 🐛 Fix option inheritance in create_path and add tests | [617](https://github.com/laminlabs/lamindb-setup/pull/617) | [Koncopd](https://github.com/Koncopd) | 2024-01-12 |
7
+ ✅ Update tests relying on laminhub-rest | [616](https://github.com/laminlabs/lamindb-setup/pull/616) | [fredericenard](https://github.com/fredericenard) | 2024-01-12 |
6
8
  🚚 Rename .bionty to .public | [615](https://github.com/laminlabs/lamindb-setup/pull/615) | [sunnyosun](https://github.com/sunnyosun) | 2024-01-10 | 0.64.2
7
9
  🚸 Fix connection timeout | [611](https://github.com/laminlabs/lamindb-setup/pull/611) | [falexwolf](https://github.com/falexwolf) | 2024-01-08 | 0.64.1
8
10
  🚸 Add anonymous access (now works without login) | [610](https://github.com/laminlabs/lamindb-setup/pull/610) | [falexwolf](https://github.com/falexwolf) | 2024-01-06 | 0.64.0
@@ -412,8 +412,9 @@ def create_path(pathlike: Union[str, Path, UPath]) -> UPath:
412
412
  else:
413
413
  raise ValueError("pathlike should be of type Union[str, Path, UPath]")
414
414
 
415
- # ensures there's no trailing slash for directories
416
- path = UPath(path.as_posix().rstrip("/"))
415
+ # remove trailing slash
416
+ if path._parts[-1] == "":
417
+ path._parts = path._parts[:-1]
417
418
 
418
419
  if isinstance(path, S3Path):
419
420
  path = UPath(path, cache_regions=True)
@@ -0,0 +1,18 @@
1
+ from lamindb_setup.dev.upath import UPath, create_path
2
+
3
+
4
+ def test_create_path():
5
+ upath = UPath("s3://lndb-setup-ci/xyz/", default_fill_cache=False)
6
+ assert "default_fill_cache" in upath._kwargs
7
+
8
+ upath = create_path(upath)
9
+ # test option inheritance
10
+ assert "default_fill_cache" in upath._kwargs
11
+ # test cache_regions setting for s3
12
+ assert "cache_regions" in upath._kwargs
13
+ # test removal of training slash
14
+ assert upath.as_posix()[-1] != "/"
15
+ assert (
16
+ UPath("s3://lndb-setup-ci/xyz").as_posix()
17
+ == create_path("s3://lndb-setup-ci/xyz/").as_posix()
18
+ )
@@ -1,8 +1,8 @@
1
1
  import os
2
2
 
3
3
  import pytest
4
- from laminhub_rest.routers.collaborator import delete_collaborator
5
- from laminhub_rest.routers.instance import add_collaborator
4
+ from laminhub_rest.core.collaborator._add_collaborator import add_collaborator
5
+ from laminhub_rest.core.collaborator._delete_collaborator import delete_collaborator
6
6
 
7
7
  import lamindb_setup as ln_setup
8
8
  from lamindb_setup.dev._hub_client import connect_hub_with_auth
@@ -29,13 +29,13 @@ def test_load_after_revoked_access():
29
29
  ln_setup.login(
30
30
  "static-testuser1@lamin.ai", password="static-testuser1-password"
31
31
  )
32
- admin_token = ln_setup.settings.user.access_token
32
+ admin_hub = connect_hub_with_auth()
33
33
  add_collaborator(
34
34
  "static-testuser2",
35
35
  "laminlabs",
36
36
  "static-testinstance1",
37
37
  "write",
38
- f"Bearer {admin_token}",
38
+ admin_hub,
39
39
  )
40
40
  ln_setup.login(
41
41
  "static-testuser2@lamin.ai", password="static-testuser2-password"
@@ -46,7 +46,7 @@ def test_load_after_revoked_access():
46
46
  "laminlabs",
47
47
  "static-testinstance1",
48
48
  ln_setup.settings.user.uuid,
49
- f"Bearer {admin_token}",
49
+ admin_hub,
50
50
  )
51
51
  with pytest.raises(RuntimeError) as error:
52
52
  ln_setup.load("https://lamin.ai/laminlabs/static-testinstance1", _test=True)
@@ -1,3 +0,0 @@
1
- """Lamin CLI."""
2
-
3
- __version__ = "0.6.1"
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