lamindb 0.59.1__tar.gz → 0.59.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 (265) hide show
  1. {lamindb-0.59.1 → lamindb-0.59.3}/PKG-INFO +6 -6
  2. {lamindb-0.59.1 → lamindb-0.59.3}/docs/changelog.md +12 -1
  3. {lamindb-0.59.1 → lamindb-0.59.3}/docs/installation.md +2 -4
  4. {lamindb-0.59.1 → lamindb-0.59.3}/docs/introduction.ipynb +4 -6
  5. {lamindb-0.59.1 → lamindb-0.59.3}/docs/tutorial.ipynb +1 -1
  6. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/__init__.py +1 -1
  7. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_parents.py +1 -1
  8. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/storage/_backed_access.py +2 -2
  9. {lamindb-0.59.1 → lamindb-0.59.3}/pyproject.toml +8 -8
  10. lamindb-0.59.3/sub/lamin-cli/lamin_cli/__init__.py +2 -0
  11. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/lamin_cli/_notebook.py +6 -1
  12. lamindb-0.59.3/sub/lamindb-setup/.pre-commit-config.yaml +64 -0
  13. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/changelog.md +1 -0
  14. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/__init__.py +1 -1
  15. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/django.py +3 -1
  16. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/noxfile.py +4 -8
  17. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_storage.py +7 -0
  18. lamindb-0.59.1/sub/lamin-cli/lamin_cli/__init__.py +0 -2
  19. {lamindb-0.59.1 → lamindb-0.59.3}/.github/workflows/build.yml +0 -0
  20. {lamindb-0.59.1 → lamindb-0.59.3}/.github/workflows/latest-changes.jinja2 +0 -0
  21. {lamindb-0.59.1 → lamindb-0.59.3}/.github/workflows/latest-changes.yml +0 -0
  22. {lamindb-0.59.1 → lamindb-0.59.3}/.gitignore +0 -0
  23. {lamindb-0.59.1 → lamindb-0.59.3}/.gitmodules +0 -0
  24. {lamindb-0.59.1 → lamindb-0.59.3}/.pre-commit-config.yaml +0 -0
  25. {lamindb-0.59.1 → lamindb-0.59.3}/LICENSE +0 -0
  26. {lamindb-0.59.1 → lamindb-0.59.3}/README.md +0 -0
  27. {lamindb-0.59.1 → lamindb-0.59.3}/docs/bio-registries.ipynb +0 -0
  28. {lamindb-0.59.1 → lamindb-0.59.3}/docs/bionty.md +0 -0
  29. {lamindb-0.59.1 → lamindb-0.59.3}/docs/data.ipynb +0 -0
  30. {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq/acid.ipynb +0 -0
  31. {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq/delete.ipynb +0 -0
  32. {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq/idempotency.ipynb +0 -0
  33. {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq/import-schema.ipynb +0 -0
  34. {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq/notebooks.ipynb +0 -0
  35. {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq/reference-field.ipynb +0 -0
  36. {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq/setup.ipynb +0 -0
  37. {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq/test_notebooks.py +0 -0
  38. {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq/track-run-inputs.ipynb +0 -0
  39. {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq/validator.ipynb +0 -0
  40. {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq/visibility.ipynb +0 -0
  41. {lamindb-0.59.1 → lamindb-0.59.3}/docs/faq.md +0 -0
  42. {lamindb-0.59.1 → lamindb-0.59.3}/docs/features-lamindb.md +0 -0
  43. {lamindb-0.59.1 → lamindb-0.59.3}/docs/features-laminhub.md +0 -0
  44. {lamindb-0.59.1 → lamindb-0.59.3}/docs/guide.md +0 -0
  45. {lamindb-0.59.1 → lamindb-0.59.3}/docs/index.md +0 -0
  46. {lamindb-0.59.1 → lamindb-0.59.3}/docs/lamin-utils.md +0 -0
  47. {lamindb-0.59.1 → lamindb-0.59.3}/docs/lamindb.md +0 -0
  48. {lamindb-0.59.1 → lamindb-0.59.3}/docs/lnschema-bionty.md +0 -0
  49. {lamindb-0.59.1 → lamindb-0.59.3}/docs/meta.ipynb +0 -0
  50. {lamindb-0.59.1 → lamindb-0.59.3}/docs/nbproject.md +0 -0
  51. {lamindb-0.59.1 → lamindb-0.59.3}/docs/query-search.md +0 -0
  52. {lamindb-0.59.1 → lamindb-0.59.3}/docs/readfcs.md +0 -0
  53. {lamindb-0.59.1 → lamindb-0.59.3}/docs/reference.md +0 -0
  54. {lamindb-0.59.1 → lamindb-0.59.3}/docs/schemas.ipynb +0 -0
  55. {lamindb-0.59.1 → lamindb-0.59.3}/docs/setup.ipynb +0 -0
  56. {lamindb-0.59.1 → lamindb-0.59.3}/docs/signup-login.md +0 -0
  57. {lamindb-0.59.1 → lamindb-0.59.3}/docs/storage/add-replace-stage.ipynb +0 -0
  58. {lamindb-0.59.1 → lamindb-0.59.3}/docs/storage/anndata-accessor.ipynb +0 -0
  59. {lamindb-0.59.1 → lamindb-0.59.3}/docs/storage/test-files/iris.csv +0 -0
  60. {lamindb-0.59.1 → lamindb-0.59.3}/docs/storage/test-files/iris.data +0 -0
  61. {lamindb-0.59.1 → lamindb-0.59.3}/docs/storage/test-files/new_iris.csv +0 -0
  62. {lamindb-0.59.1 → lamindb-0.59.3}/docs/storage/test_notebooks.py +0 -0
  63. {lamindb-0.59.1 → lamindb-0.59.3}/docs/storage/upload.ipynb +0 -0
  64. {lamindb-0.59.1 → lamindb-0.59.3}/docs/storage.md +0 -0
  65. {lamindb-0.59.1 → lamindb-0.59.3}/docs/test_notebooks.py +0 -0
  66. {lamindb-0.59.1 → lamindb-0.59.3}/docs/transfer.ipynb +0 -0
  67. {lamindb-0.59.1 → lamindb-0.59.3}/docs/tutorial2.ipynb +0 -0
  68. {lamindb-0.59.1 → lamindb-0.59.3}/docs/validate.ipynb +0 -0
  69. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_dataset.py +0 -0
  70. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_delete.py +0 -0
  71. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_feature.py +0 -0
  72. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_feature_set.py +0 -0
  73. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_file.py +0 -0
  74. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_filter.py +0 -0
  75. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_from_values.py +0 -0
  76. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_query_manager.py +0 -0
  77. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_query_set.py +0 -0
  78. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_registry.py +0 -0
  79. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_run.py +0 -0
  80. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_save.py +0 -0
  81. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_storage.py +0 -0
  82. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_transform.py +0 -0
  83. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_ulabel.py +0 -0
  84. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_utils.py +0 -0
  85. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_validate.py +0 -0
  86. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/_view.py +0 -0
  87. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/__init__.py +0 -0
  88. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/_data.py +0 -0
  89. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/_feature_manager.py +0 -0
  90. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/_label_manager.py +0 -0
  91. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/_priors.py +0 -0
  92. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/_run_context.py +0 -0
  93. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/_settings.py +0 -0
  94. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/datasets/__init__.py +0 -0
  95. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/datasets/_core.py +0 -0
  96. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/datasets/_fake.py +0 -0
  97. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/exceptions.py +0 -0
  98. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/fields.py +0 -0
  99. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/hashing.py +0 -0
  100. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/storage/__init__.py +0 -0
  101. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/storage/_anndata_sizes.py +0 -0
  102. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/storage/_zarr.py +0 -0
  103. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/storage/file.py +0 -0
  104. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/storage/object.py +0 -0
  105. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/types.py +0 -0
  106. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/dev/versioning.py +0 -0
  107. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/setup/__init__.py +0 -0
  108. {lamindb-0.59.1 → lamindb-0.59.3}/lamindb/setup/dev/__init__.py +0 -0
  109. {lamindb-0.59.1 → lamindb-0.59.3}/noxfile.py +0 -0
  110. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/.gitignore +0 -0
  111. {lamindb-0.59.1/sub/lamindb-setup → lamindb-0.59.3/sub/lamin-cli}/.pre-commit-config.yaml +0 -0
  112. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/README.md +0 -0
  113. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/lamin_cli/__main__.py +0 -0
  114. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/pyproject.toml +0 -0
  115. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/tests/conftest.py +0 -0
  116. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/tests/notebooks/no-title.ipynb +0 -0
  117. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/tests/notebooks/not-initialized.ipynb +0 -0
  118. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-consecutive.ipynb +0 -0
  119. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/tests/notebooks/with-title-and-initialized-non-consecutive.ipynb +0 -0
  120. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/tests/test_cli.py +0 -0
  121. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamin-cli/tests/test_notebooks.py +0 -0
  122. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/.github/workflows/build.yml +0 -0
  123. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/.github/workflows/latest-changes.jinja2 +0 -0
  124. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/.github/workflows/latest-changes.yml +0 -0
  125. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/.gitignore +0 -0
  126. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/LICENSE +0 -0
  127. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/README.md +0 -0
  128. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/index.md +0 -0
  129. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/notebooks.md +0 -0
  130. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-only/test-cache-management.ipynb +0 -0
  131. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-only/test-empty-init.ipynb +0 -0
  132. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-only/test-import-schema.ipynb +0 -0
  133. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-only/test-insufficient-user-info.ipynb +0 -0
  134. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-only/test-load-lock.ipynb +0 -0
  135. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-only/test-sqlite-sync.ipynb +0 -0
  136. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-only/test_notebooks2.py +0 -0
  137. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-staging/01-init-instance.ipynb +0 -0
  138. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-staging/02-load-instance.ipynb +0 -0
  139. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-staging/03-set-storage.ipynb +0 -0
  140. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-staging/04-test-bionty.ipynb +0 -0
  141. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-staging/test-multi-session.ipynb +0 -0
  142. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/prod-staging/test_notebooks.py +0 -0
  143. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/docs/reference.md +0 -0
  144. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_cache.py +0 -0
  145. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_check_instance_setup.py +0 -0
  146. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_close.py +0 -0
  147. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_delete.py +0 -0
  148. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_django.py +0 -0
  149. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_docstrings.py +0 -0
  150. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_export.py +0 -0
  151. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_info.py +0 -0
  152. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_init_instance.py +0 -0
  153. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_init_vault.py +0 -0
  154. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_load_instance.py +0 -0
  155. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_migrate.py +0 -0
  156. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_register_instance.py +0 -0
  157. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_schema.py +0 -0
  158. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_set.py +0 -0
  159. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_settings.py +0 -0
  160. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_setup_user.py +0 -0
  161. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/_silence_loggers.py +0 -0
  162. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/__init__.py +0 -0
  163. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_deprecated.py +0 -0
  164. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_docs.py +0 -0
  165. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_hub_client.py +0 -0
  166. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_hub_core.py +0 -0
  167. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_hub_crud.py +0 -0
  168. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_hub_utils.py +0 -0
  169. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_settings_instance.py +0 -0
  170. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_settings_load.py +0 -0
  171. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_settings_save.py +0 -0
  172. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_settings_storage.py +0 -0
  173. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_settings_store.py +0 -0
  174. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_settings_user.py +0 -0
  175. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/_setup_bionty_sources.py +0 -0
  176. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/cloud_sqlite_locker.py +0 -0
  177. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/lamindb_setup/dev/upath.py +0 -0
  178. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/pyproject.toml +0 -0
  179. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/hub-local/conftest.py +0 -0
  180. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/hub-local/test_all.py +0 -0
  181. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/prod-only/conftest.py +0 -0
  182. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/prod-only/test_django.py +0 -0
  183. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/prod-only/test_switch_and_fallback_env.py +0 -0
  184. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/prod-staging/test_delete_instance.py +0 -0
  185. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/prod-staging/test_init_instance.py +0 -0
  186. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/prod-staging/test_load_instance.py +0 -0
  187. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/prod-staging/test_login.py +0 -0
  188. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/prod-staging/test_migrate.py +0 -0
  189. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/prod-staging/test_set_storage.py +0 -0
  190. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/test_load_persistent_instance.py +0 -0
  191. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lamindb-setup/tests/test_vault.py +0 -0
  192. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/.github/workflows/build.yml +0 -0
  193. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/.github/workflows/latest-changes.jinja2 +0 -0
  194. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/.github/workflows/latest-changes.yml +0 -0
  195. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/.gitignore +0 -0
  196. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/.pre-commit-config.yaml +0 -0
  197. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/CHANGELOG.md +0 -0
  198. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/LICENSE +0 -0
  199. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/README.md +0 -0
  200. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/__init__.py +0 -0
  201. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/ids.py +0 -0
  202. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0001_initial.py +0 -0
  203. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0001_initial_squashed_0023.py +0 -0
  204. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0002_alter_user_name.py +0 -0
  205. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0003_alter_storage_region_alter_transform_short_name.py +0 -0
  206. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0004_rename_folder_tag_alter_project_folders.py +0 -0
  207. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0005_alter_run_inputs_delete_runinput.py +0 -0
  208. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0006_feature_dataset.py +0 -0
  209. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0007_feature_synonyms_featureset_field_and_more.py +0 -0
  210. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0008_file_hash_type_transform_parents.py +0 -0
  211. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0009_remove_featureset_files_feature_unit_and_more.py +0 -0
  212. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0010_dataset_categories_file_categories.py +0 -0
  213. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0011_label_remove_tag_created_by_remove_tag_parents_and_more.py +0 -0
  214. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0012_remove_label_ref_id_remove_label_ref_orm_and_more.py +0 -0
  215. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0013_remove_feature_labels_orm_and_more.py +0 -0
  216. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0014_rename_ref_field_featureset_registry.py +0 -0
  217. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0015_file_initial_version_file_version.py +0 -0
  218. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0016_dataset_input_of_dataset_run_dataset_transform_and_more.py +0 -0
  219. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0017_dataset_initial_version_dataset_version.py +0 -0
  220. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0018_rename_datasetlabel_datasetulabel_and_more.py +0 -0
  221. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0019_dataset_reference_dataset_reference_type_and_more.py +0 -0
  222. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0020_run_report_transform_latest_report_and_more.py +0 -0
  223. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0021_dataset_storage_alter_dataset_file.py +0 -0
  224. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0022_migrate_to_integer_pks.py +0 -0
  225. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0023_export_legacy_data.py +0 -0
  226. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0024_import_legacy_data.py +0 -0
  227. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0025_remove_user_email.py +0 -0
  228. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0026_dataset_visibility_file_visibility.py +0 -0
  229. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/0027_file_key_is_virtual.py +0 -0
  230. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/migrations/__init__.py +0 -0
  231. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/mocks.py +0 -0
  232. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/models.py +0 -0
  233. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/types.py +0 -0
  234. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/lnschema_core/users.py +0 -0
  235. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/noxfile.py +0 -0
  236. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/pyproject.toml +0 -0
  237. {lamindb-0.59.1 → lamindb-0.59.3}/sub/lnschema-core/tests/test_integrity.py +0 -0
  238. {lamindb-0.59.1 → lamindb-0.59.3}/tests/conftest.py +0 -0
  239. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_cache.py +0 -0
  240. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_data.py +0 -0
  241. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_dataset.py +0 -0
  242. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_db.py +0 -0
  243. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_delete.py +0 -0
  244. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_feature.py +0 -0
  245. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_feature_manager.py +0 -0
  246. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_feature_set.py +0 -0
  247. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_file.py +0 -0
  248. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_from_values.py +0 -0
  249. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_hashing.py +0 -0
  250. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_label_manager.py +0 -0
  251. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_manager.py +0 -0
  252. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_parents.py +0 -0
  253. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_queryset.py +0 -0
  254. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_registry.py +0 -0
  255. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_run.py +0 -0
  256. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_run_context.py +0 -0
  257. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_save.py +0 -0
  258. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_settings.py +0 -0
  259. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_transfer.py +0 -0
  260. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_transform.py +0 -0
  261. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_ulabel.py +0 -0
  262. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_validate.py +0 -0
  263. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_versioning.py +0 -0
  264. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_view.py +0 -0
  265. {lamindb-0.59.1 → lamindb-0.59.3}/tests/test_visibility.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lamindb
3
- Version: 0.59.1
3
+ Version: 0.59.3
4
4
  Summary: A data framework for biology.
5
5
  Author-email: Lamin Labs <open-source@lamin.ai>
6
6
  Requires-Python: >=3.8
@@ -9,8 +9,8 @@ Classifier: Programming Language :: Python :: 3.8
9
9
  Classifier: Programming Language :: Python :: 3.9
10
10
  Classifier: Programming Language :: Python :: 3.10
11
11
  Requires-Dist: lnschema_core==0.54.0
12
- Requires-Dist: lamindb_setup==0.57.0
13
- Requires-Dist: lamin_utils==0.11.5
12
+ Requires-Dist: lamindb_setup==0.57.1
13
+ Requires-Dist: lamin_utils==0.11.7
14
14
  Requires-Dist: lamin_cli==0.1.2
15
15
  Requires-Dist: rapidfuzz
16
16
  Requires-Dist: pyarrow
@@ -20,11 +20,13 @@ Requires-Dist: anndata>=0.8.0,<=0.10.2
20
20
  Requires-Dist: fsspec
21
21
  Requires-Dist: pandas
22
22
  Requires-Dist: graphviz
23
+ Requires-Dist: psycopg2-binary
23
24
  Requires-Dist: botocore==1.31.17 ; extra == "aws"
24
25
  Requires-Dist: urllib3<2 ; extra == "aws"
25
26
  Requires-Dist: boto3==1.28.17 ; extra == "aws"
26
27
  Requires-Dist: aiobotocore==2.5.4 ; extra == "aws"
27
28
  Requires-Dist: fsspec[s3]==2023.9.0 ; extra == "aws"
29
+ Requires-Dist: s3fs>=2023.1.0 ; extra == "aws"
28
30
  Requires-Dist: lnschema_bionty==0.34.0 ; extra == "bionty"
29
31
  Requires-Dist: pandas<2 ; extra == "dev"
30
32
  Requires-Dist: pre-commit ; extra == "dev"
@@ -35,14 +37,13 @@ Requires-Dist: coverage ; extra == "dev"
35
37
  Requires-Dist: pytest-cov ; extra == "dev"
36
38
  Requires-Dist: nbproject_test>=0.3.0 ; extra == "dev"
37
39
  Requires-Dist: faker-biology ; extra == "dev"
40
+ Requires-Dist: lamin_vault ; extra == "dev"
38
41
  Requires-Dist: django-schema-graph ; extra == "erdiagram"
39
42
  Requires-Dist: readfcs>=1.1.7 ; extra == "fcs"
40
43
  Requires-Dist: fsspec[gs]==2023.9.0 ; extra == "gcp"
41
44
  Requires-Dist: nbproject==0.9.2 ; extra == "jupyter"
42
45
  Requires-Dist: nbstripout ; extra == "jupyter"
43
46
  Requires-Dist: nbconvert ; extra == "jupyter"
44
- Requires-Dist: psycopg2-binary ; extra == "postgres"
45
- Requires-Dist: lamin_vault ; extra == "postgres"
46
47
  Requires-Dist: zarr>=2.16.0 ; extra == "zarr"
47
48
  Project-URL: Home, https://github.com/laminlabs/lamindb
48
49
  Provides-Extra: aws
@@ -52,7 +53,6 @@ Provides-Extra: erdiagram
52
53
  Provides-Extra: fcs
53
54
  Provides-Extra: gcp
54
55
  Provides-Extra: jupyter
55
- Provides-Extra: postgres
56
56
  Provides-Extra: zarr
57
57
 
58
58
  [![Stars](https://img.shields.io/github/stars/laminlabs/lamindb?logo=GitHub&color=yellow)](https://github.com/laminlabs/lamindb)
@@ -6,9 +6,20 @@
6
6
 
7
7
  ## 0.59
8
8
 
9
+ ### 0.59.3 {small}`2023-11-04`
10
+
11
+ - 💄 Show transform uid in view_flow [PR1280](https://github.com/laminlabs/lamindb/pull/1280) [@sunnyosun](https://github.com/sunnyosun)
12
+ - 🚸 Improve search [PR1279](https://github.com/laminlabs/lamindb/pull/1279) [@sunnyosun](https://github.com/sunnyosun)
13
+
14
+ ### 0.59.2 {small}`2023-11-04`
15
+
16
+ - 🐛 Backed raw subset fix [PR1278](https://github.com/laminlabs/lamindb/pull/1278) [@Koncopd](https://github.com/Koncopd)
17
+ - 🚸 Improve connection stability [PR1277](https://github.com/laminlabs/lamindb/pull/1277) [@falexwolf](https://github.com/falexwolf)
18
+ - 🚸 Improve search [PR1275](https://github.com/laminlabs/lamindb/pull/1275) [@sunnyosun](https://github.com/sunnyosun)
19
+
9
20
  ### 0.59.1 {small}`2023-11-03`
10
21
 
11
- - ♻️ Move CLI from lamindb-setup here [PR1264](https://github.com/laminlabs/lamindb/pull/1264) [@falexwolf](https://github.com/falexwolf)
22
+ - ♻️ Move CLI from `lamindb-setup` here [PR1264](https://github.com/laminlabs/lamindb/pull/1264) [@falexwolf](https://github.com/falexwolf)
12
23
  - 🐛 `file.replace()` works with virtual keys [PR1265](https://github.com/laminlabs/lamindb/pull/1265) [@Koncopd](https://github.com/Koncopd)
13
24
 
14
25
  ### 0.59.0 {small}`2023-10-27`
@@ -14,8 +14,8 @@ Supported `extras` are:
14
14
 
15
15
  ```yaml
16
16
  # commonly used
17
- jupyter # parse Jupyter notebooks
18
- bionty # manage basic biological entities
17
+ jupyter # parse Jupyter notebook metadata
18
+ bionty # access basic biological ontologies
19
19
  # cloud backends
20
20
  aws # AWS (s3fs, etc.)
21
21
  gcp # Google Cloud (gcfs, etc.)
@@ -23,8 +23,6 @@ gcp # Google Cloud (gcfs, etc.)
23
23
  fcs # manage FCS files (flow cytometry)
24
24
  # storage backends
25
25
  zarr # store & stream arrays with zarr
26
- # database backends
27
- postgres # postgres tools
28
26
  # others
29
27
  erdiagram # visualize ER diagrams, also needs graphviz
30
28
  ```
@@ -25,7 +25,7 @@
25
25
  "```\n",
26
26
  ":::\n",
27
27
  "\n",
28
- "LaminHub Basic is free. Enterprise features, support, integration tests & wetlab plug-ins hosted in your or our infrastructure are available on a [paid plan](https://lamin.ai/pricing): please [reach out](https://lamin.ai/contact)!"
28
+ "Basic features of LaminHub are free. Enterprise features, support, integration tests & wetlab plug-ins hosted in your or our infrastructure are available on a [paid plan](https://lamin.ai/pricing): please [reach out](https://lamin.ai/contact)!"
29
29
  ]
30
30
  },
31
31
  {
@@ -52,7 +52,7 @@
52
52
  " pip install 'lamindb[jupyter,bionty]'\n",
53
53
  " ```\n",
54
54
  "2. [Sign up](https://lamin.ai/signup) for a free account (see more [info](https://lamin.ai/docs/setup)) and copy the API key.\n",
55
- "3. Log in on the command line:\n",
55
+ "3. Log in on the command line (data remains in your infrastructure, with Lamin having no access to it):\n",
56
56
  " ```shell\n",
57
57
  " lamin login <email> --key <API-key>\n",
58
58
  " ```\n",
@@ -77,9 +77,7 @@
77
77
  "cell_type": "markdown",
78
78
  "metadata": {},
79
79
  "source": [
80
- "Because we passed `--schema bionty`, this instance mounted plug-in {mod}`lnschema_bionty`.\n",
81
- "\n",
82
- "Note that data remains in your infrastructure, with Lamin having no access to it."
80
+ "Because we passed `--schema bionty`, this instance mounted plug-in {mod}`lnschema_bionty`."
83
81
  ]
84
82
  },
85
83
  {
@@ -614,7 +612,7 @@
614
612
  "\n",
615
613
  "If you run `lamin save <notebook_path>`, you will save the notebook to your default storage location.\n",
616
614
  "\n",
617
- "You can explore the notebook report corresponding to the quickstart [here](https://lamin.ai/laminlabs/lamindata/record/core/Transform?id=Hc5AXzibjGg1z8) in LaminHub.\n",
615
+ "You can explore the notebook report corresponding to the quickstart [here](https://lamin.ai/laminlabs/lamindata/record/core/Transform?id=FPnfDtJz8qbEz8) in LaminHub.\n",
618
616
  "\n",
619
617
  "### Manage custom schemas\n",
620
618
  "\n",
@@ -829,7 +829,7 @@
829
829
  "cell_type": "markdown",
830
830
  "metadata": {},
831
831
  "source": [
832
- "This will enable you to query the report and source code via `transform.latest_report` and `transform.source_file` and see it in the hub, e.g., [here](https://lamin.ai/laminlabs/lamindata/record/core/Transform?id=NJvdsWWbJlZSz8).\n",
832
+ "This will enable you to query the report and source code via `transform.latest_report` and `transform.source_file` and see it in the hub, e.g., [here](https://lamin.ai/laminlabs/lamindata/record/core/Transform?uid=NJvdsWWbJlZSz8).\n",
833
833
  "\n",
834
834
  "<img src=\"https://lamin-site-assets.s3.amazonaws.com/.lamindb/RGXj5wcAf7EAc6J8aBoM.png\" width=\"700px\">"
835
835
  ]
@@ -53,7 +53,7 @@ Static classes & modules:
53
53
 
54
54
  """
55
55
 
56
- __version__ = "0.59.1" # denote a release candidate for 0.1.0 with 0.1rc1
56
+ __version__ = "0.59.3" # denote a release candidate for 0.1.0 with 0.1rc1
57
57
 
58
58
  import os as _os
59
59
 
@@ -277,7 +277,7 @@ def _record_label(record: Registry, field: Optional[str] = None):
277
277
  name = f'{record.transform.name.replace("&", "&amp;")}'
278
278
  return (
279
279
  rf'<{TRANSFORM_EMOJIS.get(str(record.transform.type), "💫")} {name}<BR/><FONT COLOR="GREY" POINT-SIZE="10"' # noqa
280
- rf' FACE="Monospace">uid={record.uid}<BR/>type={record.transform.type},'
280
+ rf' FACE="Monospace">uid={record.transform.uid}<BR/>type={record.transform.type},' # noqa
281
281
  rf" user={record.created_by.name}<BR/>run_at={format_field_value(record.run_at)}</FONT>>" # noqa
282
282
  )
283
283
  elif isinstance(record, Transform):
@@ -547,7 +547,7 @@ class AnnDataAccessorSubset(_AnnDataAttrsMixin):
547
547
  prepare_indices = None
548
548
  if self.indices is not None:
549
549
  oidx = self.indices[0]
550
- if oidx != slice(None):
550
+ if isinstance(oidx, np.ndarray) or oidx != slice(None):
551
551
  prepare_indices = oidx, slice(None)
552
552
  return AnnDataRawAccessor(
553
553
  self.storage["raw"],
@@ -575,7 +575,7 @@ class AnnDataRawAccessor(AnnDataAccessorSubset):
575
575
 
576
576
  if attrs_keys is None:
577
577
  attrs_keys = {}
578
- if isinstance(var_raw, (h5py.Dataset, zarr.Array)):
578
+ if isinstance(var_raw, ArrayTypes):
579
579
  attrs_keys["var"] = list(var_raw.dtype.fields.keys())
580
580
  else:
581
581
  # for some reason list(var_raw.keys()) is very slow for zarr
@@ -16,18 +16,19 @@ classifiers = [
16
16
  dependencies = [
17
17
  # Lamin PINNED packages
18
18
  "lnschema_core==0.54.0",
19
- "lamindb_setup==0.57.0",
20
- "lamin_utils==0.11.5",
19
+ "lamindb_setup==0.57.1",
20
+ "lamin_utils==0.11.7",
21
21
  "lamin_cli==0.1.2",
22
22
  # others
23
23
  "rapidfuzz",
24
24
  "pyarrow",
25
25
  "typing_extensions!=4.6.0",
26
26
  "python-dateutil",
27
- "anndata>=0.8.0,<=0.10.2", # we're using anndata internals
27
+ "anndata>=0.8.0,<=0.10.2", # will upgrade to new anndata releases
28
28
  "fsspec",
29
29
  "pandas",
30
30
  "graphviz",
31
+ "psycopg2-binary",
31
32
  ]
32
33
 
33
34
  [project.urls]
@@ -37,16 +38,13 @@ Home = "https://github.com/laminlabs/lamindb"
37
38
  bionty = [
38
39
  "lnschema_bionty==0.34.0",
39
40
  ]
40
- postgres = [
41
- "psycopg2-binary",
42
- "lamin_vault", # only used for secrets management
43
- ]
44
41
  aws = [
45
42
  "botocore==1.31.17", # for aiobotocore inside s3fs, to fix deps resolution
46
43
  "urllib3<2", # for botocore
47
44
  "boto3==1.28.17", # to avoid conflicts arising due to the pin on botocore
48
45
  "aiobotocore==2.5.4",
49
- "fsspec[s3]==2023.9.0"
46
+ "fsspec[s3]==2023.9.0",
47
+ "s3fs>=2023.1.0", # very old versions of s3fs don't work
50
48
  ]
51
49
  gcp = [
52
50
  "fsspec[gs]==2023.9.0"
@@ -79,6 +77,8 @@ dev = [
79
77
  "nbproject_test>=0.3.0",
80
78
  # biology
81
79
  "faker-biology",
80
+ # vault
81
+ "lamin_vault",
82
82
  ]
83
83
 
84
84
  [tool.black]
@@ -0,0 +1,2 @@
1
+ """Lamin CLI."""
2
+ __version__ = "0.1.2"
@@ -125,7 +125,11 @@ def save(notebook_path: str) -> Optional[str]:
125
125
  # convert the notebook file to html
126
126
  notebook_path_html = notebook_path.replace(".ipynb", ".html")
127
127
  logger.info(f"exporting notebook as html {notebook_path_html}")
128
- result = subprocess.run(f"jupyter nbconvert --to html {notebook_path}", shell=True)
128
+ # log_level is set to 40 to silence the nbconvert logging
129
+ result = subprocess.run(
130
+ f"jupyter nbconvert --to html {notebook_path} --Application.log_level=40",
131
+ shell=True,
132
+ )
129
133
  assert result.returncode == 0
130
134
  # copy the notebook file to a temporary file
131
135
  notebook_path_stripped = notebook_path.replace(".ipynb", "_stripped.ipynb")
@@ -204,6 +208,7 @@ def save(notebook_path: str) -> Optional[str]:
204
208
  )
205
209
  report_file.save()
206
210
  run.report = report_file
211
+ run.is_consecutive = is_consecutive
207
212
  run.save()
208
213
  # annotate transform
209
214
  transform.source_file = source_file
@@ -0,0 +1,64 @@
1
+ repos:
2
+ - repo: https://github.com/pre-commit/pre-commit-hooks
3
+ rev: v3.2.0
4
+ hooks:
5
+ - id: trailing-whitespace
6
+ - id: end-of-file-fixer
7
+ exclude: |
8
+ (?x)(
9
+ .github/workflows/latest-changes.jinja2
10
+ )
11
+ - id: check-yaml
12
+ - id: check-added-large-files
13
+ - repo: https://github.com/psf/black
14
+ rev: 22.6.0
15
+ hooks:
16
+ - id: black-jupyter
17
+ - repo: https://github.com/pycqa/flake8
18
+ rev: 4.0.1
19
+ hooks:
20
+ - id: flake8
21
+ additional_dependencies:
22
+ - flake8-black==0.3.3
23
+ - flake8-typing-imports==1.10.0
24
+ language_version: python3
25
+ args:
26
+ - --max-line-length=88
27
+ - --ignore=E203,W503,BLK100,TYP001
28
+ exclude: |
29
+ (?x)(
30
+ __init__.py
31
+ )
32
+ - repo: https://github.com/pre-commit/mirrors-prettier
33
+ rev: v2.6.2
34
+ hooks:
35
+ - id: prettier
36
+ - repo: https://github.com/kynan/nbstripout
37
+ rev: 0.3.9
38
+ hooks:
39
+ - id: nbstripout
40
+ exclude: |
41
+ (?x)(
42
+ docs/examples/|
43
+ docs/notes/|
44
+ tests
45
+ )
46
+ - repo: https://github.com/Lucas-C/pre-commit-hooks
47
+ rev: v1.1.9
48
+ hooks:
49
+ - id: forbid-crlf
50
+ - id: remove-crlf
51
+ - repo: https://github.com/pre-commit/mirrors-mypy
52
+ rev: v0.940
53
+ hooks:
54
+ - id: mypy
55
+ exclude: |
56
+ (?x)(
57
+ tests/hub-local/conftest.py
58
+ )
59
+ - repo: https://github.com/pycqa/pydocstyle
60
+ rev: 6.1.1
61
+ hooks:
62
+ - id: pydocstyle
63
+ args: # google style + __init__, see http://www.pydocstyle.org/en/stable/error_codes.html
64
+ - --ignore=D100,D101,D102,D103,D104,D106,D107,D203,D204,D213,D215,D400,D401,D403,D404,D406,D407,D408,D409,D412,D413
@@ -3,6 +3,7 @@
3
3
  <!-- prettier-ignore -->
4
4
  Name | PR | Developer | Date | Version
5
5
  --- | --- | --- | --- | ---
6
+ 🚸 Lower `conn_mag_age` | [573](https://github.com/laminlabs/lamindb-setup/pull/573) | [falexwolf](https://github.com/falexwolf) | 2023-11-04 | 0.57.1
6
7
  🚚 Move CLI to lamindb | [572](https://github.com/laminlabs/lamindb-setup/pull/572) | [falexwolf](https://github.com/falexwolf) | 2023-10-30 | 0.57.0
7
8
  ♻️ Also enable to read db from env variable | [571](https://github.com/laminlabs/lamindb-setup/pull/571) | [falexwolf](https://github.com/falexwolf) | 2023-10-26 | 0.56.4
8
9
  ♻️ Enable to pre-define the instance id | [570](https://github.com/laminlabs/lamindb-setup/pull/570) | [falexwolf](https://github.com/falexwolf) | 2023-10-26 | 0.56.3
@@ -44,7 +44,7 @@ Developer API.
44
44
 
45
45
  """
46
46
 
47
- __version__ = "0.57.0" # denote a release candidate for 0.1.0 with 0.1rc1
47
+ __version__ = "0.57.1" # denote a release candidate for 0.1.0 with 0.1rc1
48
48
 
49
49
  import sys
50
50
  from os import name as _os_name
@@ -55,7 +55,9 @@ def setup_django(
55
55
  if not settings.configured:
56
56
  default_db = dj_database_url.config(
57
57
  default=isettings.db,
58
- conn_max_age=600,
58
+ # https://laminlabs.slack.com/archives/C04FPE8V01W/p1698239551460289
59
+ # assuming postgres terminates a connection after 299s
60
+ conn_max_age=299,
59
61
  conn_health_checks=True,
60
62
  )
61
63
  DATABASES = {
@@ -29,10 +29,8 @@ def install(session: nox.Session, group: str) -> None:
29
29
  session.run(*"pip install ./laminhub-rest[server]".split())
30
30
  session.run(*"pip install -e .[aws,dev]".split())
31
31
  # need for CLI, but this is bad because it's downstream
32
- session.run(
33
- *"git clone --branch cli https://github.com/laminlabs/lamindb".split()
34
- )
35
- session.run(*"pip install lamindb/sub/lamin-cli".split())
32
+ session.run(*"git clone https://github.com/laminlabs/lamin-cli".split())
33
+ session.run(*"pip install lamin-cli".split())
36
34
  elif group == "noaws":
37
35
  session.run(*"pip install -e .[aws,dev]".split())
38
36
  elif group == "vault":
@@ -43,10 +41,8 @@ def install(session: nox.Session, group: str) -> None:
43
41
  )
44
42
  session.run(*"pip install -e .[aws,dev]".split())
45
43
  # need for CLI, but this is bad because it's downstream
46
- session.run(
47
- *"git clone --branch cli https://github.com/laminlabs/lamindb".split()
48
- )
49
- session.run(*"pip install lamindb/sub/lamin-cli".split())
44
+ session.run(*"git clone https://github.com/laminlabs/lamin-cli".split())
45
+ session.run(*"pip install lamin-cli".split())
50
46
  elif group == "hub-local":
51
47
  session.run(*"pip install -e .[aws,dev,hub]".split())
52
48
  session.run(*"pip install ./laminhub-rest[server]".split())
@@ -1,6 +1,7 @@
1
1
  import shutil
2
2
 
3
3
  import h5py
4
+ import numpy as np
4
5
  import pandas as pd
5
6
  import pytest
6
7
  import zarr
@@ -106,6 +107,12 @@ def test_backed_access(adata_format):
106
107
  obs_sub = ["TCAATCACCCTTCG-8", "CGTTATACAGTACC-8", "TGCCAAGATTGTGG-7"]
107
108
  sub = access[obs_sub]
108
109
  assert sub.obs_names.tolist() == obs_sub
110
+ assert sub.to_memory().shape == (3, 200)
111
+
112
+ idx = np.array([1, 2, 5])
113
+ sub = access[idx]
114
+ assert sub.raw.shape == (3, 100)
115
+ assert sub.to_memory().shape == (3, 200)
109
116
 
110
117
  var_sub = ["SSU72", "PARK7", "RBP7"]
111
118
  sub = access[:, var_sub]
@@ -1,2 +0,0 @@
1
- """Lamin CLI."""
2
- __version__ = "0.1.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