datachain 0.36.1__tar.gz → 0.36.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of datachain might be problematic. Click here for more details.
- {datachain-0.36.1 → datachain-0.36.3}/.github/workflows/tests.yml +1 -1
- {datachain-0.36.1 → datachain-0.36.3}/PKG-INFO +2 -1
- {datachain-0.36.1 → datachain-0.36.3}/pyproject.toml +4 -1
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/data_storage/metastore.py +35 -23
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/data_storage/sqlite.py +25 -1
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain.egg-info/PKG-INFO +2 -1
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain.egg-info/requires.txt +1 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_hf.py +1 -1
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_datachain.py +13 -0
- {datachain-0.36.1 → datachain-0.36.3}/.cruft.json +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/.gitattributes +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/.github/ISSUE_TEMPLATE/empty_issue.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/.github/codecov.yaml +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/.github/dependabot.yml +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/.github/workflows/benchmarks.yml +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/.github/workflows/release.yml +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/.github/workflows/tests-studio.yml +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/.github/workflows/update-template.yaml +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/.gitignore +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/.pre-commit-config.yaml +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/CODE_OF_CONDUCT.rst +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/LICENSE +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/README.rst +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/api_hooks.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/assets/captioned_cartoons.png +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/assets/datachain-white.svg +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/assets/datachain.svg +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/assets/webhook_dialog.png +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/assets/webhook_list.png +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/commands/auth/login.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/commands/auth/logout.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/commands/auth/team.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/commands/auth/token.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/commands/index.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/commands/job/cancel.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/commands/job/clusters.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/commands/job/logs.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/commands/job/ls.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/commands/job/run.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/contributing.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/css/github-permalink-style.css +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/examples.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/guide/db_migrations.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/guide/delta.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/guide/env.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/guide/index.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/guide/namespaces.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/guide/processing.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/guide/remotes.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/guide/retry.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/index.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/overrides/main.html +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/quick-start.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/data-types/arrowrow.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/data-types/bbox.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/data-types/file.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/data-types/imagefile.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/data-types/index.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/data-types/pose.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/data-types/segment.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/data-types/tarvfile.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/data-types/textfile.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/data-types/videofile.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/datachain.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/func.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/functions/aggregate.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/functions/array.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/functions/conditional.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/functions/numeric.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/functions/path.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/functions/random.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/functions/string.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/functions/window.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/index.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/toolkit.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/torch.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/references/udf.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/studio/api/.gitkeep +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/studio/webhooks.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/templates/main.dot +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/templates/operation.dot +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/templates/responses.def +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/docs/tutorials.md +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/computer_vision/iptc_exif_xmp_lib.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/computer_vision/llava2_image_desc_lib.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/computer_vision/openimage-detect.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/computer_vision/ultralytics-bbox.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/computer_vision/ultralytics-pose.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/computer_vision/ultralytics-segment.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/get_started/common_sql_functions.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/get_started/json-csv-reader.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/get_started/nested_datamodel.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/get_started/torch-loader.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/get_started/udfs/parallel.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/get_started/udfs/simple.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/get_started/udfs/stateful.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/incremental_processing/delta.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/incremental_processing/retry.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/incremental_processing/utils.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/llm_and_nlp/claude-query.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/llm_and_nlp/hf-dataset-llm-eval.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/multimodal/audio-to-text.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/multimodal/clip_inference.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/multimodal/hf_pipeline.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/multimodal/openai_image_desc_lib.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/multimodal/wds.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/examples/multimodal/wds_filtered.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/mkdocs.yml +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/noxfile.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/setup.cfg +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/__main__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/asyn.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/cache.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/catalog/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/catalog/catalog.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/catalog/datasource.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/catalog/dependency.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/catalog/loader.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/checkpoint.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/cli/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/cli/commands/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/cli/commands/datasets.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/cli/commands/du.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/cli/commands/index.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/cli/commands/ls.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/cli/commands/misc.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/cli/commands/query.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/cli/commands/show.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/cli/parser/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/cli/parser/job.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/cli/parser/studio.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/cli/parser/utils.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/cli/utils.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/client/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/client/azure.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/client/fileslice.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/client/fsspec.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/client/gcs.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/client/hf.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/client/http.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/client/local.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/client/s3.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/config.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/data_storage/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/data_storage/db_engine.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/data_storage/job.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/data_storage/schema.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/data_storage/serializer.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/data_storage/warehouse.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/dataset.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/delta.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/diff/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/error.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/fs/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/fs/reference.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/fs/utils.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/func/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/func/aggregate.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/func/array.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/func/base.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/func/conditional.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/func/func.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/func/numeric.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/func/path.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/func/random.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/func/string.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/func/window.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/hash_utils.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/job.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/arrow.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/audio.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/clip.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/convert/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/convert/flatten.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/convert/python_to_sql.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/convert/sql_to_python.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/convert/unflatten.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/convert/values_to_tuples.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/data_model.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/dataset_info.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/dc/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/dc/csv.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/dc/database.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/dc/datachain.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/dc/datasets.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/dc/hf.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/dc/json.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/dc/listings.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/dc/pandas.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/dc/parquet.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/dc/records.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/dc/storage.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/dc/storage_pattern.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/dc/utils.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/dc/values.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/file.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/hf.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/image.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/listing.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/listing_info.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/meta_formats.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/model_store.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/namespaces.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/projects.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/pytorch.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/settings.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/signal_schema.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/tar.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/text.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/udf.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/udf_signature.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/utils.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/video.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/webdataset.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/lib/webdataset_laion.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/listing.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/model/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/model/bbox.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/model/pose.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/model/segment.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/model/ultralytics/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/model/ultralytics/bbox.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/model/ultralytics/pose.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/model/ultralytics/segment.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/model/utils.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/namespace.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/node.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/nodes_fetcher.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/nodes_thread_pool.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/plugins.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/progress.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/project.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/py.typed +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/query/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/query/batch.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/query/dataset.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/query/dispatch.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/query/metrics.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/query/params.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/query/queue.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/query/schema.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/query/session.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/query/udf.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/remote/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/remote/studio.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/script_meta.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/semver.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/sql/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/sql/default/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/sql/default/base.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/sql/functions/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/sql/functions/aggregate.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/sql/functions/array.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/sql/functions/conditional.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/sql/functions/numeric.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/sql/functions/path.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/sql/functions/random.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/sql/functions/string.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/sql/postgresql_dialect.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/sql/postgresql_types.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/sql/selectable.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/sql/sqlite/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/sql/sqlite/base.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/sql/sqlite/types.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/sql/sqlite/vector.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/sql/types.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/sql/utils.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/studio.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/telemetry.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/toolkit/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/toolkit/split.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/torch/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain/utils.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain.egg-info/SOURCES.txt +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain.egg-info/dependency_links.txt +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain.egg-info/entry_points.txt +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/src/datachain.egg-info/top_level.txt +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/benchmarks/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/benchmarks/conftest.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/benchmarks/datasets/.dvc/.gitignore +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/benchmarks/datasets/.dvc/config +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/benchmarks/datasets/.gitignore +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/benchmarks/datasets/laion-tiny.npz.dvc +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/benchmarks/test_datachain.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/benchmarks/test_ls.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/benchmarks/test_version.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/conftest.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/data.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/examples/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/examples/test_examples.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/examples/test_wds_e2e.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/examples/wds_data.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/data/Big_Buck_Bunny_360_10s_1MB.mp4 +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/data/lena.jpg +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/fake-service-account-credentials.json +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/functions/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/functions/test_aggregate.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/functions/test_array.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/functions/test_conditional.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/functions/test_numeric.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/functions/test_path.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/functions/test_random.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/functions/test_string.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/model/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/model/data/running-mask0.png +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/model/data/running-mask1.png +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/model/data/running.jpg +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/model/data/ships.jpg +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/model/test_yolo.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_audio.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_catalog.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_client.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_cloud_transfer.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_data_storage.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_datachain.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_datachain_merge.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_dataset_query.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_datasets.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_delta.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_feature_pickling.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_file.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_hidden_field.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_image.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_listing.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_ls.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_meta_formats.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_metastore.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_metrics.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_mutate.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_pull.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_pytorch.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_query.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_read_database.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_read_dataset_remote.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_read_dataset_version_specifiers.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_retry.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_session.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_storage_pattern.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_studio_datetime_parsing.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_to_database.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_toolkit.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_udf.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_union.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_video.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/func/test_warehouse.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/scripts/feature_class.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/scripts/feature_class_exception.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/scripts/feature_class_parallel.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/scripts/feature_class_parallel_data_model.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/scripts/name_len_slow.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/test_atomicity.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/test_cli_e2e.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/test_cli_studio.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/test_import_time.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/test_query_e2e.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/test_telemetry.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/conftest.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_arrow.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_audio.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_checkpoints.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_clip.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_datachain_bootstrap.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_datachain_merge.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_diff.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_feature.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_feature_utils.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_file.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_hf.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_image.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_listing_info.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_namespace.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_partition_by.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_project.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_python_to_sql.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_schema.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_settings.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_signal_schema.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_sql_to_python.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_storage_pattern.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_text.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_udf.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_udf_signature.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_utils.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/lib/test_webdataset.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/model/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/model/test_bbox.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/model/test_pose.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/model/test_segment.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/model/test_utils.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/sql/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/sql/sqlite/__init__.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/sql/sqlite/test_types.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/sql/sqlite/test_utils.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/sql/test_array.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/sql/test_conditional.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/sql/test_path.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/sql/test_random.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/sql/test_selectable.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/sql/test_string.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_asyn.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_batching.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_cache.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_catalog.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_catalog_loader.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_cli_datasets.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_cli_parsing.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_client.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_client_gcs.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_client_http.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_client_s3.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_config.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_data_storage.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_database_engine.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_datachain_hash.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_dataset.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_dispatch.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_fileslice.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_func.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_hash_utils.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_listing.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_metastore.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_module_exports.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_pytorch.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_query.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_query_metrics.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_query_params.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_query_steps_hash.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_script_meta.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_semver.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_serializer.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_session.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_utils.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/unit/test_warehouse.py +0 -0
- {datachain-0.36.1 → datachain-0.36.3}/tests/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: datachain
|
|
3
|
-
Version: 0.36.
|
|
3
|
+
Version: 0.36.3
|
|
4
4
|
Summary: Wrangle unstructured AI data at scale
|
|
5
5
|
Author-email: Dmitry Petrov <support@dvc.org>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -76,6 +76,7 @@ Requires-Dist: datasets[vision]>=4.0.0; extra == "hf"
|
|
|
76
76
|
Requires-Dist: datasets[audio]>=4.0.0; (sys_platform == "linux" or sys_platform == "darwin") and extra == "hf"
|
|
77
77
|
Requires-Dist: fsspec>=2024.12.0; extra == "hf"
|
|
78
78
|
Requires-Dist: torch<2.9.0; extra == "hf"
|
|
79
|
+
Requires-Dist: torchcodec<0.8.0; (sys_platform == "linux" or sys_platform == "darwin") and extra == "hf"
|
|
79
80
|
Provides-Extra: video
|
|
80
81
|
Requires-Dist: ffmpeg-python; extra == "video"
|
|
81
82
|
Requires-Dist: imageio[ffmpeg,pyav]>=2.37.0; extra == "video"
|
|
@@ -91,7 +91,8 @@ hf = [
|
|
|
91
91
|
# Until datasets solve the issue, run test_hf_audio test to see if this can be removed
|
|
92
92
|
# https://github.com/meta-pytorch/torchcodec/issues/912
|
|
93
93
|
# https://github.com/huggingface/transformers/pull/41610
|
|
94
|
-
"torch<2.9.0"
|
|
94
|
+
"torch<2.9.0",
|
|
95
|
+
"torchcodec<0.8.0 ; (sys_platform == 'linux' or sys_platform == 'darwin')"
|
|
95
96
|
]
|
|
96
97
|
video = [
|
|
97
98
|
"ffmpeg-python",
|
|
@@ -139,6 +140,8 @@ examples = [
|
|
|
139
140
|
"open_clip_torch",
|
|
140
141
|
"openai",
|
|
141
142
|
# Transformers still require it
|
|
143
|
+
# Remove this after HF tests and example work w/o these restrictions,
|
|
144
|
+
# make them >= probably
|
|
142
145
|
"torchaudio<2.9.0"
|
|
143
146
|
]
|
|
144
147
|
|
|
@@ -56,13 +56,15 @@ from datachain.project import Project
|
|
|
56
56
|
from datachain.utils import JSONSerialize
|
|
57
57
|
|
|
58
58
|
if TYPE_CHECKING:
|
|
59
|
-
from sqlalchemy import Delete, Insert, Select, Update
|
|
59
|
+
from sqlalchemy import CTE, Delete, Insert, Select, Subquery, Update
|
|
60
60
|
from sqlalchemy.schema import SchemaItem
|
|
61
|
+
from sqlalchemy.sql.elements import ColumnElement
|
|
61
62
|
|
|
62
63
|
from datachain.data_storage import schema
|
|
63
64
|
from datachain.data_storage.db_engine import DatabaseEngine
|
|
64
65
|
|
|
65
66
|
logger = logging.getLogger("datachain")
|
|
67
|
+
DEPTH_LIMIT_DEFAULT = 100
|
|
66
68
|
|
|
67
69
|
|
|
68
70
|
class AbstractMetastore(ABC, Serializable):
|
|
@@ -1463,6 +1465,18 @@ class AbstractDBMetastore(AbstractMetastore):
|
|
|
1463
1465
|
Returns a list of columns to select in a query for fetching dataset dependencies
|
|
1464
1466
|
"""
|
|
1465
1467
|
|
|
1468
|
+
@abstractmethod
|
|
1469
|
+
def _dataset_dependency_nodes_select_columns(
|
|
1470
|
+
self,
|
|
1471
|
+
namespaces_subquery: "Subquery",
|
|
1472
|
+
dependency_tree_cte: "CTE",
|
|
1473
|
+
datasets_subquery: "Subquery",
|
|
1474
|
+
) -> list["ColumnElement"]:
|
|
1475
|
+
"""
|
|
1476
|
+
Returns a list of columns to select in a query for fetching
|
|
1477
|
+
dataset dependency nodes.
|
|
1478
|
+
"""
|
|
1479
|
+
|
|
1466
1480
|
def get_direct_dataset_dependencies(
|
|
1467
1481
|
self, dataset: DatasetRecord, version: str
|
|
1468
1482
|
) -> list[DatasetDependency | None]:
|
|
@@ -1493,7 +1507,7 @@ class AbstractDBMetastore(AbstractMetastore):
|
|
|
1493
1507
|
return [self.dependency_class.parse(*r) for r in self.db.execute(query)]
|
|
1494
1508
|
|
|
1495
1509
|
def get_dataset_dependency_nodes(
|
|
1496
|
-
self, dataset_id: int, version_id: int
|
|
1510
|
+
self, dataset_id: int, version_id: int, depth_limit: int = DEPTH_LIMIT_DEFAULT
|
|
1497
1511
|
) -> list[DatasetDependencyNode | None]:
|
|
1498
1512
|
n = self._namespaces_select().subquery()
|
|
1499
1513
|
p = self._projects
|
|
@@ -1522,33 +1536,31 @@ class AbstractDBMetastore(AbstractMetastore):
|
|
|
1522
1536
|
cte = base_query.cte(name="dependency_tree", recursive=True)
|
|
1523
1537
|
|
|
1524
1538
|
# Recursive case: dependencies of dependencies
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
(
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
dd,
|
|
1531
|
-
(cte.c.dataset_id == dd.c.source_dataset_id)
|
|
1532
|
-
& (cte.c.dataset_version_id == dd.c.source_dataset_version_id),
|
|
1539
|
+
# Limit depth to 100 to prevent infinite loops in case of circular dependencies
|
|
1540
|
+
recursive_query = (
|
|
1541
|
+
select(
|
|
1542
|
+
*dep_fields,
|
|
1543
|
+
(cte.c.depth + 1).label("depth"),
|
|
1533
1544
|
)
|
|
1545
|
+
.select_from(
|
|
1546
|
+
cte.join(
|
|
1547
|
+
dd,
|
|
1548
|
+
(cte.c.dataset_id == dd.c.source_dataset_id)
|
|
1549
|
+
& (cte.c.dataset_version_id == dd.c.source_dataset_version_id),
|
|
1550
|
+
)
|
|
1551
|
+
)
|
|
1552
|
+
.where(cte.c.depth < depth_limit)
|
|
1534
1553
|
)
|
|
1535
1554
|
|
|
1536
1555
|
cte = cte.union(recursive_query)
|
|
1537
1556
|
|
|
1538
1557
|
# Fetch all with full details
|
|
1539
|
-
|
|
1540
|
-
n
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
d.c.name,
|
|
1546
|
-
dv.c.version,
|
|
1547
|
-
dv.c.created_at,
|
|
1548
|
-
cte.c.source_dataset_id,
|
|
1549
|
-
cte.c.source_dataset_version_id,
|
|
1550
|
-
cte.c.depth,
|
|
1551
|
-
).select_from(
|
|
1558
|
+
select_cols = self._dataset_dependency_nodes_select_columns(
|
|
1559
|
+
namespaces_subquery=n,
|
|
1560
|
+
dependency_tree_cte=cte,
|
|
1561
|
+
datasets_subquery=d,
|
|
1562
|
+
)
|
|
1563
|
+
final_query = self._datasets_dependencies_select(*select_cols).select_from(
|
|
1552
1564
|
# Use outer joins to handle cases where dependent datasets have been
|
|
1553
1565
|
# physically deleted. This allows us to return dependency records with
|
|
1554
1566
|
# None values instead of silently omitting them, making broken
|
|
@@ -20,7 +20,10 @@ from sqlalchemy import (
|
|
|
20
20
|
from sqlalchemy.dialects import sqlite
|
|
21
21
|
from sqlalchemy.schema import CreateIndex, CreateTable, DropTable
|
|
22
22
|
from sqlalchemy.sql import func
|
|
23
|
-
from sqlalchemy.sql.elements import
|
|
23
|
+
from sqlalchemy.sql.elements import (
|
|
24
|
+
BinaryExpression,
|
|
25
|
+
BooleanClauseList,
|
|
26
|
+
)
|
|
24
27
|
from sqlalchemy.sql.expression import bindparam, cast
|
|
25
28
|
from sqlalchemy.sql.selectable import Select
|
|
26
29
|
from tqdm.auto import tqdm
|
|
@@ -41,6 +44,7 @@ from datachain.sql.types import SQLType
|
|
|
41
44
|
from datachain.utils import DataChainDir, batched, batched_it
|
|
42
45
|
|
|
43
46
|
if TYPE_CHECKING:
|
|
47
|
+
from sqlalchemy import CTE, Subquery
|
|
44
48
|
from sqlalchemy.dialects.sqlite import Insert
|
|
45
49
|
from sqlalchemy.engine.base import Engine
|
|
46
50
|
from sqlalchemy.schema import SchemaItem
|
|
@@ -539,6 +543,26 @@ class SQLiteMetastore(AbstractDBMetastore):
|
|
|
539
543
|
self._datasets_versions.c.created_at,
|
|
540
544
|
]
|
|
541
545
|
|
|
546
|
+
def _dataset_dependency_nodes_select_columns(
|
|
547
|
+
self,
|
|
548
|
+
namespaces_subquery: "Subquery",
|
|
549
|
+
dependency_tree_cte: "CTE",
|
|
550
|
+
datasets_subquery: "Subquery",
|
|
551
|
+
) -> list["ColumnElement"]:
|
|
552
|
+
return [
|
|
553
|
+
namespaces_subquery.c.name,
|
|
554
|
+
self._projects.c.name,
|
|
555
|
+
dependency_tree_cte.c.id,
|
|
556
|
+
dependency_tree_cte.c.dataset_id,
|
|
557
|
+
dependency_tree_cte.c.dataset_version_id,
|
|
558
|
+
datasets_subquery.c.name,
|
|
559
|
+
self._datasets_versions.c.version,
|
|
560
|
+
self._datasets_versions.c.created_at,
|
|
561
|
+
dependency_tree_cte.c.source_dataset_id,
|
|
562
|
+
dependency_tree_cte.c.source_dataset_version_id,
|
|
563
|
+
dependency_tree_cte.c.depth,
|
|
564
|
+
]
|
|
565
|
+
|
|
542
566
|
#
|
|
543
567
|
# Jobs
|
|
544
568
|
#
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: datachain
|
|
3
|
-
Version: 0.36.
|
|
3
|
+
Version: 0.36.3
|
|
4
4
|
Summary: Wrangle unstructured AI data at scale
|
|
5
5
|
Author-email: Dmitry Petrov <support@dvc.org>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -76,6 +76,7 @@ Requires-Dist: datasets[vision]>=4.0.0; extra == "hf"
|
|
|
76
76
|
Requires-Dist: datasets[audio]>=4.0.0; (sys_platform == "linux" or sys_platform == "darwin") and extra == "hf"
|
|
77
77
|
Requires-Dist: fsspec>=2024.12.0; extra == "hf"
|
|
78
78
|
Requires-Dist: torch<2.9.0; extra == "hf"
|
|
79
|
+
Requires-Dist: torchcodec<0.8.0; (sys_platform == "linux" or sys_platform == "darwin") and extra == "hf"
|
|
79
80
|
Provides-Extra: video
|
|
80
81
|
Requires-Dist: ffmpeg-python; extra == "video"
|
|
81
82
|
Requires-Dist: imageio[ffmpeg,pyav]>=2.37.0; extra == "video"
|
|
@@ -27,7 +27,7 @@ def require_torchcodec(test_case):
|
|
|
27
27
|
"""
|
|
28
28
|
if not importlib.util.find_spec("torchcodec"):
|
|
29
29
|
test_case = pytest.mark.skip(
|
|
30
|
-
"test requires
|
|
30
|
+
"test requires torchcodec, not available on Windows yet"
|
|
31
31
|
)(test_case)
|
|
32
32
|
return test_case
|
|
33
33
|
|
|
@@ -1072,6 +1072,19 @@ def test_select_except(test_session):
|
|
|
1072
1072
|
assert n == len(features_nested)
|
|
1073
1073
|
|
|
1074
1074
|
|
|
1075
|
+
def test_select_except_after_gen(test_session):
|
|
1076
|
+
# https://github.com/iterative/datachain/issues/1359
|
|
1077
|
+
# fixed by https://github.com/iterative/datachain/pull/1400
|
|
1078
|
+
chain = dc.read_values(id=range(10), session=test_session)
|
|
1079
|
+
|
|
1080
|
+
chain = chain.gen(lambda id: [(id, 0)], output={"id": int, "x": int})
|
|
1081
|
+
chain = chain.select_except("x")
|
|
1082
|
+
chain = chain.merge(chain, on="id")
|
|
1083
|
+
chain = chain.select_except("right_id")
|
|
1084
|
+
|
|
1085
|
+
assert set(chain.to_values("id")) == set(range(10))
|
|
1086
|
+
|
|
1087
|
+
|
|
1075
1088
|
def test_select_wrong_type(test_session):
|
|
1076
1089
|
chain = dc.read_values(fr1=features_nested, fr2=features, session=test_session)
|
|
1077
1090
|
|
|
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
|