lamindb 1.8.0__tar.gz → 1.9.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. {lamindb-1.8.0 → lamindb-1.9.1}/.github/workflows/build.yml +2 -0
  2. {lamindb-1.8.0 → lamindb-1.9.1}/.gitignore +3 -1
  3. lamindb-1.9.1/PKG-INFO +144 -0
  4. lamindb-1.9.1/README.md +85 -0
  5. {lamindb-1.8.0 → lamindb-1.9.1}/docs/arrays.ipynb +3 -3
  6. {lamindb-1.8.0 → lamindb-1.9.1}/docs/curate.ipynb +296 -210
  7. {lamindb-1.8.0 → lamindb-1.9.1}/docs/faq/keep-artifacts-local.ipynb +56 -11
  8. {lamindb-1.8.0 → lamindb-1.9.1}/docs/storage/transfer-local-to-cloud.ipynb +7 -3
  9. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/__init__.py +1 -1
  10. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/_finish.py +8 -3
  11. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/_context.py +27 -8
  12. lamindb-1.9.1/lamindb/core/datasets/_small.py +97 -0
  13. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/storage/_polars_lazy_df.py +1 -1
  14. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/storage/_tiledbsoma.py +1 -2
  15. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/curators/__init__.py +0 -6
  16. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/curators/_legacy.py +1 -579
  17. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/curators/core.py +41 -12
  18. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/examples/__init__.py +2 -0
  19. lamindb-1.9.1/lamindb/examples/cellxgene/__init__.py +11 -0
  20. lamindb-1.9.1/lamindb/examples/cellxgene/_cellxgene.py +238 -0
  21. lamindb-1.8.0/lamindb/curators/_cellxgene_schemas/schema_versions.csv → lamindb-1.9.1/lamindb/examples/cellxgene/cxg_schema_versions.csv +11 -0
  22. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/_describe.py +69 -56
  23. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/_django.py +55 -47
  24. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/_feature_manager.py +37 -34
  25. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/artifact.py +43 -36
  26. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/can_curate.py +3 -1
  27. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/feature.py +29 -8
  28. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/schema.py +37 -21
  29. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/sqlrecord.py +48 -46
  30. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/transform.py +7 -0
  31. {lamindb-1.8.0 → lamindb-1.9.1}/noxfile.py +76 -23
  32. {lamindb-1.8.0 → lamindb-1.9.1}/pyproject.toml +5 -8
  33. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_artifact.py +7 -7
  34. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_describe_and_df_calls.py +17 -9
  35. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_dtype.py +39 -0
  36. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_feature_label_manager.py +22 -19
  37. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_schema.py +12 -0
  38. {lamindb-1.8.0 → lamindb-1.9.1}/tests/curators/test_curators_examples.py +0 -11
  39. {lamindb-1.8.0 → lamindb-1.9.1}/tests/curators/test_curators_general.py +75 -0
  40. lamindb-1.9.1/tests/curators/test_cxg_curator.py +100 -0
  41. {lamindb-1.8.0 → lamindb-1.9.1}/tests/storage/test_transfer.py +2 -2
  42. lamindb-1.8.0/PKG-INFO +0 -68
  43. lamindb-1.8.0/README.md +0 -7
  44. lamindb-1.8.0/lamindb/core/datasets/_small.py +0 -67
  45. lamindb-1.8.0/lamindb/curators/_cellxgene_schemas/__init__.py +0 -198
  46. lamindb-1.8.0/tests/curators/test_cxg_curator.py +0 -36
  47. lamindb-1.8.0/tests/curators/test_pert_curator.py +0 -109
  48. {lamindb-1.8.0 → lamindb-1.9.1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  49. {lamindb-1.8.0 → lamindb-1.9.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  50. {lamindb-1.8.0 → lamindb-1.9.1}/.github/ISSUE_TEMPLATE/enhancement.yml +0 -0
  51. {lamindb-1.8.0 → lamindb-1.9.1}/.github/ISSUE_TEMPLATE/usage_question.yml +0 -0
  52. {lamindb-1.8.0 → lamindb-1.9.1}/.github/workflows/doc-changes.yml +0 -0
  53. {lamindb-1.8.0 → lamindb-1.9.1}/.gitmodules +0 -0
  54. {lamindb-1.8.0 → lamindb-1.9.1}/.pre-commit-config.yaml +0 -0
  55. {lamindb-1.8.0 → lamindb-1.9.1}/CONTRIBUTING.md +0 -0
  56. {lamindb-1.8.0 → lamindb-1.9.1}/LICENSE +0 -0
  57. {lamindb-1.8.0 → lamindb-1.9.1}/docs/api.md +0 -0
  58. {lamindb-1.8.0 → lamindb-1.9.1}/docs/bio-registries.ipynb +0 -0
  59. {lamindb-1.8.0 → lamindb-1.9.1}/docs/bionty.md +0 -0
  60. {lamindb-1.8.0 → lamindb-1.9.1}/docs/changelog.md +0 -0
  61. {lamindb-1.8.0 → lamindb-1.9.1}/docs/clinicore.md +0 -0
  62. {lamindb-1.8.0 → lamindb-1.9.1}/docs/faq/acid.ipynb +0 -0
  63. {lamindb-1.8.0 → lamindb-1.9.1}/docs/faq/curate-any.ipynb +0 -0
  64. {lamindb-1.8.0 → lamindb-1.9.1}/docs/faq/delete.ipynb +0 -0
  65. {lamindb-1.8.0 → lamindb-1.9.1}/docs/faq/idempotency.ipynb +0 -0
  66. {lamindb-1.8.0 → lamindb-1.9.1}/docs/faq/import-modules.ipynb +0 -0
  67. {lamindb-1.8.0 → lamindb-1.9.1}/docs/faq/pydantic-pandera.ipynb +0 -0
  68. {lamindb-1.8.0 → lamindb-1.9.1}/docs/faq/reference-field.ipynb +0 -0
  69. {lamindb-1.8.0 → lamindb-1.9.1}/docs/faq/search.ipynb +0 -0
  70. {lamindb-1.8.0 → lamindb-1.9.1}/docs/faq/setup.ipynb +0 -0
  71. {lamindb-1.8.0 → lamindb-1.9.1}/docs/faq/symbol-mapping.ipynb +0 -0
  72. {lamindb-1.8.0 → lamindb-1.9.1}/docs/faq/test_notebooks.py +0 -0
  73. {lamindb-1.8.0 → lamindb-1.9.1}/docs/faq/track-run-inputs.ipynb +0 -0
  74. {lamindb-1.8.0 → lamindb-1.9.1}/docs/faq/validate-fields.ipynb +0 -0
  75. {lamindb-1.8.0 → lamindb-1.9.1}/docs/faq/visibility.ipynb +0 -0
  76. {lamindb-1.8.0 → lamindb-1.9.1}/docs/faq.md +0 -0
  77. {lamindb-1.8.0 → lamindb-1.9.1}/docs/guide.md +0 -0
  78. {lamindb-1.8.0 → lamindb-1.9.1}/docs/includes/installation.md +0 -0
  79. {lamindb-1.8.0 → lamindb-1.9.1}/docs/index.md +0 -0
  80. {lamindb-1.8.0 → lamindb-1.9.1}/docs/lamindb.md +0 -0
  81. {lamindb-1.8.0 → lamindb-1.9.1}/docs/query-search.md +0 -0
  82. {lamindb-1.8.0 → lamindb-1.9.1}/docs/registries.ipynb +0 -0
  83. {lamindb-1.8.0 → lamindb-1.9.1}/docs/scripts/curate_anndata_flexible.py +0 -0
  84. {lamindb-1.8.0 → lamindb-1.9.1}/docs/scripts/curate_dataframe_flexible.py +0 -0
  85. {lamindb-1.8.0 → lamindb-1.9.1}/docs/scripts/curate_dataframe_minimal_errors.py +0 -0
  86. {lamindb-1.8.0 → lamindb-1.9.1}/docs/scripts/curate_mudata.py +0 -0
  87. {lamindb-1.8.0 → lamindb-1.9.1}/docs/scripts/curate_soma_experiment.py +0 -0
  88. {lamindb-1.8.0 → lamindb-1.9.1}/docs/scripts/curate_spatialdata.py +0 -0
  89. {lamindb-1.8.0 → lamindb-1.9.1}/docs/scripts/define_mini_immuno_features_labels.py +0 -0
  90. {lamindb-1.8.0 → lamindb-1.9.1}/docs/scripts/define_mini_immuno_schema_flexible.py +0 -0
  91. {lamindb-1.8.0 → lamindb-1.9.1}/docs/scripts/define_schema_anndata_ensembl_gene_ids_and_valid_features_in_obs.py +0 -0
  92. {lamindb-1.8.0 → lamindb-1.9.1}/docs/scripts/define_schema_spatialdata.py +0 -0
  93. {lamindb-1.8.0 → lamindb-1.9.1}/docs/scripts/define_valid_features.py +0 -0
  94. {lamindb-1.8.0 → lamindb-1.9.1}/docs/scripts/ingest_mini_immuno_datasets.py +0 -0
  95. {lamindb-1.8.0 → lamindb-1.9.1}/docs/scripts/run_track_and_finish.py +0 -0
  96. {lamindb-1.8.0 → lamindb-1.9.1}/docs/scripts/run_track_with_params.py +0 -0
  97. {lamindb-1.8.0 → lamindb-1.9.1}/docs/scripts/run_workflow.py +0 -0
  98. {lamindb-1.8.0 → lamindb-1.9.1}/docs/scripts/synced_with_git.py +0 -0
  99. {lamindb-1.8.0 → lamindb-1.9.1}/docs/storage/add-replace-cache.ipynb +0 -0
  100. {lamindb-1.8.0 → lamindb-1.9.1}/docs/storage/anndata-accessor.ipynb +0 -0
  101. {lamindb-1.8.0 → lamindb-1.9.1}/docs/storage/prepare-transfer-local-to-cloud.ipynb +0 -0
  102. {lamindb-1.8.0 → lamindb-1.9.1}/docs/storage/test-files/iris.csv +0 -0
  103. {lamindb-1.8.0 → lamindb-1.9.1}/docs/storage/test-files/iris.data +0 -0
  104. {lamindb-1.8.0 → lamindb-1.9.1}/docs/storage/test-files/new_iris.csv +0 -0
  105. {lamindb-1.8.0 → lamindb-1.9.1}/docs/storage/test_notebooks.py +0 -0
  106. {lamindb-1.8.0 → lamindb-1.9.1}/docs/storage/upload.ipynb +0 -0
  107. {lamindb-1.8.0 → lamindb-1.9.1}/docs/storage/vitessce.ipynb +0 -0
  108. {lamindb-1.8.0 → lamindb-1.9.1}/docs/storage.md +0 -0
  109. {lamindb-1.8.0 → lamindb-1.9.1}/docs/test_notebooks.py +0 -0
  110. {lamindb-1.8.0 → lamindb-1.9.1}/docs/track.ipynb +0 -0
  111. {lamindb-1.8.0 → lamindb-1.9.1}/docs/transfer.ipynb +0 -0
  112. {lamindb-1.8.0 → lamindb-1.9.1}/docs/wetlab.md +0 -0
  113. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/_tracked.py +0 -0
  114. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/_view.py +0 -0
  115. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/base/__init__.py +0 -0
  116. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/base/fields.py +0 -0
  117. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/base/ids.py +0 -0
  118. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/base/types.py +0 -0
  119. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/base/uids.py +0 -0
  120. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/base/users.py +0 -0
  121. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/__init__.py +0 -0
  122. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/_compat.py +0 -0
  123. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/_mapped_collection.py +0 -0
  124. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/_settings.py +0 -0
  125. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/_sync_git.py +0 -0
  126. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/_track_environment.py +0 -0
  127. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/datasets/__init__.py +0 -0
  128. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/datasets/_core.py +0 -0
  129. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/datasets/_fake.py +0 -0
  130. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/datasets/mini_immuno.py +0 -0
  131. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/exceptions.py +0 -0
  132. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/loaders.py +0 -0
  133. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/storage/__init__.py +0 -0
  134. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/storage/_anndata_accessor.py +0 -0
  135. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/storage/_backed_access.py +0 -0
  136. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/storage/_pyarrow_dataset.py +0 -0
  137. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/storage/_valid_suffixes.py +0 -0
  138. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/storage/_zarr.py +0 -0
  139. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/storage/objects.py +0 -0
  140. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/storage/paths.py +0 -0
  141. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/subsettings/__init__.py +0 -0
  142. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/subsettings/_annotation_settings.py +0 -0
  143. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/subsettings/_creation_settings.py +0 -0
  144. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/core/types.py +0 -0
  145. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/errors.py +0 -0
  146. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/examples/fixtures/__init__.py +0 -0
  147. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/examples/fixtures/sheets.py +0 -0
  148. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/examples/schemas/__init__.py +0 -0
  149. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/examples/schemas/_anndata.py +0 -0
  150. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/examples/schemas/_simple.py +0 -0
  151. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/integrations/__init__.py +0 -0
  152. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/integrations/_vitessce.py +0 -0
  153. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0069_squashed.py +0 -0
  154. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0070_lamindbv1_migrate_data.py +0 -0
  155. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0071_lamindbv1_migrate_schema.py +0 -0
  156. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0072_remove_user__branch_code_remove_user_aux_and_more.py +0 -0
  157. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0073_merge_ourprojects.py +0 -0
  158. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0074_lamindbv1_part4.py +0 -0
  159. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0075_lamindbv1_part5.py +0 -0
  160. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0076_lamindbv1_part6.py +0 -0
  161. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0077_lamindbv1_part6b.py +0 -0
  162. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0078_lamindbv1_part6c.py +0 -0
  163. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0079_alter_rundata_value_json_and_more.py +0 -0
  164. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0080_polish_lamindbv1.py +0 -0
  165. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0081_revert_textfield_collection.py +0 -0
  166. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0082_alter_feature_dtype.py +0 -0
  167. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0083_alter_feature_is_type_alter_flextable_is_type_and_more.py +0 -0
  168. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0084_alter_schemafeature_feature_and_more.py +0 -0
  169. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0085_alter_feature_is_type_alter_flextable_is_type_and_more.py +0 -0
  170. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0086_various.py +0 -0
  171. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0087_rename__schemas_m2m_artifact_feature_sets_and_more.py +0 -0
  172. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0088_schema_components.py +0 -0
  173. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0089_subsequent_runs.py +0 -0
  174. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0090_runproject_project_runs.py +0 -0
  175. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0091_alter_featurevalue_options_alter_space_options_and_more.py +0 -0
  176. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0092_alter_artifactfeaturevalue_artifact_and_more.py +0 -0
  177. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0093_alter_schemacomponent_unique_together.py +0 -0
  178. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0094_writeloglock_writelogmigrationstate_and_more.py +0 -0
  179. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0095_remove_rundata_flextable.py +0 -0
  180. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0096_remove_artifact__param_values_and_more.py +0 -0
  181. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0097_remove_schemaparam_param_remove_paramvalue_param_and_more.py +0 -0
  182. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0098_alter_feature_type_alter_project_type_and_more.py +0 -0
  183. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0099_alter_writelog_seqno.py +0 -0
  184. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0100_branch_alter_artifact__branch_code_and_more.py +0 -0
  185. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0101_alter_artifact_hash_alter_feature_name_and_more.py +0 -0
  186. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0102_remove_writelog_branch_code_and_more.py +0 -0
  187. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0103_remove_writelog_migration_state_and_more.py +0 -0
  188. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0104_alter_branch_uid.py +0 -0
  189. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0105_record_unique_name.py +0 -0
  190. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0106_transfer_data_migration.py +0 -0
  191. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0107_add_schema_to_record.py +0 -0
  192. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0108_remove_record_sheet_remove_sheetproject_sheet_and_more.py +0 -0
  193. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0109_record_input_of_runs_alter_record_run_and_more.py +0 -0
  194. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0110_rename_values_artifacts_record_linked_artifacts.py +0 -0
  195. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0111_remove_record__sort_order.py +0 -0
  196. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0112_alter_recordartifact_feature_and_more.py +0 -0
  197. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0113_lower_case_branch_and_space_names.py +0 -0
  198. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0114_alter_run__status_code.py +0 -0
  199. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0115_alter_space_uid.py +0 -0
  200. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/0115_squashed.py +0 -0
  201. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/migrations/__init__.py +0 -0
  202. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/__init__.py +0 -0
  203. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/_from_values.py +0 -0
  204. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/_is_versioned.py +0 -0
  205. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/_label_manager.py +0 -0
  206. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/_relations.py +0 -0
  207. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/artifact_set.py +0 -0
  208. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/collection.py +0 -0
  209. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/has_parents.py +0 -0
  210. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/project.py +0 -0
  211. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/query_manager.py +0 -0
  212. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/query_set.py +0 -0
  213. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/record.py +0 -0
  214. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/run.py +0 -0
  215. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/save.py +0 -0
  216. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/storage.py +0 -0
  217. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/models/ulabel.py +0 -0
  218. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/py.typed +0 -0
  219. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/setup/__init__.py +0 -0
  220. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/setup/_switch.py +0 -0
  221. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/setup/core/__init__.py +0 -0
  222. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/setup/errors/__init__.py +0 -0
  223. {lamindb-1.8.0 → lamindb-1.9.1}/lamindb/setup/types/__init__.py +0 -0
  224. {lamindb-1.8.0 → lamindb-1.9.1}/tests/conftest.py +0 -0
  225. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/_dataset_fixtures.py +0 -0
  226. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/conftest.py +0 -0
  227. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/notebooks/basic-r-notebook.Rmd.cleaned.html +0 -0
  228. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/notebooks/basic-r-notebook.Rmd.html +0 -0
  229. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/notebooks/duplicate/with-title-initialized-consecutive-finish.ipynb +0 -0
  230. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/notebooks/no-title.ipynb +0 -0
  231. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/notebooks/with-title-initialized-consecutive-finish-not-last-cell.ipynb +0 -0
  232. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/notebooks/with-title-initialized-consecutive-finish.ipynb +0 -0
  233. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/scripts/duplicate1/script-to-test-versioning.py +0 -0
  234. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/scripts/duplicate2/script-to-test-versioning.py +0 -0
  235. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/scripts/duplicate3/script-to-test-versioning.py +0 -0
  236. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/scripts/duplicate4/script-to-test-versioning.py +0 -0
  237. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/scripts/duplicate5/script-to-test-versioning.py +0 -0
  238. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/scripts/script-to-test-filename-change.py +0 -0
  239. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/scripts/script-to-test-versioning.py +0 -0
  240. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_artifact_folders.py +0 -0
  241. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_can_curate.py +0 -0
  242. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_collection.py +0 -0
  243. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_data.py +0 -0
  244. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_db.py +0 -0
  245. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_delete.py +0 -0
  246. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_feature.py +0 -0
  247. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_from_values.py +0 -0
  248. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_has_parents.py +0 -0
  249. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_integrity.py +0 -0
  250. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_load.py +0 -0
  251. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_manager.py +0 -0
  252. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_models.py +0 -0
  253. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_notebooks.py +0 -0
  254. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_queryset.py +0 -0
  255. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_record.py +0 -0
  256. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_run.py +0 -0
  257. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_save.py +0 -0
  258. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_search.py +0 -0
  259. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_settings.py +0 -0
  260. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_storage.py +0 -0
  261. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_track.py +0 -0
  262. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_tracked.py +0 -0
  263. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_transform.py +0 -0
  264. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_ulabel.py +0 -0
  265. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_versioning.py +0 -0
  266. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_view.py +0 -0
  267. {lamindb-1.8.0 → lamindb-1.9.1}/tests/core/test_visibility.py +0 -0
  268. {lamindb-1.8.0 → lamindb-1.9.1}/tests/curators/conftest.py +0 -0
  269. {lamindb-1.8.0 → lamindb-1.9.1}/tests/curators/test_cat_managers.py +0 -0
  270. {lamindb-1.8.0 → lamindb-1.9.1}/tests/curators/test_curators_multivalue.py +0 -0
  271. {lamindb-1.8.0 → lamindb-1.9.1}/tests/curators/test_dataframe_curators_accounting_example.py +0 -0
  272. {lamindb-1.8.0 → lamindb-1.9.1}/tests/curators/test_records.py +0 -0
  273. {lamindb-1.8.0 → lamindb-1.9.1}/tests/permissions/conftest.py +0 -0
  274. {lamindb-1.8.0 → lamindb-1.9.1}/tests/permissions/jwt_utils.py +0 -0
  275. {lamindb-1.8.0 → lamindb-1.9.1}/tests/permissions/scripts/check_lamin_dev.py +0 -0
  276. {lamindb-1.8.0 → lamindb-1.9.1}/tests/permissions/scripts/clean_lamin_dev.py +0 -0
  277. {lamindb-1.8.0 → lamindb-1.9.1}/tests/permissions/scripts/setup_access.py +0 -0
  278. {lamindb-1.8.0 → lamindb-1.9.1}/tests/permissions/scripts/setup_instance.py +0 -0
  279. {lamindb-1.8.0 → lamindb-1.9.1}/tests/permissions/test_permissions.py +0 -0
  280. {lamindb-1.8.0 → lamindb-1.9.1}/tests/storage/conftest.py +0 -0
  281. {lamindb-1.8.0 → lamindb-1.9.1}/tests/storage/test_artifact_storage.py +0 -0
  282. {lamindb-1.8.0 → lamindb-1.9.1}/tests/storage/test_artifact_zarr.py +0 -0
  283. {lamindb-1.8.0 → lamindb-1.9.1}/tests/storage/test_cache.py +0 -0
  284. {lamindb-1.8.0 → lamindb-1.9.1}/tests/storage/test_storage_lifecycle.py +0 -0
  285. {lamindb-1.8.0 → lamindb-1.9.1}/tests/storage/test_streaming.py +0 -0
@@ -22,6 +22,7 @@ jobs:
22
22
  filters: |
23
23
  curator:
24
24
  - 'lamindb/curators/**'
25
+ - 'lamindb/examples/cellxgene/**'
25
26
  - 'tests/curators/**'
26
27
 
27
28
  - id: set-matrix
@@ -162,6 +163,7 @@ jobs:
162
163
  - run: pip install "laminci@git+https://x-access-token:${{ secrets.LAMIN_BUILD_DOCS }}@github.com/laminlabs/laminci"
163
164
  - run: nox -s "install_ci(group='docs')"
164
165
  - uses: actions/download-artifact@v4
166
+ - run: nox -s clidocs
165
167
  - run: nox -s docs
166
168
  - run: rm -r ./_build/html/.doctrees # do not want to deploy with cloudflare
167
169
  - uses: cloudflare/wrangler-action@v3
@@ -1,6 +1,8 @@
1
1
  __MACOSX/
2
2
 
3
3
  # LaminDB
4
+ profile_output*
5
+ docs/cli.md
4
6
  .coveragerc
5
7
  *.db
6
8
  *.lndb
@@ -219,4 +221,4 @@ _build
219
221
  .vscode
220
222
 
221
223
  # cxg
222
- !lamindb/curators/_cellxgene_schemas/schema_versions.csv
224
+ !lamindb/examples/cellxgene/cxg_schema_versions.csv
lamindb-1.9.1/PKG-INFO ADDED
@@ -0,0 +1,144 @@
1
+ Metadata-Version: 2.3
2
+ Name: lamindb
3
+ Version: 1.9.1
4
+ Summary: A data framework for biology.
5
+ Author-email: Lamin Labs <open-source@lamin.ai>
6
+ Requires-Python: >=3.10,<3.14
7
+ Description-Content-Type: text/markdown
8
+ Classifier: Programming Language :: Python :: 3.10
9
+ Classifier: Programming Language :: Python :: 3.11
10
+ Classifier: Programming Language :: Python :: 3.12
11
+ Classifier: Programming Language :: Python :: 3.13
12
+ Requires-Dist: lamin_utils==0.15.0
13
+ Requires-Dist: lamin_cli==1.6.0
14
+ Requires-Dist: lamindb_setup[aws]==1.8.3
15
+ Requires-Dist: pyyaml
16
+ Requires-Dist: pyarrow
17
+ Requires-Dist: pandera>=0.24.0
18
+ Requires-Dist: typing_extensions!=4.6.0
19
+ Requires-Dist: python-dateutil
20
+ Requires-Dist: pandas>=2.0.0
21
+ Requires-Dist: scipy<1.15.0
22
+ Requires-Dist: anndata>=0.8.0,<=0.12.0
23
+ Requires-Dist: fsspec
24
+ Requires-Dist: graphviz
25
+ Requires-Dist: psycopg2-binary
26
+ Requires-Dist: bionty>=1.6.1rc1 ; extra == "bionty"
27
+ Requires-Dist: clinicore>=1.2.1 ; extra == "clinicore"
28
+ Requires-Dist: tomlkit ; extra == "dev"
29
+ Requires-Dist: line_profiler ; extra == "dev"
30
+ Requires-Dist: pre-commit ; extra == "dev"
31
+ Requires-Dist: nox ; extra == "dev"
32
+ Requires-Dist: laminci>=0.3 ; extra == "dev"
33
+ Requires-Dist: pytest>=6.0 ; extra == "dev"
34
+ Requires-Dist: coverage ; extra == "dev"
35
+ Requires-Dist: pytest-cov ; extra == "dev"
36
+ Requires-Dist: mudata ; extra == "dev"
37
+ Requires-Dist: nbproject_test>=0.6.0 ; extra == "dev"
38
+ Requires-Dist: faker-biology ; extra == "dev"
39
+ Requires-Dist: pronto ; extra == "dev"
40
+ Requires-Dist: readfcs>=2.0.1 ; extra == "fcs"
41
+ Requires-Dist: lamindb_setup[gcp] ; extra == "gcp"
42
+ Requires-Dist: nbproject==0.11.1 ; extra == "jupyter"
43
+ Requires-Dist: jupytext ; extra == "jupyter"
44
+ Requires-Dist: nbconvert>=7.2.1 ; extra == "jupyter"
45
+ Requires-Dist: mistune!=3.1.0 ; extra == "jupyter"
46
+ Requires-Dist: wetlab>=1.3.1 ; extra == "wetlab"
47
+ Requires-Dist: numcodecs<0.16.0 ; extra == "zarr"
48
+ Requires-Dist: zarr>=2.16.0,<3.0.0a0 ; extra == "zarr"
49
+ Project-URL: Home, https://github.com/laminlabs/lamindb
50
+ Provides-Extra: bionty
51
+ Provides-Extra: clinicore
52
+ Provides-Extra: dev
53
+ Provides-Extra: fcs
54
+ Provides-Extra: gcp
55
+ Provides-Extra: jupyter
56
+ Provides-Extra: wetlab
57
+ Provides-Extra: zarr
58
+
59
+ [![Stars](https://img.shields.io/github/stars/laminlabs/lamindb?logo=GitHub)](https://github.com/laminlabs/lamindb)
60
+ [![codecov](https://codecov.io/gh/laminlabs/lamindb/branch/main/graph/badge.svg?token=VKMRJ7OWR3)](https://codecov.io/gh/laminlabs/lamindb)
61
+ [![Docs](https://img.shields.io/badge/docs-humans-yellow)](https://docs.lamin.ai)
62
+ [![DocsLLMs](https://img.shields.io/badge/docs-LLMs-yellow)](https://docs.lamin.ai/summary.md)
63
+ [![pypi](https://img.shields.io/pypi/v/lamindb?color=blue&label=pypi%20package)](https://pypi.org/project/lamindb)
64
+ [![PyPI Downloads](https://img.shields.io/pepy/dt/lamindb?logo=pypi)](https://pepy.tech/project/lamindb)
65
+
66
+ # LaminDB - A data framework for biology
67
+
68
+ <!-- first two sentences sync from preface.md -->
69
+
70
+ LaminDB is an open-source data framework to enable learning at scale in computational biology.
71
+ It lets you track data transformations, validate & annotate datasets, and query a built-in database for biological metadata & data structures.
72
+
73
+ ## Setup
74
+
75
+ <!-- copied from quick-setup-lamindb.md -->
76
+
77
+ Install the `lamindb` Python package:
78
+
79
+ ```shell
80
+ pip install 'lamindb[jupyter,bionty]' # support notebooks & biological ontologies
81
+ ```
82
+
83
+ Create a LaminDB instance:
84
+
85
+ ```shell
86
+ lamin init --storage ./quickstart-data # or s3://my-bucket, gs://my-bucket
87
+ ```
88
+
89
+ Or if you have write access to an instance, connect to it:
90
+
91
+ ```shell
92
+ lamin connect account/name
93
+ ```
94
+
95
+ ## Quickstart
96
+
97
+ <!-- copied from preface.md -->
98
+
99
+ Track a script or notebook run with source code, inputs, outputs, logs, and environment.
100
+
101
+ <!-- copied from py-quickstart.py -->
102
+
103
+ ```python
104
+ import lamindb as ln
105
+
106
+ ln.track() # track a run
107
+ open("sample.fasta", "w").write(">seq1\nACGT\n")
108
+ ln.Artifact("sample.fasta", key="sample.fasta").save() # create an artifact
109
+ ln.finish() # finish the run
110
+ ```
111
+
112
+ <!-- from here on, slight deviation from preface.md, where all this is treated in the walk through in more depth -->
113
+
114
+ Running this code inside a script via `python create-fasta.py` produces the following data lineage.
115
+
116
+ ```python
117
+ artifact = ln.Artifact.get(key="sample.fasta") # query artifact by key
118
+ artifact.view_lineage()
119
+ ```
120
+
121
+ <img src="https://lamin-site-assets.s3.amazonaws.com/.lamindb/EkQATsQL5wqC95Wj0003.png" width="220">
122
+
123
+ You'll know how that artifact was created.
124
+
125
+ ```python
126
+ artifact.describe()
127
+ ```
128
+
129
+ <img src="https://lamin-site-assets.s3.amazonaws.com/.lamindb/BOTCBgHDAvwglN3U0001.png" width="850">
130
+
131
+ Conversely, you can query artifacts by the script that created them.
132
+
133
+ ```python
134
+ ln.Artifact.get(transform__key="create-fasta.py") # query artifact by transform key
135
+ ```
136
+
137
+ Data lineage is just one type of metadata to help analysis and model training through queries, validation, and annotation. Here is a more [comprehensive example](https://lamin.ai/laminlabs/lamindata/artifact/fgKBV8qdSnbIga0i).
138
+
139
+ <img src="https://lamin-site-assets.s3.amazonaws.com/.lamindb/6sofuDVvTANB0f480001.png" width="850">
140
+
141
+ ## Docs
142
+
143
+ Copy [summary.md](https://docs.lamin.ai/summary.md) into an LLM chat and let AI explain or read the [docs](https://docs.lamin.ai).
144
+
@@ -0,0 +1,85 @@
1
+ [![Stars](https://img.shields.io/github/stars/laminlabs/lamindb?logo=GitHub)](https://github.com/laminlabs/lamindb)
2
+ [![codecov](https://codecov.io/gh/laminlabs/lamindb/branch/main/graph/badge.svg?token=VKMRJ7OWR3)](https://codecov.io/gh/laminlabs/lamindb)
3
+ [![Docs](https://img.shields.io/badge/docs-humans-yellow)](https://docs.lamin.ai)
4
+ [![DocsLLMs](https://img.shields.io/badge/docs-LLMs-yellow)](https://docs.lamin.ai/summary.md)
5
+ [![pypi](https://img.shields.io/pypi/v/lamindb?color=blue&label=pypi%20package)](https://pypi.org/project/lamindb)
6
+ [![PyPI Downloads](https://img.shields.io/pepy/dt/lamindb?logo=pypi)](https://pepy.tech/project/lamindb)
7
+
8
+ # LaminDB - A data framework for biology
9
+
10
+ <!-- first two sentences sync from preface.md -->
11
+
12
+ LaminDB is an open-source data framework to enable learning at scale in computational biology.
13
+ It lets you track data transformations, validate & annotate datasets, and query a built-in database for biological metadata & data structures.
14
+
15
+ ## Setup
16
+
17
+ <!-- copied from quick-setup-lamindb.md -->
18
+
19
+ Install the `lamindb` Python package:
20
+
21
+ ```shell
22
+ pip install 'lamindb[jupyter,bionty]' # support notebooks & biological ontologies
23
+ ```
24
+
25
+ Create a LaminDB instance:
26
+
27
+ ```shell
28
+ lamin init --storage ./quickstart-data # or s3://my-bucket, gs://my-bucket
29
+ ```
30
+
31
+ Or if you have write access to an instance, connect to it:
32
+
33
+ ```shell
34
+ lamin connect account/name
35
+ ```
36
+
37
+ ## Quickstart
38
+
39
+ <!-- copied from preface.md -->
40
+
41
+ Track a script or notebook run with source code, inputs, outputs, logs, and environment.
42
+
43
+ <!-- copied from py-quickstart.py -->
44
+
45
+ ```python
46
+ import lamindb as ln
47
+
48
+ ln.track() # track a run
49
+ open("sample.fasta", "w").write(">seq1\nACGT\n")
50
+ ln.Artifact("sample.fasta", key="sample.fasta").save() # create an artifact
51
+ ln.finish() # finish the run
52
+ ```
53
+
54
+ <!-- from here on, slight deviation from preface.md, where all this is treated in the walk through in more depth -->
55
+
56
+ Running this code inside a script via `python create-fasta.py` produces the following data lineage.
57
+
58
+ ```python
59
+ artifact = ln.Artifact.get(key="sample.fasta") # query artifact by key
60
+ artifact.view_lineage()
61
+ ```
62
+
63
+ <img src="https://lamin-site-assets.s3.amazonaws.com/.lamindb/EkQATsQL5wqC95Wj0003.png" width="220">
64
+
65
+ You'll know how that artifact was created.
66
+
67
+ ```python
68
+ artifact.describe()
69
+ ```
70
+
71
+ <img src="https://lamin-site-assets.s3.amazonaws.com/.lamindb/BOTCBgHDAvwglN3U0001.png" width="850">
72
+
73
+ Conversely, you can query artifacts by the script that created them.
74
+
75
+ ```python
76
+ ln.Artifact.get(transform__key="create-fasta.py") # query artifact by transform key
77
+ ```
78
+
79
+ Data lineage is just one type of metadata to help analysis and model training through queries, validation, and annotation. Here is a more [comprehensive example](https://lamin.ai/laminlabs/lamindata/artifact/fgKBV8qdSnbIga0i).
80
+
81
+ <img src="https://lamin-site-assets.s3.amazonaws.com/.lamindb/6sofuDVvTANB0f480001.png" width="850">
82
+
83
+ ## Docs
84
+
85
+ Copy [summary.md](https://docs.lamin.ai/summary.md) into an LLM chat and let AI explain or read the [docs](https://docs.lamin.ai).
@@ -551,7 +551,7 @@
551
551
  "execution_count": null,
552
552
  "metadata": {
553
553
  "tags": [
554
- "hide-cell"
554
+ "hide-output"
555
555
  ]
556
556
  },
557
557
  "outputs": [],
@@ -563,7 +563,7 @@
563
563
  ],
564
564
  "metadata": {
565
565
  "kernelspec": {
566
- "display_name": "py312",
566
+ "display_name": "Python 3 (ipykernel)",
567
567
  "language": "python",
568
568
  "name": "python3"
569
569
  },
@@ -577,7 +577,7 @@
577
577
  "name": "python",
578
578
  "nbconvert_exporter": "python",
579
579
  "pygments_lexer": "ipython3",
580
- "version": "3.12.8"
580
+ "version": "3.10.16"
581
581
  },
582
582
  "nbproject": {
583
583
  "id": "YVUCtH4GfQOy",