datachain 0.36.4__tar.gz → 0.36.6__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.4 → datachain-0.36.6}/PKG-INFO +1 -1
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/delta.py +33 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain.egg-info/PKG-INFO +1 -1
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_delta.py +37 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_temp_table_tracking.py +14 -10
- {datachain-0.36.4 → datachain-0.36.6}/.cruft.json +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/.gitattributes +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/.github/ISSUE_TEMPLATE/empty_issue.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/.github/codecov.yaml +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/.github/dependabot.yml +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/.github/workflows/benchmarks.yml +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/.github/workflows/release.yml +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/.github/workflows/tests-studio.yml +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/.github/workflows/tests.yml +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/.github/workflows/update-template.yaml +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/.gitignore +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/.pre-commit-config.yaml +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/CODE_OF_CONDUCT.rst +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/LICENSE +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/README.rst +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/api_hooks.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/assets/captioned_cartoons.png +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/assets/datachain-white.svg +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/assets/datachain.svg +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/assets/webhook_dialog.png +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/assets/webhook_list.png +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/commands/auth/login.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/commands/auth/logout.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/commands/auth/team.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/commands/auth/token.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/commands/index.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/commands/job/cancel.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/commands/job/clusters.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/commands/job/logs.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/commands/job/ls.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/commands/job/run.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/contributing.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/css/github-permalink-style.css +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/examples.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/guide/db_migrations.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/guide/delta.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/guide/env.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/guide/index.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/guide/namespaces.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/guide/processing.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/guide/remotes.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/guide/retry.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/index.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/overrides/main.html +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/quick-start.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/data-types/arrowrow.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/data-types/bbox.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/data-types/file.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/data-types/imagefile.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/data-types/index.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/data-types/pose.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/data-types/segment.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/data-types/tarvfile.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/data-types/textfile.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/data-types/videofile.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/datachain.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/func.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/functions/aggregate.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/functions/array.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/functions/conditional.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/functions/numeric.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/functions/path.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/functions/random.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/functions/string.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/functions/window.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/index.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/toolkit.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/torch.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/references/udf.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/studio/api/.gitkeep +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/studio/webhooks.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/templates/main.dot +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/templates/operation.dot +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/templates/responses.def +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/docs/tutorials.md +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/computer_vision/iptc_exif_xmp_lib.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/computer_vision/llava2_image_desc_lib.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/computer_vision/openimage-detect.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/computer_vision/ultralytics-bbox.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/computer_vision/ultralytics-pose.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/computer_vision/ultralytics-segment.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/get_started/common_sql_functions.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/get_started/json-csv-reader.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/get_started/nested_datamodel.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/get_started/torch-loader.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/get_started/udfs/parallel.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/get_started/udfs/simple.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/get_started/udfs/stateful.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/incremental_processing/delta.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/incremental_processing/retry.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/incremental_processing/utils.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/llm_and_nlp/claude-query.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/llm_and_nlp/hf-dataset-llm-eval.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/multimodal/audio-to-text.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/multimodal/clip_inference.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/multimodal/hf_pipeline.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/multimodal/openai_image_desc_lib.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/multimodal/wds.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/examples/multimodal/wds_filtered.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/mkdocs.yml +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/noxfile.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/pyproject.toml +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/setup.cfg +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/__main__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/asyn.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/cache.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/catalog/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/catalog/catalog.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/catalog/datasource.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/catalog/dependency.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/catalog/loader.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/checkpoint.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/cli/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/cli/commands/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/cli/commands/datasets.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/cli/commands/du.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/cli/commands/index.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/cli/commands/ls.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/cli/commands/misc.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/cli/commands/query.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/cli/commands/show.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/cli/parser/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/cli/parser/job.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/cli/parser/studio.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/cli/parser/utils.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/cli/utils.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/client/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/client/azure.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/client/fileslice.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/client/fsspec.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/client/gcs.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/client/hf.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/client/http.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/client/local.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/client/s3.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/config.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/data_storage/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/data_storage/db_engine.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/data_storage/job.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/data_storage/metastore.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/data_storage/schema.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/data_storage/serializer.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/data_storage/sqlite.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/data_storage/warehouse.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/dataset.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/diff/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/error.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/fs/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/fs/reference.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/fs/utils.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/func/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/func/aggregate.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/func/array.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/func/base.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/func/conditional.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/func/func.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/func/numeric.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/func/path.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/func/random.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/func/string.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/func/window.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/hash_utils.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/job.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/arrow.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/audio.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/clip.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/convert/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/convert/flatten.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/convert/python_to_sql.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/convert/sql_to_python.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/convert/unflatten.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/convert/values_to_tuples.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/data_model.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/dataset_info.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/dc/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/dc/csv.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/dc/database.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/dc/datachain.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/dc/datasets.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/dc/hf.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/dc/json.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/dc/listings.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/dc/pandas.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/dc/parquet.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/dc/records.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/dc/storage.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/dc/storage_pattern.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/dc/utils.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/dc/values.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/file.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/hf.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/image.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/listing.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/listing_info.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/meta_formats.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/model_store.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/namespaces.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/projects.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/pytorch.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/settings.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/signal_schema.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/tar.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/text.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/udf.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/udf_signature.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/utils.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/video.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/webdataset.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/lib/webdataset_laion.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/listing.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/model/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/model/bbox.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/model/pose.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/model/segment.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/model/ultralytics/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/model/ultralytics/bbox.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/model/ultralytics/pose.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/model/ultralytics/segment.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/model/utils.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/namespace.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/node.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/nodes_fetcher.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/nodes_thread_pool.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/plugins.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/progress.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/project.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/py.typed +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/query/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/query/batch.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/query/dataset.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/query/dispatch.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/query/metrics.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/query/params.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/query/queue.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/query/schema.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/query/session.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/query/udf.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/remote/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/remote/studio.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/script_meta.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/semver.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/sql/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/sql/default/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/sql/default/base.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/sql/functions/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/sql/functions/aggregate.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/sql/functions/array.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/sql/functions/conditional.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/sql/functions/numeric.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/sql/functions/path.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/sql/functions/random.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/sql/functions/string.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/sql/postgresql_dialect.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/sql/postgresql_types.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/sql/selectable.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/sql/sqlite/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/sql/sqlite/base.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/sql/sqlite/types.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/sql/sqlite/vector.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/sql/types.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/sql/utils.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/studio.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/telemetry.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/toolkit/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/toolkit/split.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/torch/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain/utils.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain.egg-info/SOURCES.txt +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain.egg-info/dependency_links.txt +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain.egg-info/entry_points.txt +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain.egg-info/requires.txt +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/src/datachain.egg-info/top_level.txt +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/benchmarks/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/benchmarks/conftest.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/benchmarks/datasets/.dvc/.gitignore +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/benchmarks/datasets/.dvc/config +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/benchmarks/datasets/.gitignore +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/benchmarks/datasets/laion-tiny.npz.dvc +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/benchmarks/test_datachain.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/benchmarks/test_ls.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/benchmarks/test_version.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/conftest.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/data.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/examples/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/examples/test_examples.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/examples/test_wds_e2e.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/examples/wds_data.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/data/Big_Buck_Bunny_360_10s_1MB.mp4 +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/data/lena.jpg +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/fake-service-account-credentials.json +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/functions/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/functions/test_aggregate.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/functions/test_array.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/functions/test_conditional.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/functions/test_numeric.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/functions/test_path.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/functions/test_random.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/functions/test_string.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/model/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/model/data/running-mask0.png +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/model/data/running-mask1.png +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/model/data/running.jpg +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/model/data/ships.jpg +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/model/test_yolo.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_audio.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_catalog.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_client.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_cloud_transfer.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_data_storage.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_datachain.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_datachain_merge.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_dataset_query.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_datasets.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_feature_pickling.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_file.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_hf.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_hidden_field.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_image.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_listing.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_ls.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_meta_formats.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_metastore.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_metrics.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_mutate.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_pull.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_pytorch.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_query.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_read_database.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_read_dataset_remote.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_read_dataset_version_specifiers.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_retry.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_session.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_storage_pattern.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_studio_datetime_parsing.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_to_database.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_toolkit.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_udf.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_union.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_video.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/func/test_warehouse.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/scripts/feature_class.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/scripts/feature_class_exception.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/scripts/feature_class_parallel.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/scripts/feature_class_parallel_data_model.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/scripts/name_len_slow.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/test_atomicity.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/test_cli_e2e.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/test_cli_studio.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/test_import_time.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/test_query_e2e.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/test_telemetry.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/conftest.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_arrow.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_audio.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_checkpoints.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_clip.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_datachain.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_datachain_bootstrap.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_datachain_merge.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_diff.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_feature.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_feature_utils.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_file.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_hf.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_image.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_listing_info.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_namespace.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_partition_by.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_project.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_python_to_sql.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_schema.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_settings.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_signal_schema.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_sql_to_python.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_storage_pattern.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_text.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_udf.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_udf_signature.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_utils.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/lib/test_webdataset.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/model/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/model/test_bbox.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/model/test_pose.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/model/test_segment.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/model/test_utils.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/sql/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/sql/sqlite/__init__.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/sql/sqlite/test_types.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/sql/sqlite/test_utils.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/sql/test_array.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/sql/test_conditional.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/sql/test_path.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/sql/test_random.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/sql/test_selectable.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/sql/test_string.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_asyn.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_batching.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_cache.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_catalog.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_catalog_loader.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_cli_datasets.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_cli_parsing.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_client.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_client_gcs.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_client_http.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_client_s3.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_config.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_data_storage.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_database_engine.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_datachain_hash.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_dataset.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_dispatch.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_fileslice.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_func.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_hash_utils.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_listing.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_metastore.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_module_exports.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_pytorch.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_query.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_query_metrics.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_query_params.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_query_steps_hash.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_script_meta.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_semver.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_serializer.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_session.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_utils.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/unit/test_warehouse.py +0 -0
- {datachain-0.36.4 → datachain-0.36.6}/tests/utils.py +0 -0
|
@@ -1,12 +1,16 @@
|
|
|
1
|
+
import hashlib
|
|
1
2
|
from collections.abc import Sequence
|
|
2
3
|
from copy import copy
|
|
3
4
|
from functools import wraps
|
|
4
5
|
from typing import TYPE_CHECKING, TypeVar
|
|
5
6
|
|
|
7
|
+
from attrs import frozen
|
|
8
|
+
|
|
6
9
|
import datachain
|
|
7
10
|
from datachain.dataset import DatasetDependency, DatasetRecord
|
|
8
11
|
from datachain.error import DatasetNotFoundError
|
|
9
12
|
from datachain.project import Project
|
|
13
|
+
from datachain.query.dataset import Step, step_result
|
|
10
14
|
|
|
11
15
|
if TYPE_CHECKING:
|
|
12
16
|
from collections.abc import Callable
|
|
@@ -14,7 +18,9 @@ if TYPE_CHECKING:
|
|
|
14
18
|
|
|
15
19
|
from typing_extensions import ParamSpec
|
|
16
20
|
|
|
21
|
+
from datachain.catalog import Catalog
|
|
17
22
|
from datachain.lib.dc import DataChain
|
|
23
|
+
from datachain.query.dataset import QueryGenerator
|
|
18
24
|
|
|
19
25
|
P = ParamSpec("P")
|
|
20
26
|
|
|
@@ -43,11 +49,38 @@ def delta_disabled(
|
|
|
43
49
|
return _inner
|
|
44
50
|
|
|
45
51
|
|
|
52
|
+
@frozen
|
|
53
|
+
class _RegenerateSystemColumnsStep(Step):
|
|
54
|
+
catalog: "Catalog"
|
|
55
|
+
|
|
56
|
+
def hash_inputs(self) -> str:
|
|
57
|
+
return hashlib.sha256(b"regenerate_sys_columns").hexdigest()
|
|
58
|
+
|
|
59
|
+
def apply(self, query_generator: "QueryGenerator", temp_tables: list[str]):
|
|
60
|
+
selectable = query_generator.select()
|
|
61
|
+
regenerated = self.catalog.warehouse._regenerate_system_columns(
|
|
62
|
+
selectable,
|
|
63
|
+
keep_existing_columns=True,
|
|
64
|
+
regenerate_columns=None,
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
def q(*columns):
|
|
68
|
+
return regenerated.with_only_columns(*columns)
|
|
69
|
+
|
|
70
|
+
return step_result(q, regenerated.selected_columns)
|
|
71
|
+
|
|
72
|
+
|
|
46
73
|
def _append_steps(dc: "DataChain", other: "DataChain"):
|
|
47
74
|
"""Returns cloned chain with appended steps from other chain.
|
|
48
75
|
Steps are all those modification methods applied like filters, mappers etc.
|
|
49
76
|
"""
|
|
50
77
|
dc = dc.clone()
|
|
78
|
+
dc._query.steps.append(
|
|
79
|
+
_RegenerateSystemColumnsStep(
|
|
80
|
+
catalog=dc.session.catalog,
|
|
81
|
+
)
|
|
82
|
+
)
|
|
83
|
+
|
|
51
84
|
dc._query.steps += other._query.steps.copy()
|
|
52
85
|
dc.signals_schema = other.signals_schema
|
|
53
86
|
return dc
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import os
|
|
2
|
+
import uuid
|
|
2
3
|
|
|
3
4
|
import pytest
|
|
4
5
|
import regex as re
|
|
@@ -224,6 +225,42 @@ def test_delta_update_unsafe(test_session):
|
|
|
224
225
|
}
|
|
225
226
|
|
|
226
227
|
|
|
228
|
+
def test_delta_replay_regenerates_system_columns(test_session):
|
|
229
|
+
source_name = f"regen_source_{uuid.uuid4().hex[:8]}"
|
|
230
|
+
result_name = f"regen_result_{uuid.uuid4().hex[:8]}"
|
|
231
|
+
|
|
232
|
+
dc.read_values(
|
|
233
|
+
measurement_id=[1, 2],
|
|
234
|
+
err=["", ""],
|
|
235
|
+
num=[1, 2],
|
|
236
|
+
session=test_session,
|
|
237
|
+
).save(source_name)
|
|
238
|
+
|
|
239
|
+
def build_chain(delta: bool):
|
|
240
|
+
read_kwargs = {"session": test_session}
|
|
241
|
+
if delta:
|
|
242
|
+
read_kwargs.update({"delta": True, "delta_on": "measurement_id"})
|
|
243
|
+
return (
|
|
244
|
+
dc.read_dataset(source_name, **read_kwargs)
|
|
245
|
+
.filter(C.err == "")
|
|
246
|
+
.select_except("err")
|
|
247
|
+
.map(double=lambda num: num * 2, output=int)
|
|
248
|
+
.select_except("num")
|
|
249
|
+
)
|
|
250
|
+
|
|
251
|
+
build_chain(delta=False).save(result_name)
|
|
252
|
+
|
|
253
|
+
build_chain(delta=True).save(
|
|
254
|
+
result_name,
|
|
255
|
+
delta=True,
|
|
256
|
+
delta_on="measurement_id",
|
|
257
|
+
)
|
|
258
|
+
|
|
259
|
+
assert set(
|
|
260
|
+
dc.read_dataset(result_name, session=test_session).to_values("measurement_id")
|
|
261
|
+
) == {1, 2}
|
|
262
|
+
|
|
263
|
+
|
|
227
264
|
def test_delta_update_from_storage(test_session, tmp_dir, tmp_path):
|
|
228
265
|
ds_name = "delta_ds"
|
|
229
266
|
path = tmp_dir.as_uri()
|
|
@@ -27,11 +27,13 @@ def test_nested_merge_has_no_duplicate_temp_tables(test_session, mocker):
|
|
|
27
27
|
inner = generated.merge(base, on="num", inner=True)
|
|
28
28
|
chain = base.merge(inner, on="num", inner=True)
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
assert
|
|
30
|
+
values = chain.select("num").to_pandas()["num"].tolist()
|
|
31
|
+
assert set(values) == {1, 2}
|
|
32
|
+
assert len(values) == 2
|
|
32
33
|
|
|
33
34
|
rerun = chain.select("num").to_pandas()["num"].tolist()
|
|
34
|
-
assert rerun ==
|
|
35
|
+
assert set(rerun) == {1, 2}
|
|
36
|
+
assert len(rerun) == len(values)
|
|
35
37
|
|
|
36
38
|
_assert_no_duplicate_temp_tables(captured)
|
|
37
39
|
|
|
@@ -43,11 +45,13 @@ def test_union_has_no_duplicate_temp_tables(test_session, mocker):
|
|
|
43
45
|
right = dc.read_values(num=[3], session=test_session)
|
|
44
46
|
union_chain = left.union(right)
|
|
45
47
|
|
|
46
|
-
|
|
47
|
-
assert
|
|
48
|
+
values = union_chain.select("num").to_pandas()["num"].tolist()
|
|
49
|
+
assert set(values) == {1, 2, 3}
|
|
50
|
+
assert len(values) == 3
|
|
48
51
|
|
|
49
|
-
rerun =
|
|
50
|
-
assert rerun ==
|
|
52
|
+
rerun = union_chain.select("num").to_pandas()["num"].tolist()
|
|
53
|
+
assert set(rerun) == {1, 2, 3}
|
|
54
|
+
assert len(rerun) == len(values)
|
|
51
55
|
|
|
52
56
|
_assert_no_duplicate_temp_tables(captured)
|
|
53
57
|
|
|
@@ -59,10 +63,10 @@ def test_subtract_has_no_duplicate_temp_tables(test_session, mocker):
|
|
|
59
63
|
target = dc.read_values(num=[2], session=test_session)
|
|
60
64
|
subtract_chain = source.subtract(target, on="num")
|
|
61
65
|
|
|
62
|
-
|
|
63
|
-
assert
|
|
66
|
+
values = subtract_chain.select("num").to_pandas()["num"].tolist()
|
|
67
|
+
assert values == [1]
|
|
64
68
|
|
|
65
69
|
rerun = subtract_chain.select("num").to_pandas()["num"].tolist()
|
|
66
|
-
assert rerun ==
|
|
70
|
+
assert rerun == values
|
|
67
71
|
|
|
68
72
|
_assert_no_duplicate_temp_tables(captured)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|