datachain 0.30.7__tar.gz → 0.31.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of datachain might be problematic. Click here for more details.
- {datachain-0.30.7 → datachain-0.31.1}/.github/workflows/benchmarks.yml +1 -1
- {datachain-0.30.7 → datachain-0.31.1}/.github/workflows/release.yml +1 -1
- {datachain-0.30.7 → datachain-0.31.1}/.github/workflows/tests-studio.yml +1 -1
- {datachain-0.30.7 → datachain-0.31.1}/.github/workflows/tests.yml +8 -5
- {datachain-0.30.7 → datachain-0.31.1}/.pre-commit-config.yaml +1 -1
- {datachain-0.30.7 → datachain-0.31.1}/PKG-INFO +1 -1
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/clip.py +9 -9
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/dc/csv.py +15 -19
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/dc/datachain.py +64 -62
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/dc/datasets.py +8 -8
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/dc/hf.py +13 -17
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/dc/json.py +9 -9
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/dc/parquet.py +11 -14
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/dc/records.py +2 -2
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/dc/storage.py +12 -24
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/remote/studio.py +60 -17
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/studio.py +7 -8
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain.egg-info/PKG-INFO +1 -1
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_delta.py +86 -4
- {datachain-0.30.7 → datachain-0.31.1}/tests/test_cli_studio.py +20 -16
- {datachain-0.30.7 → datachain-0.31.1}/.cruft.json +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/.gitattributes +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/.github/ISSUE_TEMPLATE/empty_issue.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/.github/codecov.yaml +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/.github/dependabot.yml +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/.github/workflows/update-template.yaml +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/.gitignore +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/CODE_OF_CONDUCT.rst +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/LICENSE +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/README.rst +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/assets/captioned_cartoons.png +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/assets/datachain-white.svg +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/assets/datachain.svg +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/commands/auth/login.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/commands/auth/logout.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/commands/auth/team.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/commands/auth/token.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/commands/index.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/commands/job/cancel.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/commands/job/clusters.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/commands/job/logs.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/commands/job/ls.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/commands/job/run.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/contributing.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/css/github-permalink-style.css +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/examples.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/guide/db_migrations.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/guide/delta.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/guide/env.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/guide/index.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/guide/namespaces.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/guide/processing.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/guide/remotes.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/guide/retry.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/index.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/overrides/main.html +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/quick-start.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/data-types/arrowrow.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/data-types/bbox.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/data-types/file.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/data-types/imagefile.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/data-types/index.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/data-types/pose.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/data-types/segment.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/data-types/tarvfile.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/data-types/textfile.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/data-types/videofile.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/datachain.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/func.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/functions/aggregate.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/functions/array.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/functions/conditional.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/functions/numeric.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/functions/path.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/functions/random.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/functions/string.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/functions/window.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/index.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/toolkit.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/torch.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/references/udf.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/docs/tutorials.md +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/computer_vision/iptc_exif_xmp_lib.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/computer_vision/llava2_image_desc_lib.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/computer_vision/openimage-detect.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/computer_vision/ultralytics-bbox.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/computer_vision/ultralytics-pose.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/computer_vision/ultralytics-segment.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/get_started/common_sql_functions.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/get_started/json-csv-reader.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/get_started/nested_datamodel.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/get_started/torch-loader.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/get_started/udfs/parallel.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/get_started/udfs/simple.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/get_started/udfs/stateful.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/incremental_processing/delta.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/incremental_processing/retry.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/incremental_processing/utils.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/llm_and_nlp/claude-query.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/llm_and_nlp/hf-dataset-llm-eval.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/multimodal/audio-to-text.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/multimodal/clip_inference.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/multimodal/hf_pipeline.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/multimodal/openai_image_desc_lib.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/multimodal/wds.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/examples/multimodal/wds_filtered.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/mkdocs.yml +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/noxfile.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/pyproject.toml +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/setup.cfg +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/__main__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/asyn.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/cache.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/catalog/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/catalog/catalog.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/catalog/datasource.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/catalog/loader.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/cli/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/cli/commands/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/cli/commands/datasets.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/cli/commands/du.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/cli/commands/index.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/cli/commands/ls.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/cli/commands/misc.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/cli/commands/query.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/cli/commands/show.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/cli/parser/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/cli/parser/job.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/cli/parser/studio.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/cli/parser/utils.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/cli/utils.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/client/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/client/azure.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/client/fileslice.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/client/fsspec.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/client/gcs.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/client/hf.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/client/local.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/client/s3.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/config.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/data_storage/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/data_storage/db_engine.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/data_storage/job.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/data_storage/metastore.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/data_storage/schema.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/data_storage/serializer.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/data_storage/sqlite.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/data_storage/warehouse.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/dataset.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/delta.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/diff/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/error.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/fs/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/fs/reference.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/fs/utils.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/func/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/func/aggregate.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/func/array.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/func/base.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/func/conditional.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/func/func.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/func/numeric.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/func/path.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/func/random.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/func/string.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/func/window.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/job.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/arrow.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/audio.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/convert/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/convert/flatten.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/convert/python_to_sql.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/convert/sql_to_python.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/convert/unflatten.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/convert/values_to_tuples.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/data_model.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/dataset_info.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/dc/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/dc/database.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/dc/listings.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/dc/pandas.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/dc/utils.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/dc/values.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/file.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/hf.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/image.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/listing.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/listing_info.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/meta_formats.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/model_store.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/namespaces.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/projects.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/pytorch.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/settings.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/signal_schema.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/tar.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/text.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/udf.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/udf_signature.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/utils.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/video.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/webdataset.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/lib/webdataset_laion.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/listing.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/model/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/model/bbox.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/model/pose.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/model/segment.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/model/ultralytics/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/model/ultralytics/bbox.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/model/ultralytics/pose.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/model/ultralytics/segment.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/model/utils.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/namespace.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/node.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/nodes_fetcher.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/nodes_thread_pool.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/progress.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/project.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/py.typed +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/query/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/query/batch.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/query/dataset.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/query/dispatch.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/query/metrics.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/query/params.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/query/queue.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/query/schema.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/query/session.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/query/udf.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/query/utils.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/remote/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/script_meta.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/semver.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/sql/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/sql/default/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/sql/default/base.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/sql/functions/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/sql/functions/aggregate.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/sql/functions/array.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/sql/functions/conditional.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/sql/functions/numeric.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/sql/functions/path.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/sql/functions/random.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/sql/functions/string.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/sql/postgresql_dialect.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/sql/postgresql_types.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/sql/selectable.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/sql/sqlite/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/sql/sqlite/base.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/sql/sqlite/types.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/sql/sqlite/vector.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/sql/types.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/sql/utils.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/telemetry.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/toolkit/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/toolkit/split.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/torch/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain/utils.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain.egg-info/SOURCES.txt +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain.egg-info/dependency_links.txt +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain.egg-info/entry_points.txt +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain.egg-info/requires.txt +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/src/datachain.egg-info/top_level.txt +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/benchmarks/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/benchmarks/conftest.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/benchmarks/datasets/.dvc/.gitignore +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/benchmarks/datasets/.dvc/config +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/benchmarks/datasets/.gitignore +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/benchmarks/datasets/laion-tiny.npz.dvc +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/benchmarks/test_datachain.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/benchmarks/test_ls.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/benchmarks/test_version.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/conftest.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/data.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/examples/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/examples/test_examples.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/examples/test_wds_e2e.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/examples/wds_data.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/data/Big_Buck_Bunny_360_10s_1MB.mp4 +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/data/lena.jpg +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/fake-service-account-credentials.json +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/functions/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/functions/test_aggregate.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/functions/test_array.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/functions/test_conditional.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/functions/test_numeric.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/functions/test_path.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/functions/test_random.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/functions/test_string.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/model/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/model/data/running-mask0.png +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/model/data/running-mask1.png +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/model/data/running.jpg +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/model/data/ships.jpg +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/model/test_yolo.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_audio.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_batching.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_catalog.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_client.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_cloud_transfer.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_data_storage.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_datachain.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_datachain_merge.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_dataset_query.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_datasets.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_feature_pickling.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_file.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_hf.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_hidden_field.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_image.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_listing.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_ls.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_meta_formats.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_metastore.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_metrics.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_mutate.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_pull.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_pytorch.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_query.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_read_database.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_read_dataset_remote.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_read_dataset_version_specifiers.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_retry.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_session.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_studio_datetime_parsing.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_to_database.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_toolkit.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_video.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/func/test_warehouse.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/scripts/feature_class.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/scripts/feature_class_exception.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/scripts/feature_class_parallel.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/scripts/feature_class_parallel_data_model.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/scripts/name_len_slow.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/test_atomicity.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/test_cli_e2e.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/test_import_time.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/test_query_e2e.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/test_telemetry.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/conftest.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_arrow.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_audio.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_clip.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_datachain.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_datachain_bootstrap.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_datachain_merge.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_diff.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_feature.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_feature_utils.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_file.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_hf.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_image.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_listing_info.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_namespace.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_partition_by.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_project.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_python_to_sql.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_schema.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_settings.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_signal_schema.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_sql_to_python.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_text.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_udf.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_udf_signature.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_utils.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/lib/test_webdataset.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/model/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/model/test_bbox.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/model/test_pose.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/model/test_segment.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/model/test_utils.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/sql/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/sql/sqlite/__init__.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/sql/sqlite/test_types.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/sql/sqlite/test_utils.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/sql/test_array.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/sql/test_conditional.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/sql/test_path.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/sql/test_random.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/sql/test_selectable.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/sql/test_string.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_asyn.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_cache.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_catalog.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_catalog_loader.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_cli_datasets.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_cli_parsing.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_client.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_client_gcs.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_client_s3.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_config.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_data_storage.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_database_engine.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_dataset.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_dispatch.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_fileslice.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_func.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_listing.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_metastore.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_module_exports.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_pytorch.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_query.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_query_metrics.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_query_params.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_script_meta.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_semver.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_serializer.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_session.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_utils.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/unit/test_warehouse.py +0 -0
- {datachain-0.30.7 → datachain-0.31.1}/tests/utils.py +0 -0
|
@@ -24,7 +24,7 @@ jobs:
|
|
|
24
24
|
ref: ${{ github.event.pull_request.head.sha || github.ref }}
|
|
25
25
|
|
|
26
26
|
- name: Set up Python 3.9
|
|
27
|
-
uses: actions/setup-python@
|
|
27
|
+
uses: actions/setup-python@v6
|
|
28
28
|
with:
|
|
29
29
|
python-version: '3.9'
|
|
30
30
|
|
|
@@ -97,7 +97,7 @@ jobs:
|
|
|
97
97
|
shell: bash
|
|
98
98
|
|
|
99
99
|
- name: Set up Python ${{ matrix.pyv }}
|
|
100
|
-
uses: actions/setup-python@
|
|
100
|
+
uses: actions/setup-python@v6
|
|
101
101
|
with:
|
|
102
102
|
python-version: ${{ matrix.pyv }}
|
|
103
103
|
|
|
@@ -114,9 +114,12 @@ jobs:
|
|
|
114
114
|
|
|
115
115
|
- name: Install FFmpeg on macOS
|
|
116
116
|
if: runner.os == 'macOS'
|
|
117
|
+
# Using ffmpeg@7 since torchcodec does not support ffmpeg 8 yet
|
|
118
|
+
# See: https://github.com/pytorch/torchcodec/issues/839
|
|
119
|
+
# On Windows and Linux ffmpeg < 8 is installed by default
|
|
117
120
|
run: |
|
|
118
|
-
brew install ffmpeg
|
|
119
|
-
echo 'DYLD_FALLBACK_LIBRARY_PATH=/opt/homebrew/lib' >> "$GITHUB_ENV"
|
|
121
|
+
brew install ffmpeg@7
|
|
122
|
+
echo 'DYLD_FALLBACK_LIBRARY_PATH=/opt/homebrew/opt/ffmpeg@7/lib' >> "$GITHUB_ENV"
|
|
120
123
|
|
|
121
124
|
- name: Install FFmpeg on Ubuntu
|
|
122
125
|
if: runner.os == 'Linux'
|
|
@@ -180,7 +183,7 @@ jobs:
|
|
|
180
183
|
ref: ${{ github.event.pull_request.head.sha || github.ref }}
|
|
181
184
|
|
|
182
185
|
- name: Set up Python ${{ matrix.pyv }}
|
|
183
|
-
uses: actions/setup-python@
|
|
186
|
+
uses: actions/setup-python@v6
|
|
184
187
|
with:
|
|
185
188
|
python-version: ${{ matrix.pyv }}
|
|
186
189
|
|
|
@@ -45,15 +45,15 @@ def clip_similarity_scores(
|
|
|
45
45
|
Calculate CLIP similarity scores between one or more images and/or text.
|
|
46
46
|
|
|
47
47
|
Parameters:
|
|
48
|
-
images
|
|
49
|
-
text
|
|
50
|
-
model
|
|
51
|
-
preprocess
|
|
52
|
-
tokenizer
|
|
53
|
-
prob
|
|
54
|
-
image_to_text
|
|
55
|
-
if only one of images or text provided.
|
|
56
|
-
device
|
|
48
|
+
images: Images to use as inputs.
|
|
49
|
+
text: Text to use as inputs.
|
|
50
|
+
model: Model from clip or open_clip packages.
|
|
51
|
+
preprocess: Image preprocessor to apply.
|
|
52
|
+
tokenizer: Text tokenizer.
|
|
53
|
+
prob: Compute softmax probabilities.
|
|
54
|
+
image_to_text: Whether to compute for image-to-text or text-to-image. Ignored
|
|
55
|
+
if only one of the images or text provided.
|
|
56
|
+
device: Device to use. Default is None - use model's device.
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
Example:
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
+
import os
|
|
1
2
|
from collections.abc import Sequence
|
|
2
|
-
from typing import
|
|
3
|
-
TYPE_CHECKING,
|
|
4
|
-
Callable,
|
|
5
|
-
Optional,
|
|
6
|
-
Union,
|
|
7
|
-
)
|
|
3
|
+
from typing import TYPE_CHECKING, Callable, Optional, Union
|
|
8
4
|
|
|
9
5
|
from datachain.lib.dc.utils import DatasetPrepareError, OutputType
|
|
10
6
|
from datachain.lib.model_store import ModelStore
|
|
@@ -17,14 +13,14 @@ if TYPE_CHECKING:
|
|
|
17
13
|
|
|
18
14
|
|
|
19
15
|
def read_csv(
|
|
20
|
-
path,
|
|
16
|
+
path: Union[str, os.PathLike[str], list[str], list[os.PathLike[str]]],
|
|
21
17
|
delimiter: Optional[str] = None,
|
|
22
18
|
header: bool = True,
|
|
23
19
|
output: OutputType = None,
|
|
24
20
|
column: str = "",
|
|
25
21
|
model_name: str = "",
|
|
26
22
|
source: bool = True,
|
|
27
|
-
nrows=None,
|
|
23
|
+
nrows: Optional[int] = None,
|
|
28
24
|
session: Optional[Session] = None,
|
|
29
25
|
settings: Optional[dict] = None,
|
|
30
26
|
column_types: Optional[dict[str, "Union[str, ArrowDataType]"]] = None,
|
|
@@ -34,21 +30,21 @@ def read_csv(
|
|
|
34
30
|
"""Generate chain from csv files.
|
|
35
31
|
|
|
36
32
|
Parameters:
|
|
37
|
-
path
|
|
33
|
+
path: Storage URI with directory. URI must start with storage prefix such
|
|
38
34
|
as `s3://`, `gs://`, `az://` or "file:///".
|
|
39
|
-
delimiter
|
|
35
|
+
delimiter: Character for delimiting columns. Takes precedence if also
|
|
40
36
|
specified in `parse_options`. Defaults to ",".
|
|
41
|
-
header
|
|
42
|
-
output
|
|
37
|
+
header: Whether the files include a header row.
|
|
38
|
+
output: Dictionary or feature class defining column names and their
|
|
43
39
|
corresponding types. List of column names is also accepted, in which
|
|
44
40
|
case types will be inferred.
|
|
45
|
-
column
|
|
46
|
-
model_name
|
|
47
|
-
source
|
|
48
|
-
nrows
|
|
49
|
-
session
|
|
50
|
-
settings
|
|
51
|
-
column_types
|
|
41
|
+
column: Created column name.
|
|
42
|
+
model_name: Generated model name.
|
|
43
|
+
source: Whether to include info about the source file.
|
|
44
|
+
nrows: Optional row limit.
|
|
45
|
+
session: Session to use for the chain.
|
|
46
|
+
settings: Settings to use for the chain.
|
|
47
|
+
column_types: Dictionary of column names and their corresponding types.
|
|
52
48
|
It is passed to CSV reader and for each column specified type auto
|
|
53
49
|
inference is disabled.
|
|
54
50
|
parse_options: Tells the parser how to process lines.
|
|
@@ -40,11 +40,7 @@ from datachain.lib.data_model import (
|
|
|
40
40
|
StandardType,
|
|
41
41
|
dict_to_data_model,
|
|
42
42
|
)
|
|
43
|
-
from datachain.lib.file import
|
|
44
|
-
EXPORT_FILES_MAX_THREADS,
|
|
45
|
-
ArrowRow,
|
|
46
|
-
FileExporter,
|
|
47
|
-
)
|
|
43
|
+
from datachain.lib.file import EXPORT_FILES_MAX_THREADS, ArrowRow, FileExporter
|
|
48
44
|
from datachain.lib.file import ExportPlacement as FileExportPlacement
|
|
49
45
|
from datachain.lib.model_store import ModelStore
|
|
50
46
|
from datachain.lib.settings import Settings
|
|
@@ -352,24 +348,28 @@ class DataChain:
|
|
|
352
348
|
batch_size: Optional[int] = None,
|
|
353
349
|
sys: Optional[bool] = None,
|
|
354
350
|
) -> "Self":
|
|
355
|
-
"""
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
351
|
+
"""
|
|
352
|
+
Set chain execution parameters. Returns the chain itself, allowing method
|
|
353
|
+
chaining for subsequent operations. To restore all settings to their default
|
|
354
|
+
values, use `reset_settings()`.
|
|
359
355
|
|
|
360
356
|
Parameters:
|
|
361
|
-
cache
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
357
|
+
cache: Enable files caching to speed up subsequent accesses to the same
|
|
358
|
+
files from the same or different chains. Defaults to False.
|
|
359
|
+
prefetch: Enable prefetching of files. This will download files in
|
|
360
|
+
advance in parallel. If an integer is provided, it specifies the number
|
|
361
|
+
of files to prefetch concurrently for each process on each worker.
|
|
362
|
+
Defaults to 2. Set to 0 or False to disable prefetching.
|
|
363
|
+
parallel: Number of processes to use for processing user-defined functions
|
|
364
|
+
(UDFs) in parallel. If an integer is provided, it specifies the number
|
|
365
|
+
of CPUs to use. If True, all available CPUs are used. Defaults to 1.
|
|
366
|
+
namespace: Namespace to use for the chain by default.
|
|
367
|
+
project: Project to use for the chain by default.
|
|
368
|
+
min_task_size: Minimum number of rows per worker/process for parallel
|
|
369
|
+
processing by UDFs. Defaults to 1.
|
|
370
|
+
batch_size: Number of rows per insert by UDF to fine tune and balance speed
|
|
371
|
+
and memory usage. This might be useful when processing large rows
|
|
372
|
+
or when running into memory issues. Defaults to 2000.
|
|
373
373
|
|
|
374
374
|
Example:
|
|
375
375
|
```py
|
|
@@ -398,7 +398,7 @@ class DataChain:
|
|
|
398
398
|
return self._evolve(settings=settings, _sys=sys)
|
|
399
399
|
|
|
400
400
|
def reset_settings(self, settings: Optional[Settings] = None) -> "Self":
|
|
401
|
-
"""Reset all settings to default values."""
|
|
401
|
+
"""Reset all chain settings to default values."""
|
|
402
402
|
self._settings = settings if settings else Settings()
|
|
403
403
|
return self
|
|
404
404
|
|
|
@@ -580,14 +580,14 @@ class DataChain:
|
|
|
580
580
|
"""Save to a Dataset. It returns the chain itself.
|
|
581
581
|
|
|
582
582
|
Parameters:
|
|
583
|
-
name
|
|
584
|
-
|
|
585
|
-
case
|
|
586
|
-
|
|
587
|
-
version
|
|
583
|
+
name: dataset name. This can be either a fully qualified name, including
|
|
584
|
+
the namespace and project, or just a regular dataset name. In the latter
|
|
585
|
+
case, the namespace and project will be taken from the settings
|
|
586
|
+
(if specified) or from the default values otherwise.
|
|
587
|
+
version: version of a dataset. If version is not specified and dataset
|
|
588
588
|
already exists, version patch increment will happen e.g 1.2.1 -> 1.2.2.
|
|
589
|
-
description
|
|
590
|
-
attrs
|
|
589
|
+
description: description of a dataset.
|
|
590
|
+
attrs: attributes of a dataset. They can be without value, e.g "NLP",
|
|
591
591
|
or with a value, e.g "location=US".
|
|
592
592
|
update_version: which part of the dataset version to automatically increase.
|
|
593
593
|
Available values: `major`, `minor` or `patch`. Default is `patch`.
|
|
@@ -661,7 +661,9 @@ class DataChain:
|
|
|
661
661
|
# current latest version instead.
|
|
662
662
|
from .datasets import read_dataset
|
|
663
663
|
|
|
664
|
-
return read_dataset(
|
|
664
|
+
return read_dataset(
|
|
665
|
+
name, namespace=namespace_name, project=project_name, **kwargs
|
|
666
|
+
)
|
|
665
667
|
|
|
666
668
|
return self._evolve(
|
|
667
669
|
query=self._query.save(
|
|
@@ -704,7 +706,7 @@ class DataChain:
|
|
|
704
706
|
func: Optional[Callable] = None,
|
|
705
707
|
params: Union[None, str, Sequence[str]] = None,
|
|
706
708
|
output: OutputType = None,
|
|
707
|
-
**signal_map,
|
|
709
|
+
**signal_map: Any,
|
|
708
710
|
) -> "Self":
|
|
709
711
|
"""Apply a function to each row to create new signals. The function should
|
|
710
712
|
return a new object for each row. It returns a chain itself with new signals.
|
|
@@ -712,17 +714,17 @@ class DataChain:
|
|
|
712
714
|
Input-output relationship: 1:1
|
|
713
715
|
|
|
714
716
|
Parameters:
|
|
715
|
-
func
|
|
716
|
-
params
|
|
717
|
+
func: Function applied to each row.
|
|
718
|
+
params: List of column names used as input for the function. Default
|
|
717
719
|
is taken from function signature.
|
|
718
|
-
output
|
|
720
|
+
output: Dictionary defining new signals and their corresponding types.
|
|
719
721
|
Default type is taken from function signature. Default can be also
|
|
720
722
|
taken from kwargs - **signal_map (see below).
|
|
721
723
|
If signal name is defined using signal_map (see below) only a single
|
|
722
724
|
type value can be used.
|
|
723
|
-
**signal_map
|
|
725
|
+
**signal_map: kwargs can be used to define `func` together with its return
|
|
724
726
|
signal name in format of `map(my_sign=my_func)`. This helps define
|
|
725
|
-
signal names and
|
|
727
|
+
signal names and functions in a nicer way.
|
|
726
728
|
|
|
727
729
|
Example:
|
|
728
730
|
Using signal_map and single type in output:
|
|
@@ -941,7 +943,7 @@ class DataChain:
|
|
|
941
943
|
It accepts the same parameters plus an
|
|
942
944
|
additional parameter:
|
|
943
945
|
|
|
944
|
-
batch
|
|
946
|
+
batch: Size of each batch passed to `func`. Defaults to 1000.
|
|
945
947
|
|
|
946
948
|
Example:
|
|
947
949
|
```py
|
|
@@ -1309,9 +1311,9 @@ class DataChain:
|
|
|
1309
1311
|
"""Yields flattened rows of values as a tuple.
|
|
1310
1312
|
|
|
1311
1313
|
Args:
|
|
1312
|
-
row_factory
|
|
1313
|
-
|
|
1314
|
-
|
|
1314
|
+
row_factory: A callable to convert row to a custom format.
|
|
1315
|
+
It should accept two arguments: a list of column names and
|
|
1316
|
+
a tuple of row values.
|
|
1315
1317
|
include_hidden: Whether to include hidden signals from the schema.
|
|
1316
1318
|
"""
|
|
1317
1319
|
db_signals = self._effective_signals_schema.db_signals(
|
|
@@ -1956,19 +1958,19 @@ class DataChain:
|
|
|
1956
1958
|
model_name: str = "",
|
|
1957
1959
|
source: bool = True,
|
|
1958
1960
|
nrows: Optional[int] = None,
|
|
1959
|
-
**kwargs,
|
|
1961
|
+
**kwargs: Any,
|
|
1960
1962
|
) -> "Self":
|
|
1961
1963
|
"""Generate chain from list of tabular files.
|
|
1962
1964
|
|
|
1963
1965
|
Parameters:
|
|
1964
|
-
output
|
|
1966
|
+
output: Dictionary or feature class defining column names and their
|
|
1965
1967
|
corresponding types. List of column names is also accepted, in which
|
|
1966
1968
|
case types will be inferred.
|
|
1967
|
-
column
|
|
1968
|
-
model_name
|
|
1969
|
-
source
|
|
1970
|
-
nrows
|
|
1971
|
-
kwargs
|
|
1969
|
+
column: Generated column name.
|
|
1970
|
+
model_name: Generated model name.
|
|
1971
|
+
source: Whether to include info about the source file.
|
|
1972
|
+
nrows: Optional row limit.
|
|
1973
|
+
kwargs: Parameters to pass to pyarrow.dataset.dataset.
|
|
1972
1974
|
|
|
1973
1975
|
Example:
|
|
1974
1976
|
Reading a json lines file:
|
|
@@ -2098,12 +2100,12 @@ class DataChain:
|
|
|
2098
2100
|
"""Save chain to parquet file with SignalSchema metadata.
|
|
2099
2101
|
|
|
2100
2102
|
Parameters:
|
|
2101
|
-
path
|
|
2103
|
+
path: Path or a file-like binary object to save the file. This supports
|
|
2102
2104
|
local paths as well as remote paths, such as s3:// or hf:// with fsspec.
|
|
2103
|
-
partition_cols
|
|
2104
|
-
chunk_size
|
|
2105
|
+
partition_cols: Column names by which to partition the dataset.
|
|
2106
|
+
chunk_size: The chunk size of results to read and convert to columnar
|
|
2105
2107
|
data, to avoid running out of memory.
|
|
2106
|
-
fs_kwargs
|
|
2108
|
+
fs_kwargs: Optional kwargs to pass to the fsspec filesystem, used only for
|
|
2107
2109
|
write, for fsspec-type URLs, such as s3:// or hf:// when
|
|
2108
2110
|
provided as the destination path.
|
|
2109
2111
|
"""
|
|
@@ -2195,10 +2197,10 @@ class DataChain:
|
|
|
2195
2197
|
"""Save chain to a csv (comma-separated values) file.
|
|
2196
2198
|
|
|
2197
2199
|
Parameters:
|
|
2198
|
-
path
|
|
2200
|
+
path: Path to save the file. This supports local paths as well as
|
|
2199
2201
|
remote paths, such as s3:// or hf:// with fsspec.
|
|
2200
|
-
delimiter
|
|
2201
|
-
fs_kwargs
|
|
2202
|
+
delimiter: Delimiter to use for the resulting file.
|
|
2203
|
+
fs_kwargs: Optional kwargs to pass to the fsspec filesystem, used only for
|
|
2202
2204
|
write, for fsspec-type URLs, such as s3:// or hf:// when
|
|
2203
2205
|
provided as the destination path.
|
|
2204
2206
|
"""
|
|
@@ -2241,12 +2243,12 @@ class DataChain:
|
|
|
2241
2243
|
"""Save chain to a JSON file.
|
|
2242
2244
|
|
|
2243
2245
|
Parameters:
|
|
2244
|
-
path
|
|
2246
|
+
path: Path to save the file. This supports local paths as well as
|
|
2245
2247
|
remote paths, such as s3:// or hf:// with fsspec.
|
|
2246
|
-
fs_kwargs
|
|
2248
|
+
fs_kwargs: Optional kwargs to pass to the fsspec filesystem, used only for
|
|
2247
2249
|
write, for fsspec-type URLs, such as s3:// or hf:// when
|
|
2248
2250
|
provided as the destination path.
|
|
2249
|
-
include_outer_list
|
|
2251
|
+
include_outer_list: Sets whether to include an outer list for all rows.
|
|
2250
2252
|
Setting this to True makes the file valid JSON, while False instead
|
|
2251
2253
|
writes in the JSON lines format.
|
|
2252
2254
|
"""
|
|
@@ -2301,9 +2303,9 @@ class DataChain:
|
|
|
2301
2303
|
"""Save chain to a JSON lines file.
|
|
2302
2304
|
|
|
2303
2305
|
Parameters:
|
|
2304
|
-
path
|
|
2306
|
+
path: Path to save the file. This supports local paths as well as
|
|
2305
2307
|
remote paths, such as s3:// or hf:// with fsspec.
|
|
2306
|
-
fs_kwargs
|
|
2308
|
+
fs_kwargs: Optional kwargs to pass to the fsspec filesystem, used only for
|
|
2307
2309
|
write, for fsspec-type URLs, such as s3:// or hf:// when
|
|
2308
2310
|
provided as the destination path.
|
|
2309
2311
|
"""
|
|
@@ -2571,9 +2573,9 @@ class DataChain:
|
|
|
2571
2573
|
The possible values are: "filename", "etag", "fullpath", and "checksum".
|
|
2572
2574
|
link_type: Method to use for exporting files.
|
|
2573
2575
|
Falls back to `'copy'` if symlinking fails.
|
|
2574
|
-
num_threads
|
|
2575
|
-
By default it uses 5 threads.
|
|
2576
|
-
anon: If True, we will treat cloud bucket as public one. Default behavior
|
|
2576
|
+
num_threads: number of threads to use for exporting files.
|
|
2577
|
+
By default, it uses 5 threads.
|
|
2578
|
+
anon: If True, we will treat cloud bucket as a public one. Default behavior
|
|
2577
2579
|
depends on the previous session configuration (e.g. happens in the
|
|
2578
2580
|
initial `read_storage`) and particular cloud storage client
|
|
2579
2581
|
implementation (e.g. S3 fallbacks to anonymous access if no credentials
|
|
@@ -51,14 +51,14 @@ def read_dataset(
|
|
|
51
51
|
namespace and project. Alternatively, it can be a regular name, in which
|
|
52
52
|
case the explicitly defined namespace and project will be used if they are
|
|
53
53
|
set; otherwise, default values will be applied.
|
|
54
|
-
namespace
|
|
55
|
-
project
|
|
56
|
-
version
|
|
54
|
+
namespace: optional name of namespace in which dataset to read is created
|
|
55
|
+
project: optional name of project in which dataset to read is created
|
|
56
|
+
version: dataset version. Supports:
|
|
57
57
|
- Exact version strings: "1.2.3"
|
|
58
58
|
- Legacy integer versions: 1, 2, 3 (finds latest major version)
|
|
59
59
|
- Version specifiers (PEP 440): ">=1.0.0,<2.0.0", "~=1.4.2", "==1.2.*", etc.
|
|
60
|
-
session
|
|
61
|
-
settings
|
|
60
|
+
session: Session to use for the chain.
|
|
61
|
+
settings: Settings to use for the chain.
|
|
62
62
|
delta: If True, only process new or changed files instead of reprocessing
|
|
63
63
|
everything. This saves time by skipping files that were already processed in
|
|
64
64
|
previous versions. The optimization is working when a new version of the
|
|
@@ -314,9 +314,9 @@ def delete_dataset(
|
|
|
314
314
|
namespace and project. Alternatively, it can be a regular name, in which
|
|
315
315
|
case the explicitly defined namespace and project will be used if they are
|
|
316
316
|
set; otherwise, default values will be applied.
|
|
317
|
-
namespace
|
|
318
|
-
project
|
|
319
|
-
version
|
|
317
|
+
namespace: optional name of namespace in which dataset to delete is created
|
|
318
|
+
project: optional name of project in which dataset to delete is created
|
|
319
|
+
version: Optional dataset version
|
|
320
320
|
force: If true, all datasets versions will be removed. Defaults to False.
|
|
321
321
|
studio: If True, removes dataset from Studio only, otherwise removes local
|
|
322
322
|
dataset. Defaults to False.
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
from typing import
|
|
2
|
-
TYPE_CHECKING,
|
|
3
|
-
Optional,
|
|
4
|
-
Union,
|
|
5
|
-
)
|
|
1
|
+
from typing import TYPE_CHECKING, Any, Optional, Union
|
|
6
2
|
|
|
7
3
|
from datachain.lib.data_model import dict_to_data_model
|
|
8
4
|
from datachain.query import Session
|
|
@@ -20,28 +16,28 @@ if TYPE_CHECKING:
|
|
|
20
16
|
|
|
21
17
|
def read_hf(
|
|
22
18
|
dataset: Union[str, "HFDatasetType"],
|
|
23
|
-
*args,
|
|
19
|
+
*args: Any,
|
|
24
20
|
session: Optional[Session] = None,
|
|
25
21
|
settings: Optional[dict] = None,
|
|
26
22
|
column: str = "",
|
|
27
23
|
model_name: str = "",
|
|
28
24
|
limit: int = 0,
|
|
29
|
-
**kwargs,
|
|
25
|
+
**kwargs: Any,
|
|
30
26
|
) -> "DataChain":
|
|
31
27
|
"""Generate chain from Hugging Face Hub dataset.
|
|
32
28
|
|
|
33
29
|
Parameters:
|
|
34
|
-
dataset
|
|
30
|
+
dataset: Path or name of the dataset to read from Hugging Face Hub,
|
|
35
31
|
or an instance of `datasets.Dataset`-like object.
|
|
36
|
-
args
|
|
37
|
-
session
|
|
38
|
-
settings
|
|
39
|
-
column
|
|
40
|
-
model_name
|
|
41
|
-
limit
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
kwargs
|
|
32
|
+
args: Additional positional arguments to pass to `datasets.load_dataset`.
|
|
33
|
+
session: Session to use for the chain.
|
|
34
|
+
settings: Settings to use for the chain.
|
|
35
|
+
column: Generated object column name.
|
|
36
|
+
model_name: Generated model name.
|
|
37
|
+
limit: The maximum number of items to read from the HF dataset.
|
|
38
|
+
Applies `take(limit)` to `datasets.load_dataset`.
|
|
39
|
+
Defaults to 0 (no limit).
|
|
40
|
+
kwargs: Parameters to pass to `datasets.load_dataset`.
|
|
45
41
|
|
|
46
42
|
Example:
|
|
47
43
|
Load from Hugging Face Hub:
|
|
@@ -26,22 +26,22 @@ def read_json(
|
|
|
26
26
|
column: Optional[str] = "",
|
|
27
27
|
model_name: Optional[str] = None,
|
|
28
28
|
format: Optional[str] = "json",
|
|
29
|
-
nrows=None,
|
|
29
|
+
nrows: Optional[int] = None,
|
|
30
30
|
**kwargs,
|
|
31
31
|
) -> "DataChain":
|
|
32
32
|
"""Get data from JSON. It returns the chain itself.
|
|
33
33
|
|
|
34
34
|
Parameters:
|
|
35
|
-
path
|
|
35
|
+
path: storage URI with directory. URI must start with storage prefix such
|
|
36
36
|
as `s3://`, `gs://`, `az://` or "file:///"
|
|
37
|
-
type
|
|
38
|
-
spec
|
|
39
|
-
schema_from
|
|
40
|
-
column
|
|
41
|
-
model_name
|
|
37
|
+
type: read file as "binary", "text", or "image" data. Default is "text".
|
|
38
|
+
spec: optional Data Model
|
|
39
|
+
schema_from: path to sample to infer spec (if schema not provided)
|
|
40
|
+
column: generated column name
|
|
41
|
+
model_name: optional generated model name
|
|
42
42
|
format: "json", "jsonl"
|
|
43
|
-
jmespath
|
|
44
|
-
nrows
|
|
43
|
+
jmespath: optional JMESPATH expression to reduce JSON
|
|
44
|
+
nrows: optional row limit for jsonl and JSON arrays
|
|
45
45
|
|
|
46
46
|
Example:
|
|
47
47
|
infer JSON schema from data, reduce using JMESPATH
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Any,
|
|
4
|
-
Optional,
|
|
5
|
-
)
|
|
1
|
+
import os
|
|
2
|
+
from typing import TYPE_CHECKING, Any, Optional, Union
|
|
6
3
|
|
|
7
4
|
from datachain.lib.data_model import DataType
|
|
8
5
|
from datachain.query import Session
|
|
@@ -16,7 +13,7 @@ if TYPE_CHECKING:
|
|
|
16
13
|
|
|
17
14
|
|
|
18
15
|
def read_parquet(
|
|
19
|
-
path,
|
|
16
|
+
path: Union[str, os.PathLike[str], list[str], list[os.PathLike[str]]],
|
|
20
17
|
partitioning: Any = "hive",
|
|
21
18
|
output: Optional[dict[str, DataType]] = None,
|
|
22
19
|
column: str = "",
|
|
@@ -29,15 +26,15 @@ def read_parquet(
|
|
|
29
26
|
"""Generate chain from parquet files.
|
|
30
27
|
|
|
31
28
|
Parameters:
|
|
32
|
-
path
|
|
29
|
+
path: Storage URI with directory. URI must start with storage prefix such
|
|
33
30
|
as `s3://`, `gs://`, `az://` or "file:///".
|
|
34
|
-
partitioning
|
|
35
|
-
output
|
|
36
|
-
column
|
|
37
|
-
model_name
|
|
38
|
-
source
|
|
39
|
-
session
|
|
40
|
-
settings
|
|
31
|
+
partitioning: Any pyarrow partitioning schema.
|
|
32
|
+
output: Dictionary defining column names and their corresponding types.
|
|
33
|
+
column: Created column name.
|
|
34
|
+
model_name: Generated model name.
|
|
35
|
+
source: Whether to include info about the source file.
|
|
36
|
+
session: Session to use for the chain.
|
|
37
|
+
settings: Settings to use for the chain.
|
|
41
38
|
|
|
42
39
|
Example:
|
|
43
40
|
Reading a single file:
|
|
@@ -30,9 +30,9 @@ def read_records(
|
|
|
30
30
|
or other sources.
|
|
31
31
|
|
|
32
32
|
Parameters:
|
|
33
|
-
to_insert
|
|
33
|
+
to_insert: records (or a single record) to insert. Each record is
|
|
34
34
|
a dictionary of signals and their values.
|
|
35
|
-
schema
|
|
35
|
+
schema: describes chain signals and their corresponding types
|
|
36
36
|
|
|
37
37
|
Example:
|
|
38
38
|
```py
|