datachain 0.17.0__tar.gz → 0.17.2__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.17.0/src/datachain.egg-info → datachain-0.17.2}/PKG-INFO +2 -2
- datachain-0.17.2/docs/commands/job/ls.md +84 -0
- {datachain-0.17.0 → datachain-0.17.2}/mkdocs.yml +1 -0
- {datachain-0.17.0 → datachain-0.17.2}/noxfile.py +1 -0
- {datachain-0.17.0 → datachain-0.17.2}/pyproject.toml +1 -1
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/cli/parser/job.py +30 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/data_storage/warehouse.py +1 -1
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/dc/values.py +2 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/query/dispatch.py +8 -6
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/remote/studio.py +12 -1
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/studio.py +33 -2
- {datachain-0.17.0 → datachain-0.17.2/src/datachain.egg-info}/PKG-INFO +2 -2
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain.egg-info/SOURCES.txt +1 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain.egg-info/requires.txt +1 -1
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_warehouse.py +2 -2
- {datachain-0.17.0 → datachain-0.17.2}/.cruft.json +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/.gitattributes +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/.github/ISSUE_TEMPLATE/empty_issue.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/.github/codecov.yaml +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/.github/dependabot.yml +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/.github/workflows/benchmarks.yml +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/.github/workflows/release.yml +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/.github/workflows/tests-studio.yml +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/.github/workflows/tests.yml +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/.github/workflows/update-template.yaml +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/.gitignore +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/.pre-commit-config.yaml +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/CODE_OF_CONDUCT.rst +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/LICENSE +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/README.rst +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/assets/captioned_cartoons.png +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/assets/datachain-white.svg +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/assets/datachain.svg +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/commands/auth/login.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/commands/auth/logout.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/commands/auth/team.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/commands/auth/token.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/commands/index.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/commands/job/cancel.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/commands/job/logs.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/commands/job/run.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/contributing.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/css/github-permalink-style.css +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/examples.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/index.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/overrides/main.html +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/quick-start.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/references/data-types/arrowrow.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/references/data-types/bbox.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/references/data-types/file.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/references/data-types/imagefile.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/references/data-types/index.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/references/data-types/pose.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/references/data-types/segment.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/references/data-types/tarvfile.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/references/data-types/textfile.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/references/data-types/videofile.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/references/datachain.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/references/func.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/references/index.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/references/remotes.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/references/toolkit.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/references/torch.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/references/udf.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/docs/tutorials.md +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/examples/computer_vision/iptc_exif_xmp_lib.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/examples/computer_vision/llava2_image_desc_lib.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/examples/computer_vision/openimage-detect.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/examples/computer_vision/ultralytics-bbox.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/examples/computer_vision/ultralytics-pose.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/examples/computer_vision/ultralytics-segment.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/examples/get_started/common_sql_functions.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/examples/get_started/json-csv-reader.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/examples/get_started/torch-loader.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/examples/get_started/udfs/parallel.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/examples/get_started/udfs/simple.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/examples/get_started/udfs/stateful.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/examples/llm_and_nlp/claude-query.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/examples/llm_and_nlp/hf-dataset-llm-eval.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/examples/multimodal/clip_inference.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/examples/multimodal/hf_pipeline.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/examples/multimodal/openai_image_desc_lib.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/examples/multimodal/wds.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/examples/multimodal/wds_filtered.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/setup.cfg +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/__main__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/asyn.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/cache.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/catalog/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/catalog/catalog.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/catalog/datasource.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/catalog/loader.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/cli/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/cli/commands/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/cli/commands/datasets.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/cli/commands/du.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/cli/commands/index.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/cli/commands/ls.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/cli/commands/misc.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/cli/commands/query.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/cli/commands/show.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/cli/parser/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/cli/parser/studio.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/cli/parser/utils.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/cli/utils.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/client/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/client/azure.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/client/fileslice.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/client/fsspec.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/client/gcs.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/client/hf.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/client/local.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/client/s3.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/config.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/data_storage/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/data_storage/db_engine.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/data_storage/job.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/data_storage/metastore.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/data_storage/schema.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/data_storage/serializer.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/data_storage/sqlite.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/dataset.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/diff/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/error.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/fs/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/fs/reference.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/fs/utils.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/func/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/func/aggregate.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/func/array.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/func/base.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/func/conditional.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/func/func.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/func/numeric.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/func/path.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/func/random.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/func/string.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/func/window.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/job.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/arrow.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/clip.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/convert/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/convert/flatten.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/convert/python_to_sql.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/convert/sql_to_python.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/convert/unflatten.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/convert/values_to_tuples.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/data_model.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/dataset_info.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/dc/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/dc/csv.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/dc/database.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/dc/datachain.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/dc/datasets.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/dc/hf.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/dc/json.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/dc/listings.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/dc/pandas.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/dc/parquet.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/dc/records.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/dc/storage.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/dc/utils.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/file.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/hf.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/image.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/listing.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/listing_info.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/meta_formats.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/model_store.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/pytorch.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/settings.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/signal_schema.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/tar.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/text.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/udf.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/udf_signature.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/utils.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/video.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/webdataset.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/lib/webdataset_laion.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/listing.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/model/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/model/bbox.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/model/pose.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/model/segment.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/model/ultralytics/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/model/ultralytics/bbox.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/model/ultralytics/pose.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/model/ultralytics/segment.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/model/utils.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/node.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/nodes_fetcher.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/nodes_thread_pool.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/progress.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/py.typed +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/query/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/query/batch.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/query/dataset.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/query/metrics.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/query/params.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/query/queue.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/query/schema.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/query/session.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/query/udf.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/query/utils.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/remote/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/script_meta.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/semver.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/sql/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/sql/default/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/sql/default/base.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/sql/functions/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/sql/functions/aggregate.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/sql/functions/array.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/sql/functions/conditional.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/sql/functions/numeric.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/sql/functions/path.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/sql/functions/random.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/sql/functions/string.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/sql/selectable.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/sql/sqlite/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/sql/sqlite/base.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/sql/sqlite/types.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/sql/sqlite/vector.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/sql/types.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/sql/utils.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/telemetry.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/toolkit/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/toolkit/split.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/torch/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain/utils.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain.egg-info/dependency_links.txt +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain.egg-info/entry_points.txt +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/src/datachain.egg-info/top_level.txt +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/benchmarks/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/benchmarks/conftest.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/benchmarks/datasets/.dvc/.gitignore +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/benchmarks/datasets/.dvc/config +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/benchmarks/datasets/.gitignore +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/benchmarks/datasets/laion-tiny.npz.dvc +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/benchmarks/test_datachain.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/benchmarks/test_ls.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/benchmarks/test_version.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/conftest.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/data.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/examples/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/examples/test_examples.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/examples/test_wds_e2e.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/examples/wds_data.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/data/Big_Buck_Bunny_360_10s_1MB.mp4 +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/data/lena.jpg +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/fake-service-account-credentials.json +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/model/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/model/data/running-mask0.png +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/model/data/running-mask1.png +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/model/data/running.jpg +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/model/data/ships.jpg +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/model/test_yolo.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_batching.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_catalog.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_client.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_cloud_transfer.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_data_storage.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_datachain.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_datachain_merge.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_dataset_query.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_datasets.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_feature_pickling.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_file.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_func.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_hf.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_hidden_field.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_image.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_listing.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_ls.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_meta_formats.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_metrics.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_pull.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_pytorch.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_query.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_read_database.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_session.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_toolkit.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/func/test_video.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/scripts/feature_class.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/scripts/feature_class_exception.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/scripts/feature_class_parallel.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/scripts/feature_class_parallel_data_model.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/scripts/name_len_slow.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/test_atomicity.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/test_cli_e2e.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/test_cli_studio.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/test_import_time.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/test_query_e2e.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/test_telemetry.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/lib/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/lib/conftest.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/lib/test_arrow.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/lib/test_clip.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/lib/test_datachain.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/lib/test_datachain_bootstrap.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/lib/test_datachain_merge.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/lib/test_diff.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/lib/test_feature.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/lib/test_feature_utils.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/lib/test_file.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/lib/test_hf.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/lib/test_image.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/lib/test_listing_info.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/lib/test_python_to_sql.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/lib/test_schema.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/lib/test_signal_schema.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/lib/test_sql_to_python.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/lib/test_text.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/lib/test_udf.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/lib/test_udf_signature.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/lib/test_utils.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/lib/test_webdataset.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/model/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/model/test_bbox.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/model/test_pose.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/model/test_segment.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/model/test_utils.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/sql/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/sql/sqlite/__init__.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/sql/sqlite/test_types.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/sql/sqlite/test_utils.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/sql/test_array.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/sql/test_conditional.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/sql/test_path.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/sql/test_random.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/sql/test_selectable.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/sql/test_string.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_asyn.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_cache.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_catalog.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_catalog_loader.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_cli_parsing.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_client.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_client_gcs.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_client_s3.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_config.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_data_storage.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_database_engine.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_dataset.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_dispatch.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_fileslice.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_func.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_listing.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_metastore.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_module_exports.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_pytorch.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_query.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_query_metrics.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_query_params.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_script_meta.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_semver.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_serializer.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_session.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_utils.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/unit/test_warehouse.py +0 -0
- {datachain-0.17.0 → datachain-0.17.2}/tests/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: datachain
|
|
3
|
-
Version: 0.17.
|
|
3
|
+
Version: 0.17.2
|
|
4
4
|
Summary: Wrangle unstructured AI data at scale
|
|
5
5
|
Author-email: Dmitry Petrov <support@dvc.org>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -44,7 +44,7 @@ Requires-Dist: datamodel-code-generator>=0.25
|
|
|
44
44
|
Requires-Dist: Pillow<12,>=10.0.0
|
|
45
45
|
Requires-Dist: msgpack<2,>=1.0.4
|
|
46
46
|
Requires-Dist: psutil
|
|
47
|
-
Requires-Dist: huggingface_hub
|
|
47
|
+
Requires-Dist: huggingface_hub<0.31
|
|
48
48
|
Requires-Dist: iterative-telemetry>=0.0.10
|
|
49
49
|
Requires-Dist: platformdirs
|
|
50
50
|
Requires-Dist: dvc-studio-client<1,>=0.21
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# job ls
|
|
2
|
+
|
|
3
|
+
List jobs in Studio.
|
|
4
|
+
|
|
5
|
+
## Synopsis
|
|
6
|
+
|
|
7
|
+
```usage
|
|
8
|
+
usage: datachain job ls [-h] [-v] [-q] [--status STATUS] [--team TEAM] [--limit LIMIT]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Description
|
|
12
|
+
|
|
13
|
+
This command lists jobs in Studio. You can filter jobs by their status, specify a team, and limit the number of jobs returned. By default, it shows the 20 most recent jobs.
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
## Options
|
|
17
|
+
|
|
18
|
+
* `--status STATUS` - Status to filter jobs by
|
|
19
|
+
* `--team TEAM` - Team to list jobs for (default: from config)
|
|
20
|
+
* `--limit LIMIT` - Limit the number of jobs returned (default: 20)
|
|
21
|
+
* `-h`, `--help` - Show the help message and exit
|
|
22
|
+
* `-v`, `--verbose` - Be verbose
|
|
23
|
+
* `-q`, `--quiet` - Be quiet
|
|
24
|
+
|
|
25
|
+
## Status options
|
|
26
|
+
|
|
27
|
+
You will be able to filter the job with following status:
|
|
28
|
+
|
|
29
|
+
* `CREATED` - Job has been created but not yet scheduled
|
|
30
|
+
* `SCHEDULED` - Job is scheduled to run at a future time
|
|
31
|
+
* `QUEUED` - Job is in the queue waiting to be executed
|
|
32
|
+
* `INIT` - Job is initializing and preparing to run
|
|
33
|
+
* `RUNNING` - Job is currently executing
|
|
34
|
+
* `COMPLETE` - Job has finished successfully
|
|
35
|
+
* `FAILED` - Job has failed during execution
|
|
36
|
+
* `CANCELING_SCHEDULED` - A scheduled job is being canceled
|
|
37
|
+
* `CANCELING` - A running job is being canceled
|
|
38
|
+
* `CANCELED` - Job has been canceled
|
|
39
|
+
* `ACTIVE` - Job is in active state.
|
|
40
|
+
* `INACTIVE` - Job is in inactive state.
|
|
41
|
+
|
|
42
|
+
Note: The following statuses are considered active jobs:
|
|
43
|
+
|
|
44
|
+
* `CREATED`
|
|
45
|
+
* `SCHEDULED`
|
|
46
|
+
* `QUEUED`
|
|
47
|
+
* `INIT`
|
|
48
|
+
* `RUNNING`
|
|
49
|
+
* `CANCELING_SCHEDULED`
|
|
50
|
+
* `CANCELING`
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
## Examples
|
|
54
|
+
|
|
55
|
+
1. List all jobs (default limit of 20):
|
|
56
|
+
```bash
|
|
57
|
+
datachain job ls
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
2. List jobs for a specific team:
|
|
61
|
+
```bash
|
|
62
|
+
datachain job ls --team my-team
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
3. List jobs with a specific status:
|
|
66
|
+
```bash
|
|
67
|
+
datachain job ls --status complete
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
4. List more jobs by increasing the limit:
|
|
71
|
+
```bash
|
|
72
|
+
datachain job ls --limit 50
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
5. List jobs with verbose output:
|
|
76
|
+
```bash
|
|
77
|
+
datachain job ls -v
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Notes
|
|
81
|
+
|
|
82
|
+
* The default limit of 20 jobs helps manage the output size and performance
|
|
83
|
+
* Jobs are typically listed in reverse chronological order (newest first)
|
|
84
|
+
* Use the `--status` filter to find jobs in specific states (e.g., running, completed, failed)
|
|
@@ -48,7 +48,7 @@ dependencies = [
|
|
|
48
48
|
"Pillow>=10.0.0,<12",
|
|
49
49
|
"msgpack>=1.0.4,<2",
|
|
50
50
|
"psutil",
|
|
51
|
-
"huggingface_hub",
|
|
51
|
+
"huggingface_hub<0.31", # fix for "Provider 'featherless-ai' not supported" error
|
|
52
52
|
"iterative-telemetry>=0.0.10",
|
|
53
53
|
"platformdirs",
|
|
54
54
|
"dvc-studio-client>=0.21,<1",
|
|
@@ -83,6 +83,36 @@ def add_jobs_parser(subparsers, parent_parser) -> None:
|
|
|
83
83
|
help="Python package requirements",
|
|
84
84
|
)
|
|
85
85
|
|
|
86
|
+
studio_ls_help = "List jobs in Studio"
|
|
87
|
+
studio_ls_description = "List jobs in Studio."
|
|
88
|
+
|
|
89
|
+
studio_ls_parser = jobs_subparser.add_parser(
|
|
90
|
+
"ls",
|
|
91
|
+
parents=[parent_parser],
|
|
92
|
+
description=studio_ls_description,
|
|
93
|
+
help=studio_ls_help,
|
|
94
|
+
formatter_class=CustomHelpFormatter,
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
studio_ls_parser.add_argument(
|
|
98
|
+
"--status",
|
|
99
|
+
action="store",
|
|
100
|
+
help="Status to filter jobs by",
|
|
101
|
+
)
|
|
102
|
+
|
|
103
|
+
studio_ls_parser.add_argument(
|
|
104
|
+
"--team",
|
|
105
|
+
action="store",
|
|
106
|
+
default=None,
|
|
107
|
+
help="Team to list jobs for (default: from config)",
|
|
108
|
+
)
|
|
109
|
+
studio_ls_parser.add_argument(
|
|
110
|
+
"--limit",
|
|
111
|
+
type=int,
|
|
112
|
+
default=20,
|
|
113
|
+
help="Limit the number of jobs returned (default: 20)",
|
|
114
|
+
)
|
|
115
|
+
|
|
86
116
|
studio_cancel_help = "Cancel a job in Studio"
|
|
87
117
|
studio_cancel_description = "Cancel a running job in Studio."
|
|
88
118
|
|
|
@@ -258,7 +258,7 @@ class AbstractWarehouse(ABC, Serializable):
|
|
|
258
258
|
if Client.is_data_source_uri(dataset_name):
|
|
259
259
|
# for datasets that are created for bucket listing we use different prefix
|
|
260
260
|
prefix = self.DATASET_SOURCE_TABLE_PREFIX
|
|
261
|
-
return f"{prefix}{dataset_name}_{version}"
|
|
261
|
+
return f"{prefix}{dataset_name}_{version.replace('.', '_')}"
|
|
262
262
|
|
|
263
263
|
def temp_table_name(self) -> str:
|
|
264
264
|
return self.TMP_TABLE_NAME_PREFIX + _random_string(6)
|
|
@@ -203,9 +203,10 @@ class UDFDispatcher:
|
|
|
203
203
|
def get_inputs() -> Iterable["RowsOutput"]:
|
|
204
204
|
warehouse = self.catalog.warehouse.clone()
|
|
205
205
|
if ids_only:
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
206
|
+
for ids in batched(input_rows, DEFAULT_BATCH_SIZE):
|
|
207
|
+
yield from warehouse.dataset_rows_select_from_ids(
|
|
208
|
+
self.query, ids, self.is_batching
|
|
209
|
+
)
|
|
209
210
|
else:
|
|
210
211
|
yield from input_rows
|
|
211
212
|
|
|
@@ -425,8 +426,9 @@ class UDFWorker:
|
|
|
425
426
|
warehouse = self.catalog.warehouse.clone()
|
|
426
427
|
while (batch := get_from_queue(self.task_queue)) != STOP_SIGNAL:
|
|
427
428
|
if ids_only:
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
429
|
+
for ids in batched(batch, DEFAULT_BATCH_SIZE):
|
|
430
|
+
yield from warehouse.dataset_rows_select_from_ids(
|
|
431
|
+
self.query, ids, self.is_batching
|
|
432
|
+
)
|
|
431
433
|
else:
|
|
432
434
|
yield from batch
|
|
@@ -29,7 +29,7 @@ DatasetExportStatus = Optional[dict[str, Any]]
|
|
|
29
29
|
DatasetExportSignedUrls = Optional[list[str]]
|
|
30
30
|
FileUploadData = Optional[dict[str, Any]]
|
|
31
31
|
JobData = Optional[dict[str, Any]]
|
|
32
|
-
|
|
32
|
+
JobListData = dict[str, Any]
|
|
33
33
|
logger = logging.getLogger("datachain")
|
|
34
34
|
|
|
35
35
|
DATASET_ROWS_CHUNK_SIZE = 8192
|
|
@@ -402,6 +402,17 @@ class StudioClient:
|
|
|
402
402
|
}
|
|
403
403
|
return self._send_request("datachain/job", data)
|
|
404
404
|
|
|
405
|
+
def get_jobs(
|
|
406
|
+
self,
|
|
407
|
+
status: Optional[str] = None,
|
|
408
|
+
limit: int = 20,
|
|
409
|
+
) -> Response[JobListData]:
|
|
410
|
+
return self._send_request(
|
|
411
|
+
"datachain/jobs",
|
|
412
|
+
{"status": status, "limit": limit} if status else {"limit": limit},
|
|
413
|
+
method="GET",
|
|
414
|
+
)
|
|
415
|
+
|
|
405
416
|
def cancel_job(
|
|
406
417
|
self,
|
|
407
418
|
job_id: str,
|
|
@@ -3,6 +3,8 @@ import os
|
|
|
3
3
|
import sys
|
|
4
4
|
from typing import TYPE_CHECKING, Optional
|
|
5
5
|
|
|
6
|
+
import tabulate
|
|
7
|
+
|
|
6
8
|
from datachain.config import Config, ConfigLevel
|
|
7
9
|
from datachain.dataset import QUERY_DATASET_PREFIX
|
|
8
10
|
from datachain.error import DataChainError
|
|
@@ -44,6 +46,10 @@ def process_jobs_args(args: "Namespace"):
|
|
|
44
46
|
return cancel_job(args.id, args.team)
|
|
45
47
|
if args.cmd == "logs":
|
|
46
48
|
return show_job_logs(args.id, args.team)
|
|
49
|
+
|
|
50
|
+
if args.cmd == "ls":
|
|
51
|
+
return list_jobs(args.status, args.team, args.limit)
|
|
52
|
+
|
|
47
53
|
raise DataChainError(f"Unknown command '{args.cmd}'.")
|
|
48
54
|
|
|
49
55
|
|
|
@@ -240,13 +246,13 @@ def show_logs_from_client(client, job_id):
|
|
|
240
246
|
raise DataChainError(response.message)
|
|
241
247
|
|
|
242
248
|
response_data = response.data
|
|
243
|
-
if response_data:
|
|
249
|
+
if response_data and response_data.get("dataset_versions"):
|
|
244
250
|
dataset_versions = response_data.get("dataset_versions", [])
|
|
245
251
|
print("\n\n>>>> Dataset versions created during the job:")
|
|
246
252
|
for version in dataset_versions:
|
|
247
253
|
print(f" - {version.get('dataset_name')}@v{version.get('version')}")
|
|
248
254
|
else:
|
|
249
|
-
print("
|
|
255
|
+
print("\n\nNo dataset versions created during the job.")
|
|
250
256
|
|
|
251
257
|
|
|
252
258
|
def create_job(
|
|
@@ -337,6 +343,31 @@ def cancel_job(job_id: str, team_name: Optional[str]):
|
|
|
337
343
|
print(f"Job {job_id} canceled")
|
|
338
344
|
|
|
339
345
|
|
|
346
|
+
def list_jobs(status: Optional[str], team_name: Optional[str], limit: int):
|
|
347
|
+
client = StudioClient(team=team_name)
|
|
348
|
+
response = client.get_jobs(status, limit)
|
|
349
|
+
if not response.ok:
|
|
350
|
+
raise DataChainError(response.message)
|
|
351
|
+
|
|
352
|
+
jobs = response.data.get("jobs", [])
|
|
353
|
+
if not jobs:
|
|
354
|
+
print("No jobs found")
|
|
355
|
+
return
|
|
356
|
+
|
|
357
|
+
rows = [
|
|
358
|
+
{
|
|
359
|
+
"ID": job.get("id"),
|
|
360
|
+
"Name": job.get("name"),
|
|
361
|
+
"Status": job.get("status"),
|
|
362
|
+
"Created at": job.get("created_at"),
|
|
363
|
+
"Created by": job.get("created_by"),
|
|
364
|
+
}
|
|
365
|
+
for job in jobs
|
|
366
|
+
]
|
|
367
|
+
|
|
368
|
+
print(tabulate.tabulate(rows, headers="keys", tablefmt="grid"))
|
|
369
|
+
|
|
370
|
+
|
|
340
371
|
def show_job_logs(job_id: str, team_name: Optional[str]):
|
|
341
372
|
token = Config().read().get("studio", {}).get("token")
|
|
342
373
|
if not token:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: datachain
|
|
3
|
-
Version: 0.17.
|
|
3
|
+
Version: 0.17.2
|
|
4
4
|
Summary: Wrangle unstructured AI data at scale
|
|
5
5
|
Author-email: Dmitry Petrov <support@dvc.org>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -44,7 +44,7 @@ Requires-Dist: datamodel-code-generator>=0.25
|
|
|
44
44
|
Requires-Dist: Pillow<12,>=10.0.0
|
|
45
45
|
Requires-Dist: msgpack<2,>=1.0.4
|
|
46
46
|
Requires-Dist: psutil
|
|
47
|
-
Requires-Dist: huggingface_hub
|
|
47
|
+
Requires-Dist: huggingface_hub<0.31
|
|
48
48
|
Requires-Dist: iterative-telemetry>=0.0.10
|
|
49
49
|
Requires-Dist: platformdirs
|
|
50
50
|
Requires-Dist: dvc-studio-client<1,>=0.21
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
def test_dataset_stats_no_table(cloud_test_catalog, dogs_dataset):
|
|
2
2
|
catalog = cloud_test_catalog.catalog
|
|
3
|
-
catalog.warehouse.drop_dataset_rows_table(dogs_dataset, 1)
|
|
4
|
-
num_objects, size = catalog.warehouse.dataset_stats(dogs_dataset, 1)
|
|
3
|
+
catalog.warehouse.drop_dataset_rows_table(dogs_dataset, version="1.0.0")
|
|
4
|
+
num_objects, size = catalog.warehouse.dataset_stats(dogs_dataset, version="1.0.0")
|
|
5
5
|
assert num_objects is None
|
|
6
6
|
assert size is None
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|