datachain 0.7.3__tar.gz → 0.7.5__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.

Potentially problematic release.


This version of datachain might be problematic. Click here for more details.

Files changed (280) hide show
  1. {datachain-0.7.3/src/datachain.egg-info → datachain-0.7.5}/PKG-INFO +1 -1
  2. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/data_storage/metastore.py +0 -7
  3. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/dataset.py +12 -3
  4. {datachain-0.7.3 → datachain-0.7.5/src/datachain.egg-info}/PKG-INFO +1 -1
  5. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_dataset.py +33 -1
  6. {datachain-0.7.3 → datachain-0.7.5}/.cruft.json +0 -0
  7. {datachain-0.7.3 → datachain-0.7.5}/.gitattributes +0 -0
  8. {datachain-0.7.3 → datachain-0.7.5}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  9. {datachain-0.7.3 → datachain-0.7.5}/.github/ISSUE_TEMPLATE/empty_issue.md +0 -0
  10. {datachain-0.7.3 → datachain-0.7.5}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  11. {datachain-0.7.3 → datachain-0.7.5}/.github/codecov.yaml +0 -0
  12. {datachain-0.7.3 → datachain-0.7.5}/.github/dependabot.yml +0 -0
  13. {datachain-0.7.3 → datachain-0.7.5}/.github/workflows/benchmarks.yml +0 -0
  14. {datachain-0.7.3 → datachain-0.7.5}/.github/workflows/release.yml +0 -0
  15. {datachain-0.7.3 → datachain-0.7.5}/.github/workflows/tests-studio.yml +0 -0
  16. {datachain-0.7.3 → datachain-0.7.5}/.github/workflows/tests.yml +0 -0
  17. {datachain-0.7.3 → datachain-0.7.5}/.github/workflows/update-template.yaml +0 -0
  18. {datachain-0.7.3 → datachain-0.7.5}/.gitignore +0 -0
  19. {datachain-0.7.3 → datachain-0.7.5}/.pre-commit-config.yaml +0 -0
  20. {datachain-0.7.3 → datachain-0.7.5}/CODE_OF_CONDUCT.rst +0 -0
  21. {datachain-0.7.3 → datachain-0.7.5}/CONTRIBUTING.rst +0 -0
  22. {datachain-0.7.3 → datachain-0.7.5}/LICENSE +0 -0
  23. {datachain-0.7.3 → datachain-0.7.5}/README.rst +0 -0
  24. {datachain-0.7.3 → datachain-0.7.5}/docs/assets/captioned_cartoons.png +0 -0
  25. {datachain-0.7.3 → datachain-0.7.5}/docs/assets/datachain-white.svg +0 -0
  26. {datachain-0.7.3 → datachain-0.7.5}/docs/assets/datachain.svg +0 -0
  27. {datachain-0.7.3 → datachain-0.7.5}/docs/index.md +0 -0
  28. {datachain-0.7.3 → datachain-0.7.5}/docs/overrides/main.html +0 -0
  29. {datachain-0.7.3 → datachain-0.7.5}/docs/references/datachain.md +0 -0
  30. {datachain-0.7.3 → datachain-0.7.5}/docs/references/datatype.md +0 -0
  31. {datachain-0.7.3 → datachain-0.7.5}/docs/references/file.md +0 -0
  32. {datachain-0.7.3 → datachain-0.7.5}/docs/references/index.md +0 -0
  33. {datachain-0.7.3 → datachain-0.7.5}/docs/references/sql.md +0 -0
  34. {datachain-0.7.3 → datachain-0.7.5}/docs/references/torch.md +0 -0
  35. {datachain-0.7.3 → datachain-0.7.5}/docs/references/udf.md +0 -0
  36. {datachain-0.7.3 → datachain-0.7.5}/examples/computer_vision/iptc_exif_xmp_lib.py +0 -0
  37. {datachain-0.7.3 → datachain-0.7.5}/examples/computer_vision/llava2_image_desc_lib.py +0 -0
  38. {datachain-0.7.3 → datachain-0.7.5}/examples/computer_vision/openimage-detect.py +0 -0
  39. {datachain-0.7.3 → datachain-0.7.5}/examples/computer_vision/ultralytics-bbox.py +0 -0
  40. {datachain-0.7.3 → datachain-0.7.5}/examples/computer_vision/ultralytics-pose.py +0 -0
  41. {datachain-0.7.3 → datachain-0.7.5}/examples/computer_vision/ultralytics-segment.py +0 -0
  42. {datachain-0.7.3 → datachain-0.7.5}/examples/get_started/common_sql_functions.py +0 -0
  43. {datachain-0.7.3 → datachain-0.7.5}/examples/get_started/json-csv-reader.py +0 -0
  44. {datachain-0.7.3 → datachain-0.7.5}/examples/get_started/torch-loader.py +0 -0
  45. {datachain-0.7.3 → datachain-0.7.5}/examples/get_started/udfs/parallel.py +0 -0
  46. {datachain-0.7.3 → datachain-0.7.5}/examples/get_started/udfs/simple.py +0 -0
  47. {datachain-0.7.3 → datachain-0.7.5}/examples/get_started/udfs/stateful.py +0 -0
  48. {datachain-0.7.3 → datachain-0.7.5}/examples/llm_and_nlp/claude-query.py +0 -0
  49. {datachain-0.7.3 → datachain-0.7.5}/examples/llm_and_nlp/hf-dataset-llm-eval.py +0 -0
  50. {datachain-0.7.3 → datachain-0.7.5}/examples/llm_and_nlp/unstructured-embeddings-gen.py +0 -0
  51. {datachain-0.7.3 → datachain-0.7.5}/examples/llm_and_nlp/unstructured-summary-map.py +0 -0
  52. {datachain-0.7.3 → datachain-0.7.5}/examples/multimodal/clip_inference.py +0 -0
  53. {datachain-0.7.3 → datachain-0.7.5}/examples/multimodal/hf_pipeline.py +0 -0
  54. {datachain-0.7.3 → datachain-0.7.5}/examples/multimodal/openai_image_desc_lib.py +0 -0
  55. {datachain-0.7.3 → datachain-0.7.5}/examples/multimodal/wds.py +0 -0
  56. {datachain-0.7.3 → datachain-0.7.5}/examples/multimodal/wds_filtered.py +0 -0
  57. {datachain-0.7.3 → datachain-0.7.5}/mkdocs.yml +0 -0
  58. {datachain-0.7.3 → datachain-0.7.5}/noxfile.py +0 -0
  59. {datachain-0.7.3 → datachain-0.7.5}/pyproject.toml +0 -0
  60. {datachain-0.7.3 → datachain-0.7.5}/setup.cfg +0 -0
  61. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/__init__.py +0 -0
  62. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/__main__.py +0 -0
  63. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/asyn.py +0 -0
  64. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/cache.py +0 -0
  65. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/catalog/__init__.py +0 -0
  66. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/catalog/catalog.py +0 -0
  67. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/catalog/datasource.py +0 -0
  68. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/catalog/loader.py +0 -0
  69. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/cli.py +0 -0
  70. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/cli_utils.py +0 -0
  71. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/client/__init__.py +0 -0
  72. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/client/azure.py +0 -0
  73. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/client/fileslice.py +0 -0
  74. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/client/fsspec.py +0 -0
  75. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/client/gcs.py +0 -0
  76. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/client/hf.py +0 -0
  77. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/client/local.py +0 -0
  78. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/client/s3.py +0 -0
  79. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/config.py +0 -0
  80. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/data_storage/__init__.py +0 -0
  81. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/data_storage/db_engine.py +0 -0
  82. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/data_storage/id_generator.py +0 -0
  83. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/data_storage/job.py +0 -0
  84. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/data_storage/schema.py +0 -0
  85. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/data_storage/serializer.py +0 -0
  86. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/data_storage/sqlite.py +0 -0
  87. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/data_storage/warehouse.py +0 -0
  88. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/error.py +0 -0
  89. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/func/__init__.py +0 -0
  90. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/func/aggregate.py +0 -0
  91. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/func/array.py +0 -0
  92. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/func/base.py +0 -0
  93. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/func/conditional.py +0 -0
  94. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/func/func.py +0 -0
  95. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/func/path.py +0 -0
  96. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/func/random.py +0 -0
  97. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/func/string.py +0 -0
  98. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/func/window.py +0 -0
  99. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/job.py +0 -0
  100. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/__init__.py +0 -0
  101. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/arrow.py +0 -0
  102. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/clip.py +0 -0
  103. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/convert/__init__.py +0 -0
  104. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/convert/flatten.py +0 -0
  105. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/convert/python_to_sql.py +0 -0
  106. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/convert/sql_to_python.py +0 -0
  107. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/convert/unflatten.py +0 -0
  108. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/convert/values_to_tuples.py +0 -0
  109. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/data_model.py +0 -0
  110. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/dataset_info.py +0 -0
  111. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/dc.py +0 -0
  112. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/file.py +0 -0
  113. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/hf.py +0 -0
  114. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/image.py +0 -0
  115. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/listing.py +0 -0
  116. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/listing_info.py +0 -0
  117. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/meta_formats.py +0 -0
  118. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/model_store.py +0 -0
  119. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/pytorch.py +0 -0
  120. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/settings.py +0 -0
  121. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/signal_schema.py +0 -0
  122. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/tar.py +0 -0
  123. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/text.py +0 -0
  124. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/udf.py +0 -0
  125. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/udf_signature.py +0 -0
  126. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/utils.py +0 -0
  127. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/vfile.py +0 -0
  128. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/webdataset.py +0 -0
  129. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/webdataset_laion.py +0 -0
  130. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/listing.py +0 -0
  131. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/model/__init__.py +0 -0
  132. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/model/bbox.py +0 -0
  133. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/model/pose.py +0 -0
  134. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/model/segment.py +0 -0
  135. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/model/ultralytics/__init__.py +0 -0
  136. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/model/ultralytics/bbox.py +0 -0
  137. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/model/ultralytics/pose.py +0 -0
  138. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/model/ultralytics/segment.py +0 -0
  139. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/node.py +0 -0
  140. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/nodes_fetcher.py +0 -0
  141. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/nodes_thread_pool.py +0 -0
  142. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/progress.py +0 -0
  143. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/py.typed +0 -0
  144. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/query/__init__.py +0 -0
  145. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/query/batch.py +0 -0
  146. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/query/dataset.py +0 -0
  147. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/query/dispatch.py +0 -0
  148. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/query/metrics.py +0 -0
  149. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/query/params.py +0 -0
  150. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/query/queue.py +0 -0
  151. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/query/schema.py +0 -0
  152. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/query/session.py +0 -0
  153. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/remote/__init__.py +0 -0
  154. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/remote/studio.py +0 -0
  155. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/__init__.py +0 -0
  156. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/default/__init__.py +0 -0
  157. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/default/base.py +0 -0
  158. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/functions/__init__.py +0 -0
  159. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/functions/aggregate.py +0 -0
  160. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/functions/array.py +0 -0
  161. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/functions/conditional.py +0 -0
  162. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/functions/path.py +0 -0
  163. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/functions/random.py +0 -0
  164. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/functions/string.py +0 -0
  165. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/selectable.py +0 -0
  166. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/sqlite/__init__.py +0 -0
  167. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/sqlite/base.py +0 -0
  168. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/sqlite/types.py +0 -0
  169. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/sqlite/vector.py +0 -0
  170. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/types.py +0 -0
  171. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/utils.py +0 -0
  172. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/studio.py +0 -0
  173. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/telemetry.py +0 -0
  174. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/toolkit/__init__.py +0 -0
  175. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/toolkit/split.py +0 -0
  176. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/torch/__init__.py +0 -0
  177. {datachain-0.7.3 → datachain-0.7.5}/src/datachain/utils.py +0 -0
  178. {datachain-0.7.3 → datachain-0.7.5}/src/datachain.egg-info/SOURCES.txt +0 -0
  179. {datachain-0.7.3 → datachain-0.7.5}/src/datachain.egg-info/dependency_links.txt +0 -0
  180. {datachain-0.7.3 → datachain-0.7.5}/src/datachain.egg-info/entry_points.txt +0 -0
  181. {datachain-0.7.3 → datachain-0.7.5}/src/datachain.egg-info/requires.txt +0 -0
  182. {datachain-0.7.3 → datachain-0.7.5}/src/datachain.egg-info/top_level.txt +0 -0
  183. {datachain-0.7.3 → datachain-0.7.5}/tests/__init__.py +0 -0
  184. {datachain-0.7.3 → datachain-0.7.5}/tests/benchmarks/__init__.py +0 -0
  185. {datachain-0.7.3 → datachain-0.7.5}/tests/benchmarks/conftest.py +0 -0
  186. {datachain-0.7.3 → datachain-0.7.5}/tests/benchmarks/datasets/.dvc/.gitignore +0 -0
  187. {datachain-0.7.3 → datachain-0.7.5}/tests/benchmarks/datasets/.dvc/config +0 -0
  188. {datachain-0.7.3 → datachain-0.7.5}/tests/benchmarks/datasets/.gitignore +0 -0
  189. {datachain-0.7.3 → datachain-0.7.5}/tests/benchmarks/datasets/laion-tiny.npz.dvc +0 -0
  190. {datachain-0.7.3 → datachain-0.7.5}/tests/benchmarks/test_datachain.py +0 -0
  191. {datachain-0.7.3 → datachain-0.7.5}/tests/benchmarks/test_ls.py +0 -0
  192. {datachain-0.7.3 → datachain-0.7.5}/tests/benchmarks/test_version.py +0 -0
  193. {datachain-0.7.3 → datachain-0.7.5}/tests/conftest.py +0 -0
  194. {datachain-0.7.3 → datachain-0.7.5}/tests/data.py +0 -0
  195. {datachain-0.7.3 → datachain-0.7.5}/tests/examples/__init__.py +0 -0
  196. {datachain-0.7.3 → datachain-0.7.5}/tests/examples/test_examples.py +0 -0
  197. {datachain-0.7.3 → datachain-0.7.5}/tests/examples/test_wds_e2e.py +0 -0
  198. {datachain-0.7.3 → datachain-0.7.5}/tests/examples/wds_data.py +0 -0
  199. {datachain-0.7.3 → datachain-0.7.5}/tests/func/__init__.py +0 -0
  200. {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_catalog.py +0 -0
  201. {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_client.py +0 -0
  202. {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_datachain.py +0 -0
  203. {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_dataset_query.py +0 -0
  204. {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_datasets.py +0 -0
  205. {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_feature_pickling.py +0 -0
  206. {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_listing.py +0 -0
  207. {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_ls.py +0 -0
  208. {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_meta_formats.py +0 -0
  209. {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_metrics.py +0 -0
  210. {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_pull.py +0 -0
  211. {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_pytorch.py +0 -0
  212. {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_query.py +0 -0
  213. {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_toolkit.py +0 -0
  214. {datachain-0.7.3 → datachain-0.7.5}/tests/scripts/feature_class.py +0 -0
  215. {datachain-0.7.3 → datachain-0.7.5}/tests/scripts/feature_class_exception.py +0 -0
  216. {datachain-0.7.3 → datachain-0.7.5}/tests/scripts/feature_class_parallel.py +0 -0
  217. {datachain-0.7.3 → datachain-0.7.5}/tests/scripts/feature_class_parallel_data_model.py +0 -0
  218. {datachain-0.7.3 → datachain-0.7.5}/tests/scripts/name_len_slow.py +0 -0
  219. {datachain-0.7.3 → datachain-0.7.5}/tests/test_atomicity.py +0 -0
  220. {datachain-0.7.3 → datachain-0.7.5}/tests/test_cli_e2e.py +0 -0
  221. {datachain-0.7.3 → datachain-0.7.5}/tests/test_cli_studio.py +0 -0
  222. {datachain-0.7.3 → datachain-0.7.5}/tests/test_query_e2e.py +0 -0
  223. {datachain-0.7.3 → datachain-0.7.5}/tests/test_telemetry.py +0 -0
  224. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/__init__.py +0 -0
  225. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/__init__.py +0 -0
  226. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/conftest.py +0 -0
  227. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_arrow.py +0 -0
  228. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_clip.py +0 -0
  229. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_datachain.py +0 -0
  230. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_datachain_bootstrap.py +0 -0
  231. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_datachain_merge.py +0 -0
  232. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_feature.py +0 -0
  233. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_feature_utils.py +0 -0
  234. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_file.py +0 -0
  235. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_hf.py +0 -0
  236. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_image.py +0 -0
  237. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_listing_info.py +0 -0
  238. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_models.py +0 -0
  239. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_schema.py +0 -0
  240. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_signal_schema.py +0 -0
  241. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_sql_to_python.py +0 -0
  242. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_text.py +0 -0
  243. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_udf_signature.py +0 -0
  244. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_utils.py +0 -0
  245. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_webdataset.py +0 -0
  246. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/sql/__init__.py +0 -0
  247. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/sql/sqlite/__init__.py +0 -0
  248. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/sql/sqlite/test_types.py +0 -0
  249. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/sql/sqlite/test_utils.py +0 -0
  250. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/sql/test_array.py +0 -0
  251. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/sql/test_conditional.py +0 -0
  252. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/sql/test_path.py +0 -0
  253. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/sql/test_random.py +0 -0
  254. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/sql/test_selectable.py +0 -0
  255. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/sql/test_string.py +0 -0
  256. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_asyn.py +0 -0
  257. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_cache.py +0 -0
  258. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_catalog.py +0 -0
  259. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_catalog_loader.py +0 -0
  260. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_cli_parsing.py +0 -0
  261. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_client.py +0 -0
  262. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_client_s3.py +0 -0
  263. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_config.py +0 -0
  264. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_data_storage.py +0 -0
  265. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_database_engine.py +0 -0
  266. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_dispatch.py +0 -0
  267. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_fileslice.py +0 -0
  268. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_func.py +0 -0
  269. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_id_generator.py +0 -0
  270. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_listing.py +0 -0
  271. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_metastore.py +0 -0
  272. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_module_exports.py +0 -0
  273. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_query.py +0 -0
  274. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_query_metrics.py +0 -0
  275. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_query_params.py +0 -0
  276. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_serializer.py +0 -0
  277. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_session.py +0 -0
  278. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_utils.py +0 -0
  279. {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_warehouse.py +0 -0
  280. {datachain-0.7.3 → datachain-0.7.5}/tests/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: datachain
3
- Version: 0.7.3
3
+ Version: 0.7.5
4
4
  Summary: Wrangle unstructured AI data at scale
5
5
  Author-email: Dmitry Petrov <support@dvc.org>
6
6
  License: Apache-2.0
@@ -685,13 +685,6 @@ class AbstractDBMetastore(AbstractMetastore):
685
685
  return None
686
686
  return reduce(lambda ds, version: ds.merge_versions(version), versions)
687
687
 
688
- def _parse_datasets(self, rows) -> Iterator["DatasetRecord"]:
689
- # grouping rows by dataset id
690
- for _, g in groupby(rows, lambda r: r[0]):
691
- dataset = self._parse_dataset(list(g))
692
- if dataset:
693
- yield dataset
694
-
695
688
  def _parse_list_dataset(self, rows) -> Optional[DatasetListRecord]:
696
689
  versions = [self.dataset_list_class.parse(*r) for r in rows]
697
690
  if not versions:
@@ -2,6 +2,7 @@ import builtins
2
2
  import json
3
3
  from dataclasses import dataclass, fields
4
4
  from datetime import datetime
5
+ from functools import cached_property
5
6
  from typing import (
6
7
  Any,
7
8
  NewType,
@@ -178,7 +179,7 @@ class DatasetVersion:
178
179
  schema: dict[str, Union[SQLType, type[SQLType]]]
179
180
  num_objects: Optional[int]
180
181
  size: Optional[int]
181
- preview: Optional[list[dict]]
182
+ _preview_data: Optional[Union[str, list[dict]]]
182
183
  sources: str = ""
183
184
  query_script: str = ""
184
185
  job_id: Optional[str] = None
@@ -199,7 +200,7 @@ class DatasetVersion:
199
200
  script_output: str,
200
201
  num_objects: Optional[int],
201
202
  size: Optional[int],
202
- preview: Optional[str],
203
+ preview: Optional[Union[str, list[dict]]],
203
204
  schema: dict[str, Union[SQLType, type[SQLType]]],
204
205
  sources: str = "",
205
206
  query_script: str = "",
@@ -220,7 +221,7 @@ class DatasetVersion:
220
221
  schema,
221
222
  num_objects,
222
223
  size,
223
- json.loads(preview) if preview else None,
224
+ preview,
224
225
  sources,
225
226
  query_script,
226
227
  job_id,
@@ -260,9 +261,17 @@ class DatasetVersion:
260
261
  for c_name, c_type in self.schema.items()
261
262
  }
262
263
 
264
+ @cached_property
265
+ def preview(self) -> Optional[list[dict]]:
266
+ if isinstance(self._preview_data, str):
267
+ return json.loads(self._preview_data)
268
+ return self._preview_data if self._preview_data else None
269
+
263
270
  @classmethod
264
271
  def from_dict(cls, d: dict[str, Any]) -> "DatasetVersion":
265
272
  kwargs = {f.name: d[f.name] for f in fields(cls) if f.name in d}
273
+ if not hasattr(kwargs, "_preview_data"):
274
+ kwargs["_preview_data"] = d.get("preview")
266
275
  return cls(**kwargs)
267
276
 
268
277
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: datachain
3
- Version: 0.7.3
3
+ Version: 0.7.5
4
4
  Summary: Wrangle unstructured AI data at scale
5
5
  Author-email: Dmitry Petrov <support@dvc.org>
6
6
  License: Apache-2.0
@@ -1,3 +1,4 @@
1
+ import json
1
2
  from datetime import datetime, timezone
2
3
 
3
4
  import pytest
@@ -6,7 +7,7 @@ from sqlalchemy.dialects.sqlite import dialect as sqlite_dialect
6
7
  from sqlalchemy.schema import CreateTable
7
8
 
8
9
  from datachain.data_storage.schema import DataTable
9
- from datachain.dataset import DatasetDependency, DatasetDependencyType
10
+ from datachain.dataset import DatasetDependency, DatasetDependencyType, DatasetVersion
10
11
  from datachain.sql.types import (
11
12
  JSON,
12
13
  Array,
@@ -106,3 +107,34 @@ def test_dataset_dependency_dataset_name(dep_name, dep_type, expected):
106
107
  )
107
108
 
108
109
  assert dep.dataset_name == expected
110
+
111
+
112
+ @pytest.mark.parametrize(
113
+ "use_string",
114
+ [True, False],
115
+ )
116
+ def test_dataset_version_from_dict(use_string):
117
+ preview = [{"id": 1, "thing": "a"}, {"id": 2, "thing": "b"}]
118
+
119
+ preview_data = json.dumps(preview) if use_string else preview
120
+
121
+ data = {
122
+ "id": 1,
123
+ "uuid": "98928be4-b6e8-4b7b-a7c5-2ce3b33130d8",
124
+ "dataset_id": 40,
125
+ "version": 2,
126
+ "status": 1,
127
+ "feature_schema": {},
128
+ "created_at": datetime.fromisoformat("2023-10-01T12:00:00"),
129
+ "finished_at": None,
130
+ "error_message": "",
131
+ "error_stack": "",
132
+ "script_output": "",
133
+ "schema": {},
134
+ "num_objects": 100,
135
+ "size": 1000000,
136
+ "preview": preview_data,
137
+ }
138
+
139
+ dataset_version = DatasetVersion.from_dict(data)
140
+ assert dataset_version.preview == preview
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