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.
- {datachain-0.7.3/src/datachain.egg-info → datachain-0.7.5}/PKG-INFO +1 -1
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/data_storage/metastore.py +0 -7
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/dataset.py +12 -3
- {datachain-0.7.3 → datachain-0.7.5/src/datachain.egg-info}/PKG-INFO +1 -1
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_dataset.py +33 -1
- {datachain-0.7.3 → datachain-0.7.5}/.cruft.json +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/.gitattributes +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/.github/ISSUE_TEMPLATE/empty_issue.md +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/.github/codecov.yaml +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/.github/dependabot.yml +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/.github/workflows/benchmarks.yml +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/.github/workflows/release.yml +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/.github/workflows/tests-studio.yml +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/.github/workflows/tests.yml +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/.github/workflows/update-template.yaml +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/.gitignore +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/.pre-commit-config.yaml +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/CODE_OF_CONDUCT.rst +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/CONTRIBUTING.rst +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/LICENSE +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/README.rst +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/docs/assets/captioned_cartoons.png +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/docs/assets/datachain-white.svg +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/docs/assets/datachain.svg +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/docs/index.md +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/docs/overrides/main.html +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/docs/references/datachain.md +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/docs/references/datatype.md +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/docs/references/file.md +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/docs/references/index.md +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/docs/references/sql.md +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/docs/references/torch.md +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/docs/references/udf.md +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/examples/computer_vision/iptc_exif_xmp_lib.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/examples/computer_vision/llava2_image_desc_lib.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/examples/computer_vision/openimage-detect.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/examples/computer_vision/ultralytics-bbox.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/examples/computer_vision/ultralytics-pose.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/examples/computer_vision/ultralytics-segment.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/examples/get_started/common_sql_functions.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/examples/get_started/json-csv-reader.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/examples/get_started/torch-loader.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/examples/get_started/udfs/parallel.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/examples/get_started/udfs/simple.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/examples/get_started/udfs/stateful.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/examples/llm_and_nlp/claude-query.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/examples/llm_and_nlp/hf-dataset-llm-eval.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/examples/llm_and_nlp/unstructured-embeddings-gen.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/examples/llm_and_nlp/unstructured-summary-map.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/examples/multimodal/clip_inference.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/examples/multimodal/hf_pipeline.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/examples/multimodal/openai_image_desc_lib.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/examples/multimodal/wds.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/examples/multimodal/wds_filtered.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/mkdocs.yml +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/noxfile.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/pyproject.toml +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/setup.cfg +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/__main__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/asyn.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/cache.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/catalog/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/catalog/catalog.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/catalog/datasource.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/catalog/loader.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/cli.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/cli_utils.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/client/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/client/azure.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/client/fileslice.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/client/fsspec.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/client/gcs.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/client/hf.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/client/local.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/client/s3.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/config.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/data_storage/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/data_storage/db_engine.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/data_storage/id_generator.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/data_storage/job.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/data_storage/schema.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/data_storage/serializer.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/data_storage/sqlite.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/data_storage/warehouse.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/error.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/func/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/func/aggregate.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/func/array.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/func/base.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/func/conditional.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/func/func.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/func/path.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/func/random.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/func/string.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/func/window.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/job.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/arrow.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/clip.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/convert/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/convert/flatten.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/convert/python_to_sql.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/convert/sql_to_python.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/convert/unflatten.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/convert/values_to_tuples.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/data_model.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/dataset_info.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/dc.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/file.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/hf.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/image.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/listing.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/listing_info.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/meta_formats.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/model_store.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/pytorch.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/settings.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/signal_schema.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/tar.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/text.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/udf.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/udf_signature.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/utils.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/vfile.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/webdataset.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/lib/webdataset_laion.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/listing.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/model/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/model/bbox.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/model/pose.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/model/segment.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/model/ultralytics/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/model/ultralytics/bbox.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/model/ultralytics/pose.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/model/ultralytics/segment.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/node.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/nodes_fetcher.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/nodes_thread_pool.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/progress.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/py.typed +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/query/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/query/batch.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/query/dataset.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/query/dispatch.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/query/metrics.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/query/params.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/query/queue.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/query/schema.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/query/session.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/remote/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/remote/studio.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/default/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/default/base.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/functions/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/functions/aggregate.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/functions/array.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/functions/conditional.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/functions/path.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/functions/random.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/functions/string.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/selectable.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/sqlite/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/sqlite/base.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/sqlite/types.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/sqlite/vector.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/types.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/sql/utils.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/studio.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/telemetry.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/toolkit/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/toolkit/split.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/torch/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain/utils.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain.egg-info/SOURCES.txt +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain.egg-info/dependency_links.txt +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain.egg-info/entry_points.txt +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain.egg-info/requires.txt +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/src/datachain.egg-info/top_level.txt +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/benchmarks/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/benchmarks/conftest.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/benchmarks/datasets/.dvc/.gitignore +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/benchmarks/datasets/.dvc/config +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/benchmarks/datasets/.gitignore +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/benchmarks/datasets/laion-tiny.npz.dvc +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/benchmarks/test_datachain.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/benchmarks/test_ls.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/benchmarks/test_version.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/conftest.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/data.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/examples/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/examples/test_examples.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/examples/test_wds_e2e.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/examples/wds_data.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/func/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_catalog.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_client.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_datachain.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_dataset_query.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_datasets.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_feature_pickling.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_listing.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_ls.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_meta_formats.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_metrics.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_pull.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_pytorch.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_query.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/func/test_toolkit.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/scripts/feature_class.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/scripts/feature_class_exception.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/scripts/feature_class_parallel.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/scripts/feature_class_parallel_data_model.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/scripts/name_len_slow.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/test_atomicity.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/test_cli_e2e.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/test_cli_studio.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/test_query_e2e.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/test_telemetry.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/conftest.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_arrow.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_clip.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_datachain.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_datachain_bootstrap.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_datachain_merge.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_feature.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_feature_utils.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_file.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_hf.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_image.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_listing_info.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_models.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_schema.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_signal_schema.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_sql_to_python.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_text.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_udf_signature.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_utils.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/lib/test_webdataset.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/sql/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/sql/sqlite/__init__.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/sql/sqlite/test_types.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/sql/sqlite/test_utils.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/sql/test_array.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/sql/test_conditional.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/sql/test_path.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/sql/test_random.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/sql/test_selectable.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/sql/test_string.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_asyn.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_cache.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_catalog.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_catalog_loader.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_cli_parsing.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_client.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_client_s3.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_config.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_data_storage.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_database_engine.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_dispatch.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_fileslice.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_func.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_id_generator.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_listing.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_metastore.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_module_exports.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_query.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_query_metrics.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_query_params.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_serializer.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_session.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_utils.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/unit/test_warehouse.py +0 -0
- {datachain-0.7.3 → datachain-0.7.5}/tests/utils.py +0 -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
|
-
|
|
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
|
-
|
|
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,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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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
|