Full Code of treeverse/dvc for AI

main a65523a86a3c cached
591 files
2.9 MB
792.0k tokens
4727 symbols
1 requests
Download .txt
Showing preview only (3,156K chars total). Download the full file or copy to clipboard to get everything.
Repository: treeverse/dvc
Branch: main
Commit: a65523a86a3c
Files: 591
Total size: 2.9 MB

Directory structure:
gitextract_ngf1xy55/

├── .dvc/
│   ├── .gitignore
│   └── config
├── .dvcignore
├── .git-blame-ignore-revs
├── .git_archival.txt
├── .gitattributes
├── .github/
│   ├── .test_durations
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.md
│   │   ├── config.yml
│   │   └── feature_request.md
│   ├── PULL_REQUEST_TEMPLATE.md
│   ├── codecov.yml
│   ├── dependabot.yml
│   ├── release.yml
│   └── workflows/
│       ├── benchmarks.yaml
│       ├── build.yaml
│       ├── codeql.yml
│       ├── plugin_tests.yaml
│       └── tests.yaml
├── .gitignore
├── .mailmap
├── .pre-commit-config.yaml
├── .pre-commit-hooks.yaml
├── .zenodo.json
├── CITATION.cff
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.rst
├── dvc/
│   ├── __init__.py
│   ├── __main__.py
│   ├── __pyinstaller/
│   │   ├── __init__.py
│   │   ├── hook-asyncssh.py
│   │   ├── hook-celery.py
│   │   ├── hook-dvc.py
│   │   ├── hook-dvc.utils.flatten.py
│   │   ├── hook-dvc_task.py
│   │   ├── hook-fsspec.py
│   │   └── hook-pydrive2.py
│   ├── _debug.py
│   ├── analytics.py
│   ├── annotations.py
│   ├── api/
│   │   ├── __init__.py
│   │   ├── artifacts.py
│   │   ├── data.py
│   │   ├── dataset.py
│   │   ├── experiments.py
│   │   ├── scm.py
│   │   └── show.py
│   ├── build.py
│   ├── cachemgr.py
│   ├── cli/
│   │   ├── __init__.py
│   │   ├── command.py
│   │   ├── completion.py
│   │   ├── formatter.py
│   │   ├── parser.py
│   │   └── utils.py
│   ├── commands/
│   │   ├── __init__.py
│   │   ├── add.py
│   │   ├── artifacts.py
│   │   ├── cache.py
│   │   ├── check_ignore.py
│   │   ├── checkout.py
│   │   ├── commit.py
│   │   ├── completion.py
│   │   ├── config.py
│   │   ├── daemon.py
│   │   ├── dag.py
│   │   ├── data.py
│   │   ├── data_sync.py
│   │   ├── dataset.py
│   │   ├── destroy.py
│   │   ├── diff.py
│   │   ├── du.py
│   │   ├── experiments/
│   │   │   ├── __init__.py
│   │   │   ├── apply.py
│   │   │   ├── branch.py
│   │   │   ├── clean.py
│   │   │   ├── diff.py
│   │   │   ├── exec_run.py
│   │   │   ├── ls.py
│   │   │   ├── pull.py
│   │   │   ├── push.py
│   │   │   ├── queue_worker.py
│   │   │   ├── remove.py
│   │   │   ├── rename.py
│   │   │   ├── run.py
│   │   │   ├── save.py
│   │   │   └── show.py
│   │   ├── freeze.py
│   │   ├── gc.py
│   │   ├── get.py
│   │   ├── get_url.py
│   │   ├── git_hook.py
│   │   ├── imp.py
│   │   ├── imp_db.py
│   │   ├── imp_url.py
│   │   ├── init.py
│   │   ├── install.py
│   │   ├── ls/
│   │   │   ├── __init__.py
│   │   │   └── ls_colors.py
│   │   ├── ls_url.py
│   │   ├── metrics.py
│   │   ├── move.py
│   │   ├── params.py
│   │   ├── plots.py
│   │   ├── queue/
│   │   │   ├── __init__.py
│   │   │   ├── kill.py
│   │   │   ├── logs.py
│   │   │   ├── remove.py
│   │   │   ├── start.py
│   │   │   ├── status.py
│   │   │   └── stop.py
│   │   ├── remote.py
│   │   ├── remove.py
│   │   ├── repro.py
│   │   ├── root.py
│   │   ├── stage.py
│   │   ├── status.py
│   │   ├── studio.py
│   │   ├── unprotect.py
│   │   ├── update.py
│   │   └── version.py
│   ├── compare.py
│   ├── config.py
│   ├── config_schema.py
│   ├── daemon.py
│   ├── dagascii.py
│   ├── data_cloud.py
│   ├── database.py
│   ├── dependency/
│   │   ├── __init__.py
│   │   ├── base.py
│   │   ├── dataset.py
│   │   ├── db.py
│   │   ├── param.py
│   │   └── repo.py
│   ├── dirs.py
│   ├── dvcfile.py
│   ├── env.py
│   ├── exceptions.py
│   ├── fs/
│   │   ├── __init__.py
│   │   ├── callbacks.py
│   │   ├── data.py
│   │   ├── dvc.py
│   │   ├── dvc_path.py
│   │   └── git.py
│   ├── ignore.py
│   ├── info.py
│   ├── lock.py
│   ├── log.py
│   ├── logger.py
│   ├── output.py
│   ├── parsing/
│   │   ├── __init__.py
│   │   ├── context.py
│   │   └── interpolate.py
│   ├── pathspec_math.py
│   ├── progress.py
│   ├── prompt.py
│   ├── render/
│   │   ├── __init__.py
│   │   ├── convert.py
│   │   ├── converter/
│   │   │   ├── __init__.py
│   │   │   ├── image.py
│   │   │   └── vega.py
│   │   └── match.py
│   ├── repo/
│   │   ├── __init__.py
│   │   ├── add.py
│   │   ├── artifacts.py
│   │   ├── brancher.py
│   │   ├── cache.py
│   │   ├── checkout.py
│   │   ├── collect.py
│   │   ├── commit.py
│   │   ├── data.py
│   │   ├── datasets.py
│   │   ├── destroy.py
│   │   ├── diff.py
│   │   ├── du.py
│   │   ├── experiments/
│   │   │   ├── __init__.py
│   │   │   ├── apply.py
│   │   │   ├── branch.py
│   │   │   ├── brancher.py
│   │   │   ├── cache.py
│   │   │   ├── clean.py
│   │   │   ├── collect.py
│   │   │   ├── diff.py
│   │   │   ├── exceptions.py
│   │   │   ├── executor/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── base.py
│   │   │   │   └── local.py
│   │   │   ├── ls.py
│   │   │   ├── pull.py
│   │   │   ├── push.py
│   │   │   ├── queue/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── base.py
│   │   │   │   ├── celery.py
│   │   │   │   ├── exceptions.py
│   │   │   │   ├── remove.py
│   │   │   │   ├── tasks.py
│   │   │   │   ├── tempdir.py
│   │   │   │   ├── utils.py
│   │   │   │   └── workspace.py
│   │   │   ├── refs.py
│   │   │   ├── remove.py
│   │   │   ├── rename.py
│   │   │   ├── run.py
│   │   │   ├── save.py
│   │   │   ├── serialize.py
│   │   │   ├── show.py
│   │   │   ├── stash.py
│   │   │   └── utils.py
│   │   ├── fetch.py
│   │   ├── freeze.py
│   │   ├── gc.py
│   │   ├── get.py
│   │   ├── get_url.py
│   │   ├── graph.py
│   │   ├── imp.py
│   │   ├── imp_db.py
│   │   ├── imp_url.py
│   │   ├── index.py
│   │   ├── init.py
│   │   ├── install.py
│   │   ├── ls.py
│   │   ├── ls_url.py
│   │   ├── metrics/
│   │   │   ├── __init__.py
│   │   │   ├── diff.py
│   │   │   └── show.py
│   │   ├── move.py
│   │   ├── open_repo.py
│   │   ├── params/
│   │   │   ├── __init__.py
│   │   │   ├── diff.py
│   │   │   └── show.py
│   │   ├── plots/
│   │   │   ├── __init__.py
│   │   │   └── diff.py
│   │   ├── pull.py
│   │   ├── push.py
│   │   ├── remove.py
│   │   ├── reproduce.py
│   │   ├── run.py
│   │   ├── scm_context.py
│   │   ├── stage.py
│   │   ├── status.py
│   │   ├── trie.py
│   │   ├── update.py
│   │   └── worktree.py
│   ├── rwlock.py
│   ├── schema.py
│   ├── scm.py
│   ├── stage/
│   │   ├── __init__.py
│   │   ├── cache.py
│   │   ├── decorators.py
│   │   ├── exceptions.py
│   │   ├── imports.py
│   │   ├── loader.py
│   │   ├── params.py
│   │   ├── run.py
│   │   ├── serialize.py
│   │   └── utils.py
│   ├── testing/
│   │   ├── README.rst
│   │   ├── __init__.py
│   │   ├── api_tests.py
│   │   ├── benchmarks/
│   │   │   ├── __init__.py
│   │   │   ├── api/
│   │   │   │   └── __init__.py
│   │   │   ├── cli/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── commands/
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   ├── test_add.py
│   │   │   │   │   ├── test_checkout.py
│   │   │   │   │   ├── test_data_status.py
│   │   │   │   │   ├── test_diff.py
│   │   │   │   │   ├── test_exp_show.py
│   │   │   │   │   ├── test_fetch.py
│   │   │   │   │   ├── test_gc.py
│   │   │   │   │   ├── test_get.py
│   │   │   │   │   ├── test_get_url.py
│   │   │   │   │   ├── test_help.py
│   │   │   │   │   ├── test_import.py
│   │   │   │   │   ├── test_import_url.py
│   │   │   │   │   ├── test_init.py
│   │   │   │   │   ├── test_ls.py
│   │   │   │   │   ├── test_plots.py
│   │   │   │   │   ├── test_push.py
│   │   │   │   │   ├── test_status.py
│   │   │   │   │   └── test_update.py
│   │   │   │   └── stories/
│   │   │   │       ├── __init__.py
│   │   │   │       ├── test_modify_data.py
│   │   │   │       └── use_cases/
│   │   │   │           ├── __init__.py
│   │   │   │           └── test_sharing.py
│   │   │   ├── conftest.py
│   │   │   ├── fixtures.py
│   │   │   └── plugin.py
│   │   ├── cloud.py
│   │   ├── conftest.py
│   │   ├── fixtures.py
│   │   ├── matchers.py
│   │   ├── path_info.py
│   │   ├── plugin.py
│   │   ├── remote_tests.py
│   │   ├── scripts.py
│   │   ├── tmp_dir.py
│   │   └── workspace_tests.py
│   ├── types.py
│   ├── ui/
│   │   ├── __init__.py
│   │   ├── _rich_progress.py
│   │   ├── pager.py
│   │   └── table.py
│   ├── updater.py
│   ├── utils/
│   │   ├── .gitignore
│   │   ├── __init__.py
│   │   ├── cli_parse.py
│   │   ├── collections.py
│   │   ├── diff.py
│   │   ├── flatten.py
│   │   ├── fs.py
│   │   ├── humanize.py
│   │   ├── hydra.py
│   │   ├── objects.py
│   │   ├── packaging.py
│   │   ├── plots.py
│   │   ├── serialize/
│   │   │   ├── __init__.py
│   │   │   ├── _common.py
│   │   │   ├── _json.py
│   │   │   ├── _py.py
│   │   │   ├── _toml.py
│   │   │   └── _yaml.py
│   │   ├── strictyaml.py
│   │   ├── studio.py
│   │   ├── table.py
│   │   └── threadpool.py
│   └── version.py
├── pyproject.toml
└── tests/
    ├── __init__.py
    ├── conftest.py
    ├── dir_helpers.py
    ├── docker-compose.yml
    ├── func/
    │   ├── __init__.py
    │   ├── api/
    │   │   ├── __init__.py
    │   │   ├── test_artifacts.py
    │   │   ├── test_data.py
    │   │   ├── test_experiments.py
    │   │   ├── test_scm.py
    │   │   └── test_show.py
    │   ├── artifacts/
    │   │   ├── __init__.py
    │   │   └── test_artifacts.py
    │   ├── data/
    │   │   ├── __init__.py
    │   │   └── db/
    │   │       ├── __init__.py
    │   │       └── test_index.py
    │   ├── experiments/
    │   │   ├── __init__.py
    │   │   ├── conftest.py
    │   │   ├── executor/
    │   │   │   └── __init__.py
    │   │   ├── test_apply.py
    │   │   ├── test_diff.py
    │   │   ├── test_experiments.py
    │   │   ├── test_queue.py
    │   │   ├── test_remote.py
    │   │   ├── test_remove.py
    │   │   ├── test_rename.py
    │   │   ├── test_save.py
    │   │   ├── test_set_params.py
    │   │   ├── test_show.py
    │   │   ├── test_stash_exp.py
    │   │   └── test_utils.py
    │   ├── metrics/
    │   │   ├── __init__.py
    │   │   ├── test_diff.py
    │   │   └── test_show.py
    │   ├── params/
    │   │   ├── __init__.py
    │   │   ├── test_diff.py
    │   │   └── test_show.py
    │   ├── parsing/
    │   │   ├── __init__.py
    │   │   ├── test_errors.py
    │   │   ├── test_foreach.py
    │   │   ├── test_interpolated_entry.py
    │   │   ├── test_matrix.py
    │   │   ├── test_resolver.py
    │   │   └── test_top_level.py
    │   ├── plots/
    │   │   ├── __init__.py
    │   │   ├── test_collect.py
    │   │   ├── test_diff.py
    │   │   ├── test_modify.py
    │   │   └── test_show.py
    │   ├── repro/
    │   │   ├── __init__.py
    │   │   ├── test_repro.py
    │   │   ├── test_repro_allow_missing.py
    │   │   └── test_repro_pull.py
    │   ├── test_add.py
    │   ├── test_analytics.py
    │   ├── test_check_ignore.py
    │   ├── test_checkout.py
    │   ├── test_cli.py
    │   ├── test_commit.py
    │   ├── test_config.py
    │   ├── test_daemon.py
    │   ├── test_data_cloud.py
    │   ├── test_data_status.py
    │   ├── test_dataset.py
    │   ├── test_diff.py
    │   ├── test_download.py
    │   ├── test_du.py
    │   ├── test_dvcfile.py
    │   ├── test_external_repo.py
    │   ├── test_fs.py
    │   ├── test_gc.py
    │   ├── test_get.py
    │   ├── test_get_url.py
    │   ├── test_ignore.py
    │   ├── test_import.py
    │   ├── test_import_db.py
    │   ├── test_import_url.py
    │   ├── test_init.py
    │   ├── test_install.py
    │   ├── test_lock.py
    │   ├── test_lockfile.py
    │   ├── test_ls.py
    │   ├── test_ls_url.py
    │   ├── test_merge_driver.py
    │   ├── test_move.py
    │   ├── test_odb.py
    │   ├── test_remote.py
    │   ├── test_remove.py
    │   ├── test_repo.py
    │   ├── test_repo_index.py
    │   ├── test_root.py
    │   ├── test_run.py
    │   ├── test_run_cache.py
    │   ├── test_scm.py
    │   ├── test_scm_context.py
    │   ├── test_stage.py
    │   ├── test_stage_load.py
    │   ├── test_state.py
    │   ├── test_status.py
    │   ├── test_unprotect.py
    │   ├── test_update.py
    │   ├── test_used_objs.py
    │   ├── test_utils.py
    │   ├── test_version.py
    │   ├── test_virtual_directory.py
    │   └── utils/
    │       ├── __init__.py
    │       ├── test_hydra.py
    │       └── test_strict_yaml.py
    ├── integration/
    │   ├── __init__.py
    │   ├── conftest.py
    │   ├── plots/
    │   │   ├── __init__.py
    │   │   ├── conftest.py
    │   │   ├── test_plots.py
    │   │   └── test_repo_plots_api.py
    │   └── test_studio_live_experiments.py
    ├── remotes/
    │   ├── __init__.py
    │   ├── git-init/
    │   │   └── git.sh
    │   ├── git_server.py
    │   ├── user.key
    │   └── user.key.pub
    ├── remotes_env.sample
    ├── scripts.py
    ├── unit/
    │   ├── __init__.py
    │   ├── cli/
    │   │   ├── __init__.py
    │   │   └── test_main.py
    │   ├── command/
    │   │   ├── __init__.py
    │   │   ├── ls/
    │   │   │   ├── __init__.py
    │   │   │   ├── test_ls.py
    │   │   │   └── test_ls_colors.py
    │   │   ├── test_add.py
    │   │   ├── test_cache.py
    │   │   ├── test_checkout.py
    │   │   ├── test_compat_flag.py
    │   │   ├── test_completion.py
    │   │   ├── test_config.py
    │   │   ├── test_dag.py
    │   │   ├── test_data_status.py
    │   │   ├── test_data_sync.py
    │   │   ├── test_dataset.py
    │   │   ├── test_diff.py
    │   │   ├── test_du.py
    │   │   ├── test_experiments.py
    │   │   ├── test_gc.py
    │   │   ├── test_get.py
    │   │   ├── test_get_url.py
    │   │   ├── test_git_hook.py
    │   │   ├── test_help.py
    │   │   ├── test_imp.py
    │   │   ├── test_imp_url.py
    │   │   ├── test_ls_url.py
    │   │   ├── test_metrics.py
    │   │   ├── test_params.py
    │   │   ├── test_plots.py
    │   │   ├── test_queue.py
    │   │   ├── test_repro.py
    │   │   ├── test_stage.py
    │   │   ├── test_status.py
    │   │   ├── test_studio.py
    │   │   └── test_update.py
    │   ├── data/
    │   │   ├── __init__.py
    │   │   └── db/
    │   │       ├── __init__.py
    │   │       └── test_local.py
    │   ├── dependency/
    │   │   ├── __init__.py
    │   │   ├── test_dependency.py
    │   │   └── test_params.py
    │   ├── fs/
    │   │   ├── __init__.py
    │   │   ├── test_base.py
    │   │   ├── test_data.py
    │   │   ├── test_dvc.py
    │   │   ├── test_dvc_info.py
    │   │   ├── test_dvcfs.py
    │   │   ├── test_fs.py
    │   │   └── test_tree.py
    │   ├── output/
    │   │   ├── __init__.py
    │   │   ├── test_annotations.py
    │   │   ├── test_load.py
    │   │   ├── test_local.py
    │   │   └── test_output.py
    │   ├── remote/
    │   │   ├── __init__.py
    │   │   ├── test_oss.py
    │   │   ├── test_remote.py
    │   │   ├── test_webdav.py
    │   │   └── test_webhdfs.py
    │   ├── render/
    │   │   ├── __init__.py
    │   │   ├── test_convert.py
    │   │   ├── test_image_converter.py
    │   │   ├── test_match.py
    │   │   └── test_vega_converter.py
    │   ├── repo/
    │   │   ├── __init__.py
    │   │   ├── experiments/
    │   │   │   ├── __init__.py
    │   │   │   ├── conftest.py
    │   │   │   ├── queue/
    │   │   │   │   ├── __init__.py
    │   │   │   │   ├── test_celery.py
    │   │   │   │   └── test_remove.py
    │   │   │   ├── test_collect.py
    │   │   │   ├── test_executor_status.py
    │   │   │   ├── test_remove.py
    │   │   │   └── test_utils.py
    │   │   ├── plots/
    │   │   │   ├── __init__.py
    │   │   │   └── test_diff.py
    │   │   ├── test_graph.py
    │   │   ├── test_open_repo.py
    │   │   ├── test_repo.py
    │   │   ├── test_reproduce.py
    │   │   └── test_scm_context.py
    │   ├── scm/
    │   │   ├── __init__.py
    │   │   └── test_scm.py
    │   ├── stage/
    │   │   ├── __init__.py
    │   │   ├── test_cache.py
    │   │   ├── test_loader_pipeline_file.py
    │   │   ├── test_run.py
    │   │   ├── test_serialize_pipeline_file.py
    │   │   ├── test_serialize_pipeline_lock.py
    │   │   ├── test_stage.py
    │   │   └── test_utils.py
    │   ├── test_analytics.py
    │   ├── test_api.py
    │   ├── test_collect.py
    │   ├── test_compare.py
    │   ├── test_config.py
    │   ├── test_context.py
    │   ├── test_daemon.py
    │   ├── test_dirs.py
    │   ├── test_dvcfile.py
    │   ├── test_hashinfo.py
    │   ├── test_ignore.py
    │   ├── test_imports.py
    │   ├── test_info.py
    │   ├── test_interpolate.py
    │   ├── test_lockfile.py
    │   ├── test_logger.py
    │   ├── test_metrics.py
    │   ├── test_params.py
    │   ├── test_pathspec_math.py
    │   ├── test_progress.py
    │   ├── test_prompt.py
    │   ├── test_run.py
    │   ├── test_rwlock.py
    │   ├── test_scm.py
    │   ├── test_tabular_data.py
    │   ├── test_updater.py
    │   ├── ui/
    │   │   ├── __init__.py
    │   │   ├── test_console.py
    │   │   ├── test_pager.py
    │   │   └── test_table.py
    │   └── utils/
    │       ├── __init__.py
    │       ├── serialize/
    │       │   ├── __init__.py
    │       │   ├── test_python.py
    │       │   ├── test_toml.py
    │       │   └── test_yaml.py
    │       ├── test_cli_parse.py
    │       ├── test_collections.py
    │       ├── test_executors.py
    │       ├── test_fs.py
    │       ├── test_humanize.py
    │       ├── test_plots.py
    │       ├── test_studio.py
    │       └── test_utils.py
    └── utils/
        ├── __init__.py
        ├── asserts.py
        └── plots.py

================================================
FILE CONTENTS
================================================

================================================
FILE: .dvc/.gitignore
================================================
/config.local
/tmp
/cache


================================================
FILE: .dvc/config
================================================


================================================
FILE: .dvcignore
================================================
/tests
/dvc
/.github


================================================
FILE: .git-blame-ignore-revs
================================================
# The following commits will be ignored by the GitHub blame view.
# You can configure `git blame` to use this file as the default ignore file:
#     git config blame.ignoreRevsFile .git-blame-ignore-revs
# or, you can also manually ignore commits from this file by doing:
#     git blame --ignore-revs-file .git-blame-ignore-revs <filepath>
# see the `blame.markIgnoredLines` and `blame.markUnblamableLines` options as well.
# Refer to: https://git-scm.com/docs/git-blame#Documentation/git-blame.txt---ignore-revs-fileltfilegt

# update black to 2023 stable style and change line-length to 88
a86470ccbc693d6f0a4f8066cbd1357e5191c4ff


================================================
FILE: .git_archival.txt
================================================
node: $Format:%H$
node-date: $Format:%cI$
describe-name: $Format:%(describe:tags=true)$
ref-names: $Format:%D$


================================================
FILE: .gitattributes
================================================
.git_archival.txt  export-subst


================================================
FILE: .github/.test_durations
================================================
{
    "tests/func/api/test_artifacts.py::test_artifacts_show[]": 0.6690752999999994,
    "tests/func/api/test_artifacts.py::test_artifacts_show[sub]": 1.3406024999999993,
    "tests/func/api/test_artifacts.py::test_artifacts_show_subrepo[]": 0.7644723000000031,
    "tests/func/api/test_artifacts.py::test_artifacts_show_subrepo[sub]": 0.8369741000000008,
    "tests/func/api/test_data.py::TestAPI::test_filesystem[current-cache]": 0.7119634999999978,
    "tests/func/api/test_data.py::TestAPI::test_filesystem[current-no_cache]": 0.7142162999999968,
    "tests/func/api/test_data.py::TestAPI::test_filesystem[git-cache]": 0.8079615999999987,
    "tests/func/api/test_data.py::TestAPI::test_filesystem[git-no_cache]": 1.2323302999999974,
    "tests/func/api/test_data.py::TestAPI::test_filesystem[git_rev-cache]": 1.436392699999999,
    "tests/func/api/test_data.py::TestAPI::test_filesystem[git_rev-no_cache]": 1.2994606999999974,
    "tests/func/api/test_data.py::TestAPI::test_filesystem[local-cache]": 0.7356022999999965,
    "tests/func/api/test_data.py::TestAPI::test_filesystem[local-no_cache]": 1.1919572000000045,
    "tests/func/api/test_data.py::TestAPI::test_filesystem[local_rev-cache]": 0.8559640000000037,
    "tests/func/api/test_data.py::TestAPI::test_filesystem[local_rev-no_cache]": 0.713584400000002,
    "tests/func/api/test_data.py::TestAPI::test_get_url": 0.5835055000000011,
    "tests/func/api/test_data.py::TestAPI::test_open": 0.6204048000000011,
    "tests/func/api/test_data.py::test_api_missing_local_cache_exists_on_remote[file-False]": 0.6519310000000011,
    "tests/func/api/test_data.py::test_api_missing_local_cache_exists_on_remote[file-True]": 0.7536261999999994,
    "tests/func/api/test_data.py::test_api_missing_local_cache_exists_on_remote[inside-dir-False]": 0.7582351000000003,
    "tests/func/api/test_data.py::test_api_missing_local_cache_exists_on_remote[inside-dir-True]": 0.8035712000000004,
    "tests/func/api/test_data.py::test_get_url_external": 1.0128078999999985,
    "tests/func/api/test_data.py::test_get_url_from_remote": 0.8396529000000044,
    "tests/func/api/test_data.py::test_get_url_granular": 0.6913349999999951,
    "tests/func/api/test_data.py::test_get_url_requires_dvc": 0.34330409999999745,
    "tests/func/api/test_data.py::test_get_url_subrepos": 1.2583151999999984,
    "tests/func/api/test_data.py::test_missing": 0.4301550999999968,
    "tests/func/api/test_data.py::test_open_external": 1.0483930000000008,
    "tests/func/api/test_data.py::test_open_from_remote": 1.031453599999999,
    "tests/func/api/test_data.py::test_open_granular": 0.47627430000000004,
    "tests/func/api/test_data.py::test_open_not_cached": 0.4482658999999991,
    "tests/func/api/test_data.py::test_open_rev": 0.2935205000000032,
    "tests/func/api/test_data.py::test_open_scm_controlled": 0.2779954000000018,
    "tests/func/api/test_data.py::test_read_from_remote": 1.1489083000000022,
    "tests/func/api/test_data.py::test_read_with_subrepos[False]": 1.9086240000000103,
    "tests/func/api/test_data.py::test_read_with_subrepos[True]": 1.2316525000000027,
    "tests/func/api/test_experiments.py::test_exp_save": 1.126176700000002,
    "tests/func/api/test_experiments.py::test_exp_show": 0.7599229999999935,
    "tests/func/api/test_scm.py::test_all_branches": 0.36340509999998716,
    "tests/func/api/test_scm.py::test_all_commits": 0.9080075000000036,
    "tests/func/api/test_scm.py::test_all_tags": 0.32061440000000374,
    "tests/func/api/test_show.py::test_metrics_show_dirty_working_dir": 1.962079800000005,
    "tests/func/api/test_show.py::test_metrics_show_no_args": 1.889685600000007,
    "tests/func/api/test_show.py::test_metrics_show_no_metrics_found": 0.28593630000000303,
    "tests/func/api/test_show.py::test_metrics_show_rev_with_metrics": 2.2642164000000022,
    "tests/func/api/test_show.py::test_metrics_show_rev_without_metrics": 1.8105644999999981,
    "tests/func/api/test_show.py::test_metrics_show_targets": 2.152608200000003,
    "tests/func/api/test_show.py::test_params_show_deps": 0.7593096000000017,
    "tests/func/api/test_show.py::test_params_show_no_args": 0.8288500999999968,
    "tests/func/api/test_show.py::test_params_show_no_params_found": 0.42213559999999717,
    "tests/func/api/test_show.py::test_params_show_repo": 0.5701109999999971,
    "tests/func/api/test_show.py::test_params_show_revs": 0.7689407999999958,
    "tests/func/api/test_show.py::test_params_show_stage_addressing": 0.5756270999999984,
    "tests/func/api/test_show.py::test_params_show_stage_without_params": 0.32598780000000005,
    "tests/func/api/test_show.py::test_params_show_stages": 1.3495361999999957,
    "tests/func/api/test_show.py::test_params_show_targets": 1.131466500000002,
    "tests/func/api/test_show.py::test_params_show_untracked_target": 0.874395799999995,
    "tests/func/api/test_show.py::test_params_show_while_running_stage": 0.9435678999999979,
    "tests/func/artifacts/test_artifacts.py::test_artifacts_add_abspath": 0.1416759999999968,
    "tests/func/artifacts/test_artifacts.py::test_artifacts_add_fails_on_dvc_subrepo": 0.1239182999999926,
    "tests/func/artifacts/test_artifacts.py::test_artifacts_add_subdir": 0.1774754999999999,
    "tests/func/artifacts/test_artifacts.py::test_artifacts_download[]": 0.9987292999999937,
    "tests/func/artifacts/test_artifacts.py::test_artifacts_download[sub]": 1.0444975999999997,
    "tests/func/artifacts/test_artifacts.py::test_artifacts_download_studio": 0.13496169999999097,
    "tests/func/artifacts/test_artifacts.py::test_artifacts_download_subrepo[]": 1.1816100999999861,
    "tests/func/artifacts/test_artifacts.py::test_artifacts_download_subrepo[sub]": 1.5492141000000004,
    "tests/func/artifacts/test_artifacts.py::test_artifacts_read_bad_name": 0.13257700000000483,
    "tests/func/artifacts/test_artifacts.py::test_artifacts_read_fails_on_id_duplication": 0.12151710000000548,
    "tests/func/artifacts/test_artifacts.py::test_artifacts_read_subdir": 0.14055419999999685,
    "tests/func/artifacts/test_artifacts.py::test_broken_dvcyaml_extra_field[bad_dvcyaml0]": 0.14516059999999698,
    "tests/func/artifacts/test_artifacts.py::test_broken_dvcyaml_extra_field[bad_dvcyaml1]": 0.12352989999997988,
    "tests/func/artifacts/test_artifacts.py::test_get_path": 0.19403669999999806,
    "tests/func/artifacts/test_artifacts.py::test_get_path_subrepo": 0.603105400000004,
    "tests/func/artifacts/test_artifacts.py::test_get_rev": 0.22633340000000146,
    "tests/func/artifacts/test_artifacts.py::test_name_is_compatible[1]": 0.0032751000000104113,
    "tests/func/artifacts/test_artifacts.py::test_name_is_compatible[1nn]": 0.0029597000000052276,
    "tests/func/artifacts/test_artifacts.py::test_name_is_compatible[m1]": 0.0030679999999847496,
    "tests/func/artifacts/test_artifacts.py::test_name_is_compatible[m]": 0.0034961999999865156,
    "tests/func/artifacts/test_artifacts.py::test_name_is_compatible[model-prod-v1]": 0.0029481000000117774,
    "tests/func/artifacts/test_artifacts.py::test_name_is_compatible[model-prod]": 0.003120100000003845,
    "tests/func/artifacts/test_artifacts.py::test_name_is_compatible[nn]": 0.003020700000007537,
    "tests/func/artifacts/test_artifacts.py::test_name_is_compatible_fails[###]": 0.0029940000000010514,
    "tests/func/artifacts/test_artifacts.py::test_name_is_compatible_fails[-model]": 0.0030767999999881113,
    "tests/func/artifacts/test_artifacts.py::test_name_is_compatible_fails[/m]": 0.003051200000001586,
    "tests/func/artifacts/test_artifacts.py::test_name_is_compatible_fails[@@@]": 0.0030206000000134736,
    "tests/func/artifacts/test_artifacts.py::test_name_is_compatible_fails[@namespace/model]": 0.0036754999999999427,
    "tests/func/artifacts/test_artifacts.py::test_name_is_compatible_fails[]": 0.003089799999997922,
    "tests/func/artifacts/test_artifacts.py::test_name_is_compatible_fails[a model]": 0.003036399999984951,
    "tests/func/artifacts/test_artifacts.py::test_name_is_compatible_fails[m/]": 0.003116800000000808,
    "tests/func/artifacts/test_artifacts.py::test_name_is_compatible_fails[model#1]": 0.0030410000000102855,
    "tests/func/artifacts/test_artifacts.py::test_name_is_compatible_fails[model-]": 0.0030069999999966512,
    "tests/func/artifacts/test_artifacts.py::test_name_is_compatible_fails[model@1]": 0.003050500000000511,
    "tests/func/artifacts/test_artifacts.py::test_parametrized": 0.29747580000001506,
    "tests/func/data/db/test_index.py::test_clear_on_download_err": 0.4539134000000189,
    "tests/func/data/db/test_index.py::test_clear_on_gc": 0.43299960000000226,
    "tests/func/data/db/test_index.py::test_indexed_dir_missing": 0.33903929999999605,
    "tests/func/data/db/test_index.py::test_indexed_on_push": 0.45842240000001766,
    "tests/func/data/db/test_index.py::test_indexed_on_status": 0.47928760000000636,
    "tests/func/data/db/test_index.py::test_partial_upload": 0.5441733999999911,
    "tests/func/experiments/test_apply.py::test_apply": 3.0489364999999964,
    "tests/func/experiments/test_apply.py::test_apply_failed": 0.7756726000000072,
    "tests/func/experiments/test_apply.py::test_apply_queued": 1.3775269999999864,
    "tests/func/experiments/test_apply.py::test_apply_unchanged_head": 2.3483619999999803,
    "tests/func/experiments/test_apply.py::test_apply_untracked": 1.7779260000000079,
    "tests/func/experiments/test_diff.py::test_diff_empty": 0.6685833000000088,
    "tests/func/experiments/test_diff.py::test_diff_exp": 2.169962599999991,
    "tests/func/experiments/test_diff.py::test_diff_head": 1.3638808000000182,
    "tests/func/experiments/test_experiments.py::test_branch": 2.1533368000000053,
    "tests/func/experiments/test_experiments.py::test_checkout_targets_deps": 1.6357962000000157,
    "tests/func/experiments/test_experiments.py::test_clean": 0.1494907000000012,
    "tests/func/experiments/test_experiments.py::test_copy_paths[False]": 0.8107860000000358,
    "tests/func/experiments/test_experiments.py::test_copy_paths[True]": 1.135548200000045,
    "tests/func/experiments/test_experiments.py::test_copy_paths_errors": 0.9207782000000009,
    "tests/func/experiments/test_experiments.py::test_custom_commit_message[False]": 0.9768105000000276,
    "tests/func/experiments/test_experiments.py::test_custom_commit_message[True]": 1.2530415000000232,
    "tests/func/experiments/test_experiments.py::test_detached_parent": 1.9396536999999938,
    "tests/func/experiments/test_experiments.py::test_exp_run_recursive": 1.1496640000000298,
    "tests/func/experiments/test_experiments.py::test_experiment_exists[False]": 2.698194200000003,
    "tests/func/experiments/test_experiments.py::test_experiment_exists[True]": 2.0226000000000255,
    "tests/func/experiments/test_experiments.py::test_experiment_name_invalid": 0.43865630000001943,
    "tests/func/experiments/test_experiments.py::test_experiment_no_commit": 0.36042209999999386,
    "tests/func/experiments/test_experiments.py::test_experiment_run_dry": 1.1187728000000448,
    "tests/func/experiments/test_experiments.py::test_experiment_unchanged": 1.5600346999999886,
    "tests/func/experiments/test_experiments.py::test_experiments_workspace_not_log_exception": 0.4825525000000255,
    "tests/func/experiments/test_experiments.py::test_failed_exp_workspace": 0.8329308999999938,
    "tests/func/experiments/test_experiments.py::test_file_permissions": 0.0012947000000025355,
    "tests/func/experiments/test_experiments.py::test_fix_exp_head[]": 0.025993000000028132,
    "tests/func/experiments/test_experiments.py::test_fix_exp_head[^]": 0.030619200000018054,
    "tests/func/experiments/test_experiments.py::test_fix_exp_head[~1]": 0.04737730000002216,
    "tests/func/experiments/test_experiments.py::test_get_baseline": 2.717492400000012,
    "tests/func/experiments/test_experiments.py::test_list": 3.138903099999993,
    "tests/func/experiments/test_experiments.py::test_local_config_is_propagated_to_tmp": 0.9434146000000396,
    "tests/func/experiments/test_experiments.py::test_mixed_git_dvc_out": 1.5312878000000012,
    "tests/func/experiments/test_experiments.py::test_modified_data_dep[False-foo: 1-False]": 2.0527747999999804,
    "tests/func/experiments/test_experiments.py::test_modified_data_dep[False-foo: 1-True]": 2.294647700000013,
    "tests/func/experiments/test_experiments.py::test_modified_data_dep[False-foo: 2-False]": 2.230488899999955,
    "tests/func/experiments/test_experiments.py::test_modified_data_dep[False-foo: 2-True]": 1.8093015999999693,
    "tests/func/experiments/test_experiments.py::test_modified_data_dep[True-foo: 1-False]": 1.7912287000000333,
    "tests/func/experiments/test_experiments.py::test_modified_data_dep[True-foo: 1-True]": 1.4503267999999991,
    "tests/func/experiments/test_experiments.py::test_modified_data_dep[True-foo: 2-False]": 1.679704700000002,
    "tests/func/experiments/test_experiments.py::test_modified_data_dep[True-foo: 2-True]": 1.8077306999999792,
    "tests/func/experiments/test_experiments.py::test_new_simple[False-None]": 1.7895829999999933,
    "tests/func/experiments/test_experiments.py::test_new_simple[False-foo]": 1.5720811999999995,
    "tests/func/experiments/test_experiments.py::test_new_simple[True-None]": 3.114446799999996,
    "tests/func/experiments/test_experiments.py::test_new_simple[True-foo]": 1.5187964999999934,
    "tests/func/experiments/test_experiments.py::test_no_scm": 0.254213099999987,
    "tests/func/experiments/test_experiments.py::test_packed_args_exists": 1.1008666000000034,
    "tests/func/experiments/test_experiments.py::test_run_celery": 10.300323799999973,
    "tests/func/experiments/test_experiments.py::test_run_env": 1.2357240000000047,
    "tests/func/experiments/test_experiments.py::test_subdir[False]": 1.5404146000000196,
    "tests/func/experiments/test_experiments.py::test_subdir[True]": 1.3069993000000153,
    "tests/func/experiments/test_experiments.py::test_subrepo[False]": 2.0550482000000017,
    "tests/func/experiments/test_experiments.py::test_subrepo[True]": 1.5268956000000031,
    "tests/func/experiments/test_experiments.py::test_untracked[False]": 1.8188596999999902,
    "tests/func/experiments/test_experiments.py::test_untracked[True]": 1.2779773999999975,
    "tests/func/experiments/test_experiments.py::test_untracked_top_level_files_are_included_in_exp[False]": 0.7230959000000041,
    "tests/func/experiments/test_experiments.py::test_untracked_top_level_files_are_included_in_exp[True]": 0.9551126000000068,
    "tests/func/experiments/test_experiments.py::test_update_py_params": 3.051115799999991,
    "tests/func/experiments/test_queue.py::test_celery_logs[False]": 6.378822700000001,
    "tests/func/experiments/test_queue.py::test_celery_logs[True]": 4.388742000000036,
    "tests/func/experiments/test_queue.py::test_copy_paths_queue": 5.5122883999999885,
    "tests/func/experiments/test_queue.py::test_custom_commit_message_queue": 5.6898801000000105,
    "tests/func/experiments/test_queue.py::test_queue_doesnt_remove_untracked_params_file": 0.5072050999999931,
    "tests/func/experiments/test_remote.py::test_auth_error_list": 0.14862869999998907,
    "tests/func/experiments/test_remote.py::test_auth_error_pull": 0.15549210000000357,
    "tests/func/experiments/test_remote.py::test_auth_error_push": 1.2056490000000224,
    "tests/func/experiments/test_remote.py::test_auto_push_misconfigured": 2.3435677000000226,
    "tests/func/experiments/test_remote.py::test_auto_push_on_run[False-success]": 2.4090233999999953,
    "tests/func/experiments/test_remote.py::test_auto_push_on_run[True-up_to_date]": 2.7894929000000275,
    "tests/func/experiments/test_remote.py::test_auto_push_on_save[False-success]": 2.384592700000013,
    "tests/func/experiments/test_remote.py::test_auto_push_on_save[True-up_to_date]": 2.4866651000000104,
    "tests/func/experiments/test_remote.py::test_auto_push_tmp_dir": 2.711254000000025,
    "tests/func/experiments/test_remote.py::test_get[False]": 1.6720234999999946,
    "tests/func/experiments/test_remote.py::test_get[True]": 1.5247991999999613,
    "tests/func/experiments/test_remote.py::test_list_remote[False]": 3.433762700000017,
    "tests/func/experiments/test_remote.py::test_list_remote[True]": 3.2126294999999914,
    "tests/func/experiments/test_remote.py::test_pull[False]": 3.0422385000000247,
    "tests/func/experiments/test_remote.py::test_pull[True]": 3.176392099999987,
    "tests/func/experiments/test_remote.py::test_pull_ambiguous_name": 2.3352716999999927,
    "tests/func/experiments/test_remote.py::test_pull_args[False-True-None]": 2.8758509999999546,
    "tests/func/experiments/test_remote.py::test_pull_args[True-False-True]": 2.8549404000000322,
    "tests/func/experiments/test_remote.py::test_pull_diverged": 1.5577454999999816,
    "tests/func/experiments/test_remote.py::test_pull_multi_rev": 2.8295723000000237,
    "tests/func/experiments/test_remote.py::test_push[False]": 3.469447900000006,
    "tests/func/experiments/test_remote.py::test_push[True]": 3.1035360999999853,
    "tests/func/experiments/test_remote.py::test_push_ambiguous_name": 2.7821596,
    "tests/func/experiments/test_remote.py::test_push_args[False-True-None]": 3.2440407999999934,
    "tests/func/experiments/test_remote.py::test_push_args[True-False-True]": 3.3222015999999996,
    "tests/func/experiments/test_remote.py::test_push_diverged": 1.8917133999999578,
    "tests/func/experiments/test_remote.py::test_push_multi_rev": 3.2379070999999726,
    "tests/func/experiments/test_remote.py::test_push_pull_invalid_workspace": 1.779622499999988,
    "tests/func/experiments/test_remove.py::test_remove_all": 2.2928706999999804,
    "tests/func/experiments/test_remove.py::test_remove_all_queued_experiments": 1.9678789999999822,
    "tests/func/experiments/test_remove.py::test_remove_experiments_by_ref": 3.0080556000000342,
    "tests/func/experiments/test_remove.py::test_remove_experiments_by_rev": 2.64246559999998,
    "tests/func/experiments/test_remove.py::test_remove_multi_rev": 2.2034240999999497,
    "tests/func/experiments/test_remove.py::test_remove_remote[False]": 3.372327699999971,
    "tests/func/experiments/test_remove.py::test_remove_remote[True]": 3.4991858999999863,
    "tests/func/experiments/test_remove.py::test_remove_special_queued_experiments": 2.8150486000000114,
    "tests/func/experiments/test_rename.py::test_existing_name": 1.892558500000007,
    "tests/func/experiments/test_rename.py::test_invalid_name": 1.0761679999999956,
    "tests/func/experiments/test_rename.py::test_rename_experiment_by_name": 1.1512879999999655,
    "tests/func/experiments/test_rename.py::test_same_name": 1.0524115000000052,
    "tests/func/experiments/test_save.py::test_exp_save[None]": 0.756629299999986,
    "tests/func/experiments/test_save.py::test_exp_save[test]": 0.9682786999999848,
    "tests/func/experiments/test_save.py::test_exp_save_after_commit": 1.3312111000000186,
    "tests/func/experiments/test_save.py::test_exp_save_custom_message": 1.0982238999999936,
    "tests/func/experiments/test_save.py::test_exp_save_include_untracked": 0.77491729999997,
    "tests/func/experiments/test_save.py::test_exp_save_include_untracked_force": 0.8746251999999686,
    "tests/func/experiments/test_save.py::test_exp_save_include_untracked_warning": 0.9865022000000181,
    "tests/func/experiments/test_save.py::test_exp_save_invalid_name[invalid..name]": 0.43050610000000233,
    "tests/func/experiments/test_save.py::test_exp_save_invalid_name[invalid/name]": 0.37493930000005093,
    "tests/func/experiments/test_save.py::test_exp_save_invalid_name[invalid?name]": 0.3782524000000649,
    "tests/func/experiments/test_save.py::test_exp_save_invalid_name[invalidname.]": 0.4567057000000432,
    "tests/func/experiments/test_save.py::test_exp_save_invalid_name[invalid~name]": 0.37448059999996985,
    "tests/func/experiments/test_save.py::test_exp_save_overwrite_experiment": 1.2816242999999758,
    "tests/func/experiments/test_save.py::test_exp_save_target": 0.9417426999999634,
    "tests/func/experiments/test_save.py::test_exp_save_unchanged": 0.8742640000000392,
    "tests/func/experiments/test_save.py::test_exp_save_with_staged_changes": 0.9713927999999896,
    "tests/func/experiments/test_save.py::test_untracked_dvclock_is_included_in_exp": 0.7397634000000153,
    "tests/func/experiments/test_save.py::test_untracked_top_level_files_are_included_in_exp": 0.8345099999999661,
    "tests/func/experiments/test_set_params.py::test_hydra_compose_and_dump[None-None-False]": 1.3278675000000248,
    "tests/func/experiments/test_set_params.py::test_hydra_compose_and_dump[None-None-True]": 2.344593800000041,
    "tests/func/experiments/test_set_params.py::test_hydra_compose_and_dump[None-bar-False]": 1.5483196000000703,
    "tests/func/experiments/test_set_params.py::test_hydra_compose_and_dump[None-bar-True]": 2.2510721000000444,
    "tests/func/experiments/test_set_params.py::test_hydra_compose_and_dump[conf-bar-False]": 1.3779260000000022,
    "tests/func/experiments/test_set_params.py::test_hydra_compose_and_dump[conf-bar-True]": 2.2169706000000815,
    "tests/func/experiments/test_set_params.py::test_hydra_sweep[False-overrides1-expected1]": 0.3220042000000376,
    "tests/func/experiments/test_set_params.py::test_hydra_sweep[False-overrides2-expected2]": 0.372244099999989,
    "tests/func/experiments/test_set_params.py::test_hydra_sweep[True-overrides0-expected0]": 0.329921899999988,
    "tests/func/experiments/test_set_params.py::test_hydra_sweep_prefix_name": 0.7365541000000349,
    "tests/func/experiments/test_set_params.py::test_hydra_sweep_requires_queue": 0.3379746999999611,
    "tests/func/experiments/test_set_params.py::test_modify_params[changes0-foo: baz\\ngoo:\\n  bag: 3.0\\nlorem: false]": 0.8577662999999802,
    "tests/func/experiments/test_set_params.py::test_modify_params[changes1-foo: baz\\ngoo:\\n  bag: 3.0\\nlorem: false]": 0.88462659999999,
    "tests/func/experiments/test_show.py::test_metrics_renaming": 1.9396978000000331,
    "tests/func/experiments/test_show.py::test_show_baseline_error": 1.3798479000000157,
    "tests/func/experiments/test_show.py::test_show_branch_and_tag_name": 0.8210886000000528,
    "tests/func/experiments/test_show.py::test_show_completed_error": 2.197091100000023,
    "tests/func/experiments/test_show.py::test_show_csv": 3.597721500000034,
    "tests/func/experiments/test_show.py::test_show_experiment[False]": 2.177178099999992,
    "tests/func/experiments/test_show.py::test_show_experiment[True]": 1.7142262000000414,
    "tests/func/experiments/test_show.py::test_show_failed_experiment": 6.400676799999985,
    "tests/func/experiments/test_show.py::test_show_filter": 1.0972039999999765,
    "tests/func/experiments/test_show.py::test_show_multiple_commits": 1.5359957999999665,
    "tests/func/experiments/test_show.py::test_show_only_changed": 1.7540200000000823,
    "tests/func/experiments/test_show.py::test_show_outs": 1.5832652999999368,
    "tests/func/experiments/test_show.py::test_show_queued": 1.3007974999999874,
    "tests/func/experiments/test_show.py::test_show_queued_error": 1.2482168999999885,
    "tests/func/experiments/test_show.py::test_show_running[TaskStatus.FAILED-False]": 0.6858837999999423,
    "tests/func/experiments/test_show.py::test_show_running[TaskStatus.RUNNING-False]": 0.6576839000000518,
    "tests/func/experiments/test_show.py::test_show_running[TaskStatus.RUNNING-True]": 0.9630088000000114,
    "tests/func/experiments/test_show.py::test_show_simple": 0.6424460000000067,
    "tests/func/experiments/test_show.py::test_show_sort": 1.8322294999999826,
    "tests/func/experiments/test_show.py::test_show_sort_metric_sep": 0.9055835999999999,
    "tests/func/experiments/test_show.py::test_show_sorted_deps": 0.4166311000000178,
    "tests/func/experiments/test_show.py::test_show_with_broken_repo": 1.5486077000000478,
    "tests/func/experiments/test_stash_exp.py::test_deleted[False-False]": 0.7941452000000595,
    "tests/func/experiments/test_stash_exp.py::test_deleted[False-True]": 1.0229252999999972,
    "tests/func/experiments/test_stash_exp.py::test_deleted[True-False]": 0.8553899000000342,
    "tests/func/experiments/test_stash_exp.py::test_deleted[True-True]": 0.9744108999999526,
    "tests/func/experiments/test_stash_exp.py::test_modified[False-False]": 0.9669892000000004,
    "tests/func/experiments/test_stash_exp.py::test_modified[False-True]": 1.1569672999999625,
    "tests/func/experiments/test_stash_exp.py::test_modified[True-False]": 0.8601257999999916,
    "tests/func/experiments/test_stash_exp.py::test_modified[True-True]": 1.2164980000000014,
    "tests/func/experiments/test_stash_exp.py::test_staged_new_file[False]": 0.7563609999999699,
    "tests/func/experiments/test_stash_exp.py::test_staged_new_file[True]": 1.1449452999999608,
    "tests/func/experiments/test_utils.py::test_generate_random_exp_name": 2.6529195999999615,
    "tests/func/metrics/test_diff.py::test_diff_top_level_metrics[dir/dvc.yaml-..\\\\my_metrics.yaml]": 0.3479751000000988,
    "tests/func/metrics/test_diff.py::test_diff_top_level_metrics[dir/dvc.yaml-my_metrics.yaml]": 0.4379244000000426,
    "tests/func/metrics/test_diff.py::test_diff_top_level_metrics[dvc.yaml-my_metrics.yaml]": 0.4825845999999956,
    "tests/func/metrics/test_diff.py::test_metrics_diff_active_branch_unchanged": 1.0561294999999973,
    "tests/func/metrics/test_diff.py::test_metrics_diff_broken_json": 0.7592303000000129,
    "tests/func/metrics/test_diff.py::test_metrics_diff_cli": 1.1395653000000152,
    "tests/func/metrics/test_diff.py::test_metrics_diff_deleted_metric": 0.5902245999999423,
    "tests/func/metrics/test_diff.py::test_metrics_diff_dirty": 1.0837390000000937,
    "tests/func/metrics/test_diff.py::test_metrics_diff_json": 1.1032326000000126,
    "tests/func/metrics/test_diff.py::test_metrics_diff_json_unchanged": 1.0659378999999376,
    "tests/func/metrics/test_diff.py::test_metrics_diff_new_metric": 0.5472320000000082,
    "tests/func/metrics/test_diff.py::test_metrics_diff_no_metrics": 0.2914406999999528,
    "tests/func/metrics/test_diff.py::test_metrics_diff_non_metrics": 0.5010075999999799,
    "tests/func/metrics/test_diff.py::test_metrics_diff_simple": 1.1088795000000005,
    "tests/func/metrics/test_diff.py::test_metrics_diff_with_unchanged": 0.6916975999999977,
    "tests/func/metrics/test_diff.py::test_metrics_diff_yaml": 1.105636499999946,
    "tests/func/metrics/test_diff.py::test_no_commits": 0.3156121999999755,
    "tests/func/metrics/test_show.py::test_cached_metrics": 0.7686137999999687,
    "tests/func/metrics/test_show.py::test_log_errors[dvc.yaml-error_path0-YAMLSyntaxError]": 0.5792332000000329,
    "tests/func/metrics/test_show.py::test_log_errors[metrics.yaml-error_path1-YAMLFileCorruptedError]": 0.6297549999999887,
    "tests/func/metrics/test_show.py::test_metric_in_a_tracked_directory_with_missing_dir_file": 0.3644590999999764,
    "tests/func/metrics/test_show.py::test_metrics_show_no_target": 0.1800465999999119,
    "tests/func/metrics/test_show.py::test_metrics_show_overlap[False]": 0.001055300000018633,
    "tests/func/metrics/test_show.py::test_metrics_show_overlap[True]": 0.001104099999963637,
    "tests/func/metrics/test_show.py::test_missing_cache": 0.6544150999999374,
    "tests/func/metrics/test_show.py::test_non_metric_and_dir_show": 0.44453069999997297,
    "tests/func/metrics/test_show.py::test_show": 0.3920631999999955,
    "tests/func/metrics/test_show.py::test_show_branch": 0.6811390999999958,
    "tests/func/metrics/test_show.py::test_show_falsey": 0.20822529999998096,
    "tests/func/metrics/test_show.py::test_show_malformed_metric": 0.2597896999999989,
    "tests/func/metrics/test_show.py::test_show_multiple": 0.5938720999999987,
    "tests/func/metrics/test_show.py::test_show_no_metrics_files": 0.1196421999999302,
    "tests/func/metrics/test_show.py::test_show_no_repo": 0.0665103999999701,
    "tests/func/metrics/test_show.py::test_show_non_metric[False]": 0.10242660000000114,
    "tests/func/metrics/test_show.py::test_show_non_metric[True]": 0.37919599999992215,
    "tests/func/metrics/test_show.py::test_show_non_metric_branch[False]": 0.24209780000001047,
    "tests/func/metrics/test_show.py::test_show_non_metric_branch[True]": 0.5168121000000383,
    "tests/func/metrics/test_show.py::test_show_simple": 0.3916608999999198,
    "tests/func/metrics/test_show.py::test_show_simple_from_subdir": 0.4041560000000004,
    "tests/func/metrics/test_show.py::test_show_subrepo_with_preexisting_tags": 0.8456790999999839,
    "tests/func/metrics/test_show.py::test_show_targets": 0.5895505000000298,
    "tests/func/metrics/test_show.py::test_show_toml": 0.40270450000008395,
    "tests/func/metrics/test_show.py::test_top_level_parametrized": 0.36376849999999195,
    "tests/func/params/test_diff.py::test_diff": 0.49012349999992466,
    "tests/func/params/test_diff.py::test_diff_active_branch_no_changes": 0.373032999999964,
    "tests/func/params/test_diff.py::test_diff_deleted": 0.38685540000000174,
    "tests/func/params/test_diff.py::test_diff_dict": 0.38326520000009623,
    "tests/func/params/test_diff.py::test_diff_dirty": 0.4405797000000007,
    "tests/func/params/test_diff.py::test_diff_list": 0.413541500000008,
    "tests/func/params/test_diff.py::test_diff_new": 0.31764760000004344,
    "tests/func/params/test_diff.py::test_diff_no_changes": 0.3898240999999416,
    "tests/func/params/test_diff.py::test_diff_no_params": 0.33827360000003637,
    "tests/func/params/test_diff.py::test_diff_targeted": 0.9226150999999732,
    "tests/func/params/test_diff.py::test_diff_top_level_params[dir/dvc.yaml-..\\\\my_params.yaml]": 0.39441390000001775,
    "tests/func/params/test_diff.py::test_diff_top_level_params[dir/dvc.yaml-my_params.yaml]": 0.35384809999999334,
    "tests/func/params/test_diff.py::test_diff_top_level_params[dvc.yaml-my_params.yaml]": 0.35703069999993886,
    "tests/func/params/test_diff.py::test_diff_with_unchanged": 0.47371570000001384,
    "tests/func/params/test_diff.py::test_diff_without_targets_specified[other_params.yaml]": 0.3682619999999588,
    "tests/func/params/test_diff.py::test_diff_without_targets_specified[params.yaml]": 0.3944649000000595,
    "tests/func/params/test_diff.py::test_no_commits": 0.3962024000000497,
    "tests/func/params/test_diff.py::test_pipeline_tracked_params": 0.791154199999994,
    "tests/func/params/test_diff.py::test_vars_shows_on_params_diff": 0.5142563999999652,
    "tests/func/params/test_show.py::test_cached_params": 0.670684299999948,
    "tests/func/params/test_show.py::test_deps_multi_stage": 0.8328005999999846,
    "tests/func/params/test_show.py::test_deps_with_targets": 0.7908949000000121,
    "tests/func/params/test_show.py::test_param_in_a_tracked_directory_with_missing_dir_file": 0.286612899999966,
    "tests/func/params/test_show.py::test_pipeline_params": 0.7957324000000199,
    "tests/func/params/test_show.py::test_show": 0.24756000000002132,
    "tests/func/params/test_show.py::test_show_branch": 0.7055480000000216,
    "tests/func/params/test_show.py::test_show_empty": 0.18992719999999963,
    "tests/func/params/test_show.py::test_show_list": 0.2911527999999066,
    "tests/func/params/test_show.py::test_show_multiple": 0.3037872000000448,
    "tests/func/params/test_show.py::test_show_no_repo": 0.06914749999998548,
    "tests/func/params/test_show.py::test_show_py": 0.22990459999999757,
    "tests/func/params/test_show.py::test_show_targets": 0.25046029999992925,
    "tests/func/params/test_show.py::test_show_toml": 0.2446489000000156,
    "tests/func/params/test_show.py::test_show_without_targets_specified[other_params.yaml]": 0.27128309999994826,
    "tests/func/params/test_show.py::test_show_without_targets_specified[params.yaml]": 0.27053269999998975,
    "tests/func/params/test_show.py::test_top_level_parametrized": 0.19129430000003822,
    "tests/func/parsing/test_errors.py::test_failed_to_interpolate": 0.18144300000000158,
    "tests/func/parsing/test_errors.py::test_foreach_data_expects_list_or_dict[${dct.model1}]": 0.12848279999997203,
    "tests/func/parsing/test_errors.py::test_foreach_data_expects_list_or_dict[${foo}]": 0.15648720000001504,
    "tests/func/parsing/test_errors.py::test_foreach_data_expects_list_or_dict[${lst.0}]": 0.1442303000000038,
    "tests/func/parsing/test_errors.py::test_foreach_data_expects_list_or_dict[foobar]": 0.1321871000000101,
    "tests/func/parsing/test_errors.py::test_foreach_data_key_does_not_exists[modelss.123]": 0.12942199999997683,
    "tests/func/parsing/test_errors.py::test_foreach_data_key_does_not_exists[modelss]": 0.13210100000009106,
    "tests/func/parsing/test_errors.py::test_foreach_data_syntax_error": 0.1302176999998892,
    "tests/func/parsing/test_errors.py::test_foreach_do_definition_item_does_not_exist[foo.bar-stages.build@0.cmd]": 0.1371279000000527,
    "tests/func/parsing/test_errors.py::test_foreach_do_definition_item_does_not_exist[item.thresh-stages.build@1.cmd]": 0.14251179999996566,
    "tests/func/parsing/test_errors.py::test_foreach_do_syntax_errors": 0.13003960000008874,
    "tests/func/parsing/test_errors.py::test_foreach_overwriting_item_in_list[global_data0-item and key are]": 0.12448729999994157,
    "tests/func/parsing/test_errors.py::test_foreach_overwriting_item_in_list[global_data1-item is]": 0.1222735000000057,
    "tests/func/parsing/test_errors.py::test_foreach_overwriting_item_in_list[global_data2-key is]": 0.14229789999996,
    "tests/func/parsing/test_errors.py::test_foreach_wdir_key_does_not_exist": 0.13372600000002421,
    "tests/func/parsing/test_errors.py::test_interpolate_nested_iterable": 0.14655879999997978,
    "tests/func/parsing/test_errors.py::test_interpolate_non_string": 0.13041680000003453,
    "tests/func/parsing/test_errors.py::test_item_key_in_generated_stage_vars[False-redefine0]": 0.13570640000000367,
    "tests/func/parsing/test_errors.py::test_item_key_in_generated_stage_vars[False-redefine1]": 0.13289270000001352,
    "tests/func/parsing/test_errors.py::test_item_key_in_generated_stage_vars[False-redefine2]": 0.1272615999999971,
    "tests/func/parsing/test_errors.py::test_item_key_in_generated_stage_vars[False-redefine3]": 0.1316560999999865,
    "tests/func/parsing/test_errors.py::test_item_key_in_generated_stage_vars[True-redefine0]": 0.14314220000005662,
    "tests/func/parsing/test_errors.py::test_item_key_in_generated_stage_vars[True-redefine1]": 0.14537790000002815,
    "tests/func/parsing/test_errors.py::test_item_key_in_generated_stage_vars[True-redefine2]": 0.13925029999995786,
    "tests/func/parsing/test_errors.py::test_item_key_in_generated_stage_vars[True-redefine3]": 0.13336179999993192,
    "tests/func/parsing/test_errors.py::test_local_vars_params_file_not_exist": 0.20451159999998936,
    "tests/func/parsing/test_errors.py::test_partial_vars_doesnot_exist": 0.13008860000002187,
    "tests/func/parsing/test_errors.py::test_specified_key_does_not_exist": 0.1631060000000275,
    "tests/func/parsing/test_errors.py::test_vars_interpolation_errors[${file}_params.yaml]": 0.1693879000000038,
    "tests/func/parsing/test_errors.py::test_vars_interpolation_errors[vars_1]": 0.16431169999987105,
    "tests/func/parsing/test_errors.py::test_wdir_failed_to_interpolate[${models.foo]}-\\n${models.foo]}\\n            ^\\nParseException: Expected end of text, found ']'  (at char 12), (line:1, col:13)]": 0.18762429999998176,
    "tests/func/parsing/test_errors.py::test_wdir_failed_to_interpolate[${models[foobar]}- Could not find 'models.foobar']": 0.16902380000004769,
    "tests/func/parsing/test_foreach.py::test_foreach_data_from_nested_vars": 0.17006920000000036,
    "tests/func/parsing/test_foreach.py::test_foreach_data_is_only_resolved_once": 0.1409080999999901,
    "tests/func/parsing/test_foreach.py::test_foreach_do_syntax_is_checked_once": 0.1484127999999032,
    "tests/func/parsing/test_foreach.py::test_foreach_interpolate_with_composite_data[foreach_data0-result0-${item.thresh}]": 0.12445279999991499,
    "tests/func/parsing/test_foreach.py::test_foreach_interpolate_with_composite_data[foreach_data0-result0-${item[thresh]}]": 0.12519980000007536,
    "tests/func/parsing/test_foreach.py::test_foreach_interpolate_with_composite_data[foreach_data1-result1-${item.thresh}]": 0.12490900000005922,
    "tests/func/parsing/test_foreach.py::test_foreach_interpolate_with_composite_data[foreach_data1-result1-${item[thresh]}]": 0.1543631999999775,
    "tests/func/parsing/test_foreach.py::test_foreach_interpolated_simple_list": 0.12273310000000492,
    "tests/func/parsing/test_foreach.py::test_foreach_partial_interpolations": 0.19919840000000022,
    "tests/func/parsing/test_foreach.py::test_foreach_with_imported_vars[test_params.yaml:train,prepare]": 0.15518950000000586,
    "tests/func/parsing/test_foreach.py::test_foreach_with_imported_vars[test_params.yaml:train]": 0.15083899999990535,
    "tests/func/parsing/test_foreach.py::test_foreach_with_imported_vars[test_params.yaml]": 0.1749901999999679,
    "tests/func/parsing/test_foreach.py::test_foreach_with_interpolated_wdir": 0.13871310000001813,
    "tests/func/parsing/test_foreach.py::test_foreach_with_interpolated_wdir_and_local_vars[params.yaml:train,prepare]": 0.16226059999996778,
    "tests/func/parsing/test_foreach.py::test_foreach_with_interpolated_wdir_and_local_vars[params.yaml]": 0.1652341000000206,
    "tests/func/parsing/test_foreach.py::test_foreach_with_local_vars": 0.14472939999996015,
    "tests/func/parsing/test_foreach.py::test_mixed_vars_for_foreach_data": 0.1677091000000246,
    "tests/func/parsing/test_foreach.py::test_mixed_vars_for_foreach_data_2": 0.17762529999998833,
    "tests/func/parsing/test_foreach.py::test_params_file_tracked_for_composite_list": 0.16980849999993097,
    "tests/func/parsing/test_foreach.py::test_params_file_with_dict_tracked": 0.19925219999998944,
    "tests/func/parsing/test_foreach.py::test_with_composite_list": 0.1260032999999794,
    "tests/func/parsing/test_foreach.py::test_with_dict_data": 0.1329804000000081,
    "tests/func/parsing/test_foreach.py::test_with_dict_with_non_str_keys": 0.12633909999993875,
    "tests/func/parsing/test_foreach.py::test_with_simple_list_data": 0.11791700000003402,
    "tests/func/parsing/test_interpolated_entry.py::test_cmd_dict[None-None]": 0.1439924000000019,
    "tests/func/parsing/test_interpolated_entry.py::test_cmd_dict[boolean_optional-append]": 0.14662889999993922,
    "tests/func/parsing/test_interpolated_entry.py::test_cmd_dict[store_true-nargs]": 0.16324960000002875,
    "tests/func/parsing/test_interpolated_entry.py::test_resolve_local_tries_to_load_globally_used_files": 0.15116809999994985,
    "tests/func/parsing/test_interpolated_entry.py::test_resolve_local_tries_to_load_globally_used_params_yaml": 0.13703460000004952,
    "tests/func/parsing/test_interpolated_entry.py::test_simple": 0.14924290000004703,
    "tests/func/parsing/test_interpolated_entry.py::test_stage_with_wdir": 0.14364079999995738,
    "tests/func/parsing/test_interpolated_entry.py::test_vars_and_params_import": 0.1336033000000043,
    "tests/func/parsing/test_interpolated_entry.py::test_vars_import": 0.15960929999999962,
    "tests/func/parsing/test_interpolated_entry.py::test_vars_load_partial[vars_0-False]": 0.12724699999995437,
    "tests/func/parsing/test_interpolated_entry.py::test_vars_load_partial[vars_0-True]": 0.13362110000008443,
    "tests/func/parsing/test_interpolated_entry.py::test_vars_load_partial[vars_1-False]": 0.13219050000003563,
    "tests/func/parsing/test_interpolated_entry.py::test_vars_load_partial[vars_1-True]": 0.15331199999997125,
    "tests/func/parsing/test_interpolated_entry.py::test_vars_load_partial[vars_2-False]": 0.15744130000001633,
    "tests/func/parsing/test_interpolated_entry.py::test_vars_load_partial[vars_2-True]": 0.12270669999998063,
    "tests/func/parsing/test_interpolated_entry.py::test_vars_load_partial[vars_3-False]": 0.14442820000004986,
    "tests/func/parsing/test_interpolated_entry.py::test_vars_load_partial[vars_3-True]": 0.14452160000001868,
    "tests/func/parsing/test_interpolated_entry.py::test_vars_relpath_overwrite": 0.13569209999997156,
    "tests/func/parsing/test_interpolated_entry.py::test_with_templated_wdir": 0.1428108999999722,
    "tests/func/parsing/test_matrix.py::test_matrix_interpolated[matrix0]": 0.1593235000000277,
    "tests/func/parsing/test_matrix.py::test_matrix_interpolated[matrix1]": 0.18672480000003588,
    "tests/func/parsing/test_matrix.py::test_matrix_key_present[matrix0]": 0.16882160000005797,
    "tests/func/parsing/test_matrix.py::test_matrix_key_present[matrix1]": 0.19714740000000575,
    "tests/func/parsing/test_resolver.py::test_default_params_file[vars_0]": 0.14472480000000587,
    "tests/func/parsing/test_resolver.py::test_default_params_file[vars_1]": 0.16231190000002016,
    "tests/func/parsing/test_resolver.py::test_default_params_file[vars_2]": 0.13667279999998527,
    "tests/func/parsing/test_resolver.py::test_default_params_file_not_exist": 0.18006049999996776,
    "tests/func/parsing/test_resolver.py::test_global_overwrite_error_on_imports": 0.14821919999997135,
    "tests/func/parsing/test_resolver.py::test_global_overwrite_vars": 0.13191389999991543,
    "tests/func/parsing/test_resolver.py::test_load_vars_from_file": 0.1413463999999749,
    "tests/func/parsing/test_resolver.py::test_load_vars_with_relpath": 0.25372550000003,
    "tests/func/parsing/test_resolver.py::test_local_declared_vars_overwrite": 0.1364957999999774,
    "tests/func/parsing/test_resolver.py::test_local_overwrite_error[params.json-params.json]": 0.34710509999996475,
    "tests/func/parsing/test_resolver.py::test_local_overwrite_error[vars_0-build.vars[0]]": 0.14905879999992067,
    "tests/func/parsing/test_resolver.py::test_local_vars": 0.19008880000001227,
    "tests/func/parsing/test_resolver.py::test_no_params_yaml_and_vars": 0.1554322999999158,
    "tests/func/parsing/test_resolver.py::test_partial_vars_doesnot_exist": 0.15263030000005529,
    "tests/func/parsing/test_resolver.py::test_resolver": 0.1734412000000134,
    "tests/func/parsing/test_resolver.py::test_specified_params_file_not_exist": 0.16217699999998558,
    "tests/func/parsing/test_resolver.py::test_vars_already_loaded_message[vars_0-False]": 0.157558999999992,
    "tests/func/parsing/test_resolver.py::test_vars_already_loaded_message[vars_0-True]": 0.1264745999999377,
    "tests/func/parsing/test_resolver.py::test_vars_already_loaded_message[vars_1-False]": 0.13397820000000138,
    "tests/func/parsing/test_resolver.py::test_vars_already_loaded_message[vars_1-True]": 0.15042000000005373,
    "tests/func/parsing/test_resolver.py::test_vars_already_loaded_message[vars_2-False]": 0.12980170000003,
    "tests/func/parsing/test_resolver.py::test_vars_already_loaded_message[vars_2-True]": 0.1325290999999993,
    "tests/func/parsing/test_resolver.py::test_vars_interpolation_errors[${file}_params.yaml]": 0.20060419999992973,
    "tests/func/parsing/test_resolver.py::test_vars_interpolation_errors[vars_1]": 0.18543940000000703,
    "tests/func/parsing/test_top_level.py::test_artifacts": 0.14650329999989253,
    "tests/func/parsing/test_top_level.py::test_datasets": 0.13541109999994205,
    "tests/func/parsing/test_top_level.py::test_metrics": 0.14192579999996724,
    "tests/func/parsing/test_top_level.py::test_params": 0.1397473999999761,
    "tests/func/parsing/test_top_level.py::test_plots": 0.17080190000001494,
    "tests/func/plots/test_collect.py::test_subdir_config_not_overwritten_by_parents": 0.3654680000000212,
    "tests/func/plots/test_diff.py::test_diff_dirty": 1.4312219999999911,
    "tests/func/plots/test_diff.py::test_no_commits": 0.35085469999995667,
    "tests/func/plots/test_modify.py::test_dir_plots": 0.47324759999997923,
    "tests/func/plots/test_modify.py::test_plots_modify_existing_template": 0.3573830000000271,
    "tests/func/plots/test_modify.py::test_plots_modify_not_existing_template": 0.14442609999997558,
    "tests/func/plots/test_modify.py::test_plots_modify_should_not_change_lockfile": 0.34480729999995674,
    "tests/func/plots/test_modify.py::test_unset_nonexistent": 0.3391591000000176,
    "tests/func/plots/test_show.py::test_collect_non_existing_dir": 0.7527599999999666,
    "tests/func/plots/test_show.py::test_dir_plots": 0.49907970000003843,
    "tests/func/plots/test_show.py::test_ignore_parsing_error": 0.4091096999999877,
    "tests/func/plots/test_show.py::test_log_errors[dvc.yaml-path_kwargs0]": 0.5107886000000121,
    "tests/func/plots/test_show.py::test_log_errors[plot.yaml-path_kwargs1]": 0.7021611999999777,
    "tests/func/plots/test_show.py::test_plot_cache_missing": 0.9331480999999826,
    "tests/func/plots/test_show.py::test_plot_wrong_metric_type": 0.5906494999999836,
    "tests/func/plots/test_show.py::test_plots_binary[jpg]": 0.7359160999999972,
    "tests/func/plots/test_show.py::test_plots_binary[svg]": 0.8953023000000258,
    "tests/func/plots/test_show.py::test_plots_show_nested_x_dict": 0.28097090000005664,
    "tests/func/plots/test_show.py::test_plots_show_non_existing": 0.2934837999999331,
    "tests/func/plots/test_show.py::test_plots_show_overlap[False]": 0.4044963000000621,
    "tests/func/plots/test_show.py::test_plots_show_overlap[True]": 0.5023849000000382,
    "tests/func/plots/test_show.py::test_show_from_subdir": 0.36088259999991124,
    "tests/func/plots/test_show.py::test_show_non_plot[False]": 0.15651450000001432,
    "tests/func/plots/test_show.py::test_show_non_plot[True]": 0.37671339999997144,
    "tests/func/plots/test_show.py::test_show_non_plot_and_plot_with_params": 0.708958100000018,
    "tests/func/plots/test_show.py::test_show_plots_defined_with_native_os_path": 0.3919658999999456,
    "tests/func/plots/test_show.py::test_show_targets": 0.20834130000002915,
    "tests/func/plots/test_show.py::test_top_level_parametrized[${data1}-expanded_config2-expected_datafiles2]": 0.21378269999996746,
    "tests/func/plots/test_show.py::test_top_level_parametrized[plot_config0-expanded_config0-expected_datafiles0]": 0.2116988999999876,
    "tests/func/plots/test_show.py::test_top_level_parametrized[plot_config1-expanded_config1-expected_datafiles1]": 0.2667495999999687,
    "tests/func/plots/test_show.py::test_top_level_plots[plot_config0-expected_datafiles0]": 0.22352249999994456,
    "tests/func/plots/test_show.py::test_top_level_plots[plot_config1-expected_datafiles1]": 0.24122239999996964,
    "tests/func/plots/test_show.py::test_top_level_plots[plot_config2-expected_datafiles2]": 0.21663869999997587,
    "tests/func/repro/test_repro.py::TestReproAlreadyCached::test": 0.44233299999996234,
    "tests/func/repro/test_repro.py::TestReproAlreadyCached::test_force_import": 0.8097182000000203,
    "tests/func/repro/test_repro.py::TestReproAlreadyCached::test_force_with_dependencies": 0.6607293999999797,
    "tests/func/repro/test_repro.py::test_cmd_repro": 1.0095081999999707,
    "tests/func/repro/test_repro.py::test_cyclic_graph_error": 0.9080728000000136,
    "tests/func/repro/test_repro.py::test_downstream": 2.411942099999976,
    "tests/func/repro/test_repro.py::test_freeze_non_existing[Dvcfile:name]": 0.22750590000003967,
    "tests/func/repro/test_repro.py::test_freeze_non_existing[Dvcfile]": 0.25325349999997115,
    "tests/func/repro/test_repro.py::test_freeze_non_existing[not-existing-stage.json]": 0.2027564999999072,
    "tests/func/repro/test_repro.py::test_freeze_non_existing[pipelines.yaml:name]": 0.24169990000001462,
    "tests/func/repro/test_repro.py::test_freeze_non_existing[pipelines.yaml]": 0.24990230000003066,
    "tests/func/repro/test_repro.py::test_freeze_non_existing[stage.dvc:name]": 0.18956570000000283,
    "tests/func/repro/test_repro.py::test_freeze_non_existing[stage.dvc]": 0.19225720000002866,
    "tests/func/repro/test_repro.py::test_non_existing_output": 0.42798149999998714,
    "tests/func/repro/test_repro.py::test_non_existing_stage_name": 0.40296299999999974,
    "tests/func/repro/test_repro.py::test_repro_all_pipelines": 0.8409965000000739,
    "tests/func/repro/test_repro.py::test_repro_allow_missing": 0.5695142999999803,
    "tests/func/repro/test_repro.py::test_repro_allow_missing_and_pull": 1.1501956999999834,
    "tests/func/repro/test_repro.py::test_repro_changed_code": 0.6990531999999803,
    "tests/func/repro/test_repro.py::test_repro_changed_data": 0.8488271000000509,
    "tests/func/repro/test_repro.py::test_repro_changed_deep_data": 1.1420626999999968,
    "tests/func/repro/test_repro.py::test_repro_changed_dir": 0.6733219999999847,
    "tests/func/repro/test_repro.py::test_repro_changed_dir_data": 1.1888351000000057,
    "tests/func/repro/test_repro.py::test_repro_data_source": 0.6440561999999659,
    "tests/func/repro/test_repro.py::test_repro_dep_dir_with_outputs_under_it": 1.0282210000000305,
    "tests/func/repro/test_repro.py::test_repro_dep_under_dir": 0.83027340000001,
    "tests/func/repro/test_repro.py::test_repro_dry": 0.7964034000000311,
    "tests/func/repro/test_repro.py::test_repro_dry_no_exec": 0.5031210999999303,
    "tests/func/repro/test_repro.py::test_repro_external_outputs[False]": 0.6774030999999923,
    "tests/func/repro/test_repro.py::test_repro_external_outputs[True]": 0.46038469999996323,
    "tests/func/repro/test_repro.py::test_repro_fail": 0.5050530000000322,
    "tests/func/repro/test_repro.py::test_repro_force": 0.6815554999999449,
    "tests/func/repro/test_repro.py::test_repro_force_downstream": 1.426229400000011,
    "tests/func/repro/test_repro.py::test_repro_force_downstream_do_not_force_independent_stages": 1.8231759000000238,
    "tests/func/repro/test_repro.py::test_repro_frozen": 1.1989045999999917,
    "tests/func/repro/test_repro.py::test_repro_frozen_callback": 0.4590139000000022,
    "tests/func/repro/test_repro.py::test_repro_frozen_unchanged": 0.4908328999999867,
    "tests/func/repro/test_repro.py::test_repro_ignore_errors": 0.6419171000000006,
    "tests/func/repro/test_repro.py::test_repro_keep_going": 0.450359399999968,
    "tests/func/repro/test_repro.py::test_repro_list_of_commands_in_order[False]": 0.19824639999995952,
    "tests/func/repro/test_repro.py::test_repro_list_of_commands_in_order[True]": 0.20887840000000324,
    "tests/func/repro/test_repro.py::test_repro_list_of_commands_raise_and_stops_after_failure[False]": 0.22823670000002494,
    "tests/func/repro/test_repro.py::test_repro_list_of_commands_raise_and_stops_after_failure[True]": 0.18410009999996646,
    "tests/func/repro/test_repro.py::test_repro_metrics_add_unchanged": 0.5753306999999381,
    "tests/func/repro/test_repro.py::test_repro_missing_lock_info": 0.47467919999996866,
    "tests/func/repro/test_repro.py::test_repro_multiple_params": 0.6419725999999741,
    "tests/func/repro/test_repro.py::test_repro_no_commit": 0.6478619000000094,
    "tests/func/repro/test_repro.py::test_repro_phony": 0.8436360000000036,
    "tests/func/repro/test_repro.py::test_repro_pipeline": 1.0502811000000065,
    "tests/func/repro/test_repro.py::test_repro_pipeline_cli": 0.6927358000000368,
    "tests/func/repro/test_repro.py::test_repro_pipelines": 1.1391434000000231,
    "tests/func/repro/test_repro.py::test_repro_pipelines_cli": 1.1502829999999449,
    "tests/func/repro/test_repro.py::test_repro_pulls_continue_without_run_cache": 1.0244599999999764,
    "tests/func/repro/test_repro.py::test_repro_pulls_missing_data_source": 0.8908059999999978,
    "tests/func/repro/test_repro.py::test_repro_pulls_missing_import": 1.45085720000003,
    "tests/func/repro/test_repro.py::test_repro_rm_recursive": 0.298509700000011,
    "tests/func/repro/test_repro.py::test_repro_shell": 0.0010611999999809996,
    "tests/func/repro/test_repro.py::test_repro_single_item_with_multiple_targets": 0.5554508999999825,
    "tests/func/repro/test_repro.py::test_repro_skip_pull_if_no_run_cache_is_passed": 0.7956775000000107,
    "tests/func/repro/test_repro.py::test_repro_up_to_date": 0.4973491000000081,
    "tests/func/repro/test_repro.py::test_repro_when_cmd_changes": 0.579681100000073,
    "tests/func/repro/test_repro.py::test_repro_when_lockfile_gets_deleted": 0.5708748999999784,
    "tests/func/repro/test_repro.py::test_repro_when_new_deps_added_does_not_exist": 0.23076729999996815,
    "tests/func/repro/test_repro.py::test_repro_when_new_deps_is_added_in_dvcfile": 0.6290411000000518,
    "tests/func/repro/test_repro.py::test_repro_when_new_deps_is_moved": 0.6029598999999735,
    "tests/func/repro/test_repro.py::test_repro_when_new_out_overlaps_others_stage_outs": 0.2545671999999968,
    "tests/func/repro/test_repro.py::test_repro_when_new_outs_added_does_not_exist": 0.3137187999999469,
    "tests/func/repro/test_repro.py::test_repro_when_new_outs_is_added_in_dvcfile": 0.5474466999999663,
    "tests/func/repro/test_repro_allow_missing.py::test_repro_allow_missing": 0.5116075000000251,
    "tests/func/repro/test_repro_allow_missing.py::test_repro_allow_missing_and_pull": 0.8432981000000268,
    "tests/func/repro/test_repro_allow_missing.py::test_repro_allow_missing_cached": 0.5020847000000117,
    "tests/func/repro/test_repro_allow_missing.py::test_repro_allow_missing_upstream_stage_modified": 1.2886707000000115,
    "tests/func/repro/test_repro_pull.py::test_repro_pull_fails": 0.7426556000000346,
    "tests/func/repro/test_repro_pull.py::test_repro_pulls_allow_missing[False]": 0.7117745999999556,
    "tests/func/repro/test_repro_pull.py::test_repro_pulls_allow_missing[True]": 0.6968059999999809,
    "tests/func/repro/test_repro_pull.py::test_repro_pulls_continue_without_run_cache": 0.7865740000000301,
    "tests/func/repro/test_repro_pull.py::test_repro_pulls_missing_data_source": 0.6968352999999183,
    "tests/func/repro/test_repro_pull.py::test_repro_pulls_missing_import": 1.3220061999999757,
    "tests/func/repro/test_repro_pull.py::test_repro_pulls_persisted_output": 0.6955814000000373,
    "tests/func/repro/test_repro_pull.py::test_repro_skip_pull_if_no_run_cache_is_passed": 1.052970700000003,
    "tests/func/repro/test_repro_pull.py::test_repro_skip_pull_if_single_item_is_passed": 1.0417836000000307,
    "tests/func/test_add.py::test_add": 0.22337029999999913,
    "tests/func/test_add.py::test_add_colon_in_filename": 0.001040700000032757,
    "tests/func/test_add.py::test_add_commit": 0.2579165999999873,
    "tests/func/test_add.py::test_add_dir_with_existing_cache": 0.41711939999999004,
    "tests/func/test_add.py::test_add_directory": 0.30083650000005946,
    "tests/func/test_add.py::test_add_directory_with_forward_slash": 0.31754209999996874,
    "tests/func/test_add.py::test_add_does_not_remove_stage_file_on_failure[dvc.repo.index.Index.check_graph]": 0.29538049999996474,
    "tests/func/test_add.py::test_add_does_not_remove_stage_file_on_failure[dvc.stage.Stage.add_outs]": 0.28946510000002945,
    "tests/func/test_add.py::test_add_empty_files[copy]": 0.2735349999999812,
    "tests/func/test_add.py::test_add_empty_files[hardlink]": 0.266218399999957,
    "tests/func/test_add.py::test_add_empty_files[symlink]": 0.2584461999999803,
    "tests/func/test_add.py::test_add_executable": 0.001299799999969764,
    "tests/func/test_add.py::test_add_file_in_dir": 0.22947199999998702,
    "tests/func/test_add.py::test_add_file_in_symlink_dir": 0.13436689999997498,
    "tests/func/test_add.py::test_add_filtered_files_in_dir[dir\\\\**\\\\subdata*-expected_def_paths3-expected_rel_paths3]": 0.3367860999999266,
    "tests/func/test_add.py::test_add_filtered_files_in_dir[dir\\\\subdir\\\\?subdata-expected_def_paths1-expected_rel_paths1]": 0.3288568000000396,
    "tests/func/test_add.py::test_add_filtered_files_in_dir[dir\\\\subdir\\\\[aiou]subdata-expected_def_paths2-expected_rel_paths2]": 0.21213800000003857,
    "tests/func/test_add.py::test_add_filtered_files_in_dir[dir\\\\subdir\\\\subdata*-expected_def_paths0-expected_rel_paths0]": 0.30685490000007576,
    "tests/func/test_add.py::test_add_force_overwrite_out": 0.2808322999999291,
    "tests/func/test_add.py::test_add_from_data_dir": 0.3940832000000114,
    "tests/func/test_add.py::test_add_ignored": 0.24244040000002087,
    "tests/func/test_add.py::test_add_long_fname": 0.0010275999999862506,
    "tests/func/test_add.py::test_add_modified_dir": 0.38431979999995747,
    "tests/func/test_add.py::test_add_on_not_existing_file_should_not_remove_stage_file": 0.2649236999999971,
    "tests/func/test_add.py::test_add_optimization_for_hardlink_on_empty_files": 0.39760729999989053,
    "tests/func/test_add.py::test_add_parent_dir": 0.34646930000002385,
    "tests/func/test_add.py::test_add_pipeline_file": 0.3983269999999379,
    "tests/func/test_add.py::test_add_preserve_fields": 0.2187667000000033,
    "tests/func/test_add.py::test_add_symlink_dir": 0.1593280000000732,
    "tests/func/test_add.py::test_add_symlink_file": 0.2915504000000624,
    "tests/func/test_add.py::test_add_to_cache_different_name": 0.3470150999999646,
    "tests/func/test_add.py::test_add_to_cache_dir": 0.3618119000000206,
    "tests/func/test_add.py::test_add_to_cache_file": 0.3751513000000273,
    "tests/func/test_add.py::test_add_to_cache_from_remote": 0.4571867000000225,
    "tests/func/test_add.py::test_add_to_cache_not_exists": 0.26145719999993844,
    "tests/func/test_add.py::test_add_to_remote_absolute": 0.4374439000000052,
    "tests/func/test_add.py::test_add_tracked_file": 0.4206479999999715,
    "tests/func/test_add.py::test_add_unicode": 0.3307029000000625,
    "tests/func/test_add.py::test_add_unprotected": 0.28614760000004935,
    "tests/func/test_add.py::test_add_unsupported_file": 0.23960789999995313,
    "tests/func/test_add.py::test_add_updates_to_cloud_versioning_dir": 0.27616580000005797,
    "tests/func/test_add.py::test_add_with_cache_link_error": 0.18520460000002004,
    "tests/func/test_add.py::test_add_with_out": 0.24095520000003035,
    "tests/func/test_add.py::test_cmd_add": 0.24542709999997214,
    "tests/func/test_add.py::test_double_add_unchanged_dir": 0.28557270000004564,
    "tests/func/test_add.py::test_double_add_unchanged_file": 0.26062300000006644,
    "tests/func/test_add.py::test_escape_gitignore_entries": 0.24416680000001634,
    "tests/func/test_add.py::test_failed_add_cleanup": 0.31850170000006983,
    "tests/func/test_add.py::test_not_raises_on_re_add": 0.31634130000003324,
    "tests/func/test_add.py::test_readding_dir_should_not_unprotect_all": 0.2872294000000011,
    "tests/func/test_add.py::test_should_collect_dir_cache_only_once": 0.27603559999988647,
    "tests/func/test_add.py::test_should_not_checkout_when_adding_cached_copy": 0.2916169000000082,
    "tests/func/test_add.py::test_should_place_stage_in_data_dir_if_repository_below_symlink": 0.21484020000002602,
    "tests/func/test_add.py::test_should_protect_on_repeated_add[copy]": 0.270738999999935,
    "tests/func/test_add.py::test_should_protect_on_repeated_add[hardlink]": 0.2855639999999653,
    "tests/func/test_add.py::test_should_protect_on_repeated_add[symlink]": 0.2652501000000598,
    "tests/func/test_add.py::test_should_relink_on_repeated_add[copy-hardlink-is_hardlink]": 0.3022183999999015,
    "tests/func/test_add.py::test_should_relink_on_repeated_add[copy-symlink-is_symlink]": 0.30608630000000403,
    "tests/func/test_add.py::test_should_relink_on_repeated_add[hardlink-copy-<lambda>]": 0.32222020000000384,
    "tests/func/test_add.py::test_should_relink_on_repeated_add[symlink-copy-<lambda>]": 0.35585129999998344,
    "tests/func/test_add.py::test_should_throw_proper_exception_on_corrupted_stage_file": 0.2975190000000225,
    "tests/func/test_add.py::test_should_throw_proper_exception_on_existing_out": 0.24529200000006313,
    "tests/func/test_add.py::test_should_update_state_entry_for_directory_after_add": 0.44023219999996854,
    "tests/func/test_add.py::test_should_update_state_entry_for_file_after_add": 0.34753579999988915,
    "tests/func/test_add.py::test_try_adding_multiple_overlaps": 0.2431571999999278,
    "tests/func/test_add.py::test_try_adding_pipeline_tracked_output": 0.47223850000005996,
    "tests/func/test_add.py::test_windows_should_add_when_cache_on_different_drive": 0.201824600000009,
    "tests/func/test_analytics.py::test_collect_and_send_report": 0.2581531999999811,
    "tests/func/test_analytics.py::test_daemon_analytics": 0.009375399999953515,
    "tests/func/test_analytics.py::test_main_analytics": 0.21399900000000116,
    "tests/func/test_analytics.py::test_scm_dvc_only": 0.14955400000002328,
    "tests/func/test_analytics.py::test_scm_git": 0.19675599999993665,
    "tests/func/test_analytics.py::test_scm_subrepo": 0.34907369999996263,
    "tests/func/test_check_ignore.py::test_check_ignore[ignored-0-True]": 0.21529790000005278,
    "tests/func/test_check_ignore.py::test_check_ignore[not_ignored-1-False]": 0.18026370000006864,
    "tests/func/test_check_ignore.py::test_check_ignore_default_dir": 0.26343130000009296,
    "tests/func/test_check_ignore.py::test_check_ignore_details[dir\\\\foobar-0-dir\\\\.dvcignore:1:foobar\\tdir\\\\foobar\\n]": 0.1903800000000615,
    "tests/func/test_check_ignore.py::test_check_ignore_details[file-0-.dvcignore:1:f*\\tfile\\n]": 0.18237559999994346,
    "tests/func/test_check_ignore.py::test_check_ignore_details[foo-0-.dvcignore:2:!foo\\tfoo\\n]": 0.1908862999999883,
    "tests/func/test_check_ignore.py::test_check_ignore_details_all": 0.24732430000005934,
    "tests/func/test_check_ignore.py::test_check_ignore_dir[path0-0]": 0.23948219999999765,
    "tests/func/test_check_ignore.py::test_check_ignore_dir[path1-1]": 0.1965277999998989,
    "tests/func/test_check_ignore.py::test_check_ignore_error_args_cases[args0]": 0.19047829999999522,
    "tests/func/test_check_ignore.py::test_check_ignore_error_args_cases[args1]": 0.19249660000008362,
    "tests/func/test_check_ignore.py::test_check_ignore_error_args_cases[args2]": 0.1935739000000467,
    "tests/func/test_check_ignore.py::test_check_ignore_error_args_cases[args3]": 0.17713900000006788,
    "tests/func/test_check_ignore.py::test_check_ignore_error_args_cases[args4]": 0.18244690000005903,
    "tests/func/test_check_ignore.py::test_check_ignore_non_matching[False]": 0.20048250000007783,
    "tests/func/test_check_ignore.py::test_check_ignore_non_matching[True]": 0.1996592000000419,
    "tests/func/test_check_ignore.py::test_check_ignore_out_side_repo": 0.2362817000001769,
    "tests/func/test_check_ignore.py::test_check_ignore_stdin_mode[ignored-0-True]": 0.2505042999999887,
    "tests/func/test_check_ignore.py::test_check_ignore_stdin_mode[not_ignored-1-False]": 0.2630323999999291,
    "tests/func/test_check_ignore.py::test_check_ignore_sub_repo": 0.2633756000000176,
    "tests/func/test_check_ignore.py::test_check_sub_dir_ignore_file": 0.2596231999999645,
    "tests/func/test_checkout.py::TestCheckoutCleanWorkingDir::test": 0.38110630000005585,
    "tests/func/test_checkout.py::TestCheckoutCleanWorkingDir::test_force": 0.3655913000000055,
    "tests/func/test_checkout.py::test_checkout": 0.6012491000000182,
    "tests/func/test_checkout.py::test_checkout_cli": 0.8530119000000695,
    "tests/func/test_checkout.py::test_checkout_dir_compat": 0.30509909999989304,
    "tests/func/test_checkout.py::test_checkout_directory": 0.39772500000003674,
    "tests/func/test_checkout.py::test_checkout_empty_dir": 0.32532400000002326,
    "tests/func/test_checkout.py::test_checkout_executable": 0.2870113000000174,
    "tests/func/test_checkout.py::test_checkout_file": 0.2947092000000566,
    "tests/func/test_checkout.py::test_checkout_missing_md5_in_lock_file_for_outs_deps": 0.44046830000002046,
    "tests/func/test_checkout.py::test_checkout_moved_cache_dir_with_symlinks": 0.4461985000000368,
    "tests/func/test_checkout.py::test_checkout_no_checksum": 0.23846259999993435,
    "tests/func/test_checkout.py::test_checkout_not_cached_file": 0.35285209999983635,
    "tests/func/test_checkout.py::test_checkout_partial": 0.406533000000195,
    "tests/func/test_checkout.py::test_checkout_partial_subdir": 0.3881925999999112,
    "tests/func/test_checkout.py::test_checkout_partial_unchanged": 0.5505855999999767,
    "tests/func/test_checkout.py::test_checkout_recursive": 0.3562659999998914,
    "tests/func/test_checkout.py::test_checkout_recursive_not_directory": 0.27791689999992286,
    "tests/func/test_checkout.py::test_checkout_relink[hardlink-is_hardlink]": 0.3497247000000243,
    "tests/func/test_checkout.py::test_checkout_relink[symlink-is_symlink]": 0.3419618000000355,
    "tests/func/test_checkout.py::test_checkout_selective_remove": 0.39663129999996727,
    "tests/func/test_checkout.py::test_checkout_stats_on_failure": 0.8075246000000789,
    "tests/func/test_checkout.py::test_checkout_suggest_git": 0.1943472999998903,
    "tests/func/test_checkout.py::test_checkout_target_recursive_should_not_remove_other_used_files": 0.4229938000000857,
    "tests/func/test_checkout.py::test_checkout_with_deps": 0.5434178000000429,
    "tests/func/test_checkout.py::test_checkout_with_deps_cli": 0.6640707999999904,
    "tests/func/test_checkout.py::test_checkout_with_relink_existing[copy]": 0.4169368000000304,
    "tests/func/test_checkout.py::test_checkout_with_relink_existing[hardlink]": 0.36636650000002646,
    "tests/func/test_checkout.py::test_checkout_with_relink_existing[symlink]": 0.3817441000001054,
    "tests/func/test_checkout.py::test_checkouts_for_pipeline_tracked_outs": 1.2298499999999422,
    "tests/func/test_checkout.py::test_checkouts_on_same_stage_name_and_output_name": 0.7647766000000047,
    "tests/func/test_checkout.py::test_checkouts_with_different_addressing": 1.2168963999998823,
    "tests/func/test_checkout.py::test_gitignore_basic": 0.6002985999999737,
    "tests/func/test_checkout.py::test_gitignore_when_checkout": 1.270755199999826,
    "tests/func/test_checkout.py::test_partial_checkout[dir\\\\subdir\\\\file]": 0.4440303999999742,
    "tests/func/test_checkout.py::test_partial_checkout[dir\\\\subdir]": 0.44663820000005217,
    "tests/func/test_checkout.py::test_remove_files_when_checkout": 0.5229241000000684,
    "tests/func/test_checkout.py::test_stats_does_not_show_changes_by_default": 0.5245118999999931,
    "tests/func/test_checkout.py::test_stats_on_added_file_from_tracked_dir": 0.7492703999998866,
    "tests/func/test_checkout.py::test_stats_on_checkout": 1.7117934000000332,
    "tests/func/test_checkout.py::test_stats_on_empty_checkout": 0.661128299999973,
    "tests/func/test_checkout.py::test_stats_on_removed_file_from_tracked_dir": 0.9060216999999966,
    "tests/func/test_checkout.py::test_stats_on_show_changes_does_not_show_summary": 0.5733001999999487,
    "tests/func/test_checkout.py::test_stats_on_updated_file_from_tracked_dir": 0.7445966999999882,
    "tests/func/test_cli.py::test_add": 0.16391589999989264,
    "tests/func/test_cli.py::test_argparse": 0.11586220000015146,
    "tests/func/test_cli.py::test_cd": 0.16199100000005728,
    "tests/func/test_cli.py::test_checkout": 0.23483790000000226,
    "tests/func/test_cli.py::test_config_list": 0.0035698999998885483,
    "tests/func/test_cli.py::test_config_unset": 0.11844689999998081,
    "tests/func/test_cli.py::test_find_root": 0.1724064999999655,
    "tests/func/test_cli.py::test_pull": 0.1517998000000489,
    "tests/func/test_cli.py::test_push": 0.1573064000000386,
    "tests/func/test_cli.py::test_remove": 0.180031299999996,
    "tests/func/test_cli.py::test_repro": 0.15573790000007648,
    "tests/func/test_cli.py::test_status": 0.14812940000001618,
    "tests/func/test_cli.py::test_unknown_command_help": 0.007515200000057121,
    "tests/func/test_cli.py::test_unknown_subcommand_help": 0.0067342999999482345,
    "tests/func/test_commit.py::test_commit_changed_md5": 0.2195017999999891,
    "tests/func/test_commit.py::test_commit_dos2unix": 0.3207045999999991,
    "tests/func/test_commit.py::test_commit_force": 0.3498164000001225,
    "tests/func/test_commit.py::test_commit_granular_dir": 0.3889625999998998,
    "tests/func/test_commit.py::test_commit_granular_output": 0.3346500999999762,
    "tests/func/test_commit.py::test_commit_granular_output_dir": 0.255196200000114,
    "tests/func/test_commit.py::test_commit_granular_output_file": 0.22752040000000306,
    "tests/func/test_commit.py::test_commit_no_exec": 0.2550777000000153,
    "tests/func/test_commit.py::test_commit_no_exec_missing_dep": 0.1423850000001039,
    "tests/func/test_commit.py::test_commit_no_exec_missing_out": 0.17701290000002246,
    "tests/func/test_commit.py::test_commit_pipeline_stage": 0.6073219999999537,
    "tests/func/test_commit.py::test_commit_preserve_fields": 0.30999370000006365,
    "tests/func/test_commit.py::test_commit_recursive": 0.3930149000000256,
    "tests/func/test_commit.py::test_commit_updates_to_cloud_versioning_dir": 0.2628995999999688,
    "tests/func/test_commit.py::test_commit_with_deps": 0.4309333000001061,
    "tests/func/test_commit.py::test_imported_entries_unchanged": 0.8517232999998896,
    "tests/func/test_config.py::test_config_gdrive_fields": 0.12703910000016094,
    "tests/func/test_config.py::test_config_get[args0-0-False]": 0.20948869999995168,
    "tests/func/test_config.py::test_config_get[args1-0-myremote]": 0.1829517000001033,
    "tests/func/test_config.py::test_config_get[args2-0-treeverse]": 0.19686669999998685,
    "tests/func/test_config.py::test_config_get[args3-0-treeverse]": 0.1675059000000374,
    "tests/func/test_config.py::test_config_get[args4-251-option 'profile' doesn't exist]": 0.18096200000002227,
    "tests/func/test_config.py::test_config_get[args5-0-gs://bucket/path]": 0.12368970000022728,
    "tests/func/test_config.py::test_config_get[args6-0-gs://bucket/path]": 0.13007389999995667,
    "tests/func/test_config.py::test_config_get[args7-251-remote 'other' doesn't exist]": 0.13832799999988765,
    "tests/func/test_config.py::test_config_get_in_non_dvc_repo[args0-251]": 0.014465299999983472,
    "tests/func/test_config.py::test_config_get_in_non_dvc_repo[args1-251]": 0.014442199999962213,
    "tests/func/test_config.py::test_config_get_in_non_dvc_repo[args2-0]": 0.013205699999957687,
    "tests/func/test_config.py::test_config_list": 0.13482399999986683,
    "tests/func/test_config.py::test_config_list_in_non_dvc_repo[args0-251]": 0.019574000000034175,
    "tests/func/test_config.py::test_config_list_in_non_dvc_repo[args1-251]": 0.01389150000011341,
    "tests/func/test_config.py::test_config_list_in_non_dvc_repo[args2-0]": 0.013700800000037816,
    "tests/func/test_config.py::test_config_loads_without_error_for_non_dvc_repo": 0.013231799999971372,
    "tests/func/test_config.py::test_config_remote": 0.15216689999999744,
    "tests/func/test_config.py::test_config_set": 0.17704680000008466,
    "tests/func/test_config.py::test_config_set_in_non_dvc_repo": 0.014170100000114871,
    "tests/func/test_config.py::test_config_set_local": 0.20866990000001806,
    "tests/func/test_config.py::test_config_show_origin_merged": 0.14643520000004173,
    "tests/func/test_config.py::test_config_show_origin_single": 0.15067039999996723,
    "tests/func/test_config.py::test_list_bad_args[args0]": 0.12268940000012662,
    "tests/func/test_config.py::test_list_bad_args[args1]": 0.14213120000010804,
    "tests/func/test_config.py::test_list_bad_args[args2]": 0.14091080000002876,
    "tests/func/test_config.py::test_load_relative_paths[cert_path-webdavs://example.com/files/USERNAME/]": 0.1395637999999053,
    "tests/func/test_config.py::test_load_relative_paths[credentialpath-gs://my-bucket/path]": 0.11936819999993986,
    "tests/func/test_config.py::test_load_relative_paths[credentialpath-s3://mybucket/my/path]": 0.12908759999993435,
    "tests/func/test_config.py::test_load_relative_paths[gdrive_service_account_json_file_path-gdrive://root/test]": 0.1351872000000185,
    "tests/func/test_config.py::test_load_relative_paths[gdrive_user_credentials_file-gdrive://root/test]": 0.12179250000008324,
    "tests/func/test_config.py::test_load_relative_paths[key_path-webdavs://example.com/files/USERNAME/]": 0.14102509999997892,
    "tests/func/test_config.py::test_load_relative_paths[keyfile-ssh://user@example.com:1234/path/to/dir]": 0.14036539999995057,
    "tests/func/test_config.py::test_merging_two_levels": 0.14326260000007096,
    "tests/func/test_config.py::test_set_invalid_key": 0.12056800000004841,
    "tests/func/test_daemon.py::test_analytics": 1.1433796000001166,
    "tests/func/test_daemon.py::test_updater": 2.4364567999999736,
    "tests/func/test_data_cloud.py::TestRemote::test": 0.6962589999999409,
    "tests/func/test_data_cloud.py::TestRemote::test_pull_00_prefix": 0.6842130000001134,
    "tests/func/test_data_cloud.py::TestRemote::test_pull_no_00_prefix": 0.8140448000000333,
    "tests/func/test_data_cloud.py::TestRemote::test_stage_cache_push_pull": 0.57795590000012,
    "tests/func/test_data_cloud.py::test_cloud_cli": 1.659253900000067,
    "tests/func/test_data_cloud.py::test_data_cloud_error_cli": 0.22858320000000276,
    "tests/func/test_data_cloud.py::test_dvc_pull_pipeline_stages": 3.110578300000043,
    "tests/func/test_data_cloud.py::test_fetch_stats[fs0-2 files fetched]": 0.6439170999998396,
    "tests/func/test_data_cloud.py::test_fetch_stats[fs1-1 file fetched]": 0.511205700000005,
    "tests/func/test_data_cloud.py::test_fetch_stats[fs2-Everything is up to date.]": 0.26188230000002477,
    "tests/func/test_data_cloud.py::test_hash_recalculation": 0.3639411999999993,
    "tests/func/test_data_cloud.py::test_missing_cache": 0.4893174999999701,
    "tests/func/test_data_cloud.py::test_output_remote": 1.5091685999999527,
    "tests/func/test_data_cloud.py::test_output_target_remote": 1.2829474000000118,
    "tests/func/test_data_cloud.py::test_pipeline_file_target_ops": 1.7815956999999116,
    "tests/func/test_data_cloud.py::test_pull_allow_missing": 0.6819165000000567,
    "tests/func/test_data_cloud.py::test_pull_external_dvc_imports": 1.9060864000000493,
    "tests/func/test_data_cloud.py::test_pull_external_dvc_imports_mixed": 1.6527059000000008,
    "tests/func/test_data_cloud.py::test_pull_git_imports[erepo_dir]": 1.5395055000000184,
    "tests/func/test_data_cloud.py::test_pull_git_imports[git_dir]": 1.045524300000011,
    "tests/func/test_data_cloud.py::test_pull_granular_excluding_import_that_cannot_be_pulled": 0.7391129000000092,
    "tests/func/test_data_cloud.py::test_pull_partial": 0.8865887999999131,
    "tests/func/test_data_cloud.py::test_pull_partial_import": 0.34923349999996844,
    "tests/func/test_data_cloud.py::test_pull_partial_import_missing": 0.25161370000012084,
    "tests/func/test_data_cloud.py::test_pull_partial_import_modified": 0.3184686000000738,
    "tests/func/test_data_cloud.py::test_pull_stats": 0.8137879000000794,
    "tests/func/test_data_cloud.py::test_push_pull_all[all_branches-3]": 1.3515395000001718,
    "tests/func/test_data_cloud.py::test_push_pull_all[all_commits-3]": 2.8969190000000253,
    "tests/func/test_data_cloud.py::test_push_pull_all[all_tags-2]": 1.2282873999999993,
    "tests/func/test_data_cloud.py::test_push_pull_fetch_pipeline_stages": 0.9839677999999594,
    "tests/func/test_data_cloud.py::test_push_stats[fs0-2 files pushed]": 0.5599261000000979,
    "tests/func/test_data_cloud.py::test_push_stats[fs1-1 file pushed]": 0.6247941999999966,
    "tests/func/test_data_cloud.py::test_push_stats[fs2-Everything is up to date]": 0.35563230000002477,
    "tests/func/test_data_cloud.py::test_target_remote": 0.8110535999999229,
    "tests/func/test_data_cloud.py::test_verify_hashes": 1.1686573000000635,
    "tests/func/test_data_cloud.py::test_warn_on_outdated_stage": 0.4580950000000712,
    "tests/func/test_data_status.py::test_directory": 0.7879010000000335,
    "tests/func/test_data_status.py::test_empty_dir": 0.4069728000000623,
    "tests/func/test_data_status.py::test_file": 0.6691374999999198,
    "tests/func/test_data_status.py::test_git_committed_missing_cache_missing_workspace": 0.8985119999998687,
    "tests/func/test_data_status.py::test_git_committed_missing_cache_workspace_exists": 0.6913467999999057,
    "tests/func/test_data_status.py::test_git_to_dvc_path_wdir_transformation[None]": 0.3991748999998208,
    "tests/func/test_data_status.py::test_git_to_dvc_path_wdir_transformation[path1]": 0.5411543999999822,
    "tests/func/test_data_status.py::test_missing_cache_missing_workspace": 0.593168799999944,
    "tests/func/test_data_status.py::test_missing_cache_workspace_exists": 0.5601576999999907,
    "tests/func/test_data_status.py::test_missing_dir_object_from_head": 0.669361800000047,
    "tests/func/test_data_status.py::test_missing_dir_object_from_index": 0.7362090000000308,
    "tests/func/test_data_status.py::test_missing_remote_cache": 0.9769824999999628,
    "tests/func/test_data_status.py::test_new_empty_git_repo": 0.39809409999998024,
    "tests/func/test_data_status.py::test_noscm_repo": 0.21185890000003837,
    "tests/func/test_data_status.py::test_outs_with_no_hashes": 0.43225139999992734,
    "tests/func/test_data_status.py::test_outs_with_no_hashes_and_with_uncommitted_files": 0.40048109999997905,
    "tests/func/test_data_status.py::test_partial_missing_cache": 0.49934910000001764,
    "tests/func/test_data_status.py::test_root_from_dir_to_file": 0.6534549999998944,
    "tests/func/test_data_status.py::test_root_from_file_to_dir": 0.46668609999994715,
    "tests/func/test_data_status.py::test_skip_uncached_pipeline_outputs": 0.40500140000006013,
    "tests/func/test_data_status.py::test_subdir": 1.0634731000000102,
    "tests/func/test_data_status.py::test_tracked_directory_deep": 0.6695379000001367,
    "tests/func/test_data_status.py::test_unchanged": 0.7081071999999722,
    "tests/func/test_data_status.py::test_untracked_newly_added_files": 0.4063917999999376,
    "tests/func/test_dataset.py::test_collect": 0.1674499000000651,
    "tests/func/test_dataset.py::test_dvc": 0.46001330000012786,
    "tests/func/test_dataset.py::test_dvc_dataset_pipeline": 0.7948393000000351,
    "tests/func/test_dataset.py::test_dvc_dump": 0.17996560000005957,
    "tests/func/test_dataset.py::test_datachain": 0.22482930000001033,
    "tests/func/test_dataset.py::test_datachain_dataset_pipeline": 0.43405649999999696,
    "tests/func/test_dataset.py::test_datachain_dump": 0.1858166000000665,
    "tests/func/test_dataset.py::test_invalidation": 0.16291839999996682,
    "tests/func/test_dataset.py::test_parametrized": 0.19277699999997822,
    "tests/func/test_dataset.py::test_pipeline_when_not_in_sync": 0.2063928999999689,
    "tests/func/test_dataset.py::test_url": 1.1613198999999668,
    "tests/func/test_dataset.py::test_url_dataset_pipeline": 0.7589528000000882,
    "tests/func/test_dataset.py::test_url_dump": 0.16424820000008822,
    "tests/func/test_diff.py::test_abs_target": 0.4775963000000729,
    "tests/func/test_diff.py::test_added": 0.4151034000000209,
    "tests/func/test_diff.py::test_added_deep": 0.46422310000002653,
    "tests/func/test_diff.py::test_deleted[False]": 0.683859100000177,
    "tests/func/test_diff.py::test_deleted[True]": 0.4685372000000143,
    "tests/func/test_diff.py::test_diff_add_similar_files[False]": 0.6157927000000427,
    "tests/func/test_diff.py::test_diff_add_similar_files[True]": 0.6788806999999224,
    "tests/func/test_diff.py::test_diff_dirty": 0.6926497000000609,
    "tests/func/test_diff.py::test_diff_granular": 0.8422219000000268,
    "tests/func/test_diff.py::test_diff_no_cache": 0.6685171999999966,
    "tests/func/test_diff.py::test_diff_rename_file[False]": 0.7659852000000456,
    "tests/func/test_diff.py::test_diff_rename_file[True]": 0.822601000000077,
    "tests/func/test_diff.py::test_diff_rename_folder[False]": 0.5709835999999768,
    "tests/func/test_diff.py::test_diff_rename_folder[True]": 0.6485969999998815,
    "tests/func/test_diff.py::test_directories": 1.1286296000000675,
    "tests/func/test_diff.py::test_modified": 0.6859245999999075,
    "tests/func/test_diff.py::test_modified_subrepo": 0.9839555999999448,
    "tests/func/test_diff.py::test_no_cache_entry": 0.7368651000000455,
    "tests/func/test_diff.py::test_no_changes": 0.6226969000000508,
    "tests/func/test_diff.py::test_no_commits": 0.5326039999998784,
    "tests/func/test_diff.py::test_no_scm": 0.253040399999918,
    "tests/func/test_diff.py::test_refs": 0.9594080000000531,
    "tests/func/test_diff.py::test_rename_multiple_files_same_hashes": 0.9475248000001102,
    "tests/func/test_diff.py::test_same_rev": 0.5410654000000932,
    "tests/func/test_diff.py::test_targets_file_and_dir": 0.9251517999999805,
    "tests/func/test_diff.py::test_targets_missing_path": 0.7832548999999744,
    "tests/func/test_diff.py::test_targets_single_dir": 0.947497799999951,
    "tests/func/test_diff.py::test_targets_single_dir_with_file": 0.9124318000000358,
    "tests/func/test_diff.py::test_targets_single_file": 0.7914005999999745,
    "tests/func/test_diff.py::test_targets_single_file_in_dir": 0.7911016000000473,
    "tests/func/test_diff.py::test_targets_single_file_in_dir_with_file": 0.9484240999998974,
    "tests/func/test_diff.py::test_targets_two_files_in_dir": 0.7935872000000472,
    "tests/func/test_download.py::test_lfs_prefetch_directory[escape-**]": 0.001256399999988389,
    "tests/func/test_download.py::test_lfs_prefetch_directory[escape-*]": 0.0013634000000593005,
    "tests/func/test_download.py::test_lfs_prefetch_directory[escape-?]": 0.001416800000015428,
    "tests/func/test_download.py::test_lfs_prefetch_directory[escape-[!seq]]": 0.43633040000008805,
    "tests/func/test_download.py::test_lfs_prefetch_directory[escape-[seq]]": 0.39428320000001804,
    "tests/func/test_download.py::test_lfs_prefetch_directory[plain]": 0.49833910000006654,
    "tests/func/test_download.py::test_lfs_prefetch_file[escape-**]": 0.001109700000029079,
    "tests/func/test_download.py::test_lfs_prefetch_file[escape-*]": 0.0011691999999356995,
    "tests/func/test_download.py::test_lfs_prefetch_file[escape-?]": 0.0011173999999982698,
    "tests/func/test_download.py::test_lfs_prefetch_file[escape-[!seq]]": 0.48147240000002967,
    "tests/func/test_download.py::test_lfs_prefetch_file[escape-[seq]]": 0.3986328999999387,
    "tests/func/test_download.py::test_lfs_prefetch_file[plain]": 0.40905340000006163,
    "tests/func/test_du.py::test_du": 2.0110667999999805,
    "tests/func/test_dvcfile.py::test_dvcfile_dos2unix": 0.15745239999989735,
    "tests/func/test_dvcfile.py::test_dvcfile_dump_preserves_comments": 0.1488390999999183,
    "tests/func/test_dvcfile.py::test_dvcfile_dump_preserves_desc": 0.38740600000005543,
    "tests/func/test_dvcfile.py::test_dvcfile_dump_preserves_meta": 0.36510500000008506,
    "tests/func/test_dvcfile.py::test_dvcfile_load_dump_stage_with_desc_meta": 0.18181300000003375,
    "tests/func/test_dvcfile.py::test_dvcfile_load_with_plots": 0.26786539999989145,
    "tests/func/test_dvcfile.py::test_dvcfile_try_dumping_parametrized_stage[data0-build-us]": 0.15425709999999526,
    "tests/func/test_dvcfile.py::test_dvcfile_try_dumping_parametrized_stage[data1-build@us]": 0.16851990000020578,
    "tests/func/test_dvcfile.py::test_has_stage_with_name": 0.33740469999986544,
    "tests/func/test_dvcfile.py::test_load_all_multistage": 0.5214114999999993,
    "tests/func/test_dvcfile.py::test_load_all_singlestage": 0.23141340000006494,
    "tests/func/test_dvcfile.py::test_remove_stage": 0.7379988999999796,
    "tests/func/test_dvcfile.py::test_remove_stage_dvcfiles": 0.2416733000000022,
    "tests/func/test_dvcfile.py::test_remove_stage_lockfile": 0.6938364000000092,
    "tests/func/test_dvcfile.py::test_remove_stage_on_lockfile_format_error": 0.39975270000002183,
    "tests/func/test_dvcfile.py::test_remove_stage_preserves_comment": 0.4730415000001358,
    "tests/func/test_dvcfile.py::test_remove_stage_removes_dvcfiles_if_no_stages_left": 0.3775637999999617,
    "tests/func/test_dvcfile.py::test_run_load_one_for_multistage": 0.502129600000103,
    "tests/func/test_dvcfile.py::test_run_load_one_for_multistage_non_existing": 0.2074472000000469,
    "tests/func/test_dvcfile.py::test_run_load_one_for_multistage_non_existing_stage_name": 0.34883259999980964,
    "tests/func/test_dvcfile.py::test_run_load_one_on_single_stage": 0.597080099999971,
    "tests/func/test_dvcfile.py::test_stage_collection": 0.44439489999990656,
    "tests/func/test_dvcfile.py::test_try_get_single_stage_from_pipeline_file": 0.2724720000001071,
    "tests/func/test_external_repo.py::test_cache_reused": 1.383084300000064,
    "tests/func/test_external_repo.py::test_external_repo": 1.2636050999999497,
    "tests/func/test_external_repo.py::test_known_sha": 0.35369119999995746,
    "tests/func/test_external_repo.py::test_pull_subdir_file": 0.5718703000000005,
    "tests/func/test_external_repo.py::test_relative_remote": 0.973195500000088,
    "tests/func/test_external_repo.py::test_shallow_clone_branch": 1.2217249000000265,
    "tests/func/test_external_repo.py::test_shallow_clone_tag": 1.015111999999931,
    "tests/func/test_external_repo.py::test_source_change": 0.7035343999998531,
    "tests/func/test_external_repo.py::test_subrepos_are_ignored": 1.3591140999999425,
    "tests/func/test_external_repo.py::test_subrepos_are_ignored_for_git_tracked_dirs": 1.0593133999998372,
    "tests/func/test_fs.py::test_cleanfs_subrepo": 0.46248530000002575,
    "tests/func/test_fs.py::test_walk_dont_ignore_subrepos": 0.6838972999998987,
    "tests/func/test_gc.py::test_all_commits": 2.156316600000082,
    "tests/func/test_gc.py::test_date": 2.269047599999908,
    "tests/func/test_gc.py::test_gc_all_experiments": 0.6611699000000044,
    "tests/func/test_gc.py::test_gc_api": 0.3851829999999836,
    "tests/func/test_gc.py::test_gc_branches_tags": 1.0996564000000717,
    "tests/func/test_gc.py::test_gc_cli": 0.41177300000003925,
    "tests/func/test_gc.py::test_gc_cloud_positive": 0.34791889999996783,
    "tests/func/test_gc.py::test_gc_cloud_remote_field": 0.795977999999991,
    "tests/func/test_gc.py::test_gc_cloud_remove_order": 0.8154675999999199,
    "tests/func/test_gc.py::test_gc_cloud_with_or_without_specifier": 0.933874499999888,
    "tests/func/test_gc.py::test_gc_dry": 0.32338210000000345,
    "tests/func/test_gc.py::test_gc_logging": 0.31315829999994094,
    "tests/func/test_gc.py::test_gc_multiple_dvc_repos": 0.8834275000000389,
    "tests/func/test_gc.py::test_gc_no_dir_cache": 0.3972282999999379,
    "tests/func/test_gc.py::test_gc_no_unpacked_dir": 0.23377059999995708,
    "tests/func/test_gc.py::test_gc_not_collect_pipeline_tracked_files": 0.39117349999992257,
    "tests/func/test_gc.py::test_gc_not_in_remote": 0.7354806999999255,
    "tests/func/test_gc.py::test_gc_not_in_remote_cloud": 0.18755820000001222,
    "tests/func/test_gc.py::test_gc_not_in_remote_remote_arg": 0.8360622999999805,
    "tests/func/test_gc.py::test_gc_not_in_remote_with_remote_field": 0.6703756999999086,
    "tests/func/test_gc.py::test_gc_rev_num": 0.7199834999998984,
    "tests/func/test_gc.py::test_gc_skip_failed": 0.1434530999998742,
    "tests/func/test_gc.py::test_gc_with_possible_args_positive": 0.3313971000000038,
    "tests/func/test_gc.py::test_gc_without_workspace[]": 0.2372054999999591,
    "tests/func/test_gc.py::test_gc_without_workspace[c]": 0.2266785000000482,
    "tests/func/test_gc.py::test_gc_without_workspace_on_tags_branches_commits": 0.20780869999998686,
    "tests/func/test_gc.py::test_gc_without_workspace_raises_error": 0.12934850000010556,
    "tests/func/test_get.py::test_absolute_file_outside_git_repo": 0.15017870000008315,
    "tests/func/test_get.py::test_absolute_file_outside_repo": 0.38033600000005663,
    "tests/func/test_get.py::test_cache_type_is_properly_overridden": 0.5857792000000472,
    "tests/func/test_get.py::test_get_a_dvc_file": 0.20116699999994125,
    "tests/func/test_get.py::test_get_complete_repo": 1.4647586999999476,
    "tests/func/test_get.py::test_get_file_from_dir": 0.9006957999998804,
    "tests/func/test_get.py::test_get_from_non_dvc_master": 0.6872383000001037,
    "tests/func/test_get.py::test_get_from_non_dvc_repo": 0.2128956000000244,
    "tests/func/test_get.py::test_get_from_subrepos[files0-False]": 0.7780077999999548,
    "tests/func/test_get.py::test_get_from_subrepos[files0-True]": 0.8611526999999342,
    "tests/func/test_get.py::test_get_from_subrepos[files1-False]": 0.7101842999999235,
    "tests/func/test_get.py::test_get_from_subrepos[files1-True]": 0.8807715999998891,
    "tests/func/test_get.py::test_get_git_dir[erepo_dir]": 0.38611629999991237,
    "tests/func/test_get.py::test_get_git_dir[git_dir]": 0.2643609000000424,
    "tests/func/test_get.py::test_get_git_file[erepo_dir]": 0.3733656000000565,
    "tests/func/test_get.py::test_get_git_file[git_dir]": 0.2132688000001508,
    "tests/func/test_get.py::test_get_mixed_dir": 0.5913230999999541,
    "tests/func/test_get.py::test_get_pipeline_tracked_outs": 1.2631304000001364,
    "tests/func/test_get.py::test_get_repo_broken_dir": 0.48770490000003974,
    "tests/func/test_get.py::test_get_repo_dir": 0.5975047000000586,
    "tests/func/test_get.py::test_get_repo_file": 0.5339506000000256,
    "tests/func/test_get.py::test_get_repo_file_no_override": 0.8450057000001152,
    "tests/func/test_get.py::test_get_repo_file_with_override": 0.9565097000000833,
    "tests/func/test_get.py::test_get_repo_rev": 0.47190690000013547,
    "tests/func/test_get.py::test_get_to_dir[.]": 0.7166565999999648,
    "tests/func/test_get.py::test_get_to_dir[dir/subdir]": 0.543013799999926,
    "tests/func/test_get.py::test_get_to_dir[dir]": 0.4927519000000302,
    "tests/func/test_get.py::test_get_url_git_only_repo": 0.20925550000004023,
    "tests/func/test_get.py::test_get_url_not_existing": 0.39218749999997726,
    "tests/func/test_get.py::test_get_url_positive": 0.6426764000000276,
    "tests/func/test_get.py::test_granular_get_from_subrepos": 1.2335647000001018,
    "tests/func/test_get.py::test_non_cached_output": 0.6284569000000602,
    "tests/func/test_get.py::test_unknown_path": 0.2856510999999955,
    "tests/func/test_get_url.py::TestGetUrl::test_get_dir": 0.02241720000006353,
    "tests/func/test_get_url.py::TestGetUrl::test_get_file": 0.025068900000064787,
    "tests/func/test_get_url.py::TestGetUrl::test_get_url_nonexistent": 0.012923699999987548,
    "tests/func/test_get_url.py::TestGetUrl::test_get_url_to_dir[.]": 0.025865899999871544,
    "tests/func/test_get_url.py::TestGetUrl::test_get_url_to_dir[dir/subdir]": 0.023055399999861947,
    "tests/func/test_get_url.py::TestGetUrl::test_get_url_to_dir[dir]": 0.0350884000000633,
    "tests/func/test_get_url.py::test_get_dir": 0.015264599999909478,
    "tests/func/test_get_url.py::test_get_file": 0.014133099999980914,
    "tests/func/test_get_url.py::test_get_file_conflict_and_override": 0.016250000000013642,
    "tests/func/test_get_url.py::test_get_url_config": 0.1669968000001063,
    "tests/func/test_get_url.py::test_get_url_nonexistent": 0.01504759999977523,
    "tests/func/test_get_url.py::test_get_url_to_dir[.]": 0.02255650000006426,
    "tests/func/test_get_url.py::test_get_url_to_dir[dir/subdir]": 0.021038400000179536,
    "tests/func/test_get_url.py::test_get_url_to_dir[dir]": 0.01743029999988721,
    "tests/func/test_ignore.py::test_dvcignore_in_out_dir": 0.15225010000006023,
    "tests/func/test_ignore.py::test_ignore[\\u0442\\u0435\\u0441\\u0442]": 0.14757190000000264,
    "tests/func/test_ignore.py::test_ignore[ignored]": 0.15114039999991746,
    "tests/func/test_ignore.py::test_ignore_blank_line": 0.18660330000000158,
    "tests/func/test_ignore.py::test_ignore_collecting_dvcignores[dir/subdir]": 0.16490030000011302,
    "tests/func/test_ignore.py::test_ignore_collecting_dvcignores[dir]": 0.14711049999993975,
    "tests/func/test_ignore.py::test_ignore_directory": 0.1992541000000756,
    "tests/func/test_ignore.py::test_ignore_external": 0.2136403000000655,
    "tests/func/test_ignore.py::test_ignore_file_in_parent_path[data_struct0-pattern_list0-result_set0]": 0.1942944999999554,
    "tests/func/test_ignore.py::test_ignore_file_in_parent_path[data_struct1-pattern_list1-result_set1]": 0.19079089999991083,
    "tests/func/test_ignore.py::test_ignore_file_in_parent_path[data_struct2-pattern_list2-result_set2]": 0.2009209999999939,
    "tests/func/test_ignore.py::test_ignore_in_added_dir": 0.3251916000000392,
    "tests/func/test_ignore.py::test_ignore_on_branch": 0.35599500000000717,
    "tests/func/test_ignore.py::test_ignore_resurface_subrepo": 0.6824492999999165,
    "tests/func/test_ignore.py::test_ignore_sub_directory": 0.20163170000012087,
    "tests/func/test_ignore.py::test_ignored_output": 0.48675440000010894,
    "tests/func/test_ignore.py::test_ignored_output_nested": 0.4683974000000717,
    "tests/func/test_ignore.py::test_match_nested": 0.1366146000000299,
    "tests/func/test_ignore.py::test_multi_ignore_file": 0.18268860000000586,
    "tests/func/test_ignore.py::test_pattern_trie_fs": 0.16440320000015163,
    "tests/func/test_ignore.py::test_pull_ignore": 0.7683907000000545,
    "tests/func/test_ignore.py::test_remove_file": 0.1357917999999927,
    "tests/func/test_ignore.py::test_remove_ignored_file": 0.1405205000000933,
    "tests/func/test_ignore.py::test_rename_file": 0.14469229999986055,
    "tests/func/test_ignore.py::test_rename_ignored_file": 0.14287149999984194,
    "tests/func/test_ignore.py::test_run_dvcignored_dep": 0.33406170000000657,
    "tests/func/test_ignore.py::test_walk": 0.16399349999994683,
    "tests/func/test_import.py::test_cache_type_is_properly_overridden": 0.9056994000000032,
    "tests/func/test_import.py::test_chained_import": 2.625762800000075,
    "tests/func/test_import.py::test_granular_import_from_subrepos": 1.4031246000000692,
    "tests/func/test_import.py::test_import": 0.8625809999999774,
    "tests/func/test_import.py::test_import_broken_dir": 0.7567731999999978,
    "tests/func/test_import.py::test_import_cached_file": 1.0863352999999734,
    "tests/func/test_import.py::test_import_complete_repo": 2.6308554000000868,
    "tests/func/test_import.py::test_import_configs[options0-def_repo0]": 0.5693571000001612,
    "tests/func/test_import.py::test_import_configs[options1-def_repo1]": 0.575264099999913,
    "tests/func/test_import.py::test_import_configs[options2-def_repo2]": 0.5618485999999621,
    "tests/func/test_import.py::test_import_configs[options3-def_repo3]": 0.5637469000000692,
    "tests/func/test_import.py::test_import_configs[options4-def_repo4]": 0.7436949999998888,
    "tests/func/test_import.py::test_import_dir": 0.9349176000000625,
    "tests/func/test_import.py::test_import_file_from_dir": 2.0776521000001367,
    "tests/func/test_import.py::test_import_file_from_dir_to_dir": 0.9712954999999965,
    "tests/func/test_import.py::test_import_from_bare_git_repo": 1.746106199999872,
    "tests/func/test_import.py::test_import_git_dir[False]": 0.5802926999999727,
    "tests/func/test_import.py::test_import_git_dir[True]": 0.9223047000000406,
    "tests/func/test_import.py::test_import_git_file[False]": 0.6169221000001244,
    "tests/func/test_import.py::test_import_git_file[True]": 0.9858597999998437,
    "tests/func/test_import.py::test_import_invalid_configs": 0.6348908999999594,
    "tests/func/test_import.py::test_import_mixed_dir": 1.0006189000000631,
    "tests/func/test_import.py::test_import_no_download": 0.8493882999999869,
    "tests/func/test_import.py::test_import_non_cached": 0.8062373000000207,
    "tests/func/test_import.py::test_import_non_existing": 0.5482246999999916,
    "tests/func/test_import.py::test_import_pipeline_tracked_outs": 1.8464855999999372,
    "tests/func/test_import.py::test_import_rev": 0.8083298000000241,
    "tests/func/test_import.py::test_import_subrepos[files0-False]": 1.3250576000000365,
    "tests/func/test_import.py::test_import_subrepos[files0-True]": 1.2777296000000433,
    "tests/func/test_import.py::test_import_subrepos[files1-False]": 1.2118335000001252,
    "tests/func/test_import.py::test_import_subrepos[files1-True]": 1.265125600000033,
    "tests/func/test_import.py::test_import_to_dir[.]": 1.1777158999999529,
    "tests/func/test_import.py::test_import_to_dir[dir/subdir]": 0.8869288999999299,
    "tests/func/test_import.py::test_import_to_dir[dir]": 0.7965009999999211,
    "tests/func/test_import.py::test_import_with_jobs": 0.8842647999999826,
    "tests/func/test_import.py::test_import_with_no_exec": 0.3832912999999962,
    "tests/func/test_import.py::test_local_import": 1.080212700000061,
    "tests/func/test_import.py::test_parameterized_repo[paths0]": 1.0523322999999891,
    "tests/func/test_import.py::test_parameterized_repo[paths1]": 0.9154290000000174,
    "tests/func/test_import.py::test_pull_import_no_download": 1.3039238999999725,
    "tests/func/test_import.py::test_pull_import_no_download_rev_lock": 1.1029234000000088,
    "tests/func/test_import.py::test_pull_imported_directory_stage[dir/]": 1.3592204999997648,
    "tests/func/test_import.py::test_pull_imported_directory_stage[dir]": 1.130154100000027,
    "tests/func/test_import.py::test_pull_imported_stage": 1.1966352000000597,
    "tests/func/test_import.py::test_pull_imported_stage_from_subrepos[files0-False]": 1.331404799999973,
    "tests/func/test_import.py::test_pull_imported_stage_from_subrepos[files0-True]": 1.6920185000000174,
    "tests/func/test_import.py::test_pull_imported_stage_from_subrepos[files1-False]": 1.4010470000000623,
    "tests/func/test_import.py::test_pull_imported_stage_from_subrepos[files1-True]": 1.5626003999999512,
    "tests/func/test_import.py::test_pull_no_rev_lock": 1.0278057000000445,
    "tests/func/test_import.py::test_pull_non_workspace": 1.6440565000000333,
    "tests/func/test_import.py::test_pull_wildcard_imported_directory_stage": 1.1825951000000714,
    "tests/func/test_import.py::test_push_wildcard_from_bare_git_repo": 1.8283545999998978,
    "tests/func/test_import.py::test_reimport": 1.1143974999999955,
    "tests/func/test_import_db.py::test[args0-results-csv]": 0.6439319000000978,
    "tests/func/test_import_db.py::test[args0-results-json]": 0.4460628000000497,
    "tests/func/test_import_db.py::test[args1-model-csv]": 0.4647165000001223,
    "tests/func/test_import_db.py::test[args1-model-json]": 0.46484750000001895,
    "tests/func/test_import_url.py::TestImport::test_import": 0.28322309999987283,
    "tests/func/test_import_url.py::TestImport::test_import_dir": 0.3263785999998845,
    "tests/func/test_import_url.py::TestImport::test_import_empty_dir": 0.2588596000000507,
    "tests/func/test_import_url.py::test_cmd_import": 0.243037500000014,
    "tests/func/test_import_url.py::test_cmd_unsupported_scheme": 0.1825516000000107,
    "tests/func/test_import_url.py::test_default_output": 0.25000760000011724,
    "tests/func/test_import_url.py::test_import_conflict_and_override": 0.29910240000015165,
    "tests/func/test_import_url.py::test_import_stage_accompanies_target": 0.7743165999999064,
    "tests/func/test_import_url.py::test_import_url_fs_config": 0.41629649999993035,
    "tests/func/test_import_url.py::test_import_url_no_download": 0.4691332999999531,
    "tests/func/test_import_url.py::test_import_url_nonexistent": 0.3444412999999713,
    "tests/func/test_import_url.py::test_import_url_preserve_fields": 0.2801150000001371,
    "tests/func/test_import_url.py::test_import_url_to_dir[.]": 0.3046689000000242,
    "tests/func/test_import_url.py::test_import_url_to_dir[dir/subdir]": 0.3088328000000047,
    "tests/func/test_import_url.py::test_import_url_to_dir[dir]": 0.2801137999998673,
    "tests/func/test_import_url.py::test_import_url_to_remote_absolute": 0.4061252000000195,
    "tests/func/test_import_url.py::test_import_url_to_remote_invalid_combinations": 0.1392080000000533,
    "tests/func/test_import_url.py::test_import_url_to_remote_status": 0.523811300000034,
    "tests/func/test_import_url.py::test_import_url_with_no_exec": 0.3659144999999171,
    "tests/func/test_import_url.py::test_partial_import_pull": 0.925487999999973,
    "tests/func/test_import_url.py::test_should_remove_outs_before_import": 0.4517859000000044,
    "tests/func/test_init.py::test_allow_init_dvc_subdir": 0.36744199999986904,
    "tests/func/test_init.py::test_api_init": 0.41764749999993,
    "tests/func/test_init.py::test_cli_init": 0.3148900999998432,
    "tests/func/test_init.py::test_double_init": 0.8229186999999456,
    "tests/func/test_init.py::test_gen_dvcignore": 0.25045269999986886,
    "tests/func/test_init.py::test_init_no_scm_api": 0.2666681000000608,
    "tests/func/test_init.py::test_init_no_scm_cli": 0.23497389999999996,
    "tests/func/test_init.py::test_init_no_scm_fail_api": 0.011122799999952804,
    "tests/func/test_init.py::test_init_no_scm_fail_cli": 0.026207399999975678,
    "tests/func/test_init.py::test_init_quiet_should_not_display_welcome_screen": 0.31500000000005457,
    "tests/func/test_init.py::test_init_when_ignored_by_git": 0.03822130000003199,
    "tests/func/test_init.py::test_subdir_init_no_option": 0.034765399999969304,
    "tests/func/test_install.py::TestInstall::test_create_hooks": 0.001248400000008587,
    "tests/func/test_install.py::TestInstall::test_fail_if_hook_exists": 0.0011312999999972817,
    "tests/func/test_install.py::TestInstall::test_install_pre_commit_tool": 0.0011799000000110027,
    "tests/func/test_install.py::TestInstall::test_post_checkout": 0.0011200999999800842,
    "tests/func/test_install.py::TestInstall::test_pre_commit_hook": 0.0011349999999765714,
    "tests/func/test_install.py::TestInstall::test_pre_push_hook": 0.0011102999999366148,
    "tests/func/test_install.py::test_merge_driver": 0.0011039000000891974,
    "tests/func/test_install.py::test_merge_driver_no_ancestor": 0.0011172000000669868,
    "tests/func/test_lock.py::test_cli": 0.30169069999999465,
    "tests/func/test_lock.py::test_unlock_lock_failed": 0.19527419999997164,
    "tests/func/test_lock.py::test_unlock_unlocked_raises": 0.0037138999999797306,
    "tests/func/test_lock.py::test_with": 0.19908450000014,
    "tests/func/test_lockfile.py::test_cmd_changes_other_orders_are_preserved": 0.7635403999998971,
    "tests/func/test_lockfile.py::test_deps_outs_are_sorted_by_path": 0.4513723000000027,
    "tests/func/test_lockfile.py::test_order_is_preserved_when_pipeline_order_changes": 1.3011747000000469,
    "tests/func/test_lockfile.py::test_params_dump": 1.2367351999999983,
    "tests/func/test_ls.py::test_broken_symlink": 0.23077140000009422,
    "tests/func/test_ls.py::test_ls_broken_dir": 0.8679249000001619,
    "tests/func/test_ls.py::test_ls_granular": 0.6666682000000037,
    "tests/func/test_ls.py::test_ls_not_existed_url": 0.04265199999997549,
    "tests/func/test_ls.py::test_ls_remote_git_only_repo_recursive": 0.44433429999992313,
    "tests/func/test_ls.py::test_ls_remote_repo": 0.9113675999999487,
    "tests/func/test_ls.py::test_ls_remote_repo_recursive": 0.8802007000000458,
    "tests/func/test_ls.py::test_ls_remote_repo_with_path_dir": 1.0943083999999317,
    "tests/func/test_ls.py::test_ls_remote_repo_with_rev": 0.8788874000000533,
    "tests/func/test_ls.py::test_ls_remote_repo_with_rev_recursive": 0.9485074999998915,
    "tests/func/test_ls.py::test_ls_repo": 0.8172812999999906,
    "tests/func/test_ls.py::test_ls_repo_dvc_only_recursive": 1.0351157000000057,
    "tests/func/test_ls.py::test_ls_repo_recursive": 0.8275060999998232,
    "tests/func/test_ls.py::test_ls_repo_with_file_path_fs": 0.8277243999998518,
    "tests/func/test_ls.py::test_ls_repo_with_missed_path": 0.8948088000001917,
    "tests/func/test_ls.py::test_ls_repo_with_missed_path_dvc_only": 0.873964800000067,
    "tests/func/test_ls.py::test_ls_repo_with_new_path_dir": 0.7521163999999771,
    "tests/func/test_ls.py::test_ls_repo_with_path_dir": 0.8435791999999083,
    "tests/func/test_ls.py::test_ls_repo_with_path_dir_dvc_only_empty": 1.5219220000000178,
    "tests/func/test_ls.py::test_ls_repo_with_path_file_out": 0.89468480000005,
    "tests/func/test_ls.py::test_ls_repo_with_path_subdir": 0.8051321000000371,
    "tests/func/test_ls.py::test_ls_repo_with_path_subdir_dvc_only": 0.9938705999999229,
    "tests/func/test_ls.py::test_ls_repo_with_path_subdir_dvc_only_recursive": 0.9960608000000093,
    "tests/func/test_ls.py::test_ls_repo_with_removed_dvc_dir": 0.849593900000059,
    "tests/func/test_ls.py::test_ls_repo_with_removed_dvc_dir_recursive": 1.0610984000001054,
    "tests/func/test_ls.py::test_ls_repo_with_removed_dvc_dir_with_path_dir": 0.8317214999999578,
    "tests/func/test_ls.py::test_ls_repo_with_removed_dvc_dir_with_path_file": 0.891010499999993,
    "tests/func/test_ls.py::test_ls_repo_with_rev": 0.8284595999999738,
    "tests/func/test_ls.py::test_ls_shows_pipeline_tracked_outs": 0.6767601999999897,
    "tests/func/test_ls.py::test_ls_target[False]": 1.0040828999999576,
    "tests/func/test_ls.py::test_ls_target[True]": 0.5304179000000886,
    "tests/func/test_ls.py::test_subrepo[False-git_dir]": 1.3562943999999106,
    "tests/func/test_ls.py::test_subrepo[True-erepo_dir]": 2.086549600000012,
    "tests/func/test_ls_url.py::TestLsUrl::test_dir": 0.015517799999884119,
    "tests/func/test_ls_url.py::TestLsUrl::test_file[dir/foo]": 0.010514699999930599,
    "tests/func/test_ls_url.py::TestLsUrl::test_file[foo.dvc]": 0.01171199999998862,
    "tests/func/test_ls_url.py::TestLsUrl::test_file[foo]": 0.012536199999999553,
    "tests/func/test_ls_url.py::TestLsUrl::test_nonexistent": 0.011345700000106262,
    "tests/func/test_ls_url.py::TestLsUrl::test_recursive": 0.021404200000006313,
    "tests/func/test_ls_url.py::test_ls_url_config": 0.2156835000000683,
    "tests/func/test_merge_driver.py::test_merge[None-None-their6-merged6]": 0.3963009000000284,
    "tests/func/test_merge_driver.py::test_merge[None-our5-their5-merged5]": 0.5082504000001791,
    "tests/func/test_merge_driver.py::test_merge[None-our7-None-merged7]": 0.38870360000009896,
    "tests/func/test_merge_driver.py::test_merge[ancestor0-our0-their0-merged0]": 0.8395247000000836,
    "tests/func/test_merge_driver.py::test_merge[ancestor1-our1-their1-merged1]": 0.6888646999999537,
    "tests/func/test_merge_driver.py::test_merge[ancestor10-our10-their10-merged10]": 0.7417891999999711,
    "tests/func/test_merge_driver.py::test_merge[ancestor2-our2-their2-merged2]": 0.6183836999998675,
    "tests/func/test_merge_driver.py::test_merge[ancestor3-our3-their3-merged3]": 0.5287539000000834,
    "tests/func/test_merge_driver.py::test_merge[ancestor4-our4-their4-merged4]": 0.5320171999998138,
    "tests/func/test_merge_driver.py::test_merge[ancestor8-our8-their8-merged8]": 0.6128427999999531,
    "tests/func/test_merge_driver.py::test_merge[ancestor9-our9-their9-merged9]": 0.6826347999999598,
    "tests/func/test_merge_driver.py::test_merge_conflict[ancestor0-our0-their0-unable to auto-merge the following paths:\\nfoo]": 0.4920667000000094,
    "tests/func/test_merge_driver.py::test_merge_conflict[ancestor1-our1-their1-unable to auto-merge the following paths:\\nboth deleted: ('foo',)]": 0.5235576999998557,
    "tests/func/test_merge_driver.py::test_merge_different_output_options": 0.23589609999999084,
    "tests/func/test_merge_driver.py::test_merge_file": 0.20629750000000513,
    "tests/func/test_merge_driver.py::test_merge_non_dvc_add": 0.2590516000001344,
    "tests/func/test_move.py::test_cmd_move": 0.4135996999999634,
    "tests/func/test_move.py::test_move": 0.29322739999986425,
    "tests/func/test_move.py::test_move_directory": 0.2985218999999688,
    "tests/func/test_move.py::test_move_directory_should_not_overwrite_existing": 0.4510453000001462,
    "tests/func/test_move.py::test_move_file_between_directories": 0.41026959999999235,
    "tests/func/test_move.py::test_move_file_inside_directory": 0.42602529999999206,
    "tests/func/test_move.py::test_move_file_to_directory": 0.38129300000002786,
    "tests/func/test_move.py::test_move_file_to_directory_without_specified_target_name": 0.3573622000000114,
    "tests/func/test_move.py::test_move_file_with_extension": 0.3254477000001543,
    "tests/func/test_move.py::test_move_gitignored": 0.2915448999998489,
    "tests/func/test_move.py::test_move_meta": 0.25579289999996035,
    "tests/func/test_move.py::test_move_non_existent_file": 0.13955350000003364,
    "tests/func/test_move.py::test_move_not_data_source": 0.42298670000002403,
    "tests/func/test_move.py::test_move_output_overlap": 0.2740764999999783,
    "tests/func/test_move.py::test_move_should_save_stage_info": 0.3627708999999868,
    "tests/func/test_move.py::test_should_move_to_dir_on_non_default_stage_file": 0.2742161000001033,
    "tests/func/test_odb.py::test_cache": 0.15525479999996605,
    "tests/func/test_odb.py::test_cache_link_type": 0.27838630000007925,
    "tests/func/test_odb.py::test_cache_load_bad_dir_cache": 0.14457310000011603,
    "tests/func/test_odb.py::test_cmd_cache_abs_path": 0.20145130000003064,
    "tests/func/test_odb.py::test_cmd_cache_dir": 0.17947869999989052,
    "tests/func/test_odb.py::test_cmd_cache_relative_path": 0.2748297000000548,
    "tests/func/test_odb.py::test_default_cache_type": 0.13929650000011407,
    "tests/func/test_odb.py::test_external_cache_dir": 0.31341150000002926,
    "tests/func/test_odb.py::test_shared_cache[False]": 0.0012287999999216481,
    "tests/func/test_odb.py::test_shared_cache[True]": 0.0011681999999382242,
    "tests/func/test_odb.py::test_shared_cache_dir": 0.8903651000000536,
    "tests/func/test_remote.py::test_dir_hash_should_be_key_order_agnostic": 0.12442099999987022,
    "tests/func/test_remote.py::test_modify_missing_remote": 0.14263769999990927,
    "tests/func/test_remote.py::test_partial_push_n_pull": 1.0375717000000577,
    "tests/func/test_remote.py::test_protect_local_remote": 0.558463000000188,
    "tests/func/test_remote.py::test_push_incomplete_dir": 0.5540922999999793,
    "tests/func/test_remote.py::test_push_order": 0.5294410999999855,
    "tests/func/test_remote.py::test_raise_on_too_many_open_files": 0.34681590000002416,
    "tests/func/test_remote.py::test_referencing_other_remotes": 0.20356249999997544,
    "tests/func/test_remote.py::test_remote": 0.2198851000000559,
    "tests/func/test_remote.py::test_remote_add_relative_path": 0.1899215999999342,
    "tests/func/test_remote.py::test_remote_default": 0.17432330000008278,
    "tests/func/test_remote.py::test_remote_default_cmd": 0.22403440000005048,
    "tests/func/test_remote.py::test_remote_duplicated": 0.16780879999998888,
    "tests/func/test_remote.py::test_remote_modify_default": 0.16813999999988027,
    "tests/func/test_remote.py::test_remote_modify_local_on_repo_config": 0.14979379999988396,
    "tests/func/test_remote.py::test_remote_modify_unset": 0.16284140000004754,
    "tests/func/test_remote.py::test_remote_modify_validation": 0.1460834000001796,
    "tests/func/test_remote.py::test_remote_overwrite": 0.19935130000010304,
    "tests/func/test_remote.py::test_remote_remove": 0.25832579999996597,
    "tests/func/test_remote.py::test_remote_rename": 0.16758230000004914,
    "tests/func/test_remote.py::test_remove_default": 0.22759759999996731,
    "tests/func/test_remote.py::test_show_default": 0.24933369999996557,
    "tests/func/test_remote.py::test_upper_case_remote": 0.7164872000000742,
    "tests/func/test_remove.py::test_cmd_remove": 0.4812683999999763,
    "tests/func/test_remove.py::test_cmd_remove_gitignore_multistage": 1.0105980000000727,
    "tests/func/test_remove.py::test_cmd_remove_gitignore_single_stage": 0.4817467000000306,
    "tests/func/test_remove.py::test_remove[False]": 0.8319298999999774,
    "tests/func/test_remove.py::test_remove[True]": 0.9560232000000042,
    "tests/func/test_remove.py::test_remove_broken_symlink": 0.2596629000000803,
    "tests/func/test_remove.py::test_remove_file_target": 0.2195297999999184,
    "tests/func/test_remove.py::test_remove_non_existent_file": 0.16874089999987518,
    "tests/func/test_repo.py::test_destroy": 0.9150323999999728,
    "tests/func/test_repo.py::test_open_bare": 1.818128500000057,
    "tests/func/test_repo_index.py::test_data_index": 2.5113304999999855,
    "tests/func/test_repo_index.py::test_deps_outs_getters": 0.6611544999999523,
    "tests/func/test_repo_index.py::test_ignored_dir_unignored_pattern": 0.3130208000000039,
    "tests/func/test_repo_index.py::test_index": 0.5706569999999829,
    "tests/func/test_repo_index.py::test_param_keys_no_params": 0.142780499999958,
    "tests/func/test_repo_index.py::test_param_keys_returns_default_file": 0.17251450000003388,
    "tests/func/test_repo_index.py::test_param_keys_top_level_params": 0.1507502999999133,
    "tests/func/test_repo_index.py::test_repr": 0.4476339000001417,
    "tests/func/test_repo_index.py::test_skip_graph_checks": 0.1436386999999968,
    "tests/func/test_repo_index.py::test_update": 0.1739161000000422,
    "tests/func/test_repo_index.py::test_used_objs": 0.914983799999959,
    "tests/func/test_repo_index.py::test_view_brancher": 0.4640120999999908,
    "tests/func/test_repo_index.py::test_view_combined_filter": 0.6019791999999597,
    "tests/func/test_repo_index.py::test_view_granular_dir": 0.6928808000000117,
    "tests/func/test_repo_index.py::test_view_onerror": 0.4158800999999812,
    "tests/func/test_repo_index.py::test_view_outs_filter": 0.7267402999998467,
    "tests/func/test_repo_index.py::test_view_stage_filter": 0.6276586000000179,
    "tests/func/test_repo_index.py::test_with_gitignore": 0.32279620000008435,
    "tests/func/test_root.py::test_root": 0.1449580999999398,
    "tests/func/test_root.py::test_root_locked": 0.16051739999988968,
    "tests/func/test_run.py::TestCmdRunWorkingDirectory::test_default_wdir_is_not_written": 0.35049709999998413,
    "tests/func/test_run.py::TestCmdRunWorkingDirectory::test_fname_changes_path_and_wdir": 0.28195549999998093,
    "tests/func/test_run.py::TestRunBadWdir::test": 0.18590370000003986,
    "tests/func/test_run.py::TestRunBadWdir::test_not_dir": 0.17233740000006037,
    "tests/func/test_run.py::TestRunBadWdir::test_not_found": 0.14417720000017198,
    "tests/func/test_run.py::TestRunBadWdir::test_same_prefix": 0.15853690000017195,
    "tests/func/test_run.py::TestRunCircularDependency::test": 0.21522169999991547,
    "tests/func/test_run.py::TestRunCircularDependency::test_graph": 0.5327369000000317,
    "tests/func/test_run.py::TestRunCircularDependency::test_non_normalized_paths": 0.19097459999989042,
    "tests/func/test_run.py::TestRunCircularDependency::test_outs_no_cache": 0.19103880000000117,
    "tests/func/test_run.py::TestRunDuplicatedArguments::test": 0.16231089999996584,
    "tests/func/test_run.py::TestRunDuplicatedArguments::test_non_normalized_paths": 0.17710330000011254,
    "tests/func/test_run.py::TestRunDuplicatedArguments::test_outs_no_cache": 0.16176649999999881,
    "tests/func/test_run.py::test_always_changed": 0.39973380000003544,
    "tests/func/test_run.py::test_dump_on_non_cached_outputs": 0.34675960000004125,
    "tests/func/test_run.py::test_graph": 0.5643173000000843,
    "tests/func/test_run.py::test_metrics_dir[metrics]": 0.5072695000001204,
    "tests/func/test_run.py::test_metrics_dir[metrics_no_cache]": 0.4531345999998848,
    "tests/func/test_run.py::test_rerun_callback": 0.22751670000002377,
    "tests/func/test_run.py::test_rerun_changed_dep": 0.5991066000000274,
    "tests/func/test_run.py::test_rerun_changed_out": 0.3850783999999976,
    "tests/func/test_run.py::test_rerun_changed_stage": 0.3589001999999937,
    "tests/func/test_run.py::test_rerun_deterministic": 0.6178350000001274,
    "tests/func/test_run.py::test_rerun_deterministic_ignore_cache": 0.5254332999998041,
    "tests/func/test_run.py::test_run": 0.44643459999997503,
    "tests/func/test_run.py::test_run_already_exists": 0.6263374000000113,
    "tests/func/test_run.py::test_run_cached": 0.6409001000001808,
    "tests/func/test_run.py::test_run_dump": 0.5559751000000688,
    "tests/func/test_run.py::test_run_empty": 0.17519049999998515,
    "tests/func/test_run.py::test_run_external_outputs": 0.2546858999999131,
    "tests/func/test_run.py::test_run_missing_dep": 0.16516739999997299,
    "tests/func/test_run.py::test_run_no_exec": 0.3877132999998594,
    "tests/func/test_run.py::test_run_overwrite_order": 0.8002424999999675,
    "tests/func/test_run.py::test_run_overwrite_preserves_meta_and_comment": 0.5934765999999172,
    "tests/func/test_run.py::test_run_params_custom_file": 0.23986200000001645,
    "tests/func/test_run.py::test_run_params_default": 0.2401186999999254,
    "tests/func/test_run.py::test_run_params_no_exec": 0.17146010000010392,
    "tests/func/test_run.py::test_run_remove_outs": 0.3511172999999417,
    "tests/func/test_run.py::test_run_repeat": 0.8495632000001478,
    "tests/func/test_run.py::test_run_with_invalid_stage_name[#]": 0.15131850000000213,
    "tests/func/test_run.py::test_run_with_invalid_stage_name[$]": 0.18822580000005473,
    "tests/func/test_run.py::test_run_with_invalid_stage_name[,]": 0.18252570000004198,
    "tests/func/test_run.py::test_run_with_invalid_stage_name[.]": 0.19337220000011257,
    "tests/func/test_run.py::test_run_with_invalid_stage_name[/]": 0.14692950000005567,
    "tests/func/test_run.py::test_run_with_invalid_stage_name[:]": 0.16086330000007365,
    "tests/func/test_run.py::test_run_with_invalid_stage_name[;]": 0.2369408999999223,
    "tests/func/test_run.py::test_run_with_invalid_stage_name[@:]": 0.15973589999998694,
    "tests/func/test_run.py::test_run_with_invalid_stage_name[\\\\]": 0.16169760000002498,
    "tests/func/test_run.py::test_run_with_name_having_hyphen_underscore": 0.47360779999996794,
    "tests/func/test_run.py::test_run_without_cmd[kwargs0]": 0.19577829999991536,
    "tests/func/test_run.py::test_run_without_cmd[kwargs1]": 0.1459709999999177,
    "tests/func/test_run.py::test_should_not_checkout_upon_corrupted_local_hardlink_cache": 0.4960602999999537,
    "tests/func/test_run.py::test_should_raise_on_overlapping_output_paths": 0.2538355000000365,
    "tests/func/test_run.py::test_with_wdir": 0.3469372999999223,
    "tests/func/test_run_cache.py::test_do_not_save_on_no_exec_and_dry": 0.2275765000000547,
    "tests/func/test_run_cache.py::test_memory_for_multiple_runs_of_same_stage": 0.8523804000000155,
    "tests/func/test_run_cache.py::test_memory_runs_of_multiple_stages": 0.8905641000001197,
    "tests/func/test_run_cache.py::test_newest_entry_is_loaded_for_non_deterministic_stage": 1.1082949999999983,
    "tests/func/test_run_cache.py::test_outs_no_cache_deactivate_run_cache[metrics_no_cache-True]": 0.4292524999999614,
    "tests/func/test_run_cache.py::test_outs_no_cache_deactivate_run_cache[outs_no_cache-False]": 0.3989267999999129,
    "tests/func/test_run_cache.py::test_outs_no_cache_deactivate_run_cache[plots_no_cache-True]": 0.4542271999998775,
    "tests/func/test_run_cache.py::test_push_pull": 0.8825567999999748,
    "tests/func/test_run_cache.py::test_push_pull_unsupported": 0.6354907000001049,
    "tests/func/test_run_cache.py::test_restore": 0.47588069999994786,
    "tests/func/test_run_cache.py::test_restore_pull": 0.7859493000000839,
    "tests/func/test_run_cache.py::test_save": 0.37583450000011,
    "tests/func/test_scm.py::test_init_git": 0.09183709999990697,
    "tests/func/test_scm.py::test_init_no_git": 0.018588600000043698,
    "tests/func/test_scm.py::test_init_none": 0.013314399999899251,
    "tests/func/test_scm.py::test_init_sub_dir": 0.10799759999997605,
    "tests/func/test_scm.py::test_lfs_prefetch": 0.3691949999998769,
    "tests/func/test_scm_context.py::test_scm_context_autostage": 0.30232489999991685,
    "tests/func/test_scm_context.py::test_scm_context_ignore": 0.27744780000011815,
    "tests/func/test_scm_context.py::test_scm_context_ignore_remove": 0.19912219999991976,
    "tests/func/test_scm_context.py::test_scm_context_no_track_on_ignore_remove": 0.19690459999992527,
    "tests/func/test_scm_context.py::test_scm_context_try_ignore_remove_non_existing_entry": 0.20904159999997773,
    "tests/func/test_scm_context.py::test_scm_context_when_already_ignored": 0.254342500000007,
    "tests/func/test_stage.py::test_cmd_obj": 0.005093600000009246,
    "tests/func/test_stage.py::test_collect_symlink[False]": 0.27943709999988187,
    "tests/func/test_stage.py::test_collect_symlink[True]": 0.22402759999999944,
    "tests/func/test_stage.py::test_default_wdir_ignored_in_checksum": 0.3386774000000514,
    "tests/func/test_stage.py::test_empty_list": 0.003349600000092323,
    "tests/func/test_stage.py::test_external_remote_dependency_resolution": 0.24288849999993545,
    "tests/func/test_stage.py::test_external_remote_output_resolution": 0.22982309999997597,
    "tests/func/test_stage.py::test_list": 0.0035652999999911117,
    "tests/func/test_stage.py::test_md5_ignores_annotations": 0.14674890000014784,
    "tests/func/test_stage.py::test_md5_ignores_comments": 0.2633077999998932,
    "tests/func/test_stage.py::test_meta_desc_is_preserved": 0.1833113999998659,
    "tests/func/test_stage.py::test_no_cmd": 0.003441100000031838,
    "tests/func/test_stage.py::test_none": 0.003471899999794914,
    "tests/func/test_stage.py::test_object": 0.0035700000000815635,
    "tests/func/test_stage.py::test_parent_repo_collect_stages": 0.9687402000001839,
    "tests/func/test_stage.py::test_reload": 0.22573539999996228,
    "tests/func/test_stage.py::test_stage_add_duplicated_output": 0.31772509999996146,
    "tests/func/test_stage.py::test_stage_on_no_path_string_repr": 0.19597939999994196,
    "tests/func/test_stage.py::test_stage_remove_pipeline_stage": 0.6968345000000227,
    "tests/func/test_stage.py::test_stage_remove_pointer_stage": 0.29759790000002795,
    "tests/func/test_stage.py::test_stage_strings_representation": 0.4293736000000763,
    "tests/func/test_stage_load.py::test_collect": 1.5442301999999017,
    "tests/func/test_stage_load.py::test_collect_dir_recursive": 0.5649249000000509,
    "tests/func/test_stage_load.py::test_collect_generated": 0.24801749999994627,
    "tests/func/test_stage_load.py::test_collect_glob": 0.9323076999999103,
    "tests/func/test_stage_load.py::test_collect_granular_collision_output_dir_stage_name": 0.4615868999999293,
    "tests/func/test_stage_load.py::test_collect_granular_not_existing_stage_name": 0.5574206000001141,
    "tests/func/test_stage_load.py::test_collect_granular_priority_on_collision": 0.43749460000003637,
    "tests/func/test_stage_load.py::test_collect_granular_same_output_name_stage_name": 0.4683784999999716,
    "tests/func/test_stage_load.py::test_collect_granular_with_deps": 0.9040660999999091,
    "tests/func/test_stage_load.py::test_collect_granular_with_no_target": 0.8537042000000383,
    "tests/func/test_stage_load.py::test_collect_granular_with_not_existing_output_or_stage_name": 0.12876589999984844,
    "tests/func/test_stage_load.py::test_collect_granular_with_target": 0.9354548000000023,
    "tests/func/test_stage_load.py::test_collect_not_a_group_stage_with_group_flag": 1.090573000000063,
    "tests/func/test_stage_load.py::test_collect_optimization": 0.21226439999998092,
    "tests/func/test_stage_load.py::test_collect_optimization_on_stage_name": 0.43537639999988187,
    "tests/func/test_stage_load.py::test_collect_repo_callback": 0.24589080000009744,
    "tests/func/test_stage_load.py::test_collect_with_not_existing_dvcfile[not_existing.dvc:stage_name]": 0.13259750000008808,
    "tests/func/test_stage_load.py::test_collect_with_not_existing_dvcfile[not_existing.dvc]": 0.13957369999991442,
    "tests/func/test_stage_load.py::test_collect_with_not_existing_dvcfile[not_existing/dvc.yaml:stage_name]": 0.1478920999999218,
    "tests/func/test_stage_load.py::test_collect_with_not_existing_dvcfile[not_existing/dvc.yaml]": 0.12979939999991075,
    "tests/func/test_stage_load.py::test_collect_with_not_existing_output_or_stage_name": 0.4114243000000215,
    "tests/func/test_stage_load.py::test_get_stage": 0.34875819999990654,
    "tests/func/test_stage_load.py::test_get_stage_single_stage_dvcfile": 0.2461819000000105,
    "tests/func/test_stage_load.py::test_get_stages": 0.6215028000000302,
    "tests/func/test_stage_load.py::test_get_stages_old_dvcfile": 0.21525209999992967,
    "tests/func/test_stage_load.py::test_gitignored_file_try_collect_granular_for_data_files": 0.31906579999997575,
    "tests/func/test_stage_load.py::test_gitignored_file_try_collect_granular_for_dvc_yaml_files": 1.5553847999999562,
    "tests/func/test_stage_load.py::test_stages": 0.414835900000071,
    "tests/func/test_state.py::test_get_unused_links": 0.29348780000009356,
    "tests/func/test_state.py::test_remove_links": 0.35063050000007934,
    "tests/func/test_state.py::test_state": 0.34103749999985666,
    "tests/func/test_state.py::test_state_overflow": 0.44685179999999036,
    "tests/func/test_status.py::test_implied_cloud": 1.3159074000000146,
    "tests/func/test_status.py::test_params_without_targets": 0.2553169999999909,
    "tests/func/test_status.py::test_quiet": 0.3903937000000042,
    "tests/func/test_status.py::test_status_before_and_after_dvc_init": 1.24051709999992,
    "tests/func/test_status.py::test_status_non_dvc_repo_import[False]": 0.5673391999998785,
    "tests/func/test_status.py::test_status_non_dvc_repo_import[True]": 0.6612268000000086,
    "tests/func/test_status.py::test_status_on_pipeline_stages": 0.551217299999962,
    "tests/func/test_status.py::test_status_outputs": 0.5847573000000921,
    "tests/func/test_status.py::test_status_recursive": 0.2683987000000343,
    "tests/func/test_unprotect.py::test_unprotect": 0.24031379999996716,
    "tests/func/test_update.py::test_update_before_and_after_dvc_init": 1.652384100000063,
    "tests/func/test_update.py::test_update_from_subrepos[False]": 1.5830997999999,
    "tests/func/test_update.py::test_update_from_subrepos[True]": 2.272872600000028,
    "tests/func/test_update.py::test_update_import[False]": 1.8188473000001295,
    "tests/func/test_update.py::test_update_import[True]": 2.7979914999999664,
    "tests/func/test_update.py::test_update_import_after_remote_updates_to_dvc": 1.569626900000003,
    "tests/func/test_update.py::test_update_import_to_remote": 0.7015065000000504,
    "tests/func/test_update.py::test_update_import_url": 0.39181920000009995,
    "tests/func/test_update.py::test_update_import_url_no_download[False]": 0.28972529999987273,
    "tests/func/test_update.py::test_update_import_url_no_download[True]": 0.36471770000002834,
    "tests/func/test_update.py::test_update_import_url_to_remote": 0.6202769999998736,
    "tests/func/test_update.py::test_update_import_url_to_remote_directory": 0.7887408000001415,
    "tests/func/test_update.py::test_update_import_url_to_remote_directory_changed_contents": 0.7646365000000515,
    "tests/func/test_update.py::test_update_import_url_to_remote_directory_same_hash": 0.7358169999998836,
    "tests/func/test_update.py::test_update_import_url_unchanged": 0.32728270000006887,
    "tests/func/test_update.py::test_update_no_download[False]": 1.2106467999999495,
    "tests/func/test_update.py::test_update_no_download[True]": 1.3192696999999498,
    "tests/func/test_update.py::test_update_recursive": 1.6255898999997953,
    "tests/func/test_update.py::test_update_rev": 1.0238027999998849,
    "tests/func/test_update.py::test_update_unchanged": 1.2584471000000121,
    "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[.-.-dvc.yaml:train]": 0.43971429999999145,
    "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[.-.-foo]": 0.40643180000006396,
    "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[.-.-train]": 0.4276787000000013,
    "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[.-sub-..\\\\dvc.yaml:train]": 0.42697390000000723,
    "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[.-sub-..\\\\foo]": 0.4174022000000832,
    "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[sub-.-sub\\\\dvc.yaml:train]": 0.5342236999999841,
    "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[sub-.-sub\\\\foo]": 0.5391186000001653,
    "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[sub-dir-..\\\\sub\\\\dvc.yaml:train]": 0.44631729999991876,
    "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[sub-dir-..\\\\sub\\\\foo]": 0.40331539999999677,
    "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[sub-sub-dvc.yaml:train]": 0.4777887999999848,
    "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[sub-sub-foo]": 0.4485227999998642,
    "tests/func/test_used_objs.py::test_from_gitfs_when_pwd_not_in_root[sub-sub-train]": 0.4451402000000826,
    "tests/func/test_used_objs.py::test_used_objs_push": 0.3140799999999899,
    "tests/func/test_utils.py::test_boxify": 0.0037649999999302963,
    "tests/func/test_utils.py::test_dict_md5": 0.003655699999853823,
    "tests/func/test_utils.py::test_glob_no_match": 0.004886600000077124,
    "tests/func/test_version.py::test_": 1.3859016000001247,
    "tests/func/test_version.py::test_import_error": 0.365707499999985,
    "tests/func/test_virtual_directory.py::test_partial_checkout_and_update": 1.4939856999999392,
    "tests/func/test_virtual_directory.py::test_virtual_add": 0.9724830999999767,
    "tests/func/test_virtual_directory.py::test_virtual_remove": 0.9881833000000597,
    "tests/func/test_virtual_directory.py::test_virtual_update_dir": 0.8301616999998487,
    "tests/func/test_virtual_directory.py::test_virtual_update_file": 0.7492493000000877,
    "tests/func/test_virtual_directory.py::test_virtual_update_noop": 0.902233600000045,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides0-expected0-json]": 0.016757900000129666,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides0-expected0-toml]": 0.013149600000019745,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides0-expected0-yaml]": 0.026289499999961663,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides1-expected1-json]": 0.01717210000003888,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides1-expected1-toml]": 0.01372639999999592,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides1-expected1-yaml]": 0.023308899999960886,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides10-expected10-json]": 0.021389800000065406,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides10-expected10-toml]": 0.021289899999942463,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides10-expected10-yaml]": 0.029417499999908614,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides11-expected11-json]": 0.016622700000084478,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides11-expected11-toml]": 0.025770200000124532,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides11-expected11-yaml]": 0.03114780000009887,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides2-expected2-json]": 0.014930700000149955,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides2-expected2-toml]": 0.011712699999975484,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides2-expected2-yaml]": 0.023883599999976468,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides3-expected3-json]": 0.021143299999948795,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides3-expected3-toml]": 0.019983099999990372,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides3-expected3-yaml]": 0.024119600000062746,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides4-expected4-json]": 0.016237299999829702,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides4-expected4-toml]": 0.03111649999993915,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides4-expected4-yaml]": 0.02495239999984733,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides5-expected5-json]": 0.020187100000043756,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides5-expected5-toml]": 0.019237699999962388,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides5-expected5-yaml]": 0.032607999999981985,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides6-expected6-json]": 0.016924699999890436,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides6-expected6-toml]": 0.04386929999986933,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides6-expected6-yaml]": 0.024652899999978217,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides7-expected7-json]": 0.015520899999955873,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides7-expected7-toml]": 0.012692199999946752,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides7-expected7-yaml]": 0.030214099999966493,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides8-expected8-json]": 0.021859500000005028,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides8-expected8-toml]": 0.020292899999958536,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides8-expected8-yaml]": 0.033927000000062435,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides9-expected9-json]": 0.016962000000035005,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides9-expected9-toml]": 0.02381449999995766,
    "tests/func/utils/test_hydra.py::test_apply_overrides[overrides9-expected9-yaml]": 0.025491699999975026,
    "tests/func/utils/test_hydra.py::test_compose_and_dump_dir_module[None-None-None-error_context3]": 0.013406300000042393,
    "tests/func/utils/test_hydra.py::test_compose_and_dump_dir_module[None-hydra.test_utils.configs-config_content1-error_context1]": 0.1134221999999454,
    "tests/func/utils/test_hydra.py::test_compose_and_dump_dir_module[conf-None-config_content0-error_context0]": 0.11507209999990664,
    "tests/func/utils/test_hydra.py::test_compose_and_dump_dir_module[conf-hydra.test_utils.configs-config_content2-error_context2]": 0.11261070000000473,
    "tests/func/utils/test_hydra.py::test_compose_and_dump_overrides[overrides0-expected0-json]": 0.1281308000000081,
    "tests/func/utils/test_hydra.py::test_compose_and_dump_overrides[overrides0-expected0-toml]": 0.1236941999999317,
    "tests/func/utils/test_hydra.py::test_compose_and_dump_overrides[overrides0-expected0-yaml]": 0.12669659999994565,
    "tests/func/utils/test_hydra.py::test_compose_and_dump_overrides[overrides1-expected1-json]": 0.12357580000002599,
    "tests/func/utils/test_hydra.py::test_compose_and_dump_overrides[overrides1-expected1-toml]": 0.17739260000007562,
    "tests/func/utils/test_hydra.py::test_compose_and_dump_overrides[overrides1-expected1-yaml]": 0.12748369999997067,
    "tests/func/utils/test_hydra.py::test_compose_and_dump_overrides[overrides2-expected2-json]": 0.1338885999999775,
    "tests/func/utils/test_hydra.py::test_compose_and_dump_overrides[overrides2-expected2-toml]": 0.1365699999998924,
    "tests/func/utils/test_hydra.py::test_compose_and_dump_overrides[overrides2-expected2-yaml]": 0.1324849999999742,
    "tests/func/utils/test_hydra.py::test_compose_and_dump_plugins": 0.13925589999996646,
    "tests/func/utils/test_hydra.py::test_compose_and_dump_resolves_interpolation": 0.1168084999999337,
    "tests/func/utils/test_hydra.py::test_compose_and_dump_yaml_handles_string": 0.10991609999996399,
    "tests/func/utils/test_hydra.py::test_hydra_sweeps[overrides0-expected0]": 0.006874799999877723,
    "tests/func/utils/test_hydra.py::test_hydra_sweeps[overrides1-expected1]": 0.006828100000120685,
    "tests/func/utils/test_hydra.py::test_hydra_sweeps[overrides2-expected2]": 0.005153599999971448,
    "tests/func/utils/test_hydra.py::test_hydra_sweeps[overrides3-expected3]": 0.010010100000044986,
    "tests/func/utils/test_hydra.py::test_hydra_sweeps[overrides4-expected4]": 0.005206800000109979,
    "tests/func/utils/test_hydra.py::test_hydra_sweeps[overrides5-expected5]": 0.005195799999910378,
    "tests/func/utils/test_hydra.py::test_hydra_sweeps[overrides6-expected6]": 0.0055651999999781765,
    "tests/func/utils/test_hydra.py::test_invalid_overrides[overrides0]": 0.025969000000031883,
    "tests/func/utils/test_hydra.py::test_invalid_overrides[overrides1]": 0.026963600000044607,
    "tests/func/utils/test_hydra.py::test_invalid_overrides[overrides2]": 0.02018349999991642,
    "tests/func/utils/test_hydra.py::test_invalid_overrides[overrides3]": 0.021663399999965804,
    "tests/func/utils/test_hydra.py::test_invalid_sweep": 0.00546810000014375,
    "tests/func/utils/test_strict_yaml.py::test_exceptions[additional_key_on_outs]": 0.243435399999953,
    "tests/func/utils/test_strict_yaml.py::test_exceptions[deps_as_dict]": 0.2002921000000697,
    "tests/func/utils/test_strict_yaml.py::test_exceptions[duplicate_keys]": 0.2018291000000545,
    "tests/func/utils/test_strict_yaml.py::test_exceptions[empty_stage]": 0.19218150000006062,
    "tests/func/utils/test_strict_yaml.py::test_exceptions[foreach_do_do_null]": 0.1954337999999325,
    "tests/func/utils/test_strict_yaml.py::test_exceptions[foreach_do_missing_cmd]": 0.2215969999999743,
    "tests/func/utils/test_strict_yaml.py::test_exceptions[foreach_scalar]": 0.2090827999999192,
    "tests/func/utils/test_strict_yaml.py::test_exceptions[foreach_unknown_cmd_missing_do]": 0.19983810000007907,
    "tests/func/utils/test_strict_yaml.py::test_exceptions[mapping_values_not_allowed]": 0.21080290000008972,
    "tests/func/utils/test_strict_yaml.py::test_exceptions[merge_conflicts]": 0.18337130000008983,
    "tests/func/utils/test_strict_yaml.py::test_exceptions[missing_cmd]": 0.19634989999997288,
    "tests/func/utils/test_strict_yaml.py::test_exceptions[no_hyphen_block]": 0.19842909999999847,
    "tests/func/utils/test_strict_yaml.py::test_exceptions[not_a_dict]": 0.18917439999995622,
    "tests/func/utils/test_strict_yaml.py::test_exceptions[null_value_on_outs]": 0.19282620000001316,
    "tests/func/utils/test_strict_yaml.py::test_exceptions[outs_as_str]": 0.17304079999996702,
    "tests/func/utils/test_strict_yaml.py::test_exceptions[unclosed_scalar]": 0.19768529999998918,
    "tests/func/utils/test_strict_yaml.py::test_fallback_exception_message": 0.26093439999988277,
    "tests/func/utils/test_strict_yaml.py::test_make_relpath": 0.014381800000023759,
    "tests/func/utils/test_strict_yaml.py::test_on_revision[stages:\\n  stage1:\\n    cmd: python train.py\\n    cmd: python train.py\\n-'./dvc.yaml' is invalid in revision '{short_rev}'.]": 0.5581684999998515,
    "tests/func/utils/test_strict_yaml.py::test_on_revision[stages:\\n  stage1:\\n    cmd: {}\\n-'./dvc.yaml' validation failed in revision '{short_rev}'.]": 0.5184321000000409,
    "tests/integration/plots/test_plots.py::test_config_output_dir": 0.29116190000002007,
    "tests/integration/plots/test_plots.py::test_nested_x_defn_collection": 0.5174432999999681,
    "tests/integration/plots/test_plots.py::test_no_plots": 0.2940975999999864,
    "tests/integration/plots/test_plots.py::test_plots_empty_directory": 0.5595962999999529,
    "tests/integration/plots/test_plots.py::test_repo_with_config_plots": 2.7835139000000026,
    "tests/integration/plots/test_plots.py::test_repo_with_dvclive_plots": 0.7092543999999634,
    "tests/integration/plots/test_plots.py::test_repo_with_plots": 3.33253650000006,
    "tests/integration/plots/test_plots.py::test_repo_with_removed_plots": 1.9890381000001298,
    "tests/integration/plots/test_repo_plots_api.py::test_api": 2.918742299999849,
    "tests/integration/plots/test_repo_plots_api.py::test_api_with_config_plots": 2.3034652999999707,
    "tests/integration/test_studio_live_experiments.py::test_monorepo_relpath": 0.849361300000055,
    "tests/integration/test_studio_live_experiments.py::test_post_to_studio[DVC_EXP_GIT_REMOTE-False-False]": 1.1246794999999565,
    "tests/integration/test_studio_live_experiments.py::test_post_to_studio[DVC_EXP_GIT_REMOTE-False-True]": 1.7383136000000832,
    "tests/integration/test_studio_live_experiments.py::test_post_to_studio[DVC_EXP_GIT_REMOTE-True-False]": 1.0295220999998946,
    "tests/integration/test_studio_live_experiments.py::test_post_to_studio[DVC_EXP_GIT_REMOTE-True-True]": 1.9327763000001141,
    "tests/integration/test_studio_live_experiments.py::test_post_to_studio[None-False-False]": 1.1464447999999265,
    "tests/integration/test_studio_live_experiments.py::test_post_to_studio[None-False-True]": 1.6287972000000082,
    "tests/integration/test_studio_live_experiments.py::test_post_to_studio[None-True-False]": 1.0905978000000687,
    "tests/integration/test_studio_live_experiments.py::test_post_to_studio[None-True-True]": 1.934522399999878,
    "tests/integration/test_studio_live_experiments.py::test_post_to_studio_subdir[False]": 1.410834799999975,
    "tests/integration/test_studio_live_experiments.py::test_post_to_studio_subdir[True]": 1.9778683000000683,
    "tests/integration/test_studio_live_experiments.py::test_virtual_monorepo_relpath": 0.9138851999998678,
    "tests/unit/cli/test_main.py::test_ignore_in_collected_dir_error_is_logged": 0.017126100000041333,
    "tests/unit/cli/test_main.py::test_remote_missing_deps_are_correctly_reported[None-Please report this bug to]": 0.014922700000056466,
    "tests/unit/cli/test_main.py::test_remote_missing_deps_are_correctly_reported[conda-conda install -c conda-forge dvc-proto]": 0.015353699999991477,
    "tests/unit/cli/test_main.py::test_remote_missing_deps_are_correctly_reported[pip-pip install 'dvc[proto]']": 0.013537000000042099,
    "tests/unit/cli/test_main.py::test_state_pickle_errors_are_correctly_raised": 0.0165122999999312,
    "tests/unit/command/ls/test_ls.py::test_list": 0.006342400000107773,
    "tests/unit/command/ls/test_ls.py::test_list_alias": 0.0035484999999653155,
    "tests/unit/command/ls/test_ls.py::test_list_config": 0.005209800000216092,
    "tests/unit/command/ls/test_ls.py::test_list_git_ssh_rev": 0.00511940000001232,
    "tests/unit/command/ls/test_ls.py::test_list_outputs_only": 0.006585399999949004,
    "tests/unit/command/ls/test_ls.py::test_list_recursive": 0.005100900000002184,
    "tests/unit/command/ls/test_ls.py::test_list_targets": 0.005044999999995525,
    "tests/unit/command/ls/test_ls.py::test_show_colors": 0.004921199999898818,
    "tests/unit/command/ls/test_ls.py::test_show_json": 0.004522199999883014,
    "tests/unit/command/ls/test_ls_colors.py::test_ls_colors_dir": 0.003349100000036742,
    "tests/unit/command/ls/test_ls_colors.py::test_ls_colors_exec": 0.003280899999936082,
    "tests/unit/command/ls/test_ls_colors.py::test_ls_colors_ext": 0.003362700000025143,
    "tests/unit/command/ls/test_ls_colors.py::test_ls_colors_file": 0.003305399999931069,
    "tests/unit/command/ls/test_ls_colors.py::test_ls_colors_out_dir": 0.003481700000065757,
    "tests/unit/command/ls/test_ls_colors.py::test_ls_colors_out_exec": 0.0033405999998876723,
    "tests/unit/command/ls/test_ls_colors.py::test_ls_colors_out_ext": 0.0033998999998630097,
    "tests/unit/command/ls/test_ls_colors.py::test_ls_colors_out_file": 0.0033174999999801003,
    "tests/unit/command/ls/test_ls_colors.py::test_ls_repo_with_custom_color_env_defined": 0.0035155000001623193,
    "tests/unit/command/test_add.py::test_add": 0.20737009999982092,
    "tests/unit/command/test_add.py::test_add_to_cache_invalid_combinations": 0.2307676000000356,
    "tests/unit/command/test_add.py::test_add_to_remote": 0.23873700000001463,
    "tests/unit/command/test_add.py::test_add_to_remote_invalid_combinations": 0.21601970000006077,
    "tests/unit/command/test_cache.py::test_cache_dir_local": 0.16169510000008813,
    "tests/unit/command/test_checkout.py::test_checkout": 0.2004144999999653,
    "tests/unit/command/test_checkout.py::test_log_changes": 0.007630400000039117,
    "tests/unit/command/test_compat_flag.py::test_backward_compat_flags[exp-list-name_only]": 0.0038943000000699612,
    "tests/unit/command/test_compat_flag.py::test_backward_compat_flags[stage-list-name_only]": 0.0037500000000818545,
    "tests/unit/command/test_completion.py::test_completion[bash]": 0.01732660000004671,
    "tests/unit/command/test_completion.py::test_completion[zsh]": 0.04076810000003661,
    "tests/unit/command/test_config.py::test_config_bad_name[no_option]": 0.0055750999999872874,
    "tests/unit/command/test_config.py::test_config_bad_name[remote.way.too.long]": 0.004850099999998747,
    "tests/unit/command/test_config.py::test_config_bad_name[way.too.long]": 0.005234700000073644,
    "tests/unit/command/test_config.py::test_config_formatter": 0.0034963999999035877,
    "tests/unit/command/test_dag.py::test_build": 0.41772169999990183,
    "tests/unit/command/test_dag.py::test_build_full": 0.43086940000011964,
    "tests/unit/command/test_dag.py::test_build_full_outs[False]": 0.4505840999999009,
    "tests/unit/command/test_dag.py::test_build_full_outs[True]": 0.4292612999998937,
    "tests/unit/command/test_dag.py::test_build_granular_target_with_outs": 0.4434605000001284,
    "tests/unit/command/test_dag.py::test_build_target": 0.4442584999999326,
    "tests/unit/command/test_dag.py::test_build_target_with_outs": 0.4607635999998365,
    "tests/unit/command/test_dag.py::test_dag[--dot-_show_dot]": 0.2584747000000789,
    "tests/unit/command/test_dag.py::test_dag[--md-_show_mermaid]": 0.2575375000001259,
    "tests/unit/command/test_dag.py::test_dag[--mermaid-_show_mermaid]": 0.2538787000000866,
    "tests/unit/command/test_dag.py::test_dag[None-_show_ascii]": 0.2701758000000609,
    "tests/unit/command/test_dag.py::test_show_ascii": 0.47154680000005555,
    "tests/unit/command/test_dag.py::test_show_dot": 0.49623429999996915,
    "tests/unit/command/test_dag.py::test_show_dot_properly_escapes": 0.005304700000010598,
    "tests/unit/command/test_dag.py::test_show_mermaid": 0.506922099999997,
    "tests/unit/command/test_dag.py::test_show_mermaid_markdown": 0.46951670000021295,
    "tests/unit/command/test_data_status.py::test_cli": 0.15436669999996866,
    "tests/unit/command/test_data_status.py::test_empty_scm_repo": 0.44124859999988075,
    "tests/unit/command/test_data_status.py::test_json[args0-to_omit0]": 0.19605909999984306,
    "tests/unit/command/test_data_status.py::test_json[args1-to_omit1]": 0.18398960000013176,
    "tests/unit/command/test_data_status.py::test_json[args2-to_omit2]": 0.205250799999817,
    "tests/unit/command/test_data_status.py::test_no_changes_repo": 0.30644970000003013,
    "tests/unit/command/test_data_status.py::test_show_status[False-args0]": 0.2457772999999861,
    "tests/unit/command/test_data_status.py::test_show_status[False-args1]": 0.26650870000003124,
    "tests/unit/command/test_data_status.py::test_show_status[False-args2]": 0.2271581000001106,
    "tests/unit/command/test_data_status.py::test_show_status[True-args0]": 0.27466419999996106,
    "tests/unit/command/test_data_status.py::test_show_status[True-args1]": 0.2749612000001207,
    "tests/unit/command/test_data_status.py::test_show_status[True-args2]": 0.25732209999978295,
    "tests/unit/command/test_data_sync.py::test_fetch": 0.17609809999987647,
    "tests/unit/command/test_data_sync.py::test_pull": 0.17549940000003517,
    "tests/unit/command/test_data_sync.py::test_push": 0.16576090000000931,
    "tests/unit/command/test_dataset.py::test_add[spec0-lock0-Adding ds (url:/path @ main)\\n]": 0.22054290000005494,
    "tests/unit/command/test_dataset.py::test_add[spec1-lock1-Adding mydataset (dc://dataset @ v1)\\n]": 0.22979979999990974,
    "tests/unit/command/test_dataset.py::test_add[spec2-lock2-Adding mydataset (s3://bucket/path)\\n]": 0.20264819999988504,
    "tests/unit/command/test_dataset.py::test_add_already_exists": 0.2456899000001158,
    "tests/unit/command/test_dataset.py::test_update[spec0-old_lock0-new_lock0-expected_outputs0-missing]": 0.2354315999998562,
    "tests/unit/command/test_dataset.py::test_update[spec0-old_lock0-new_lock0-expected_outputs0-unchanged]": 0.23527079999996658,
    "tests/unit/command/test_dataset.py::test_update[spec0-old_lock0-new_lock0-expected_outputs0-updated]": 0.21899649999988924,
    "tests/unit/command/test_dataset.py::test_update[spec1-old_lock1-new_lock1-expected_outputs1-missing]": 0.18976390000011634,
    "tests/unit/command/test_dataset.py::test_update[spec1-old_lock1-new_lock1-expected_outputs1-unchanged]": 0.18847329999994145,
    "tests/unit/command/test_dataset.py::test_update[spec1-old_lock1-new_lock1-expected_outputs1-updated]": 0.17528420000007827,
    "tests/unit/command/test_dataset.py::test_update[spec2-old_lock2-new_lock2-expected_outputs2-missing]": 0.1846043999998983,
    "tests/unit/command/test_dataset.py::test_update[spec2-old_lock2-new_lock2-expected_outputs2-unchanged]": 0.2048106000000871,
    "tests/unit/command/test_dataset.py::test_update[spec2-old_lock2-new_lock2-expected_outputs2-updated]": 0.18596199999990404,
    "tests/unit/command/test_dataset.py::test_update[spec3-old_lock3-new_lock3-expected_outputs3-missing]": 0.17655880000006619,
    "tests/unit/command/test_dataset.py::test_update[spec3-old_lock3-new_lock3-expected_outputs3-unchanged]": 0.30956070000002,
    "tests/unit/command/test_dataset.py::test_update[spec3-old_lock3-new_lock3-expected_outputs3-updated]": 0.17832229999987703,
    "tests/unit/command/test_diff.py::test_default": 0.157224000000042,
    "tests/unit/command/test_diff.py::test_diff_show_markdown_and_hash[False]": 0.16265659999999116,
    "tests/unit/command/test_diff.py::test_diff_show_markdown_and_hash[None]": 0.21256189999996877,
    "tests/unit/command/test_diff.py::test_diff_show_markdown_and_hash[True]": 0.15831829999990532,
    "tests/unit/command/test_diff.py::test_digest[dict]": 0.0036724000000276646,
    "tests/unit/command/test_diff.py::test_digest[str]": 0.0036453000000165048,
    "tests/unit/command/test_diff.py::test_hide_missing": 0.2271087000000307,
    "tests/unit/command/test_diff.py::test_no_changes[show0--opts0]": 0.20476959999996325,
    "tests/unit/command/test_diff.py::test_no_changes[show0--opts1]": 0.1829457999999704,
    "tests/unit/command/test_diff.py::test_no_changes[show0--opts2]": 0.15757240000004913,
    "tests/unit/command/test_diff.py::test_no_changes[show0--opts3]": 0.21165159999998195,
    "tests/unit/command/test_diff.py::test_no_changes[show1-{}-opts0]": 0.17485999999996693,
    "tests/unit/command/test_diff.py::test_no_changes[show1-{}-opts1]": 0.16453910000007,
    "tests/unit/command/test_diff.py::test_no_changes[show1-{}-opts2]": 0.2937568000000965,
    "tests/unit/command/test_diff.py::test_no_changes[show1-{}-opts3]": 0.20795019999991382,
    "tests/unit/command/test_diff.py::test_no_changes[show2-| Status   | Path   |\\n|----------|--------|-opts0]": 0.2065845999998146,
    "tests/unit/command/test_diff.py::test_no_changes[show2-| Status   | Path   |\\n|----------|--------|-opts1]": 0.26602109999987533,
    "tests/unit/command/test_diff.py::test_no_changes[show2-| Status   | Path   |\\n|----------|--------|-opts2]": 0.1966783000000305,
    "tests/unit/command/test_diff.py::test_no_changes[show2-| Status   | Path   |\\n|----------|--------|-opts3]": 0.2248160999997708,
    "tests/unit/command/test_diff.py::test_show_hash": 0.18903350000005048,
    "tests/unit/command/test_diff.py::test_show_json": 0.1852141000000529,
    "tests/unit/command/test_diff.py::test_show_json_and_hash": 0.16317690000005314,
    "tests/unit/command/test_diff.py::test_show_json_hide_missing": 0.1684483999999884,
    "tests/unit/command/test_diff.py::test_show_markdown": 0.004335099999934755,
    "tests/unit/command/test_diff.py::test_show_markdown_hide_missing": 0.004313600000045881,
    "tests/unit/command/test_diff.py::test_show_markdown_with_hash": 0.004763400000115325,
    "tests/unit/command/test_du.py::test_du": 0.004861399999867899,
    "tests/unit/command/test_experiments.py::test_experiments_apply": 0.2363333999999213,
    "tests/unit/command/test_experiments.py::test_experiments_branch": 0.2514846999999918,
    "tests/unit/command/test_experiments.py::test_experiments_clean": 0.21406049999995957,
    "tests/unit/command/test_experiments.py::test_experiments_diff": 0.2540403000000424,
    "tests/unit/command/test_experiments.py::test_experiments_diff_revs": 0.194408400000043,
    "tests/unit/command/test_experiments.py::test_experiments_list": 0.2429000999999289,
    "tests/unit/command/test_experiments.py::test_experiments_list_format[args0-master:\\n\\tsha-a [exp-a]\\n]": 0.2363052000001744,
    "tests/unit/command/test_experiments.py::test_experiments_list_format[args1-exp-a\\n]": 0.23047929999984262,
    "tests/unit/command/test_experiments.py::test_experiments_list_format[args2-sha-a\\n]": 0.24126819999992222,
    "tests/unit/command/test_experiments.py::test_experiments_list_remote": 0.22307360000013432,
    "tests/unit/command/test_experiments.py::test_experiments_pull": 0.23942060000001675,
    "tests/unit/command/test_experiments.py::test_experiments_push": 0.25641060000009475,
    "tests/unit/command/test_experiments.py::test_experiments_remove_flag": 0.24051600000007056,
    "tests/unit/command/test_experiments.py::test_experiments_remove_invalid": 0.27601579999998194,
    "tests/unit/command/test_experiments.py::test_experiments_remove_special": 0.378145199999949,
    "tests/unit/command/test_experiments.py::test_experiments_rename_flag": 0.2838232000000289,
    "tests/unit/command/test_experiments.py::test_experiments_rename_invalid": 0.3273948000000928,
    "tests/unit/command/test_experiments.py::test_experiments_run": 0.26182230000006257,
    "tests/unit/command/test_experiments.py::test_experiments_run_message[--message]": 0.25680639999995947,
    "tests/unit/command/test_experiments.py::test_experiments_run_message[-M]": 0.2054465999999593,
    "tests/unit/command/test_experiments.py::test_experiments_run_message[-m]": 0.22659100000009857,
    "tests/unit/command/test_experiments.py::test_experiments_save": 0.34348650000004,
    "tests/unit/command/test_experiments.py::test_experiments_save_message[--message]": 0.2114745999999741,
    "tests/unit/command/test_experiments.py::test_experiments_save_message[-M]": 0.26990299999988565,
    "tests/unit/command/test_experiments.py::test_experiments_save_message[-m]": 0.24079059999996844,
    "tests/unit/command/test_experiments.py::test_experiments_show": 0.2314608000001499,
    "tests/unit/command/test_gc.py::test_": 0.31430200000011155,
    "tests/unit/command/test_get.py::test_get": 0.004811700000004748,
    "tests/unit/command/test_get.py::test_get_url": 0.004623800000103984,
    "tests/unit/command/test_get_url.py::test_get_url": 0.0063950999999633495,
    "tests/unit/command/test_git_hook.py::test_out_of_repo[post-checkout-CmdPostCheckout]": 0.01685439999994287,
    "tests/unit/command/test_git_hook.py::test_out_of_repo[pre-commit-CmdPreCommit]": 0.019848099999990154,
    "tests/unit/command/test_git_hook.py::test_out_of_repo[pre-push-CmdPrePush]": 0.016037099999948623,
    "tests/unit/command/test_help.py::test_help[add]": 0.00516990000005535,
    "tests/unit/command/test_help.py::test_help[artifacts-get]": 0.005396499999960724,
    "tests/unit/command/test_help.py::test_help[artifacts]": 0.004762099999993552,
    "tests/unit/command/test_help.py::test_help[cache-dir]": 0.005094600000120408,
    "tests/unit/command/test_help.py::test_help[cache-migrate]": 0.004777600000011262,
    "tests/unit/command/test_help.py::test_help[cache]": 0.004717299999924762,
    "tests/unit/command/test_help.py::test_help[check-ignore]": 0.004871100000173101,
    "tests/unit/command/test_help.py::test_help[checkout]": 0.005995600000005652,
    "tests/unit/command/test_help.py::test_help[commit]": 0.005087700000103723,
    "tests/unit/command/test_help.py::test_help[completion]": 0.004948499999954947,
    "tests/unit/command/test_help.py::test_help[config]": 0.0050775999999359556,
    "tests/unit/command/test_help.py::test_help[daemon-analytics]": 0.005583000000115135,
    "tests/unit/command/test_help.py::test_help[daemon-updater]": 0.004609500000015032,
    "tests/unit/command/test_help.py::test_help[dag]": 0.004961499999922125,
    "tests/unit/command/test_help.py::test_help[data-status]": 0.004912400000080197,
    "tests/unit/command/test_help.py::test_help[dataset-add]": 0.004888800000003357,
    "tests/unit/command/test_help.py::test_help[dataset-update]": 0.004693000000088432,
    "tests/unit/command/test_help.py::test_help[destroy]": 0.004675899999938338,
    "tests/unit/command/test_help.py::test_help[diff]": 0.005075299999930394,
    "tests/unit/command/test_help.py::test_help[doctor]": 0.004543700000112949,
    "tests/unit/command/test_help.py::test_help[ds-add]": 0.00488899999993464,
    "tests/unit/command/test_help.py::test_help[ds-update]": 0.0046986999998352985,
    "tests/unit/command/test_help.py::test_help[du]": 0.0050435999999081105,
    "tests/unit/command/test_help.py::test_help[dvc]": 0.005414900000005218,
    "tests/unit/command/test_help.py::test_help[exp-apply]": 0.004998699999987366,
    "tests/unit/command/test_help.py::test_help[exp-branch]": 0.004858499999954802,
    "tests/unit/command/test_help.py::test_help[exp-clean]": 0.005622000000016669,
    "tests/unit/command/test_help.py::test_help[exp-diff]": 0.005296399999906498,
    "tests/unit/command/test_help.py::test_help[exp-list]": 0.005151499999897169,
    "tests/unit/command/test_help.py::test_help[exp-ls]": 0.005351799999971263,
    "tests/unit/command/test_help.py::test_help[exp-pull]": 0.005486500000074557,
    "tests/unit/command/test_help.py::test_help[exp-push]": 0.005553100000156519,
    "tests/unit/command/test_help.py::test_help[exp-remove]": 0.00527179999994587,
    "tests/unit/command/test_help.py::test_help[exp-rename]": 0.004908799999839175,
    "tests/unit/command/test_help.py::test_help[exp-rm]": 0.005404200000157289,
    "tests/unit/command/test_help.py::test_help[exp-run]": 0.00624249999998483,
    "tests/unit/command/test_help.py::test_help[exp-save]": 0.0052524000000175874,
    "tests/unit/command/test_help.py::test_help[exp-show]": 0.006198300000050949,
    "tests/unit/command/test_help.py::test_help[exp]": 0.005255499999861968,
    "tests/unit/command/test_help.py::test_help[experiments-apply]": 0.004880999999954838,
    "tests/unit/command/test_help.py::test_help[experiments-branch]": 0.004828900000006797,
    "tests/unit/command/test_help.py::test_help[experiments-clean]": 0.005543899999906898,
    "tests/unit/command/test_help.py::test_help[experiments-diff]": 0.0051723999998785075,
    "tests/unit/command/test_help.py::test_help[experiments-list]": 0.005507799999804774,
    "tests/unit/command/test_help.py::test_help[experiments-ls]": 0.005242700000053446,
    "tests/unit/command/test_help.py::test_help[experiments-pull]": 0.005516199999988203,
    "tests/unit/command/test_help.py::test_help[experiments-push]": 0.005440700000008292,
    "tests/unit/command/test_help.py::test_help[experiments-remove]": 0.005233699999962482,
    "tests/unit/command/test_help.py::test_help[experiments-rename]": 0.005135099999961312,
    "tests/unit/command/test_help.py::test_help[experiments-rm]": 0.0052400999999235864,
    "tests/unit/command/test_help.py::test_help[experiments-run]": 0.00627030000009654,
    "tests/unit/command/test_help.py::test_help[experiments-save]": 0.005168700000012905,
    "tests/unit/command/test_help.py::test_help[experiments-show]": 0.006394000000000233,
    "tests/unit/command/test_help.py::test_help[experiments]": 0.005340799999885348,
    "tests/unit/command/test_help.py::test_help[fetch]": 0.0055118999999876905,
    "tests/unit/command/test_help.py::test_help[freeze]": 0.004637200000161101,
    "tests/unit/command/test_help.py::test_help[gc]": 0.00605360000008659,
    "tests/unit/command/test_help.py::test_help[get-url]": 0.005082600000037019,
    "tests/unit/command/test_help.py::test_help[get]": 0.006310499999926833,
    "tests/unit/command/test_help.py::test_help[git-hook-merge-driver]": 0.004797400000029484,
    "tests/unit/command/test_help.py::test_help[git-hook-post-checkout]": 0.004774100000076942,
    "tests/unit/command/test_help.py::test_help[git-hook-pre-commit]": 0.004705299999955059,
    "tests/unit/command/test_help.py::test_help[git-hook-pre-push]": 0.004717099999993479,
    "tests/unit/command/test_help.py::test_help[import-db]": 0.004886699999929078,
    "tests/unit/command/test_help.py::test_help[import-url]": 0.005191599999989194,
    "tests/unit/command/test_help.py::test_help[import]": 0.004990700000007564,
    "tests/unit/command/test_help.py::test_help[init]": 0.004769599999917773,
    "tests/unit/command/test_help.py::test_help[install]": 0.004509999999982028,
    "tests/unit/command/test_help.py::test_help[list-url]": 0.005079899999941517,
    "tests/unit/command/test_help.py::test_help[list]": 0.005139899999903719,
    "tests/unit/command/test_help.py::test_help[ls-url]": 0.0051078000000188695,
    "tests/unit/command/test_help.py::test_help[ls]": 0.005072499999982938,
    "tests/unit/command/test_help.py::test_help[metrics-diff]": 0.006496099999935723,
    "tests/unit/command/test_help.py::test_help[metrics-show]": 0.005230500000038774,
    "tests/unit/command/test_help.py::test_help[metrics]": 0.004968199999893841,
    "tests/unit/command/test_help.py::test_help[move]": 0.004605499999911444,
    "tests/unit/command/test_help.py::test_help[mv]": 0.004743300000086492,
    "tests/unit/command/test_help.py::test_help[params-diff]": 0.00525409999988824,
    "tests/unit/command/test_help.py::test_help[params]": 0.004771499999947082,
    "tests/unit/command/test_help.py::test_help[plots-diff]": 0.005646700000056626,
    "tests/unit/command/test_help.py::test_help[plots-modify]": 0.0052711999998109604,
    "tests/unit/command/test_help.py::test_help[plots-show]": 0.005484400000000278,
    "tests/unit/command/test_help.py::test_help[plots-templates]": 0.0047318000000586835,
    "tests/unit/command/test_help.py::test_help[plots]": 0.0047816000001148495,
    "tests/unit/command/test_help.py::test_help[pull]": 0.005406800000059775,
    "tests/unit/command/test_help.py::test_help[push]": 0.006573299999899973,
    "tests/unit/command/test_help.py::test_help[queue-kill]": 0.004956300000003466,
    "tests/unit/command/test_help.py::test_help[queue-logs]": 0.00587479999990137,
    "tests/unit/command/test_help.py::test_help[queue-remove]": 0.0048679000000220185,
    "tests/unit/command/test_help.py::test_help[queue-start]": 0.00466180000012173,
    "tests/unit/command/test_help.py::test_help[queue-status]": 0.004603199999792196,
    "tests/unit/command/test_help.py::test_help[queue-stop]": 0.004899899999941226,
    "tests/unit/command/test_help.py::test_help[queue]": 0.005185999999980595,
    "tests/unit/command/test_help.py::test_help[remote-add]": 0.005126499999960288,
    "tests/unit/command/test_help.py::test_help[remote-default]": 0.004988600000046972,
    "tests/unit/command/test_help.py::test_help[remote-list]": 0.0049685999999837804,
    "tests/unit/command/test_help.py::test_help[remote-modify]": 0.005088500000056229,
    "tests/unit/command/test_help.py::test_help[remote-remove]": 0.004826299999990624,
    "tests/unit/command/test_help.py::test_help[remote-rename]": 0.005236899999999878,
    "tests/unit/command/test_help.py::test_help[remote]": 0.004741699999954108,
    "tests/unit/command/test_help.py::test_help[remove]": 0.004911599999900318,
    "tests/unit/command/test_help.py::test_help[repro]": 0.005877499999996871,
    "tests/unit/command/test_help.py::test_help[rm]": 0.004688199999918652,
    "tests/unit/command/test_help.py::test_help[root]": 0.00459539999997105,
    "tests/unit/command/test_help.py::test_help[stage-add]": 0.005957599999987906,
    "tests/unit/command/test_help.py::test_help[stage-list]": 0.004868999999985135,
    "tests/unit/command/test_help.py::test_help[stage]": 0.005666300000143565,
    "tests/unit/command/test_help.py::test_help[status]": 0.005589900000018133,
    "tests/unit/command/test_help.py::test_help[studio-login]": 0.005103100000155791,
    "tests/unit/command/test_help.py::test_help[studio-logout]": 0.004475100000036036,
    "tests/unit/command/test_help.py::test_help[studio-token]": 0.004713700000024801,
    "tests/unit/command/test_help.py::test_help[studio]": 0.004740799999922274,
    "tests/unit/command/test_help.py::test_help[unfreeze]": 0.0046703999998953805,
    "tests/unit/command/test_help.py::test_help[unprotect]": 0.0046142999999574386,
    "tests/unit/command/test_help.py::test_help[update]": 0.0050053999999590815,
    "tests/unit/command/test_help.py::test_help[version]": 0.004662299999949937,
    "tests/unit/command/test_imp.py::test_import": 0.15950039999984256,
    "tests/unit/command/test_imp.py::test_import_no_download": 0.17638509999983398,
    "tests/unit/command/test_imp.py::test_import_no_exec": 0.16130900000018755,
    "tests/unit/command/test_imp_url.py::test_failed_import_url": 0.24874369999997725,
    "tests/unit/command/test_imp_url.py::test_import_url": 0.16240170000003218,
    "tests/unit/command/test_imp_url.py::test_import_url_no_exec_download_flags[--no-download-expected1]": 0.1616487999998526,
    "tests/unit/command/test_imp_url.py::test_import_url_no_exec_download_flags[--no-exec-expected0]": 0.15735030000007555,
    "tests/unit/command/test_imp_url.py::test_import_url_to_remote": 0.23831790000008368,
    "tests/unit/command/test_imp_url.py::test_import_url_to_remote_flag": 0.2676136000000042,
    "tests/unit/command/test_imp_url.py::test_import_url_to_remote_invalid_combination[--no-download]": 0.23121040000000903,
    "tests/unit/command/test_imp_url.py::test_import_url_to_remote_invalid_combination[--no-exec]": 0.22697579999999107,
    "tests/unit/command/test_imp_url.py::test_import_url_to_remote_invalid_combination[--version-aware]": 0.2488975000001119,
    "tests/unit/command/test_ls_url.py::test_ls_url": 0.007741799999962495,
    "tests/unit/command/test_ls_url.py::test_recursive": 0.007042000000069493,
    "tests/unit/command/test_metrics.py::test_metrics_diff": 0.17783269999983986,
    "tests/unit/command/test_metrics.py::test_metrics_diff_json": 0.16102879999982633,
    "tests/unit/command/test_metrics.py::test_metrics_show": 0.15935780000006616,
    "tests/unit/command/test_metrics.py::test_metrics_show_json": 0.19421349999993254,
    "tests/unit/command/test_params.py::test_params_diff": 0.1581121000000394,
    "tests/unit/command/test_params.py::test_params_diff_from_cli": 0.1667267999998785,
    "tests/unit/command/test_params.py::test_params_diff_show_json": 0.22336029999985385,
    "tests/unit/command/test_plots.py::test_plots_diff": 0.16223200000001725,
    "tests/unit/command/test_plots.py::test_plots_diff_json": 0.8370906000001241,
    "tests/unit/command/test_plots.py::test_plots_diff_open[False]": 0.20436099999983526,
    "tests/unit/command/test_plots.py::test_plots_diff_open[True]": 0.16055760000006103,
    "tests/unit/command/test_plots.py::test_plots_diff_open_failed": 0.18257810000011432,
    "tests/unit/command/test_plots.py::test_plots_diff_open_wsl": 0.16334660000006807,
    "tests/unit/command/test_plots.py::test_plots_diff_vega": 0.21606650000001082,
    "tests/unit/command/test_plots.py::test_plots_path_is_quoted_and_resolved_properly[quote]": 0.22137190000012197,
    "tests/unit/command/test_plots.py::test_plots_path_is_quoted_and_resolved_properly[resolve]": 0.16760520000002543,
    "tests/unit/command/test_plots.py::test_plots_show_vega": 0.20280970000021625,
    "tests/unit/command/test_plots.py::test_plots_templates[None-t1\\nt2-0]": 0.16750550000006115,
    "tests/unit/command/test_plots.py::test_plots_templates[t1-\"{'t1'}\"-0]": 0.14744550000011714,
    "tests/unit/command/test_plots.py::test_plots_templates[t3--1]": 0.19756789999996727,
    "tests/unit/command/test_plots.py::test_should_call_render[None]": 0.02213379999989229,
    "tests/unit/command/test_plots.py::test_should_call_render[some_out]": 0.02298040000016499,
    "tests/unit/command/test_plots.py::test_should_call_render[to\\\\subdir]": 0.021559099999990394,
    "tests/unit/command/test_plots.py::test_should_pass_template_dir": 0.20337180000001354,
    "tests/unit/command/test_plots.py::test_show_json[False]": 0.004578400000013971,
    "tests/unit/command/test_plots.py::test_show_json[True]": 0.004965399999946385,
    "tests/unit/command/test_plots.py::test_show_json_no_renderers": 0.0037462000000232365,
    "tests/unit/command/test_plots.py::test_show_json_with_error": 0.18920730000002095,
    "tests/unit/command/test_queue.py::test_experiments_kill": 0.2445196000001033,
    "tests/unit/command/test_queue.py::test_experiments_remove_flags": 0.31704769999998916,
    "tests/unit/command/test_queue.py::test_experiments_remove_invalid": 0.297946599999932,
    "tests/unit/command/test_queue.py::test_experiments_remove_name": 0.26617610000005243,
    "tests/unit/command/test_queue.py::test_experiments_start": 1.2269019999998818,
    "tests/unit/command/test_queue.py::test_experiments_status": 1.2477585000001454,
    "tests/unit/command/test_queue.py::test_experiments_stop": 0.27853619999996226,
    "tests/unit/command/test_queue.py::test_queue_logs": 0.2533302999999023,
    "tests/unit/command/test_queue.py::test_worker_status[worker_status0-Worker status: 0 active, 2 idle]": 0.2085013999999319,
    "tests/unit/command/test_queue.py::test_worker_status[worker_status1-Worker status: 2 active, 1 idle]": 0.21324529999992592,
    "tests/unit/command/test_queue.py::test_worker_status[worker_status2-Worker status: 1 active, 0 idle]": 0.26774479999983214,
    "tests/unit/command/test_repro.py::test_default_arguments": 0.24381379999999808,
    "tests/unit/command/test_repro.py::test_downstream": 0.2228683999999248,
    "tests/unit/command/test_stage.py::test_stage_add[command0-echo foo bar]": 0.232102399999917,
    "tests/unit/command/test_stage.py::test_stage_add[command1-echo \"foo bar\"]": 0.2880078999999114,
    "tests/unit/command/test_stage.py::test_stage_add[command2-echo \"foo bar\"]": 0.17658459999995557,
    "tests/unit/command/test_stage.py::test_stage_add[command3-cmd --flag \"\"]": 0.19729919999997492,
    "tests/unit/command/test_stage.py::test_stage_add_and_run": 0.17568000000005668,
    "tests/unit/command/test_status.py::test_cloud_status": 0.16782099999988986,
    "tests/unit/command/test_status.py::test_status_check_updates": 0.19725930000004155,
    "tests/unit/command/test_status.py::test_status_empty": 0.1967822999999953,
    "tests/unit/command/test_status.py::test_status_quiet[status0-0]": 0.19551589999991847,
    "tests/unit/command/test_status.py::test_status_quiet[status1-1]": 0.17035260000000108,
    "tests/unit/command/test_status.py::test_status_quiet[status2-1]": 0.19946329999993395,
    "tests/unit/command/test_status.py::test_status_show_json[status0]": 0.1761330999999018,
    "tests/unit/command/test_status.py::test_status_show_json[status1]": 0.17701260000001184,
    "tests/unit/command/test_status.py::test_status_show_json[status2]": 0.18058289999999033,
    "tests/unit/command/test_status.py::test_status_up_to_date[cloud_opts0-Cache and remote 'default' are in sync]": 0.17520509999997103,
    "tests/unit/command/test_status.py::test_status_up_to_date[cloud_opts1-Cache and remote 'remote1' are in sync]": 0.16241600000000744,
    "tests/unit/command/test_status.py::test_status_up_to_date[cloud_opts2-Data and pipelines are up to date]": 0.174744399999895,
    "tests/unit/command/test_studio.py::test_studio_login_arguments": 0.020730800000137606,
    "tests/unit/command/test_studio.py::test_studio_login_success": 0.1833499000001666,
    "tests/unit/command/test_studio.py::test_studio_login_token_check_failed": 0.016864599999962593,
    "tests/unit/command/test_studio.py::test_studio_logout": 0.16298749999998563,
    "tests/unit/command/test_studio.py::test_studio_token": 0.15698469999995268,
    "tests/unit/command/test_update.py::test_update": 0.17654290000007222,
    "tests/unit/command/test_update.py::test_update_to_remote": 0.15949060000002646,
    "tests/unit/data/db/test_local.py::test_is_protected[hardlink]": 0.14557190000004994,
    "tests/unit/data/db/test_local.py::test_is_protected[symlink]": 0.1829543000000058,
    "tests/unit/data/db/test_local.py::test_protect_ignore_errors[13]": 0.18708559999993213,
    "tests/unit/data/db/test_local.py::test_protect_ignore_errors[1]": 0.16553050000004532,
    "tests/unit/data/db/test_local.py::test_protect_ignore_errors[30]": 0.1776026999999658,
    "tests/unit/data/db/test_local.py::test_set_exec_ignore_errors[13]": 0.22822449999989658,
    "tests/unit/data/db/test_local.py::test_set_exec_ignore_errors[1]": 0.20305240000027425,
    "tests/unit/data/db/test_local.py::test_set_exec_ignore_errors[30]": 0.1831402000000253,
    "tests/unit/data/db/test_local.py::test_staging_dir": 0.230100199999697,
    "tests/unit/data/db/test_local.py::test_staging_file": 0.20912219999991066,
    "tests/unit/data/db/test_local.py::test_status_download_optimization": 0.14161040000010416,
    "tests/unit/dependency/test_dependency.py::test_save_missing": 0.19652719999999135,
    "tests/unit/dependency/test_params.py::test_dumpd_with_info": 0.15128699999991113,
    "tests/unit/dependency/test_params.py::test_dumpd_without_info": 0.16029950000029203,
    "tests/unit/dependency/test_params.py::test_get_hash_missing_config": 0.13132500000006075,
    "tests/unit/dependency/test_params.py::test_get_hash_missing_param": 0.1511273999997229,
    "tests/unit/dependency/test_params.py::test_loadd_from": 0.14914219999991474,
    "tests/unit/dependency/test_params.py::test_loads_params": 0.1819633000000067,
    "tests/unit/dependency/test_params.py::test_loads_params_without_any_specific_targets": 0.2397292999999081,
    "tests/unit/dependency/test_params.py::test_params_error[params0-Only list of str/dict is supported. Got: 'int']": 0.17743289999998524,
    "tests/unit/dependency/test_params.py::test_params_error[params1-Expected list of params for custom params file 'b_file', got 'str'.]": 0.14181680000001506,
    "tests/unit/dependency/test_params.py::test_params_py_tuple_status": 0.1323810000001231,
    "tests/unit/dependency/test_params.py::test_params_status_without_targets": 0.14940939999996772,
    "tests/unit/dependency/test_params.py::test_params_with_false_values[[]]": 0.14156870000010713,
    "tests/unit/dependency/test_params.py::test_params_with_false_values[]": 0.14010119999989,
    "tests/unit/dependency/test_params.py::test_params_with_false_values[false]": 0.145325400000047,
    "tests/unit/dependency/test_params.py::test_params_with_false_values[null]": 0.13275300000009338,
    "tests/unit/dependency/test_params.py::test_params_with_false_values[{}]": 0.13771410000003925,
    "tests/unit/dependency/test_params.py::test_read_params_default_loader": 0.1354366000000482,
    "tests/unit/dependency/test_params.py::test_read_params_nested": 0.14428989999987607,
    "tests/unit/dependency/test_params.py::test_read_params_nonexistent_file": 0.14137549999986732,
    "tests/unit/dependency/test_params.py::test_read_params_py": 0.15157290000001922,
    "tests/unit/dependency/test_params.py::test_read_params_toml": 0.1404378000001998,
    "tests/unit/dependency/test_params.py::test_read_params_unsupported_format": 0.1372903999999835,
    "tests/unit/dependency/test_params.py::test_read_params_wrong_suffix": 0.16509849999988546,
    "tests/unit/fs/test_base.py::test_missing_deps": 0.00495150000006106,
    "tests/unit/fs/test_data.py::test_exists": 0.35812570000030064,
    "tests/unit/fs/test_data.py::test_get_hash_dir": 0.3086691000000883,
    "tests/unit/fs/test_data.py::test_get_hash_dirty_dir": 0.43394499999999425,
    "tests/unit/fs/test_data.py::test_get_hash_dirty_file": 0.38452159999997093,
    "tests/unit/fs/test_data.py::test_get_hash_file": 0.2722163000003093,
    "tests/unit/fs/test_data.py::test_get_hash_granular": 0.3548885000000155,
    "tests/unit/fs/test_data.py::test_get_key[-key0]": 0.2359702999997353,
    "tests/unit/fs/test_data.py::test_get_key[.-key1]": 0.20508520000021235,
    "tests/unit/fs/test_data.py::test_get_key[/-key2]": 0.1873142999997981,
    "tests/unit/fs/test_data.py::test_get_key[dir/foo-key4]": 0.261411299999736,
    "tests/unit/fs/test_data.py::test_get_key[foo-key3]": 0.3334287999998651,
    "tests/unit/fs/test_data.py::test_isdir_isfile": 0.36860460000002604,
    "tests/unit/fs/test_data.py::test_isdir_mixed": 0.2752560999997513,
    "tests/unit/fs/test_data.py::test_open": 0.38896999999997206,
    "tests/unit/fs/test_data.py::test_open_dirty_hash": 0.3455529000000297,
    "tests/unit/fs/test_data.py::test_open_dirty_no_hash": 0.22985790000007,
    "tests/unit/fs/test_data.py::test_open_in_history": 0.5580856999999924,
    "tests/unit/fs/test_data.py::test_open_no_remote": 0.29373580000014954,
    "tests/unit/fs/test_data.py::test_walk": 0.45851840000000266,
    "tests/unit/fs/test_data.py::test_walk_dir": 0.3647290999999768,
    "tests/unit/fs/test_data.py::test_walk_missing": 0.21059100000024955,
    "tests/unit/fs/test_data.py::test_walk_not_a_dir": 0.28855810000004567,
    "tests/unit/fs/test_dvc.py::test_dvcfs_no_subrepos": 1.1262057000001278,
    "tests/unit/fs/test_dvc.py::test_exists": 0.4299327999999605,
    "tests/unit/fs/test_dvc.py::test_exists_isdir_isfile_dirty": 0.3719997999999123,
    "tests/unit/fs/test_dvc.py::test_fsid": 0.3600894999999582,
    "tests/unit/fs/test_dvc.py::test_fsid_noscm": 0.17050810000000638,
    "tests/unit/fs/test_dvc.py::test_fsid_url": 0.6390982999998869,
    "tests/unit/fs/test_dvc.py::test_get_hash_cached_dir": 0.3788449999997283,
    "tests/unit/fs/test_dvc.py::test_get_hash_cached_file": 0.2868271000002096,
    "tests/unit/fs/test_dvc.py::test_get_hash_cached_granular": 0.32177900000010595,
    "tests/unit/fs/test_dvc.py::test_get_hash_dirty_dir": 0.3100024000002577,
    "tests/unit/fs/test_dvc.py::test_get_hash_dirty_file": 0.27687379999997574,
    "tests/unit/fs/test_dvc.py::test_get_hash_mixed_dir": 0.44705369999996947,
    "tests/unit/fs/test_dvc.py::test_isdir_isfile": 0.48258069999997133,
    "tests/unit/fs/test_dvc.py::test_isdir_mixed": 0.28985499999998865,
    "tests/unit/fs/test_dvc.py::test_isdvc": 0.3862890000000334,
    "tests/unit/fs/test_dvc.py::test_ls_dir_empty": 0.2741804000002048,
    "tests/unit/fs/test_dvc.py::test_ls_dirty": 0.2980661000001419,
    "tests/unit/fs/test_dvc.py::test_ls_file_not_found": 0.2732452000000194,
    "tests/unit/fs/test_dvc.py::test_open": 0.39393840000002456,
    "tests/unit/fs/test_dvc.py::test_open_dirty_hash": 0.24628350000011778,
    "tests/unit/fs/test_dvc.py::test_open_dirty_no_hash": 0.1439026000002741,
    "tests/unit/fs/test_dvc.py::test_open_in_history": 0.5555142999999134,
    "tests/unit/fs/test_dvc.py::test_subrepo_walk[False-extra_expected0]": 1.4545625999999174,
    "tests/unit/fs/test_dvc.py::test_subrepo_walk[True-extra_expected1]": 1.7074651000002632,
    "tests/unit/fs/test_dvc.py::test_subrepos": 1.6347952000000987,
    "tests/unit/fs/test_dvc.py::test_walk[False-extra_expected0]": 0.3712035000000924,
    "tests/unit/fs/test_dvc.py::test_walk[True-extra_expected1]": 0.5252416000000721,
    "tests/unit/fs/test_dvc.py::test_walk_dirty": 0.43012769999995726,
    "tests/unit/fs/test_dvc.py::test_walk_dirty_cached_dir": 0.5374512999999297,
    "tests/unit/fs/test_dvc.py::test_walk_missing": 0.20010729999989962,
    "tests/unit/fs/test_dvc.py::test_walk_mixed_dir": 0.5005822000000535,
    "tests/unit/fs/test_dvc.py::test_walk_nested_subrepos[False]": 2.6429789000001165,
    "tests/unit/fs/test_dvc.py::test_walk_nested_subrepos[True]": 2.859540100000004,
    "tests/unit/fs/test_dvc.py::test_walk_not_a_dir": 0.2780836999997973,
    "tests/unit/fs/test_dvc_info.py::test_info_dvc_only_dirs[data/processed]": 0.6769035000002077,
    "tests/unit/fs/test_dvc_info.py::test_info_dvc_only_dirs[data/raw]": 0.7841137000002618,
    "tests/unit/fs/test_dvc_info.py::test_info_dvc_only_dirs[data]": 0.6757109000000128,
    "tests/unit/fs/test_dvc_info.py::test_info_dvc_tracked_file[data/processed/processed-1.csv]": 0.7904966999999488,
    "tests/unit/fs/test_dvc_info.py::test_info_dvc_tracked_file[data/processed/processed-2.csv]": 0.7899893000001157,
    "tests/unit/fs/test_dvc_info.py::test_info_dvc_tracked_file[data/raw/raw-1.csv]": 0.720624799999996,
    "tests/unit/fs/test_dvc_info.py::test_info_dvc_tracked_file[data/raw/raw-2.csv]": 0.6412256000003254,
    "tests/unit/fs/test_dvc_info.py::test_info_dvc_tracked_file[models/transform.pickle]": 0.6508121999997911,
    "tests/unit/fs/test_dvc_info.py::test_info_git_dvc_mixed_dirs[.]": 0.634685300000001,
    "tests/unit/fs/test_dvc_info.py::test_info_git_dvc_mixed_dirs[models]": 0.6856822000002012,
    "tests/unit/fs/test_dvc_info.py::test_info_git_only_dirs[src/utils]": 0.8510240000000522,
    "tests/unit/fs/test_dvc_info.py::test_info_git_only_dirs[src]": 0.7053726999999981,
    "tests/unit/fs/test_dvc_info.py::test_info_git_tracked_file[README.md]": 0.8011664999999084,
    "tests/unit/fs/test_dvc_info.py::test_info_git_tracked_file[models/test.py]": 0.7170016000000032,
    "tests/unit/fs/test_dvc_info.py::test_info_git_tracked_file[models/train.py]": 0.6278869000000213,
    "tests/unit/fs/test_dvc_info.py::test_info_git_tracked_file[src/utils/__init__.py]": 0.7002584999997907,
    "tests/unit/fs/test_dvc_info.py::test_info_git_tracked_file[src/utils/serve_model.py]": 0.737733500000104,
    "tests/unit/fs/test_dvc_info.py::test_info_not_existing": 0.7489877000000433,
    "tests/unit/fs/test_dvc_info.py::test_info_on_subrepos": 1.311515800000052,
    "tests/unit/fs/test_fs.py::test_get_cloud_fs": 0.003662800000029165,
    "tests/unit/fs/test_fs.py::test_get_fs_cls[../file-LocalFileSystem]": 0.003933200000119541,
    "tests/unit/fs/test_fs.py::test_get_fs_cls[..\\\\file-LocalFileSystem]": 0.0037267999998675805,
    "tests/unit/fs/test_fs.py::test_get_fs_cls[./file-LocalFileSystem]": 0.0037047000000711705,
    "tests/unit/fs/test_fs.py::test_get_fs_cls[.\\\\file-LocalFileSystem]": 0.0036365000000841974,
    "tests/unit/fs/test_fs.py::test_get_fs_cls[file-LocalFileSystem]": 0.0036200999998072803,
    "tests/unit/fs/test_fs.py::test_get_fs_cls[hdfs://example.com/dir/path-HDFSFileSystem]": 0.0038507000001573033,
    "tests/unit/fs/test_fs.py::test_get_fs_cls[http://example.com/path/to/file-HTTPFileSystem]": 0.0036757999998826563,
    "tests/unit/fs/test_fs.py::test_get_fs_cls[https://example.com/path/to/file-HTTPSFileSystem]": 0.0037765999998100597,
    "tests/unit/fs/test_fs.py::test_get_fs_cls[path/to/file-LocalFileSystem]": 0.0036463999999796215,
    "tests/unit/fs/test_fs.py::test_get_fs_cls[path\\\\to\\\\file-LocalFileSystem]": 0.0037243999997826904,
    "tests/unit/fs/test_fs.py::test_get_fs_cls[s3://bucket/path-S3FileSystem]": 0.004122800000004645,
    "tests/unit/fs/test_fs.py::test_get_fs_cls[ssh://example.com:/dir/path-SSHFileSystem]": 0.003962999999885142,
    "tests/unit/fs/test_fs.py::test_get_fs_cls[unknown://path-LocalFileSystem]": 0.0038380000000870496,
    "tests/unit/fs/test_fs.py::test_get_fs_config": 0.003567299999986062,
    "tests/unit/fs/test_fs.py::test_get_fs_config_error": 0.0034471999997549574,
    "tests/unit/fs/test_fs.py::test_remote_url": 0.0040197999999236345,
    "tests/unit/fs/test_tree.py::test_get_cloud_fs": 0.1809981000001244,
    "tests/unit/fs/test_tree.py::test_get_cloud_fs_validate": 0.1421276000000944,
    "tests/unit/output/test_annotations.py::test_annotation_to_dict[kwargs0]": 0.0043542000000798,
    "tests/unit/output/test_annotations.py::test_annotation_to_dict[kwargs1]": 0.0034908000002360495,
    "tests/unit/output/test_load.py::test_load_from_pipeline[metrics]": 0.14089249999983622,
    "tests/unit/output/test_load.py::test_load_from_pipeline[outs]": 0.1623079000000871,
    "tests/unit/output/test_load.py::test_load_from_pipeline[plots]": 0.1616214000000582,
    "tests/unit/output/test_load.py::test_load_from_pipeline_accumulates_flag": 0.13705239999990226,
    "tests/unit/output/test_load.py::test_load_from_pipeline_error_on_typ[None]": 0.14832630000023528,
    "tests/unit/output/test_load.py::test_load_from_pipeline_error_on_typ[]": 0.1467334999997547,
    "tests/unit/output/test_load.py::test_load_from_pipeline_error_on_typ[illegal]": 0.1416404000001421,
    "tests/unit/output/test_load.py::test_load_from_pipeline_illegal_type[3]": 0.14419900000007146,
    "tests/unit/output/test_load.py::test_load_from_pipeline_illegal_type[key1]": 0.1510142000001906,
    "tests/unit/output/test_load.py::test_load_remote": 0.1515172999997958,
    "tests/unit/output/test_load.py::test_load_remote_files_from_pipeline": 0.3239920999997139,
    "tests/unit/output/test_load.py::test_plots_load_from_pipeline": 0.1858439999998609,
    "tests/unit/output/test_local.py::test_return_0_on_no_cache": 0.18396800000004987,
    "tests/unit/output/test_local.py::test_return_1_on_single_file_cache": 0.18803580000030706,
    "tests/unit/output/test_local.py::test_return_multiple_for_dir": 0.17993090000004486,
    "tests/unit/output/test_local.py::test_str_on_external_absolute_path": 0.17777769999997872,
    "tests/unit/output/test_local.py::test_str_on_local_absolute_path": 0.21161090000009608,
    "tests/unit/output/test_local.py::test_str_workdir_inside_repo": 0.14259830000014517,
    "tests/unit/output/test_local.py::test_str_workdir_outside_repo": 0.19554309999989528,
    "tests/unit/output/test_output.py::test_checksum_schema[-None]": 0.005544099999497121,
    "tests/unit/output/test_output.py::test_checksum_schema[000002000000000000000000c16859d1d071c6b1ffc9c8557d4909f1-000002000000000000000000c16859d1d071c6b1ffc9c8557d4909f1]": 0.003528299999743467,
    "tests/unit/output/test_output.py::test_checksum_schema[11111-11111_0]": 0.0035367000000405824,
    "tests/unit/output/test_output.py::test_checksum_schema[11111-11111_1]": 0.003755199999886827,
    "tests/unit/output/test_output.py::test_checksum_schema[13393-13393]": 0.0037766000000374333,
    "tests/unit/output/test_output.py::test_checksum_schema[3cc286c534a71504476da009ed174423-3cc286c534a71504476da009ed174423]": 0.003689800000302057,
    "tests/unit/output/test_output.py::test_checksum_schema[676-676]": 0.0036434999997254636,
    "tests/unit/output/test_output.py::test_checksum_schema[None-None]": 0.003606799999715804,
    "tests/unit/output/test_output.py::test_checksum_schema[aAaBa-aaaba]": 0.0035385999999562046,
    "tests/unit/output/test_output.py::test_checksum_schema[d41d8cd98f00b204e9800998ecf8427e-38-d41d8cd98f00b204e9800998ecf8427e-38]": 0.0037460000000919536,
    "tests/unit/output/test_output.py::test_checksum_schema_fail[11]": 0.0037425999998959014,
    "tests/unit/output/test_output.py::test_checksum_schema_fail[1]": 0.003756699999939883,
    "tests/unit/output/test_output.py::test_checksum_schema_fail[value2]": 0.00356540000007044,
    "tests/unit/output/test_output.py::test_checksum_schema_fail[value3]": 0.0036418999998204526,
    "tests/unit/output/test_output.py::test_checksum_schema_fail[value4]": 0.0035010999999940395,
    "tests/unit/output/test_output.py::test_checksum_schema_fail[value5]": 0.0036368999999467633,
    "tests/unit/output/test_output.py::test_dumpd_cloud_versioning_dir": 0.013638500000070053,
    "tests/unit/output/test_output.py::test_get_used_objs[False-Output 'path'(stage: 'stage.dvc') is missing version info. Cache for it will not be collected. Use `dvc repro` to get your pipeline up to date.]": 0.013380899999901885,
    "tests/unit/output/test_output.py::test_get_used_objs[True-Output 'path'(stage: 'stage.dvc') is missing version info. Cache for it will not be collected. Use `dvc repro` to get your pipeline up to date.\\nYou can also use `dvc commit stage.dvc` to associate existing 'path' with stage: 'stage.dvc'.]": 0.013191500000175438,
    "tests/unit/output/test_output.py::test_hash_info_cloud_versioning_dir": 0.011704800000188698,
    "tests/unit/output/test_output.py::test_remote_missing_dependency_on_dir_pull": 0.4997587999998814,
    "tests/unit/output/test_output.py::test_save_missing": 0.17189609999991262,
    "tests/unit/output/test_output.py::test_version_aware_is_set_based_on_files": 0.013280800000302406,
    "tests/unit/remote/test_oss.py::test_init": 0.13651709999999184,
    "tests/unit/remote/test_remote.py::test_makedirs_not_create_for_top_level_path[GSFileSystem]": 0.14460880000001453,
    "tests/unit/remote/test_remote.py::test_makedirs_not_create_for_top_level_path[S3FileSystem]": 0.13261130000000776,
    "tests/unit/remote/test_remote.py::test_remote_with_hash_jobs": 0.15536950000000616,
    "tests/unit/remote/test_remote.py::test_remote_with_jobs": 0.16428399999995236,
    "tests/unit/remote/test_remote.py::test_remote_without_hash_jobs": 0.16145559999995385,
    "tests/unit/remote/test_remote.py::test_remote_without_hash_jobs_default": 0.1481607000000622,
    "tests/unit/remote/test_webdav.py::test_ask_password": 0.00495260000025155,
    "tests/unit/remote/test_webdav.py::test_ask_password_custom_auth_header": 0.00502760000017588,
    "tests/unit/remote/test_webdav.py::test_common": 0.004034600000068167,
    "tests/unit/remote/test_webdav.py::test_custom_auth_header": 0.0038762000001497654,
    "tests/unit/remote/test_webdav.py::test_password": 0.003827599999794984,
    "tests/unit/remote/test_webdav.py::test_remote_with_jobs[webdav://username@example.com/public.php/webdav-WebDAVFileSystem]": 0.15608989999986989,
    "tests/unit/remote/test_webdav.py::test_remote_with_jobs[webdavs://username@example.com/public.php/webdav-WebDAVSFileSystem]": 0.14663779999978033,
    "tests/unit/remote/test_webdav.py::test_ssl_verify_custom_cert": 0.00405799999998635,
    "tests/unit/remote/test_webdav.py::test_token": 0.003971099999944272,
    "tests/unit/remote/test_webdav.py::test_user": 0.003973999999971056,
    "tests/unit/remote/test_webhdfs.py::test_init": 0.14084939999997914,
    "tests/unit/remote/test_webhdfs.py::test_verify_ssl": 0.15593999999987318,
    "tests/unit/render/test_convert.py::test_to_json_image": 0.0036106000000017957,
    "tests/unit/render/test_convert.py::test_to_json_vega": 0.005109799999900133,
    "tests/unit/render/test_convert.py::test_to_json_vega_split": 0.004524400000036621,
    "tests/unit/render/test_image_converter.py::test_image_converter_no_out": 0.003433300000097006,
    "tests/unit/render/test_image_converter.py::test_image_converter_with_out": 0.015260500000067623,
    "tests/unit/render/test_image_converter.py::test_image_converter_with_slash_in_revision": 0.018313700000135213,
    "tests/unit/render/test_match.py::test_flat_datapoints_errors_are_caught": 0.004753199999640856,
    "tests/unit/render/test_match.py::test_group_definitions[all]": 0.003569299999753639,
    "tests/unit/render/test_match.py::test_group_definitions[multi_config]": 0.003538899999966816,
    "tests/unit/render/test_match.py::test_group_definitions[multi_rev]": 0.0034962000001996785,
    "tests/unit/render/test_match.py::test_group_definitions[multi_rev_multi_config]": 0.0036884000001009554,
    "tests/unit/render/test_match.py::test_group_definitions[simple]": 0.0035629999997581763,
    "tests/unit/render/test_match.py::test_match_renderers": 0.00402299999996103,
    "tests/unit/render/test_match.py::test_squash_plots_properties_config_files": 0.003502900000057707,
    "tests/unit/render/test_match.py::test_squash_plots_properties_revs": 0.003376799999841751,
    "tests/unit/render/test_vega_converter.py::test_convert[choose_x_y]": 0.003819599999815182,
    "tests/unit/render/test_vega_converter.py::test_convert[default_x_y]": 0.003854499999761174,
    "tests/unit/render/test_vega_converter.py::test_convert[find_in_nested_structure]": 0.003715999999712949,
    "tests/unit/render/test_vega_converter.py::test_convert[multi_file_json]": 0.0038222999999106833,
    "tests/unit/render/test_vega_converter.py::test_convert[multi_file_y_same_prefix]": 0.003748200000018187,
    "tests/unit/render/test_vega_converter.py::test_convert[multi_source_json]": 0.0037368000000697066,
    "tests/unit/render/test_vega_converter.py::test_convert[multi_source_y_single_x]": 0.003875499999821841,
    "tests/unit/render/test_vega_converter.py::test_convert[multiple_x_fields]": 0.004527599999846643,
    "tests/unit/render/test_vega_converter.py::test_convert[y_def_list]": 0.003832700000202749,
    "tests/unit/render/test_vega_converter.py::test_convert[y_list]": 0.0037419000000227243,
    "tests/unit/render/test_vega_converter.py::test_convert[y_list_x_dict]": 0.003806600000416438,
    "tests/unit/render/test_vega_converter.py::test_convert_fail[unequal_datapoints]": 0.003742300000112664,
    "tests/unit/render/test_vega_converter.py::test_convert_fail[unequal_x_y]": 0.0038218999998207437,
    "tests/unit/render/test_vega_converter.py::test_finding_lists[dictionary0-expected_result0]": 0.0035947999999734748,
    "tests/unit/render/test_vega_converter.py::test_finding_lists[dictionary1-expected_result1]": 0.003548999999793523,
    "tests/unit/render/test_vega_converter.py::test_finding_lists[dictionary2-expected_result2]": 0.0034938000001147884,
    "tests/unit/render/test_vega_converter.py::test_infer_x_label[properties0-actual]": 0.0036790000001474255,
    "tests/unit/render/test_vega_converter.py::test_infer_x_label[properties1-actual]": 0.0035590000002230227,
    "tests/unit/render/test_vega_converter.py::test_infer_x_label[properties2-x]": 0.003653600000006918,
    "tests/unit/repo/experiments/queue/test_celery.py::test_celery_queue_kill[False]": 3.2636135999998714,
    "tests/unit/repo/experiments/queue/test_celery.py::test_celery_queue_kill[True]": 3.247582599999987,
    "tests/unit/repo/experiments/queue/test_celery.py::test_celery_queue_kill_invalid[False]": 3.2468249000000924,
    "tests/unit/repo/experiments/queue/test_celery.py::test_celery_queue_kill_invalid[True]": 3.2016183999999157,
    "tests/unit/repo/experiments/queue/test_celery.py::test_post_run_after_kill": 5.27350279999996,
    "tests/unit/repo/experiments/queue/test_celery.py::test_queue_iter_done_task[FAILURE]": 3.3001954999999725,
    "tests/unit/repo/experiments/queue/test_celery.py::test_queue_iter_done_task[SUCCESS]": 3.2327950000001238,
    "tests/unit/repo/experiments/queue/test_celery.py::test_queue_status": 3.2498809999999594,
    "tests/unit/repo/experiments/queue/test_celery.py::test_shutdown": 3.241012300000193,
    "tests/unit/repo/experiments/queue/test_celery.py::test_shutdown_no_tasks": 3.236263000000008,
    "tests/unit/repo/experiments/queue/test_celery.py::test_shutdown_with_kill": 3.2628928999997697,
    "tests/unit/repo/experiments/queue/test_remove.py::test_remove_done": 3.258274300000039,
    "tests/unit/repo/experiments/queue/test_remove.py::test_remove_queued": 3.249447200000077,
    "tests/unit/repo/experiments/test_collect.py::test_collect_stable_sorting": 18.420879500000183,
    "tests/unit/repo/experiments/test_executor_status.py::test_celery_queue_failure_status": 3.197412799999938,
    "tests/unit/repo/experiments/test_executor_status.py::test_celery_queue_success_status": 5.281382499999836,
    "tests/unit/repo/experiments/test_executor_status.py::test_executor_status_compatibility": 0.003536400000029971,
    "tests/unit/repo/experiments/test_executor_status.py::test_workspace_execu
Download .txt
gitextract_ngf1xy55/

├── .dvc/
│   ├── .gitignore
│   └── config
├── .dvcignore
├── .git-blame-ignore-revs
├── .git_archival.txt
├── .gitattributes
├── .github/
│   ├── .test_durations
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.md
│   │   ├── config.yml
│   │   └── feature_request.md
│   ├── PULL_REQUEST_TEMPLATE.md
│   ├── codecov.yml
│   ├── dependabot.yml
│   ├── release.yml
│   └── workflows/
│       ├── benchmarks.yaml
│       ├── build.yaml
│       ├── codeql.yml
│       ├── plugin_tests.yaml
│       └── tests.yaml
├── .gitignore
├── .mailmap
├── .pre-commit-config.yaml
├── .pre-commit-hooks.yaml
├── .zenodo.json
├── CITATION.cff
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.rst
├── dvc/
│   ├── __init__.py
│   ├── __main__.py
│   ├── __pyinstaller/
│   │   ├── __init__.py
│   │   ├── hook-asyncssh.py
│   │   ├── hook-celery.py
│   │   ├── hook-dvc.py
│   │   ├── hook-dvc.utils.flatten.py
│   │   ├── hook-dvc_task.py
│   │   ├── hook-fsspec.py
│   │   └── hook-pydrive2.py
│   ├── _debug.py
│   ├── analytics.py
│   ├── annotations.py
│   ├── api/
│   │   ├── __init__.py
│   │   ├── artifacts.py
│   │   ├── data.py
│   │   ├── dataset.py
│   │   ├── experiments.py
│   │   ├── scm.py
│   │   └── show.py
│   ├── build.py
│   ├── cachemgr.py
│   ├── cli/
│   │   ├── __init__.py
│   │   ├── command.py
│   │   ├── completion.py
│   │   ├── formatter.py
│   │   ├── parser.py
│   │   └── utils.py
│   ├── commands/
│   │   ├── __init__.py
│   │   ├── add.py
│   │   ├── artifacts.py
│   │   ├── cache.py
│   │   ├── check_ignore.py
│   │   ├── checkout.py
│   │   ├── commit.py
│   │   ├── completion.py
│   │   ├── config.py
│   │   ├── daemon.py
│   │   ├── dag.py
│   │   ├── data.py
│   │   ├── data_sync.py
│   │   ├── dataset.py
│   │   ├── destroy.py
│   │   ├── diff.py
│   │   ├── du.py
│   │   ├── experiments/
│   │   │   ├── __init__.py
│   │   │   ├── apply.py
│   │   │   ├── branch.py
│   │   │   ├── clean.py
│   │   │   ├── diff.py
│   │   │   ├── exec_run.py
│   │   │   ├── ls.py
│   │   │   ├── pull.py
│   │   │   ├── push.py
│   │   │   ├── queue_worker.py
│   │   │   ├── remove.py
│   │   │   ├── rename.py
│   │   │   ├── run.py
│   │   │   ├── save.py
│   │   │   └── show.py
│   │   ├── freeze.py
│   │   ├── gc.py
│   │   ├── get.py
│   │   ├── get_url.py
│   │   ├── git_hook.py
│   │   ├── imp.py
│   │   ├── imp_db.py
│   │   ├── imp_url.py
│   │   ├── init.py
│   │   ├── install.py
│   │   ├── ls/
│   │   │   ├── __init__.py
│   │   │   └── ls_colors.py
│   │   ├── ls_url.py
│   │   ├── metrics.py
│   │   ├── move.py
│   │   ├── params.py
│   │   ├── plots.py
│   │   ├── queue/
│   │   │   ├── __init__.py
│   │   │   ├── kill.py
│   │   │   ├── logs.py
│   │   │   ├── remove.py
│   │   │   ├── start.py
│   │   │   ├── status.py
│   │   │   └── stop.py
│   │   ├── remote.py
│   │   ├── remove.py
│   │   ├── repro.py
│   │   ├── root.py
│   │   ├── stage.py
│   │   ├── status.py
│   │   ├── studio.py
│   │   ├── unprotect.py
│   │   ├── update.py
│   │   └── version.py
│   ├── compare.py
│   ├── config.py
│   ├── config_schema.py
│   ├── daemon.py
│   ├── dagascii.py
│   ├── data_cloud.py
│   ├── database.py
│   ├── dependency/
│   │   ├── __init__.py
│   │   ├── base.py
│   │   ├── dataset.py
│   │   ├── db.py
│   │   ├── param.py
│   │   └── repo.py
│   ├── dirs.py
│   ├── dvcfile.py
│   ├── env.py
│   ├── exceptions.py
│   ├── fs/
│   │   ├── __init__.py
│   │   ├── callbacks.py
│   │   ├── data.py
│   │   ├── dvc.py
│   │   ├── dvc_path.py
│   │   └── git.py
│   ├── ignore.py
│   ├── info.py
│   ├── lock.py
│   ├── log.py
│   ├── logger.py
│   ├── output.py
│   ├── parsing/
│   │   ├── __init__.py
│   │   ├── context.py
│   │   └── interpolate.py
│   ├── pathspec_math.py
│   ├── progress.py
│   ├── prompt.py
│   ├── render/
│   │   ├── __init__.py
│   │   ├── convert.py
│   │   ├── converter/
│   │   │   ├── __init__.py
│   │   │   ├── image.py
│   │   │   └── vega.py
│   │   └── match.py
│   ├── repo/
│   │   ├── __init__.py
│   │   ├── add.py
│   │   ├── artifacts.py
│   │   ├── brancher.py
│   │   ├── cache.py
│   │   ├── checkout.py
│   │   ├── collect.py
│   │   ├── commit.py
│   │   ├── data.py
│   │   ├── datasets.py
│   │   ├── destroy.py
│   │   ├── diff.py
│   │   ├── du.py
│   │   ├── experiments/
│   │   │   ├── __init__.py
│   │   │   ├── apply.py
│   │   │   ├── branch.py
│   │   │   ├── brancher.py
│   │   │   ├── cache.py
│   │   │   ├── clean.py
│   │   │   ├── collect.py
│   │   │   ├── diff.py
│   │   │   ├── exceptions.py
│   │   │   ├── executor/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── base.py
│   │   │   │   └── local.py
│   │   │   ├── ls.py
│   │   │   ├── pull.py
│   │   │   ├── push.py
│   │   │   ├── queue/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── base.py
│   │   │   │   ├── celery.py
│   │   │   │   ├── exceptions.py
│   │   │   │   ├── remove.py
│   │   │   │   ├── tasks.py
│   │   │   │   ├── tempdir.py
│   │   │   │   ├── utils.py
│   │   │   │   └── workspace.py
│   │   │   ├── refs.py
│   │   │   ├── remove.py
│   │   │   ├── rename.py
│   │   │   ├── run.py
│   │   │   ├── save.py
│   │   │   ├── serialize.py
│   │   │   ├── show.py
│   │   │   ├── stash.py
│   │   │   └── utils.py
│   │   ├── fetch.py
│   │   ├── freeze.py
│   │   ├── gc.py
│   │   ├── get.py
│   │   ├── get_url.py
│   │   ├── graph.py
│   │   ├── imp.py
│   │   ├── imp_db.py
│   │   ├── imp_url.py
│   │   ├── index.py
│   │   ├── init.py
│   │   ├── install.py
│   │   ├── ls.py
│   │   ├── ls_url.py
│   │   ├── metrics/
│   │   │   ├── __init__.py
│   │   │   ├── diff.py
│   │   │   └── show.py
│   │   ├── move.py
│   │   ├── open_repo.py
│   │   ├── params/
│   │   │   ├── __init__.py
│   │   │   ├── diff.py
│   │   │   └── show.py
│   │   ├── plots/
│   │   │   ├── __init__.py
│   │   │   └── diff.py
│   │   ├── pull.py
│   │   ├── push.py
│   │   ├── remove.py
│   │   ├── reproduce.py
│   │   ├── run.py
│   │   ├── scm_context.py
│   │   ├── stage.py
│   │   ├── status.py
│   │   ├── trie.py
│   │   ├── update.py
│   │   └── worktree.py
│   ├── rwlock.py
│   ├── schema.py
│   ├── scm.py
│   ├── stage/
│   │   ├── __init__.py
│   │   ├── cache.py
│   │   ├── decorators.py
│   │   ├── exceptions.py
│   │   ├── imports.py
│   │   ├── loader.py
│   │   ├── params.py
│   │   ├── run.py
│   │   ├── serialize.py
│   │   └── utils.py
│   ├── testing/
│   │   ├── README.rst
│   │   ├── __init__.py
│   │   ├── api_tests.py
│   │   ├── benchmarks/
│   │   │   ├── __init__.py
│   │   │   ├── api/
│   │   │   │   └── __init__.py
│   │   │   ├── cli/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── commands/
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   ├── test_add.py
│   │   │   │   │   ├── test_checkout.py
│   │   │   │   │   ├── test_data_status.py
│   │   │   │   │   ├── test_diff.py
│   │   │   │   │   ├── test_exp_show.py
│   │   │   │   │   ├── test_fetch.py
│   │   │   │   │   ├── test_gc.py
│   │   │   │   │   ├── test_get.py
│   │   │   │   │   ├── test_get_url.py
│   │   │   │   │   ├── test_help.py
│   │   │   │   │   ├── test_import.py
│   │   │   │   │   ├── test_import_url.py
│   │   │   │   │   ├── test_init.py
│   │   │   │   │   ├── test_ls.py
│   │   │   │   │   ├── test_plots.py
│   │   │   │   │   ├── test_push.py
│   │   │   │   │   ├── test_status.py
│   │   │   │   │   └── test_update.py
│   │   │   │   └── stories/
│   │   │   │       ├── __init__.py
│   │   │   │       ├── test_modify_data.py
│   │   │   │       └── use_cases/
│   │   │   │           ├── __init__.py
│   │   │   │           └── test_sharing.py
│   │   │   ├── conftest.py
│   │   │   ├── fixtures.py
│   │   │   └── plugin.py
│   │   ├── cloud.py
│   │   ├── conftest.py
│   │   ├── fixtures.py
│   │   ├── matchers.py
│   │   ├── path_info.py
│   │   ├── plugin.py
│   │   ├── remote_tests.py
│   │   ├── scripts.py
│   │   ├── tmp_dir.py
│   │   └── workspace_tests.py
│   ├── types.py
│   ├── ui/
│   │   ├── __init__.py
│   │   ├── _rich_progress.py
│   │   ├── pager.py
│   │   └── table.py
│   ├── updater.py
│   ├── utils/
│   │   ├── .gitignore
│   │   ├── __init__.py
│   │   ├── cli_parse.py
│   │   ├── collections.py
│   │   ├── diff.py
│   │   ├── flatten.py
│   │   ├── fs.py
│   │   ├── humanize.py
│   │   ├── hydra.py
│   │   ├── objects.py
│   │   ├── packaging.py
│   │   ├── plots.py
│   │   ├── serialize/
│   │   │   ├── __init__.py
│   │   │   ├── _common.py
│   │   │   ├── _json.py
│   │   │   ├── _py.py
│   │   │   ├── _toml.py
│   │   │   └── _yaml.py
│   │   ├── strictyaml.py
│   │   ├── studio.py
│   │   ├── table.py
│   │   └── threadpool.py
│   └── version.py
├── pyproject.toml
└── tests/
    ├── __init__.py
    ├── conftest.py
    ├── dir_helpers.py
    ├── docker-compose.yml
    ├── func/
    │   ├── __init__.py
    │   ├── api/
    │   │   ├── __init__.py
    │   │   ├── test_artifacts.py
    │   │   ├── test_data.py
    │   │   ├── test_experiments.py
    │   │   ├── test_scm.py
    │   │   └── test_show.py
    │   ├── artifacts/
    │   │   ├── __init__.py
    │   │   └── test_artifacts.py
    │   ├── data/
    │   │   ├── __init__.py
    │   │   └── db/
    │   │       ├── __init__.py
    │   │       └── test_index.py
    │   ├── experiments/
    │   │   ├── __init__.py
    │   │   ├── conftest.py
    │   │   ├── executor/
    │   │   │   └── __init__.py
    │   │   ├── test_apply.py
    │   │   ├── test_diff.py
    │   │   ├── test_experiments.py
    │   │   ├── test_queue.py
    │   │   ├── test_remote.py
    │   │   ├── test_remove.py
    │   │   ├── test_rename.py
    │   │   ├── test_save.py
    │   │   ├── test_set_params.py
    │   │   ├── test_show.py
    │   │   ├── test_stash_exp.py
    │   │   └── test_utils.py
    │   ├── metrics/
    │   │   ├── __init__.py
    │   │   ├── test_diff.py
    │   │   └── test_show.py
    │   ├── params/
    │   │   ├── __init__.py
    │   │   ├── test_diff.py
    │   │   └── test_show.py
    │   ├── parsing/
    │   │   ├── __init__.py
    │   │   ├── test_errors.py
    │   │   ├── test_foreach.py
    │   │   ├── test_interpolated_entry.py
    │   │   ├── test_matrix.py
    │   │   ├── test_resolver.py
    │   │   └── test_top_level.py
    │   ├── plots/
    │   │   ├── __init__.py
    │   │   ├── test_collect.py
    │   │   ├── test_diff.py
    │   │   ├── test_modify.py
    │   │   └── test_show.py
    │   ├── repro/
    │   │   ├── __init__.py
    │   │   ├── test_repro.py
    │   │   ├── test_repro_allow_missing.py
    │   │   └── test_repro_pull.py
    │   ├── test_add.py
    │   ├── test_analytics.py
    │   ├── test_check_ignore.py
    │   ├── test_checkout.py
    │   ├── test_cli.py
    │   ├── test_commit.py
    │   ├── test_config.py
    │   ├── test_daemon.py
    │   ├── test_data_cloud.py
    │   ├── test_data_status.py
    │   ├── test_dataset.py
    │   ├── test_diff.py
    │   ├── test_download.py
    │   ├── test_du.py
    │   ├── test_dvcfile.py
    │   ├── test_external_repo.py
    │   ├── test_fs.py
    │   ├── test_gc.py
    │   ├── test_get.py
    │   ├── test_get_url.py
    │   ├── test_ignore.py
    │   ├── test_import.py
    │   ├── test_import_db.py
    │   ├── test_import_url.py
    │   ├── test_init.py
    │   ├── test_install.py
    │   ├── test_lock.py
    │   ├── test_lockfile.py
    │   ├── test_ls.py
    │   ├── test_ls_url.py
    │   ├── test_merge_driver.py
    │   ├── test_move.py
    │   ├── test_odb.py
    │   ├── test_remote.py
    │   ├── test_remove.py
    │   ├── test_repo.py
    │   ├── test_repo_index.py
    │   ├── test_root.py
    │   ├── test_run.py
    │   ├── test_run_cache.py
    │   ├── test_scm.py
    │   ├── test_scm_context.py
    │   ├── test_stage.py
    │   ├── test_stage_load.py
    │   ├── test_state.py
    │   ├── test_status.py
    │   ├── test_unprotect.py
    │   ├── test_update.py
    │   ├── test_used_objs.py
    │   ├── test_utils.py
    │   ├── test_version.py
    │   ├── test_virtual_directory.py
    │   └── utils/
    │       ├── __init__.py
    │       ├── test_hydra.py
    │       └── test_strict_yaml.py
    ├── integration/
    │   ├── __init__.py
    │   ├── conftest.py
    │   ├── plots/
    │   │   ├── __init__.py
    │   │   ├── conftest.py
    │   │   ├── test_plots.py
    │   │   └── test_repo_plots_api.py
    │   └── test_studio_live_experiments.py
    ├── remotes/
    │   ├── __init__.py
    │   ├── git-init/
    │   │   └── git.sh
    │   ├── git_server.py
    │   ├── user.key
    │   └── user.key.pub
    ├── remotes_env.sample
    ├── scripts.py
    ├── unit/
    │   ├── __init__.py
    │   ├── cli/
    │   │   ├── __init__.py
    │   │   └── test_main.py
    │   ├── command/
    │   │   ├── __init__.py
    │   │   ├── ls/
    │   │   │   ├── __init__.py
    │   │   │   ├── test_ls.py
    │   │   │   └── test_ls_colors.py
    │   │   ├── test_add.py
    │   │   ├── test_cache.py
    │   │   ├── test_checkout.py
    │   │   ├── test_compat_flag.py
    │   │   ├── test_completion.py
    │   │   ├── test_config.py
    │   │   ├── test_dag.py
    │   │   ├── test_data_status.py
    │   │   ├── test_data_sync.py
    │   │   ├── test_dataset.py
    │   │   ├── test_diff.py
    │   │   ├── test_du.py
    │   │   ├── test_experiments.py
    │   │   ├── test_gc.py
    │   │   ├── test_get.py
    │   │   ├── test_get_url.py
    │   │   ├── test_git_hook.py
    │   │   ├── test_help.py
    │   │   ├── test_imp.py
    │   │   ├── test_imp_url.py
    │   │   ├── test_ls_url.py
    │   │   ├── test_metrics.py
    │   │   ├── test_params.py
    │   │   ├── test_plots.py
    │   │   ├── test_queue.py
    │   │   ├── test_repro.py
    │   │   ├── test_stage.py
    │   │   ├── test_status.py
    │   │   ├── test_studio.py
    │   │   └── test_update.py
    │   ├── data/
    │   │   ├── __init__.py
    │   │   └── db/
    │   │       ├── __init__.py
    │   │       └── test_local.py
    │   ├── dependency/
    │   │   ├── __init__.py
    │   │   ├── test_dependency.py
    │   │   └── test_params.py
    │   ├── fs/
    │   │   ├── __init__.py
    │   │   ├── test_base.py
    │   │   ├── test_data.py
    │   │   ├── test_dvc.py
    │   │   ├── test_dvc_info.py
    │   │   ├── test_dvcfs.py
    │   │   ├── test_fs.py
    │   │   └── test_tree.py
    │   ├── output/
    │   │   ├── __init__.py
    │   │   ├── test_annotations.py
    │   │   ├── test_load.py
    │   │   ├── test_local.py
    │   │   └── test_output.py
    │   ├── remote/
    │   │   ├── __init__.py
    │   │   ├── test_oss.py
    │   │   ├── test_remote.py
    │   │   ├── test_webdav.py
    │   │   └── test_webhdfs.py
    │   ├── render/
    │   │   ├── __init__.py
    │   │   ├── test_convert.py
    │   │   ├── test_image_converter.py
    │   │   ├── test_match.py
    │   │   └── test_vega_converter.py
    │   ├── repo/
    │   │   ├── __init__.py
    │   │   ├── experiments/
    │   │   │   ├── __init__.py
    │   │   │   ├── conftest.py
    │   │   │   ├── queue/
    │   │   │   │   ├── __init__.py
    │   │   │   │   ├── test_celery.py
    │   │   │   │   └── test_remove.py
    │   │   │   ├── test_collect.py
    │   │   │   ├── test_executor_status.py
    │   │   │   ├── test_remove.py
    │   │   │   └── test_utils.py
    │   │   ├── plots/
    │   │   │   ├── __init__.py
    │   │   │   └── test_diff.py
    │   │   ├── test_graph.py
    │   │   ├── test_open_repo.py
    │   │   ├── test_repo.py
    │   │   ├── test_reproduce.py
    │   │   └── test_scm_context.py
    │   ├── scm/
    │   │   ├── __init__.py
    │   │   └── test_scm.py
    │   ├── stage/
    │   │   ├── __init__.py
    │   │   ├── test_cache.py
    │   │   ├── test_loader_pipeline_file.py
    │   │   ├── test_run.py
    │   │   ├── test_serialize_pipeline_file.py
    │   │   ├── test_serialize_pipeline_lock.py
    │   │   ├── test_stage.py
    │   │   └── test_utils.py
    │   ├── test_analytics.py
    │   ├── test_api.py
    │   ├── test_collect.py
    │   ├── test_compare.py
    │   ├── test_config.py
    │   ├── test_context.py
    │   ├── test_daemon.py
    │   ├── test_dirs.py
    │   ├── test_dvcfile.py
    │   ├── test_hashinfo.py
    │   ├── test_ignore.py
    │   ├── test_imports.py
    │   ├── test_info.py
    │   ├── test_interpolate.py
    │   ├── test_lockfile.py
    │   ├── test_logger.py
    │   ├── test_metrics.py
    │   ├── test_params.py
    │   ├── test_pathspec_math.py
    │   ├── test_progress.py
    │   ├── test_prompt.py
    │   ├── test_run.py
    │   ├── test_rwlock.py
    │   ├── test_scm.py
    │   ├── test_tabular_data.py
    │   ├── test_updater.py
    │   ├── ui/
    │   │   ├── __init__.py
    │   │   ├── test_console.py
    │   │   ├── test_pager.py
    │   │   └── test_table.py
    │   └── utils/
    │       ├── __init__.py
    │       ├── serialize/
    │       │   ├── __init__.py
    │       │   ├── test_python.py
    │       │   ├── test_toml.py
    │       │   └── test_yaml.py
    │       ├── test_cli_parse.py
    │       ├── test_collections.py
    │       ├── test_executors.py
    │       ├── test_fs.py
    │       ├── test_humanize.py
    │       ├── test_plots.py
    │       ├── test_studio.py
    │       └── test_utils.py
    └── utils/
        ├── __init__.py
        ├── asserts.py
        └── plots.py
Download .txt
Showing preview only (406K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (4727 symbols across 489 files)

FILE: dvc/__pyinstaller/__init__.py
  function get_hook_dirs (line 4) | def get_hook_dirs():

FILE: dvc/_debug.py
  function viztracer_profile (line 11) | def viztracer_profile(
  function yappi_profile (line 34) | def yappi_profile(
  function instrument (line 79) | def instrument(html_output=False):
  function profile (line 103) | def profile(dump_path: Optional[str] = None):
  function debug (line 121) | def debug():
  function _sigshow (line 134) | def _sigshow(_, frame: Optional["FrameType"]) -> None:
  function show_stack (line 145) | def show_stack():
  function _get_path_func (line 161) | def _get_path_func(tool: str, ext: str):
  function debugtools (line 171) | def debugtools(args: Optional["Namespace"] = None, **kwargs):
  function add_debugging_flags (line 205) | def add_debugging_flags(parser):

FILE: dvc/analytics.py
  function collect_and_send_report (line 15) | def collect_and_send_report(args=None, return_code=None):
  function is_enabled (line 47) | def is_enabled():
  function send (line 65) | def send(path):
  function _git_remote_url (line 97) | def _git_remote_url(scm: Optional["Base"]) -> Optional[str]:
  function _scm_in_use (line 117) | def _scm_in_use(scm: Optional["Base"]) -> Optional[str]:
  function _parse_git_remote_path (line 121) | def _parse_git_remote_path(remote_url: str) -> str:
  function _git_remote_path_hash (line 141) | def _git_remote_path_hash(scm: Optional["Base"]) -> Optional[str]:
  function _runtime_info (line 155) | def _runtime_info():
  function _system_info (line 193) | def _system_info():

FILE: dvc/annotations.py
  class Annotation (line 9) | class Annotation:
    method to_dict (line 20) | def to_dict(self) -> dict[str, str]:
  class Artifact (line 25) | class Artifact:
    method to_dict (line 38) | def to_dict(self) -> dict[str, str]:

FILE: dvc/api/artifacts.py
  function artifacts_show (line 7) | def artifacts_show(

FILE: dvc/api/data.py
  function _wrap_exceptions (line 12) | def _wrap_exceptions(repo, url):
  function get_url (line 28) | def get_url(
  class _OpenContextManager (line 93) | class _OpenContextManager(GCM):
    method __init__ (line 94) | def __init__(self, func, args, kwds):
    method __getattr__ (line 98) | def __getattr__(self, name):
  function open (line 102) | def open(  # noqa: A001
  function _open (line 258) | def _open(
  function read (line 305) | def read(

FILE: dvc/api/dataset.py
  class DatachainDataset (line 4) | class DatachainDataset(TypedDict):
  class DVCDataset (line 10) | class DVCDataset(TypedDict):
  class URLDataset (line 17) | class URLDataset(TypedDict):
  function get (line 23) | def get(name: str) -> Union[DatachainDataset, DVCDataset, URLDataset]:

FILE: dvc/api/experiments.py
  function exp_save (line 9) | def exp_save(
  function _postprocess (line 46) | def _postprocess(exp_rows):
  function exp_show (line 62) | def exp_show(

FILE: dvc/api/scm.py
  function all_branches (line 6) | def all_branches(repo: Optional[str] = None) -> list[str]:
  function all_commits (line 23) | def all_commits(repo: Optional[str] = None) -> list[str]:
  function all_tags (line 40) | def all_tags(repo: Optional[str] = None) -> list[str]:

FILE: dvc/api/show.py
  function _postprocess (line 11) | def _postprocess(results):
  function metrics_show (line 35) | def metrics_show(
  function params_show (line 156) | def params_show(

FILE: dvc/cachemgr.py
  function _get_odb (line 14) | def _get_odb(
  class CacheManager (line 36) | class CacheManager:
    method __init__ (line 41) | def __init__(self, repo):
    method fs_cache (line 78) | def fs_cache(self):
    method _init_odb (line 92) | def _init_odb(self, schemes):
    method __getattr__ (line 102) | def __getattr__(self, name):
    method by_scheme (line 108) | def by_scheme(self):
    method local_cache_dir (line 112) | def local_cache_dir(self) -> str:
    method default_local_cache_dir (line 120) | def default_local_cache_dir(self) -> Optional[str]:
  function migrate_2_to_3 (line 127) | def migrate_2_to_3(repo: "Repo", dry: bool = False):

FILE: dvc/cli/__init__.py
  class DvcParserError (line 18) | class DvcParserError(Exception):
    method __init__ (line 21) | def __init__(self):
  function parse_args (line 25) | def parse_args(argv=None):
  function _log_unknown_exceptions (line 42) | def _log_unknown_exceptions() -> None:
  function _log_exceptions (line 57) | def _log_exceptions(exc: Exception) -> Optional[int]:
  function main (line 151) | def main(argv=None):  # noqa: C901, PLR0912, PLR0915

FILE: dvc/cli/command.py
  class CmdBase (line 13) | class CmdBase(ABC):
    method __init__ (line 16) | def __init__(self, args: Any):
    method do_run (line 28) | def do_run(self):
    method run (line 33) | def run(self):
  class CmdBaseNoRepo (line 37) | class CmdBaseNoRepo(CmdBase):
    method __init__ (line 38) | def __init__(self, args):
    method do_run (line 43) | def do_run(self):

FILE: dvc/cli/completion.py
  function get_preamble (line 95) | def get_preamble() -> dict[str, str]:

FILE: dvc/cli/formatter.py
  class HelpFormatter (line 4) | class HelpFormatter(argparse.HelpFormatter):
    method _get_default_metavar_for_optional (line 5) | def _get_default_metavar_for_optional(self, action: argparse.Action) -...
  class RawTextHelpFormatter (line 9) | class RawTextHelpFormatter(HelpFormatter, argparse.RawTextHelpFormatter):
  class RawDescriptionHelpFormatter (line 13) | class RawDescriptionHelpFormatter(HelpFormatter, argparse.RawDescription...

FILE: dvc/cli/parser.py
  function _find_parser (line 106) | def _find_parser(parser, cmd_cls):
  class DvcParser (line 121) | class DvcParser(argparse.ArgumentParser):
    method error (line 124) | def error(self, message, cmd_cls=None):
    method parse_args (line 128) | def parse_args(self, args=None, namespace=None):
  function get_parent_parser (line 139) | def get_parent_parser():
  function get_main_parser (line 162) | def get_main_parser():

FILE: dvc/cli/utils.py
  class DictAction (line 4) | class DictAction(argparse.Action):
    method __init__ (line 5) | def __init__(self, *args, **kwargs):
    method __call__ (line 9) | def __call__(self, parser, args, values, option_string=None):  # noqa:...
  function append_doc_link (line 29) | def append_doc_link(help_message, path):
  function hide_subparsers_from_help (line 38) | def hide_subparsers_from_help(subparsers):

FILE: dvc/commands/add.py
  class CmdAdd (line 9) | class CmdAdd(CmdBase):
    method validate_args (line 10) | def validate_args(self) -> None:
    method run (line 35) | def run(self):
  function add_parser (line 65) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/artifacts.py
  class CmdArtifactsGet (line 10) | class CmdArtifactsGet(CmdBaseNoRepo):
    method run (line 11) | def run(self):
    method _show_url (line 42) | def _show_url(self):
  function add_parser (line 65) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/cache.py
  class CmdCacheDir (line 11) | class CmdCacheDir(CmdConfig):
    method run (line 12) | def run(self):
  class CmdCacheMigrate (line 40) | class CmdCacheMigrate(CmdBase):
    method run (line 41) | def run(self):
  function add_parser (line 51) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/check_ignore.py
  class CmdCheckIgnore (line 12) | class CmdCheckIgnore(CmdBase):
    method __init__ (line 13) | def __init__(self, args):
    method _show_results (line 17) | def _show_results(self, result: "CheckIgnoreResult"):
    method _check_one_file (line 35) | def _check_one_file(self, target):
    method _interactive_mode (line 39) | def _interactive_mode(self):
    method _normal_mode (line 52) | def _normal_mode(self):
    method _check_args (line 59) | def _check_args(self):
    method run (line 77) | def run(self):
  function add_parser (line 84) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/checkout.py
  function log_changes (line 8) | def log_changes(stats):
  class CmdCheckout (line 25) | class CmdCheckout(CmdBase):
    method run (line 26) | def run(self):
  function add_parser (line 62) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/commit.py
  class CmdCommit (line 9) | class CmdCommit(CmdBase):
    method run (line 10) | def run(self):
  function add_parser (line 31) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/completion.py
  class CmdCompletion (line 14) | class CmdCompletion(CmdBaseNoRepo):
    method run (line 15) | def run(self):
  function add_parser (line 25) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/config.py
  function _name_type (line 17) | def _name_type(value):
  class CmdConfig (line 34) | class CmdConfig(CmdBaseNoRepo):
    method __init__ (line 35) | def __init__(self, args):
    method run (line 42) | def run(self):
    method _list (line 63) | def _list(self):
    method _get (line 82) | def _get(self, remote_or_db, section, opt):
    method _set (line 106) | def _set(self, remote_or_db, section, opt):
    method _check (line 125) | def _check(self, conf, remote_or_db, section, opt=None):
    method _get_appropriate_levels (line 135) | def _get_appropriate_levels(self, levels):
    method _validate_level_for_non_repo_operation (line 143) | def _validate_level_for_non_repo_operation(self, level):
    method _format_config (line 150) | def _format_config(config, prefix=""):
    method _config_file_prefix (line 157) | def _config_file_prefix(show_origin, config, level):
  function add_parser (line 205) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/daemon.py
  class CmdDaemonBase (line 8) | class CmdDaemonBase(CmdBaseNoRepo):
  class CmdDaemonUpdater (line 12) | class CmdDaemonUpdater(CmdDaemonBase):
    method run (line 13) | def run(self):
  class CmdDaemonAnalytics (line 33) | class CmdDaemonAnalytics(CmdDaemonBase):
    method run (line 34) | def run(self):
  function add_parser (line 43) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/dag.py
  function _show_ascii (line 12) | def _show_ascii(graph: "DiGraph"):
  function _quote_label (line 25) | def _quote_label(node):
  function _show_dot (line 34) | def _show_dot(graph: "DiGraph"):
  function _show_mermaid (line 47) | def _show_mermaid(graph, markdown: bool = False):
  function _collect_targets (line 73) | def _collect_targets(repo, target, outs):
  function _transform (line 95) | def _transform(index, outs):
  function _filter (line 107) | def _filter(graph, targets, full):
  function _is_foreach_matrix_stage (line 130) | def _is_foreach_matrix_stage(node, join_string):
  function _collapse_foreach_matrix_get_nodes (line 136) | def _collapse_foreach_matrix_get_nodes(graph):
  function _collapse_foreach_matrix_get_edges (line 149) | def _collapse_foreach_matrix_get_edges(graph):
  function _collapse_foreach_matrix (line 170) | def _collapse_foreach_matrix(graph):
  function _build (line 181) | def _build(repo, target=None, full=False, outs=False, collapse_foreach_m...
  class CmdDAG (line 190) | class CmdDAG(CmdBase):
    method run (line 191) | def run(self):
  function add_parser (line 217) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/data.py
  class CmdDataStatus (line 20) | class CmdDataStatus(CmdBase):
    method _process_status (line 56) | def _process_status(status: "DataStatus"):
    method _show_status (line 66) | def _show_status(cls, status: "DataStatus") -> int:  # noqa: C901
    method run (line 113) | def run(self) -> int:
  function add_parser (line 135) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/data_sync.py
  class CmdDataBase (line 11) | class CmdDataBase(CmdBase):
    method log_summary (line 12) | def log_summary(self, stats):
  class CmdDataPull (line 24) | class CmdDataPull(CmdDataBase):
    method log_summary (line 25) | def log_summary(self, result):
    method run (line 32) | def run(self):
  class CmdDataPush (line 60) | class CmdDataPush(CmdDataBase):
    method run (line 61) | def run(self):
  class CmdDataFetch (line 84) | class CmdDataFetch(CmdDataBase):
    method run (line 85) | def run(self):
  function shared_parent_parser (line 109) | def shared_parent_parser():
  function add_parser (line 138) | def add_parser(subparsers, _parent_parser):

FILE: dvc/commands/dataset.py
  function diff_files (line 17) | def diff_files(old: list["FileInfo"], new: list["FileInfo"]) -> dict[str...
  class CmdDatasetAdd (line 28) | class CmdDatasetAdd(CmdBase):
    method display (line 30) | def display(cls, name: str, dataset: "Dataset", action: str = "Adding"):
    method run (line 51) | def run(self):
  class CmdDatasetUpdate (line 76) | class CmdDatasetUpdate(CmdBase):
    method display (line 77) | def display(self, name: str, dataset: "Dataset", new: "Dataset"):
    method run (line 117) | def run(self):
  function add_parser (line 148) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/destroy.py
  class CmdDestroy (line 9) | class CmdDestroy(CmdBase):
    method run (line 10) | def run(self):
  function add_parser (line 35) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/diff.py
  function _digest (line 12) | def _digest(checksum):
  function _show_markdown (line 18) | def _show_markdown(diff, show_hash=False, hide_missing=False):
  class CmdDiff (line 42) | class CmdDiff(CmdBase):
    method _show_diff (line 44) | def _show_diff(diff, hide_missing=False):
    method run (line 118) | def run(self):
  function add_parser (line 155) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/du.py
  class CmdDU (line 11) | class CmdDU(CmdBaseNoRepo):
    method run (line 12) | def run(self):
  function add_parser (line 29) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/experiments/__init__.py
  function add_parser (line 38) | def add_parser(subparsers, parent_parser):
  function add_keep_selection_flag (line 61) | def add_keep_selection_flag(experiments_subcmd_parser):
  function add_rev_selection_flags (line 70) | def add_rev_selection_flags(

FILE: dvc/commands/experiments/apply.py
  class CmdExperimentsApply (line 10) | class CmdExperimentsApply(CmdBase):
    method run (line 11) | def run(self):
  function add_parser (line 24) | def add_parser(experiments_subparsers, parent_parser):

FILE: dvc/commands/experiments/branch.py
  class CmdExperimentsBranch (line 9) | class CmdExperimentsBranch(CmdBase):
    method run (line 10) | def run(self):
  function add_parser (line 16) | def add_parser(experiments_subparsers, parent_parser):

FILE: dvc/commands/experiments/clean.py
  class CmdExperimentsClean (line 9) | class CmdExperimentsClean(CmdBase):
    method run (line 10) | def run(self):
  function add_parser (line 15) | def add_parser(experiments_subparsers, parent_parser):

FILE: dvc/commands/experiments/diff.py
  class CmdExperimentsDiff (line 12) | class CmdExperimentsDiff(CmdBase):
    method run (line 13) | def run(self):
  function add_parser (line 52) | def add_parser(experiments_subparsers, parent_parser):

FILE: dvc/commands/experiments/exec_run.py
  class CmdExecutorRun (line 7) | class CmdExecutorRun(CmdBaseNoRepo):
    method run (line 10) | def run(self):
  function add_parser (line 27) | def add_parser(experiments_subparsers, parent_parser):

FILE: dvc/commands/experiments/ls.py
  class CmdExperimentsList (line 11) | class CmdExperimentsList(CmdBase):
    method run (line 12) | def run(self):
  function add_parser (line 55) | def add_parser(experiments_subparsers, parent_parser):

FILE: dvc/commands/experiments/pull.py
  class CmdExperimentsPull (line 12) | class CmdExperimentsPull(CmdBase):
    method run (line 13) | def run(self):
  function add_parser (line 44) | def add_parser(experiments_subparsers, parent_parser):

FILE: dvc/commands/experiments/push.py
  class CmdExperimentsPush (line 13) | class CmdExperimentsPush(CmdBase):
    method log_result (line 15) | def log_result(result: dict[str, Any], remote: str):
    method run (line 51) | def run(self):
  function add_parser (line 84) | def add_parser(experiments_subparsers, parent_parser):

FILE: dvc/commands/experiments/queue_worker.py
  class CmdQueueWorker (line 7) | class CmdQueueWorker(CmdBase):
    method run (line 10) | def run(self):
  function add_parser (line 17) | def add_parser(experiments_subparsers, parent_parser):

FILE: dvc/commands/experiments/remove.py
  class CmdExperimentsRemove (line 11) | class CmdExperimentsRemove(CmdBase):
    method check_arguments (line 12) | def check_arguments(self):
    method run (line 25) | def run(self):
  function add_parser (line 47) | def add_parser(experiments_subparsers, parent_parser):

FILE: dvc/commands/experiments/rename.py
  class CmdExperimentsRename (line 11) | class CmdExperimentsRename(CmdBase):
    method run (line 12) | def run(self):
  function add_parser (line 33) | def add_parser(experiments_subparsers, parent_parser):

FILE: dvc/commands/experiments/run.py
  class CmdExperimentsRun (line 12) | class CmdExperimentsRun(CmdRepro):
    method run (line 13) | def run(self):
  function add_parser (line 30) | def add_parser(experiments_subparsers, parent_parser):
  function _add_run_common (line 43) | def _add_run_common(parser):

FILE: dvc/commands/experiments/save.py
  class CmdExperimentsSave (line 13) | class CmdExperimentsSave(CmdBase):
    method run (line 14) | def run(self):
  function add_parser (line 37) | def add_parser(experiments_subparsers, parent_parser):

FILE: dvc/commands/experiments/show.py
  function prepare_exp_id (line 36) | def prepare_exp_id(kwargs) -> "RichText":
  function baseline_styler (line 55) | def baseline_styler(typ):
  function show_experiments (line 59) | def show_experiments(
  function _normalize_headers (line 128) | def _normalize_headers(names, count):
  function _format_json (line 136) | def _format_json(item):
  class CmdExperimentsShow (line 142) | class CmdExperimentsShow(CmdBase):
    method run (line 143) | def run(self):
  function add_parser (line 197) | def add_parser(experiments_subparsers, parent_parser):

FILE: dvc/commands/freeze.py
  class CmdFreezeBase (line 10) | class CmdFreezeBase(CmdBase):
    method _run (line 11) | def _run(self, func, name):
  class CmdFreeze (line 22) | class CmdFreeze(CmdFreezeBase):
    method run (line 23) | def run(self):
  class CmdUnfreeze (line 27) | class CmdUnfreeze(CmdFreezeBase):
    method run (line 28) | def run(self):
  function add_parser (line 32) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/gc.py
  class CmdGC (line 12) | class CmdGC(CmdBase):
    method run (line 13) | def run(self):  # noqa: C901, PLR0912
  function add_parser (line 101) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/get.py
  class CmdGet (line 10) | class CmdGet(CmdBaseNoRepo):
    method _show_url (line 11) | def _show_url(self):
    method run (line 26) | def run(self):
    method _get_file_from_repo (line 32) | def _get_file_from_repo(self):
  function add_parser (line 59) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/get_url.py
  class CmdGetUrl (line 10) | class CmdGetUrl(CmdBaseNoRepo):
    method run (line 11) | def run(self):
  function add_parser (line 30) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/git_hook.py
  class CmdHookBase (line 11) | class CmdHookBase(CmdBaseNoRepo):
    method run (line 12) | def run(self):
    method _run (line 23) | def _run(self):
  class CmdPreCommit (line 27) | class CmdPreCommit(CmdHookBase):
    method _run (line 28) | def _run(self):
  class CmdPostCheckout (line 34) | class CmdPostCheckout(CmdHookBase):
    method _run (line 35) | def _run(self):
  class CmdPrePush (line 58) | class CmdPrePush(CmdHookBase):
    method _run (line 59) | def _run(self):
  class CmdMergeDriver (line 65) | class CmdMergeDriver(CmdHookBase):
    method _run (line 66) | def _run(self):
  function add_parser (line 84) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/imp.py
  class CmdImport (line 10) | class CmdImport(CmdBase):
    method run (line 11) | def run(self):
  function add_parser (line 41) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/imp_db.py
  class CmdTestDb (line 10) | class CmdTestDb(CmdBaseNoRepo):
    method run (line 11) | def run(self):
  class CmdImportDb (line 34) | class CmdImportDb(CmdBase):
    method run (line 35) | def run(self):
  function add_parser (line 47) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/imp_url.py
  class CmdImportUrl (line 10) | class CmdImportUrl(CmdBase):
    method run (line 11) | def run(self):
  function add_parser (line 37) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/init.py
  function _welcome_message (line 14) | def _welcome_message():
  class CmdInit (line 38) | class CmdInit(CmdBaseNoRepo):
    method run (line 39) | def run(self):
  function add_parser (line 58) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/install.py
  class CmdInstall (line 10) | class CmdInstall(CmdBase):
    method run (line 11) | def run(self):
  function add_parser (line 20) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/ls/__init__.py
  function _get_formatter (line 14) | def _get_formatter(with_color: bool = False) -> Callable[[dict], str]:
  function _format_entry (line 25) | def _format_entry(entry, name, with_size=True, with_hash=False):
  function show_entries (line 43) | def show_entries(entries, with_color=False, with_size=False, with_hash=F...
  class TreePart (line 65) | class TreePart:
  function _build_tree_structure (line 72) | def _build_tree_structure(
  function show_tree (line 111) | def show_tree(entries, with_color=False, with_size=False, with_hash=False):
  class CmdList (line 131) | class CmdList(CmdBaseNoRepo):
    method _show_tree (line 132) | def _show_tree(self):
    method _show_list (line 153) | def _show_list(self):
    method run (line 178) | def run(self):
  function add_parser (line 194) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/ls/ls_colors.py
  class LsColors (line 4) | class LsColors:
    method __init__ (line 7) | def __init__(self, lscolors=None):
    method _load (line 12) | def _load(self, lscolors):
    method format (line 23) | def format(self, entry):
    method _format (line 40) | def _format(self, text, code=None, ext=None):

FILE: dvc/commands/ls_url.py
  class CmdListUrl (line 11) | class CmdListUrl(CmdBaseNoRepo):
    method _show_tree (line 12) | def _show_tree(self, config):
    method _show_list (line 23) | def _show_list(self, config):
    method run (line 37) | def run(self):
  function add_parser (line 46) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/metrics.py
  class CmdMetricsBase (line 14) | class CmdMetricsBase(CmdBase):
  class CmdMetricsShow (line 18) | class CmdMetricsShow(CmdMetricsBase):
    method run (line 19) | def run(self):
  class CmdMetricsDiff (line 58) | class CmdMetricsDiff(CmdMetricsBase):
    method run (line 59) | def run(self):
  function add_parser (line 100) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/move.py
  class CmdMove (line 10) | class CmdMove(CmdBase):
    method run (line 11) | def run(self):
  function add_parser (line 21) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/params.py
  class CmdParamsDiff (line 10) | class CmdParamsDiff(CmdBase):
    method run (line 13) | def run(self):
  function add_parser (line 54) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/plots.py
  function _show_json (line 22) | def _show_json(
  class CmdPlots (line 53) | class CmdPlots(CmdBase):
    method _func (line 54) | def _func(self, *args, **kwargs):
    method _props (line 57) | def _props(self):
    method _html_template_path (line 64) | def _html_template_path(self):
    method run (line 75) | def run(self) -> int:  # noqa: C901, PLR0911
  class CmdPlotsShow (line 156) | class CmdPlotsShow(CmdPlots):
    method _func (line 159) | def _func(self, *args, **kwargs):
  class CmdPlotsDiff (line 163) | class CmdPlotsDiff(CmdPlots):
    method _func (line 166) | def _func(self, *args, **kwargs):
  class CmdPlotsModify (line 175) | class CmdPlotsModify(CmdPlots):
    method run (line 176) | def run(self):
  class CmdPlotsTemplates (line 183) | class CmdPlotsTemplates(CmdBase):
    method run (line 184) | def run(self):
  function add_parser (line 206) | def add_parser(subparsers, parent_parser):
  function _add_props_arguments (line 324) | def _add_props_arguments(parser):
  function _add_output_argument (line 357) | def _add_output_argument(parser, typ="plots"):
  function _add_ui_arguments (line 367) | def _add_ui_arguments(parser):

FILE: dvc/commands/queue/__init__.py
  function add_parser (line 8) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/queue/kill.py
  class CmdQueueKill (line 9) | class CmdQueueKill(CmdBase):
    method run (line 12) | def run(self):
  function add_parser (line 20) | def add_parser(queue_subparsers, parent_parser):

FILE: dvc/commands/queue/logs.py
  class CmdQueueLogs (line 9) | class CmdQueueLogs(CmdBase):
    method run (line 12) | def run(self):
  function add_parser (line 22) | def add_parser(queue_subparsers, parent_parser):

FILE: dvc/commands/queue/remove.py
  class CmdQueueRemove (line 11) | class CmdQueueRemove(CmdBase):
    method check_arguments (line 14) | def check_arguments(self):
    method run (line 29) | def run(self):
  function add_parser (line 57) | def add_parser(queue_subparsers, parent_parser):

FILE: dvc/commands/queue/start.py
  class CmdQueueStart (line 10) | class CmdQueueStart(CmdBase):
    method run (line 13) | def run(self):
  function add_parser (line 22) | def add_parser(queue_subparsers, parent_parser):

FILE: dvc/commands/queue/status.py
  class CmdQueueStatus (line 11) | class CmdQueueStatus(CmdBase):
    method run (line 14) | def run(self) -> int:
  function add_parser (line 47) | def add_parser(queue_subparsers, parent_parser):

FILE: dvc/commands/queue/stop.py
  class CmdQueueStop (line 10) | class CmdQueueStop(CmdBase):
    method run (line 13) | def run(self):
  function add_parser (line 27) | def add_parser(queue_subparsers, parent_parser):

FILE: dvc/commands/remote.py
  class CmdRemote (line 8) | class CmdRemote(CmdConfig):
    method __init__ (line 9) | def __init__(self, args):
    method _check_exists (line 15) | def _check_exists(self, conf):
  class CmdRemoteAdd (line 22) | class CmdRemoteAdd(CmdRemote):
    method run (line 23) | def run(self):
  class CmdRemoteRemove (line 43) | class CmdRemoteRemove(CmdRemote):
    method run (line 44) | def run(self):
  class CmdRemoteModify (line 62) | class CmdRemoteModify(CmdRemote):
    method run (line 63) | def run(self):
  class CmdRemoteDefault (line 81) | class CmdRemoteDefault(CmdRemote):
    method run (line 82) | def run(self):
  class CmdRemoteList (line 110) | class CmdRemoteList(CmdRemote):
    method run (line 111) | def run(self):
  class CmdRemoteRename (line 126) | class CmdRemoteRename(CmdRemote):
    method _rename_default (line 127) | def _rename_default(self, conf):
    method run (line 131) | def run(self):
  function add_parser (line 156) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/remove.py
  class CmdRemove (line 10) | class CmdRemove(CmdBase):
    method run (line 11) | def run(self):
  function add_parser (line 21) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/repro.py
  class CmdRepro (line 7) | class CmdRepro(CmdBase):
    method run (line 8) | def run(self):
    method _common_kwargs (line 20) | def _common_kwargs(self):
    method _repro_kwargs (line 38) | def _repro_kwargs(self):
  function add_arguments (line 46) | def add_arguments(repro_parser):
  function add_parser (line 158) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/root.py
  class CmdRoot (line 10) | class CmdRoot(CmdBaseNoRepo):
    method run (line 11) | def run(self):
  function add_parser (line 19) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/stage.py
  function generate_description (line 24) | def generate_description(stage: "Stage") -> str:
  function prepare_description (line 50) | def prepare_description(stage: "Stage", max_length: int = MAX_TEXT_LENGT...
  function prepare_stages_data (line 55) | def prepare_stages_data(
  class CmdStageList (line 68) | class CmdStageList(CmdBase):
    method _get_stages (line 69) | def _get_stages(self) -> Iterable["Stage"]:
    method run (line 82) | def run(self):
  function parse_cmd (line 100) | def parse_cmd(commands: list[str]) -> str:
  function _disable_logging (line 124) | def _disable_logging(highest_level=logging.CRITICAL):
  class CmdStageAdd (line 135) | class CmdStageAdd(CmdBase):
    method run (line 136) | def run(self):
  function _add_common_args (line 158) | def _add_common_args(parser):
  function add_parser (line 280) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/status.py
  class CmdDataStatus (line 10) | class CmdDataStatus(CmdDataBase):
    method _normalize (line 20) | def _normalize(self, s):
    method _show (line 25) | def _show(self, status, indent=0):
    method run (line 46) | def run(self):

FILE: dvc/commands/studio.py
  class CmdStudioLogin (line 14) | class CmdStudioLogin(CmdConfig):
    method run (line 15) | def run(self):
    method save_config (line 66) | def save_config(self, hostname, token):
  class CmdStudioLogout (line 74) | class CmdStudioLogout(CmdConfig):
    method run (line 75) | def run(self):
  class CmdStudioToken (line 91) | class CmdStudioToken(CmdConfig):
    method run (line 92) | def run(self):
  function add_parser (line 105) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/unprotect.py
  class CmdUnprotect (line 10) | class CmdUnprotect(CmdBase):
    method run (line 11) | def run(self):
  function add_parser (line 22) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/update.py
  class CmdUpdate (line 10) | class CmdUpdate(CmdBase):
    method run (line 11) | def run(self):
  function add_parser (line 29) | def add_parser(subparsers, parent_parser):

FILE: dvc/commands/version.py
  class CmdVersion (line 10) | class CmdVersion(CmdBaseNoRepo):
    method run (line 11) | def run(self):
  function add_parser (line 22) | def add_parser(subparsers, parent_parser):

FILE: dvc/compare.py
  class Column (line 20) | class Column(list["CellT"]):
  function with_value (line 24) | def with_value(value, default):
  class TabularData (line 28) | class TabularData(MutableSequence[Sequence["CellT"]]):
    method __init__ (line 29) | def __init__(self, columns: Sequence[str], fill_value: Optional[str] =...
    method columns (line 36) | def columns(self) -> list[Column]:
    method is_protected (line 39) | def is_protected(self, col_name) -> bool:
    method protect (line 42) | def protect(self, *col_names: str):
    method unprotect (line 45) | def unprotect(self, *col_names: str):
    method column (line 48) | def column(self, name: str) -> Column:
    method items (line 51) | def items(self) -> ItemsView[str, Column]:
    method keys (line 55) | def keys(self) -> list[str]:
    method _iter_col_row (line 58) | def _iter_col_row(self, row: Sequence["CellT"]) -> Iterator[tuple["Cel...
    method append (line 64) | def append(self, value: Sequence["CellT"]) -> None:
    method extend (line 68) | def extend(self, values: Iterable[Sequence["CellT"]]) -> None:
    method insert (line 72) | def insert(self, index: int, value: Sequence["CellT"]) -> None:
    method __iter__ (line 76) | def __iter__(self) -> Iterator[list["CellT"]]:
    method __getattr__ (line 79) | def __getattr__(self, item: str) -> Column:
    method __getitem__ (line 83) | def __getitem__(self, item: Union[int, slice]):
    method __setitem__ (line 91) | def __setitem__(self, item: int, value: Sequence["CellT"]) -> None: ...
    method __setitem__ (line 94) | def __setitem__(self, item: slice, value: Iterable[Sequence["CellT"]])...
    method __setitem__ (line 96) | def __setitem__(self, item, value) -> None:
    method __delitem__ (line 110) | def __delitem__(self, item: Union[int, slice]) -> None:
    method __len__ (line 114) | def __len__(self) -> int:
    method shape (line 120) | def shape(self) -> tuple[int, int]:
    method drop (line 123) | def drop(self, *col_names: str) -> None:
    method rename (line 129) | def rename(self, from_col_name: str, to_col_name: str) -> None:
    method project (line 133) | def project(self, *col_names: str) -> None:
    method is_empty (line 137) | def is_empty(self, col_name: str) -> bool:
    method to_csv (line 141) | def to_csv(self) -> str:
    method add_column (line 153) | def add_column(self, name: str) -> None:
    method row_from_dict (line 157) | def row_from_dict(self, d: Mapping[str, "CellT"]) -> None:
    method render (line 168) | def render(self, **kwargs: Any):
    method as_dict (line 176) | def as_dict(
    method dropna (line 182) | def dropna(  # noqa: C901, PLR0912
    method drop_duplicates (line 226) | def drop_duplicates(  # noqa: C901
  function _normalize_float (line 277) | def _normalize_float(val: float, precision: int):
  function _format_field (line 281) | def _format_field(
  function diff_table (line 298) | def diff_table(
  function show_diff (line 344) | def show_diff(  # noqa: PLR0913
  function metrics_table (line 372) | def metrics_table(
  function show_metrics (line 411) | def show_metrics(

FILE: dvc/config.py
  class ConfigError (line 25) | class ConfigError(DvcException):
    method __init__ (line 28) | def __init__(self, msg):
  class RemoteConfigError (line 32) | class RemoteConfigError(ConfigError):
  class NoRemoteError (line 36) | class NoRemoteError(RemoteConfigError):
  class RemoteNotFoundError (line 40) | class RemoteNotFoundError(RemoteConfigError):
  function get_compiled_schema (line 45) | def get_compiled_schema():
  function to_bool (line 53) | def to_bool(value):
  class Config (line 59) | class Config(dict):
    method __init__ (line 81) | def __init__(
    method from_cwd (line 110) | def from_cwd(cls, fs: Optional["FileSystem"] = None, **kwargs):
    method get_dir (line 121) | def get_dir(cls, level):
    method files (line 133) | def files(self) -> dict[str, str]:
    method init (line 148) | def init(dvc_dir):
    method merge (line 161) | def merge(self, config):
    method load (line 164) | def load(
    method _get_fs (line 198) | def _get_fs(self, level):
    method load_file (line 204) | def load_file(path, fs=None) -> dict:
    method _load_config (line 221) | def _load_config(self, level):
    method _save_config (line 230) | def _save_config(self, level, conf_dict):
    method load_one (line 245) | def load_one(self, level):
    method _resolve (line 256) | def _resolve(conf_dir, path):
    method _load_paths (line 282) | def _load_paths(cls, conf, filename):
    method _to_relpath (line 289) | def _to_relpath(conf_dir, path):
    method _save_paths (line 314) | def _save_paths(conf, filename):
    method _map_dirs (line 321) | def _map_dirs(conf, func):
    method load_config_to_level (line 347) | def load_config_to_level(self, level=None):
    method read (line 356) | def read(self, level=None):
    method edit (line 363) | def edit(self, level=None, validate=True):
    method validate (line 384) | def validate(data):
  function _parse_named (line 393) | def _parse_named(conf):
  function _pack_named (line 407) | def _pack_named(conf):
  function merge (line 420) | def merge(into, update):
  function _lower_keys (line 429) | def _lower_keys(data):

FILE: dvc/config_schema.py
  function supported_cache_type (line 35) | def supported_cache_type(types):
  function Choices (line 53) | def Choices(*choices):  # noqa: N802
  function ByUrl (line 63) | def ByUrl(mapping):  # noqa: N802
  class ExpPath (line 84) | class ExpPath(str):
    method __new__ (line 89) | def __new__(cls, string, def_path):
  class RelPath (line 95) | class RelPath(str):
  class FeatureSchema (line 99) | class FeatureSchema(Schema):
    method __init__ (line 100) | def __init__(self, schema, required=False):
    method _log_deprecated (line 105) | def _log_deprecated(keys):
    method __call__ (line 112) | def __call__(self, data):
  function config_vars_for_completion (line 390) | def config_vars_for_completion(d: dict = SCHEMA, path: str = "") -> "Ite...

FILE: dvc/daemon.py
  function _suppress_resource_warning (line 24) | def _suppress_resource_warning(popen: subprocess.Popen) -> None:
  function _win_detached_subprocess (line 31) | def _win_detached_subprocess(args: Sequence[str], **kwargs) -> int:
  function _get_dvc_args (line 59) | def _get_dvc_args() -> list[str]:
  function _fork_process (line 68) | def _fork_process() -> int:
  function _posix_detached_subprocess (line 100) | def _posix_detached_subprocess(args: Sequence[str], **kwargs) -> int:
  function _detached_subprocess (line 119) | def _detached_subprocess(args: Sequence[str], **kwargs) -> int:
  function _map_log_level_to_flag (line 130) | def _map_log_level_to_flag() -> Optional[str]:
  function daemon (line 135) | def daemon(args: list[str]) -> None:
  function _spawn (line 146) | def _spawn(
  function daemonize (line 167) | def daemonize(args: list[str], executable: Union[str, list[str], None] =...

FILE: dvc/dagascii.py
  class VertexViewer (line 15) | class VertexViewer:
    method __init__ (line 25) | def __init__(self, name):
    method h (line 30) | def h(self):
    method w (line 35) | def w(self):
  class AsciiCanvas (line 40) | class AsciiCanvas:
    method __init__ (line 50) | def __init__(self, cols, lines):
    method draw (line 59) | def draw(self):
    method point (line 64) | def point(self, x, y, char):
    method line (line 83) | def line(self, x0, y0, x1, y1, char):  # noqa: C901, PLR0912
    method text (line 124) | def text(self, x, y, text):
    method box (line 135) | def box(self, x0, y0, width, height):
  function _build_sugiyama_layout (line 164) | def _build_sugiyama_layout(vertices, edges):
  function draw (line 205) | def draw(vertices, edges):

FILE: dvc/data_cloud.py
  class Remote (line 21) | class Remote:
    method __init__ (line 22) | def __init__(self, name: str, path: str, fs: "FileSystem", *, index=No...
    method odb (line 32) | def odb(self) -> "HashFileDB":
    method legacy_odb (line 45) | def legacy_odb(self) -> "HashFileDB":
  function _split_legacy_hash_infos (line 52) | def _split_legacy_hash_infos(
  class DataCloud (line 67) | class DataCloud:
    method __init__ (line 78) | def __init__(self, repo):
    method get_remote (line 81) | def get_remote(
    method get_remote_odb (line 126) | def get_remote_odb(
    method _log_missing (line 143) | def _log_missing(self, status: "CompareStatusResult"):
    method transfer (line 157) | def transfer(
    method push (line 168) | def push(
    method _push (line 200) | def _push(
    method pull (line 228) | def pull(
    method _pull (line 261) | def _pull(
    method status (line 290) | def status(
    method _status (line 330) | def _status(
    method get_url_for (line 352) | def get_url_for(self, remote, checksum):

FILE: dvc/database.py
  function noop (line 26) | def noop(_):
  function make_url (line 30) | def make_url(url: Union["URL", str], **kwargs: Any) -> "URL":
  function url_from_config (line 34) | def url_from_config(config: Union[str, "URL", dict[str, str]]) -> "URL":
  function atomic_file (line 41) | def atomic_file(file: StrOrBytesPath, mode: str = "w+b"):
  class Serializer (line 49) | class Serializer:
    method to_csv (line 54) | def to_csv(self, file: StrOrBytesPath, progress=noop):
    method to_json (line 63) | def to_json(self, file: StrOrBytesPath, progress=noop):  # noqa: ARG002
    method export (line 70) | def export(self, file: StrOrBytesPath, format: str = "csv", progress=n...
  class Client (line 77) | class Client:
    method test_connection (line 80) | def test_connection(self, onerror: Optional[Callable[[], Any]] = None)...
    method export (line 94) | def export(
  function handle_error (line 111) | def handle_error(url: "URL"):
  function client (line 121) | def client(

FILE: dvc/dependency/__init__.py
  function _get (line 26) | def _get(stage, p, info, **kwargs):
  function loadd_from (line 44) | def loadd_from(stage, d_list) -> list[Dependency]:
  function loads_from (line 57) | def loads_from(stage, s_list, erepo=None, fs_config=None, db=None):
  function _merge_params (line 65) | def _merge_params(s_list) -> dict[str, list[str]]:
  function loads_params (line 99) | def loads_params(stage, s_list):

FILE: dvc/dependency/base.py
  class DependencyDoesNotExistError (line 6) | class DependencyDoesNotExistError(DvcException):
    method __init__ (line 7) | def __init__(self, path):
  class DependencyIsNotFileOrDirError (line 12) | class DependencyIsNotFileOrDirError(DvcException):
    method __init__ (line 13) | def __init__(self, path):
  class DependencyIsStageFileError (line 18) | class DependencyIsStageFileError(DvcException):
    method __init__ (line 19) | def __init__(self, path):
  class Dependency (line 23) | class Dependency(Output):
    method workspace_status (line 30) | def workspace_status(self) -> dict[str, str]:
    method update (line 41) | def update(self, rev=None):
    method download (line 47) | def download(self, to, jobs=None):
    method save (line 50) | def save(self):
    method dumpd (line 55) | def dumpd(self, **kwargs):

FILE: dvc/dependency/dataset.py
  class DatasetDependency (line 15) | class DatasetDependency(AbstractDependency):
    method __init__ (line 19) | def __init__(self, stage: "Stage", p, info, *args, **kwargs):
    method __repr__ (line 27) | def __repr__(self):
    method __str__ (line 30) | def __str__(self):
    method is_dataset (line 34) | def is_dataset(cls, p: str):
    method protocol (line 38) | def protocol(self):
    method dumpd (line 41) | def dumpd(self, **kwargs):
    method fill_values (line 44) | def fill_values(self, values=None):
    method workspace_status (line 50) | def workspace_status(self):
    method status (line 63) | def status(self):
    method get_hash (line 66) | def get_hash(self):
    method save (line 77) | def save(self):
    method download (line 80) | def download(self, to, jobs=None):
    method update (line 83) | def update(self, rev=None):

FILE: dvc/dependency/db.py
  function download_progress (line 21) | def download_progress(to: "Output") -> Iterator[Callable[[int], Any]]:
  class AbstractDependency (line 36) | class AbstractDependency(Dependency):
    method __init__ (line 39) | def __init__(self, stage: "Stage", info: dict[str, Any], *args, **kwar...
    method is_in_repo (line 48) | def is_in_repo(self):
  class DbDependency (line 52) | class DbDependency(AbstractDependency):
    method __init__ (line 67) | def __init__(self, stage: "Stage", info, *args, **kwargs):
    method sql (line 73) | def sql(self) -> Optional[str]:
    method __repr__ (line 76) | def __repr__(self):
    method __str__ (line 81) | def __str__(self):
    method workspace_status (line 86) | def workspace_status(self):
    method status (line 89) | def status(self):
    method save (line 92) | def save(self):
    method dumpd (line 95) | def dumpd(self, **kwargs):
    method update (line 99) | def update(self, rev=None):
    method download (line 102) | def download(

FILE: dvc/dependency/param.py
  class MissingParamsError (line 21) | class MissingParamsError(DvcException):
  class MissingParamsFile (line 25) | class MissingParamsFile(DvcException):
  class ParamsIsADirectoryError (line 29) | class ParamsIsADirectoryError(DvcException):
  class BadParamFileError (line 33) | class BadParamFileError(DvcException):
  function read_param_file (line 37) | def read_param_file(
  class ParamsDependency (line 71) | class ParamsDependency(Dependency):
    method __init__ (line 75) | def __init__(self, stage, path, params=None, repo=None):
    method dumpd (line 86) | def dumpd(self, **kwargs):
    method fill_values (line 92) | def fill_values(self, values=None):
    method read_params (line 105) | def read_params(
    method workspace_status (line 124) | def workspace_status(self):
    method status (line 161) | def status(self):
    method validate_filepath (line 164) | def validate_filepath(self):
    method get_hash (line 172) | def get_hash(self):
    method save (line 185) | def save(self):

FILE: dvc/dependency/repo.py
  class RepoDependency (line 17) | class RepoDependency(Dependency):
    method __init__ (line 35) | def __init__(self, def_repo: dict[str, Any], stage: "Stage", *args, **...
    method _parse_path (line 42) | def _parse_path(self, fs, fs_path):  # noqa: ARG002
    method is_in_repo (line 46) | def is_in_repo(self):
    method __str__ (line 49) | def __str__(self):
    method workspace_status (line 52) | def workspace_status(self):
    method status (line 61) | def status(self):
    method save (line 64) | def save(self):
    method _dump_def_repo (line 70) | def _dump_def_repo(cls, def_repo) -> dict[str, str]:
    method dumpd (line 90) | def dumpd(self, **kwargs) -> dict[str, Union[str, dict[str, str]]]:
    method download (line 96) | def download(self, to: "Output", jobs: Optional[int] = None):
    method update (line 117) | def update(self, rev: Optional[str] = None):
    method changed_checksum (line 123) | def changed_checksum(self) -> bool:
    method _make_fs (line 129) | def _make_fs(
    method _get_rev (line 166) | def _get_rev(self, locked: bool = True):

FILE: dvc/dirs.py
  function system_config_dir (line 12) | def system_config_dir():
  function global_config_dir (line 18) | def global_config_dir():
  function site_cache_dir (line 24) | def site_cache_dir(config_site_cache_dir: Optional[str] = None):

FILE: dvc/dvcfile.py
  class FileIsGitIgnored (line 33) | class FileIsGitIgnored(DvcException):
    method __init__ (line 34) | def __init__(self, path, pipeline_file=False):
  class ParametrizedDumpError (line 42) | class ParametrizedDumpError(DvcException):
  function is_valid_filename (line 46) | def is_valid_filename(path):
  function is_dvc_file (line 50) | def is_dvc_file(path):
  function is_lock_file (line 54) | def is_lock_file(path):
  function is_git_ignored (line 58) | def is_git_ignored(repo, path):
  function check_dvcfile_path (line 68) | def check_dvcfile_path(repo, path):
  class FileMixin (line 80) | class FileMixin:
    method __init__ (line 83) | def __init__(self, repo, path, verify=True, **kwargs):
    method __repr__ (line 88) | def __repr__(self):
    method __hash__ (line 91) | def __hash__(self):
    method __eq__ (line 94) | def __eq__(self, other):
    method __str__ (line 99) | def __str__(self):
    method relpath (line 103) | def relpath(self):
    method exists (line 106) | def exists(self):
    method _is_git_ignored (line 110) | def _is_git_ignored(self):
    method _verify_filename (line 113) | def _verify_filename(self):
    method _check_gitignored (line 117) | def _check_gitignored(self):
    method load (line 121) | def load(self, **kwargs: Any) -> Any:
    method _load (line 125) | def _load(self, **kwargs: Any) -> tuple[Any, str]:
    method validate (line 143) | def validate(cls, d: _T, fname: Optional[str] = None) -> _T:
    method _load_yaml (line 148) | def _load_yaml(self, **kwargs: Any) -> tuple[Any, str]:
    method remove (line 158) | def remove(self, force=False):  # noqa: ARG002
    method dump (line 162) | def dump(self, stage, **kwargs):
    method dump_stages (line 165) | def dump_stages(self, stages, **kwargs):
    method merge (line 168) | def merge(self, ancestor, other, allowed=None):
  class SingleStageFile (line 172) | class SingleStageFile(FileMixin):
    method stage (line 184) | def stage(self) -> "Stage":
    method stages (line 189) | def stages(self) -> LOADER:
    method dump (line 193) | def dump(self, stage, **kwargs) -> None:
    method dump_stages (line 204) | def dump_stages(self, stages, **kwargs) -> None:
    method remove_stage (line 211) | def remove_stage(self, stage):  # noqa: ARG002
    method merge (line 214) | def merge(self, ancestor, other, allowed=None):
  class ProjectFile (line 223) | class ProjectFile(FileMixin):
    method _lockfile (line 230) | def _lockfile(self):
    method _reset (line 233) | def _reset(self):
    method dump (line 239) | def dump(self, stage, update_pipeline=True, update_lock=True, **kwargs):
    method dump_stages (line 245) | def dump_stages(self, stages, update_pipeline=True, update_lock=True, ...
    method dump_dataset (line 263) | def dump_dataset(self, dataset):
    method _dump_lockfile (line 283) | def _dump_lockfile(self, stages, **kwargs):
    method _check_if_parametrized (line 287) | def _check_if_parametrized(stage, action: str = "dump") -> None:
    method _dump_pipeline_file (line 291) | def _dump_pipeline_file(self, stages):
    method stage (line 318) | def stage(self):
    method contents (line 322) | def contents(self) -> dict[str, Any]:
    method lockfile_contents (line 326) | def lockfile_contents(self) -> dict[str, Any]:
    method resolver (line 330) | def resolver(self) -> "DataResolver":
    method stages (line 337) | def stages(self) -> LOADER:
    method artifacts (line 341) | def artifacts(self) -> dict[str, Optional[dict[str, Any]]]:
    method metrics (line 345) | def metrics(self) -> list[str]:
    method params (line 349) | def params(self) -> list[str]:
    method plots (line 353) | def plots(self) -> list[Any]:
    method datasets (line 357) | def datasets(self) -> list[dict[str, Any]]:
    method datasets_lock (line 361) | def datasets_lock(self) -> list[dict[str, Any]]:
    method remove (line 364) | def remove(self, force=False):
    method remove_stage (line 372) | def remove_stage(self, stage):
    method merge (line 390) | def merge(self, ancestor, other, allowed=None):
  class Lockfile (line 394) | class Lockfile(FileMixin):
    method _verify_filename (line 397) | def _verify_filename(self):
    method _load (line 400) | def _load(self, **kwargs: Any):
    method dump_dataset (line 409) | def dump_dataset(self, dataset: dict):
    method dump_stages (line 427) | def dump_stages(self, stages, **kwargs):
    method dump (line 455) | def dump(self, stage, **kwargs):
    method remove_stage (line 458) | def remove_stage(self, stage):
    method merge (line 475) | def merge(self, ancestor, other, allowed=None):
  function load_file (line 479) | def load_file(

FILE: dvc/exceptions.py
  class DvcException (line 12) | class DvcException(Exception):  # noqa: N818
    method __init__ (line 15) | def __init__(self, msg, *args):
  class InvalidArgumentError (line 21) | class InvalidArgumentError(ValueError, DvcException):
    method __init__ (line 24) | def __init__(self, msg, *args):
  class OutputDuplicationError (line 29) | class OutputDuplicationError(DvcException):
    method __init__ (line 38) | def __init__(self, output: str, stages: set["Stage"]):
  class OutputNotFoundError (line 62) | class OutputNotFoundError(DvcException):
    method __init__ (line 69) | def __init__(self, output, repo=None):
  class StageNotFoundError (line 79) | class StageNotFoundError(DvcException):
  class StagePathAsOutputError (line 83) | class StagePathAsOutputError(DvcException):
    method __init__ (line 92) | def __init__(self, stage, output):
  class CircularDependencyError (line 97) | class CircularDependencyError(DvcException):
    method __init__ (line 105) | def __init__(self, dependency):
  class ArgumentDuplicationError (line 112) | class ArgumentDuplicationError(DvcException):
    method __init__ (line 120) | def __init__(self, path):
  class MoveNotDataSourceError (line 125) | class MoveNotDataSourceError(DvcException):
    method __init__ (line 133) | def __init__(self, path):
  class NotDvcRepoError (line 143) | class NotDvcRepoError(DvcException):
  class CyclicGraphError (line 147) | class CyclicGraphError(DvcException):
    method __init__ (line 148) | def __init__(self, stages):
  class ConfirmRemoveError (line 163) | class ConfirmRemoveError(DvcException):
    method __init__ (line 164) | def __init__(self, path):
  class InitError (line 170) | class InitError(DvcException):
  class ReproductionError (line 174) | class ReproductionError(DvcException):
  class BadMetricError (line 178) | class BadMetricError(DvcException):
    method __init__ (line 179) | def __init__(self, paths):
  class OverlappingOutputPathsError (line 188) | class OverlappingOutputPathsError(DvcException):
    method __init__ (line 189) | def __init__(self, parent, overlapping_out, message):
  class CheckoutErrorSuggestGit (line 195) | class CheckoutErrorSuggestGit(DvcException):
    method __init__ (line 196) | def __init__(self, target):
  class ETagMismatchError (line 200) | class ETagMismatchError(DvcException):
    method __init__ (line 201) | def __init__(self, etag, cached_etag):
  class FileExistsLocallyError (line 208) | class FileExistsLocallyError(FileExistsError, DvcException):
    method __init__ (line 209) | def __init__(self, path, hint=None):
  class FileMissingError (line 220) | class FileMissingError(DvcException):
    method __init__ (line 221) | def __init__(self, path, hint=None):
  class FileTransferError (line 227) | class FileTransferError(DvcException):
    method __init__ (line 230) | def __init__(self, amount):
  class DownloadError (line 236) | class DownloadError(FileTransferError):
  class UploadError (line 240) | class UploadError(FileTransferError):
  class CheckoutError (line 244) | class CheckoutError(DvcException):
    method __init__ (line 245) | def __init__(self, target_infos: list[str], result: dict):
  class CollectCacheError (line 260) | class CollectCacheError(DvcException):
  class NoRemoteInExternalRepoError (line 264) | class NoRemoteInExternalRepoError(DvcException):
    method __init__ (line 265) | def __init__(self, url):
  class NoOutputInExternalRepoError (line 269) | class NoOutputInExternalRepoError(DvcException):
    method __init__ (line 270) | def __init__(self, path, external_repo_path, external_repo_url):
  class HTTPError (line 279) | class HTTPError(DvcException):
    method __init__ (line 280) | def __init__(self, code, reason):
  class PathMissingError (line 284) | class PathMissingError(DvcException):
    method __init__ (line 293) | def __init__(self, path, repo, dvc_only=False):
  class URLMissingError (line 299) | class URLMissingError(DvcException):
    method __init__ (line 300) | def __init__(self, url):
  class IsADirectoryError (line 304) | class IsADirectoryError(DvcException):  # noqa: A001
  class NoOutputOrStageError (line 308) | class NoOutputOrStageError(DvcException):
    method __init__ (line 313) | def __init__(self, target, file):
  class MergeError (line 319) | class MergeError(DvcException):
  class CacheLinkError (line 323) | class CacheLinkError(DvcException):
    method __init__ (line 328) | def __init__(self, fs_paths):
  class PrettyDvcException (line 336) | class PrettyDvcException(DvcException):
    method __pretty_exc__ (line 337) | def __pretty_exc__(self, **kwargs):
  class ArtifactNotFoundError (line 341) | class ArtifactNotFoundError(DvcException):
    method __init__ (line 348) | def __init__(
  class RevCollectionError (line 362) | class RevCollectionError(DvcException):
    method __init__ (line 369) | def __init__(self, rev):

FILE: dvc/fs/__init__.py
  function download (line 49) | def download(
  function parse_external_url (line 91) | def parse_external_url(url, fs_config=None, config=None):
  function get_fs_config (line 99) | def get_fs_config(config, **kwargs):
  function _resolve_remote_refs (line 113) | def _resolve_remote_refs(config, remote_conf):
  function get_cloud_fs (line 146) | def get_cloud_fs(repo_config, **kwargs):

FILE: dvc/fs/callbacks.py
  class TqdmCallback (line 17) | class TqdmCallback(_TqdmCallback):
    method __init__ (line 18) | def __init__(
    method branched (line 33) | def branched(self, path_1: "Union[str, BinaryIO]", path_2: str, **kwar...
  class RichCallback (line 38) | class RichCallback(Callback):
    method __init__ (line 39) | def __init__(
    method progress (line 65) | def progress(self) -> "RichTransferProgress":
    method task (line 81) | def task(self) -> "TaskID":
    method close (line 84) | def close(self):
    method call (line 89) | def call(self, hook_name=None, **kwargs):  # noqa: ARG002
    method branched (line 97) | def branched(self, path_1: Union[str, BinaryIO], path_2: str, **kwargs):

FILE: dvc/fs/data.py
  class DataFileSystem (line 16) | class DataFileSystem(FileSystem):
    method _prepare_credentials (line 21) | def _prepare_credentials(self, **config):
    method fs (line 25) | def fs(self) -> "_DataFileSystem":
    method getcwd (line 30) | def getcwd(self):
    method isdvc (line 33) | def isdvc(self, path, **kwargs):
    method from_os_path (line 36) | def from_os_path(self, path):

FILE: dvc/fs/dvc.py
  function as_posix (line 35) | def as_posix(path: str) -> str:
  function _is_dvc_file (line 40) | def _is_dvc_file(fname):
  function _merge_info (line 47) | def _merge_info(repo, key, fs_info, dvc_info):
  function _get_dvc_path (line 78) | def _get_dvc_path(dvc_fs, subkey):
  class _DVCFileSystem (line 82) | class _DVCFileSystem(AbstractFileSystem):
    method __init__ (line 86) | def __init__(
    method getcwd (line 162) | def getcwd(self):
    method join (line 170) | def join(cls, *parts: str) -> str:
    method parts (line 174) | def parts(cls, path: str) -> tuple[str, ...]:
    method normpath (line 192) | def normpath(self, path: str) -> str:
    method abspath (line 195) | def abspath(self, path: str) -> str:
    method relpath (line 200) | def relpath(self, path: str, start: Optional[str] = None) -> str:
    method relparts (line 205) | def relparts(self, path: str, start: Optional[str] = None) -> tuple[st...
    method repo (line 209) | def repo(self):
    method repo_factory (line 220) | def repo_factory(self):
    method fsid (line 232) | def fsid(self) -> str:
    method _get_key (line 242) | def _get_key(self, path: "StrPath") -> Key:
    method _subrepos_trie (line 250) | def _subrepos_trie(self):
    method _get_key_from_relative (line 260) | def _get_key_from_relative(self, path) -> Key:
    method _from_key (line 267) | def _from_key(self, parts: Key) -> str:
    method _datafss (line 271) | def _datafss(self):
    method repo_url (line 283) | def repo_url(self):
    method _make_repo (line 287) | def _make_repo(cls, **kwargs) -> "Repo":
    method _get_repo (line 293) | def _get_repo(self, key: Key) -> "Repo":
    method _update (line 311) | def _update(self, dir_keys, starting_repo):
    method _is_dvc_repo (line 327) | def _is_dvc_repo(self, dir_path):
    method _get_subrepo_info (line 337) | def _get_subrepo_info(
    method _open (line 355) | def _open(self, path, mode="rb", **kwargs):
    method isdvc (line 371) | def isdvc(self, path, **kwargs) -> bool:
    method ls (line 378) | def ls(self, path, detail=True, dvc_only=False, **kwargs):  # noqa: C9...
    method info (line 442) | def info(self, path, **kwargs):
    method _info (line 447) | def _info(  # noqa: C901
    method get (line 492) | def get(
    method _get (line 512) | def _get(  # noqa: C901, PLR0912, PLR0915
    method get_file (line 605) | def get_file(self, rpath, lpath, **kwargs):
    method du (line 624) | def du(self, path, total=True, maxdepth=None, withdirs=False, **kwargs):
    method close (line 663) | def close(self):
  class DVCFileSystem (line 667) | class DVCFileSystem(FileSystem):
    method _prepare_credentials (line 671) | def _prepare_credentials(self, **config) -> dict[str, Any]:
    method fs (line 675) | def fs(self) -> "_DVCFileSystem":
    method immutable (line 679) | def immutable(self):
    method getcwd (line 687) | def getcwd(self):
    method _get (line 690) | def _get(
    method get (line 711) | def get(
    method fsid (line 730) | def fsid(self) -> str:
    method isdvc (line 733) | def isdvc(self, path, **kwargs) -> bool:
    method repo (line 737) | def repo(self) -> "Repo":
    method repo_url (line 741) | def repo_url(self) -> str:
    method from_os_path (line 744) | def from_os_path(self, path: str) -> str:
    method close (line 751) | def close(self):

FILE: dvc/fs/dvc_path.py
  class DVCPath (line 21) | class DVCPath(UPath):
    method _transform_init_args (line 23) | def _transform_init_args(cls, args, protocol, storage_options):
    method __str__ (line 43) | def __str__(self):
    method with_segments (line 49) | def with_segments(self, *pathsegments):

FILE: dvc/fs/git.py
  class GitFileSystem (line 13) | class GitFileSystem(FileSystem):
    method __init__ (line 19) | def __init__(
    method fs (line 42) | def fs(self) -> "FsspecGitFileSystem":
    method getcwd (line 47) | def getcwd(self):
    method chdir (line 50) | def chdir(self, path):
    method rev (line 54) | def rev(self) -> str:
    method ls (line 57) | def ls(self, path, detail=True, **kwargs):

FILE: dvc/ignore.py
  class DvcIgnore (line 32) | class DvcIgnore:
    method __call__ (line 35) | def __call__(
  class DvcIgnorePatterns (line 41) | class DvcIgnorePatterns(DvcIgnore):
    method __init__ (line 42) | def __init__(
    method from_file (line 114) | def from_file(cls, path: str, fs: "FileSystem", name: str) -> "Self":
    method __call__ (line 126) | def __call__(
    method _get_normalize_path (line 134) | def _get_normalize_path(self, dirname: str, basename: str) -> Optional...
    method matches (line 154) | def matches(
    method matches (line 163) | def matches(
    method matches (line 172) | def matches(
    method matches (line 180) | def matches(
    method _find_matching_pattern (line 194) | def _find_matching_pattern(
    method _ignore (line 226) | def _ignore(self, path: str, is_dir: bool) -> tuple[bool, list[Pattern...
    method __hash__ (line 242) | def __hash__(self) -> int:
    method __eq__ (line 245) | def __eq__(self, other: object) -> bool:
    method __bool__ (line 253) | def __bool__(self) -> bool:
  class CheckIgnoreResult (line 257) | class CheckIgnoreResult(NamedTuple):
  class DvcIgnoreFilter (line 263) | class DvcIgnoreFilter:
    method __init__ (line 264) | def __init__(self, fs: "FileSystem", root_dir: str) -> None:
    method _get_key (line 299) | def _get_key(self, path: str) -> tuple[str, ...]:
    method _update_trie (line 305) | def _update_trie(self, dirname: str, trie: Trie) -> None:
    method _update (line 328) | def _update(
    method _update_sub_repo (line 347) | def _update_sub_repo(self, path: str, ignore_trie: Trie) -> None:
    method __call__ (line 374) | def __call__(
    method ls (line 386) | def ls(
    method ls (line 391) | def ls(
    method ls (line 396) | def ls(
    method ls (line 400) | def ls(
    method walk (line 422) | def walk(
    method find (line 453) | def find(self, fs: "FileSystem", path: str, **kwargs: Any) -> Iterator...
    method _get_trie_pattern (line 462) | def _get_trie_pattern(
    method _is_ignored (line 497) | def _is_ignored(
    method is_ignored_dir (line 508) | def is_ignored_dir(self, path: str, ignore_subrepos: bool = True) -> b...
    method is_ignored_file (line 516) | def is_ignored_file(self, path: str, ignore_subrepos: bool = True) -> ...
    method _outside_repo (line 521) | def _outside_repo(self, path: str) -> bool:
    method check_ignore (line 524) | def check_ignore(self, target: str) -> CheckIgnoreResult:
    method is_ignored (line 539) | def is_ignored(
  function init (line 555) | def init(path: Union[str, os.PathLike[str]]) -> str:
  function destroy (line 570) | def destroy(path: Union[str, os.PathLike[str]]) -> None:

FILE: dvc/info.py
  function get_dvc_info (line 26) | def get_dvc_info():
  function _get_caches (line 69) | def _get_caches(cache):
  function _get_remotes (line 80) | def _get_remotes(config):
  function _get_linktype_support_info (line 87) | def _get_linktype_support_info(repo):
  function _get_subprojects (line 101) | def _get_subprojects():
  function _get_supported_remotes (line 113) | def _get_supported_remotes():
  function _get_config_dirs (line 140) | def _get_config_dirs():
  function _get_fs_type (line 151) | def _get_fs_type(path):
  function _get_dvc_repo_info (line 170) | def _get_dvc_repo_info(repo):

FILE: dvc/lock.py
  class LockError (line 27) | class LockError(DvcException):
  class LockBase (line 31) | class LockBase(ABC):
    method __init__ (line 33) | def __init__(self, lockfile):
    method lockfile (line 37) | def lockfile(self):
    method lock (line 41) | def lock(self):
    method unlock (line 45) | def unlock(self):
    method is_locked (line 50) | def is_locked(self):
    method __enter__ (line 54) | def __enter__(self):
    method __exit__ (line 58) | def __exit__(self, typ, value, tbck):
  class LockNoop (line 62) | class LockNoop(LockBase):
    method __init__ (line 63) | def __init__(self, *args, **kwargs):
    method lock (line 66) | def lock(self):
    method unlock (line 69) | def unlock(self):
    method is_locked (line 75) | def is_locked(self):
    method __enter__ (line 78) | def __enter__(self):
    method __exit__ (line 81) | def __exit__(self, typ, value, tbck):
  class Lock (line 85) | class Lock(LockBase):
    method __init__ (line 91) | def __init__(self, lockfile, friendly=False, wait=False, **kwargs):
    method files (line 99) | def files(self):
    method _do_lock (line 102) | def _do_lock(self):
    method lock (line 110) | def lock(self):
    method unlock (line 138) | def unlock(self):
    method is_locked (line 150) | def is_locked(self):
    method __enter__ (line 153) | def __enter__(self):
    method __exit__ (line 156) | def __exit__(self, typ, value, tbck):
  class HardlinkLock (line 160) | class HardlinkLock(flufl.lock.Lock, LockBase):
    method __init__ (line 169) | def __init__(self, lockfile, tmp_dir=None, wait=False, **kwargs):
    method lock (line 196) | def lock(self, timeout: Optional[Union[timedelta, int]] = None):
    method _set_claimfile (line 210) | def _set_claimfile(self):
  function make_lock (line 220) | def make_lock(lockfile, tmp_dir=None, friendly=False, hardlink_lock=Fals...

FILE: dvc/log.py
  class LoggerWithTrace (line 5) | class LoggerWithTrace(logging.Logger):

FILE: dvc/logger.py
  function add_logging_level (line 15) | def add_logging_level(level_name, level_num, method_name=None):
  class LoggingException (line 56) | class LoggingException(Exception):  # noqa: N818
    method __init__ (line 57) | def __init__(self, record):
  function exclude_filter (line 62) | def exclude_filter(level: int):
  class ColorFormatter (line 69) | class ColorFormatter(logging.Formatter):
    method __init__ (line 90) | def __init__(self, log_colors: bool = True, show_traceback: bool = Fal...
    method format (line 95) | def format(self, record) -> str:  # noqa: C901
  class LoggerHandler (line 135) | class LoggerHandler(logging.StreamHandler):
    method handleError (line 136) | def handleError(self, record):  # noqa: N802
    method emit_pretty_exception (line 140) | def emit_pretty_exception(self, exc, verbose: bool = False):
    method emit (line 143) | def emit(self, record):
  function _is_verbose (line 165) | def _is_verbose():
  function _iter_causes (line 171) | def _iter_causes(exc):
  function set_loggers_level (line 178) | def set_loggers_level(level: int = logging.INFO) -> Iterator[None]:
  function setup (line 192) | def setup(level: int = logging.INFO, log_colors: bool = True) -> None:

FILE: dvc/output.py
  function _get (line 83) | def _get(stage, path, **kwargs):
  function loadd_from (line 87) | def loadd_from(stage, d_list) -> list["Output"]:
  function loads_from (line 121) | def loads_from(
  function _split_dict (line 147) | def _split_dict(d, keys):
  function _merge_data (line 151) | def _merge_data(s_list):
  function load_from_pipeline (line 170) | def load_from_pipeline(stage, data, typ="outs"):
  function split_file_meta_from_cloud (line 200) | def split_file_meta_from_cloud(entry: dict) -> dict:
  function merge_file_meta_from_cloud (line 212) | def merge_file_meta_from_cloud(entry: dict) -> dict:
  function _serialize_tree_obj_to_files (line 220) | def _serialize_tree_obj_to_files(obj: Tree) -> list[dict[str, Any]]:
  function _serialize_hi_to_dict (line 235) | def _serialize_hi_to_dict(hash_info: Optional[HashInfo]) -> dict[str, Any]:
  class OutputDoesNotExistError (line 243) | class OutputDoesNotExistError(DvcException):
    method __init__ (line 244) | def __init__(self, path):
  class OutputIsNotFileOrDirError (line 249) | class OutputIsNotFileOrDirError(DvcException):
    method __init__ (line 250) | def __init__(self, path):
  class OutputAlreadyTrackedError (line 255) | class OutputAlreadyTrackedError(DvcException):
    method __init__ (line 256) | def __init__(self, path):
  class OutputIsStageFileError (line 265) | class OutputIsStageFileError(DvcException):
    method __init__ (line 266) | def __init__(self, path):
  class OutputIsIgnoredError (line 270) | class OutputIsIgnoredError(DvcException):
    method __init__ (line 271) | def __init__(self, result: "CheckIgnoreResult"):
  class CheckoutCallback (line 276) | class CheckoutCallback(TqdmCallback):
  class Output (line 281) | class Output:
    method __init__ (line 310) | def __init__(  # noqa: PLR0913
    method _compute_hash_info_from_meta (line 407) | def _compute_hash_info_from_meta(
    method _compute_meta_hash_info_from_files (line 425) | def _compute_meta_hash_info_from_files(self) -> None:
    method _parse_path (line 442) | def _parse_path(self, fs, fs_path):
    method __repr__ (line 460) | def __repr__(self):
    method __str__ (line 463) | def __str__(self):
    method clear (line 483) | def clear(self):
    method protocol (line 490) | def protocol(self):
    method is_in_repo (line 494) | def is_in_repo(self):
    method use_scm_ignore (line 504) | def use_scm_ignore(self):
    method cache (line 511) | def cache(self):
    method local_cache (line 520) | def local_cache(self):
    method cache_path (line 529) | def cache_path(self):
    method get_hash (line 534) | def get_hash(self):
    method _build (line 538) | def _build(
    method _get_hash_meta (line 552) | def _get_hash_meta(self):
    method get_meta (line 567) | def get_meta(self) -> Meta:
    method is_dir_checksum (line 572) | def is_dir_checksum(self):
    method _is_path_dvcignore (line 575) | def _is_path_dvcignore(self, path) -> bool:
    method exists (line 581) | def exists(self):
    method index_key (line 588) | def index_key(self) -> tuple[str, "DataIndexKey"]:
    method changed_checksum (line 599) | def changed_checksum(self):
    method changed_cache (line 602) | def changed_cache(self, filter_info=None):
    method changed_meta (line 616) | def changed_meta(self) -> bool:
    method workspace_status (line 621) | def workspace_status(self) -> dict[str, str]:
    method status (line 633) | def status(self) -> dict[str, str]:
    method changed (line 639) | def changed(self) -> bool:
    method dvcignore (line 645) | def dvcignore(self) -> Optional["DvcIgnoreFilter"]:
    method is_empty (line 652) | def is_empty(self) -> bool:
    method isdir (line 655) | def isdir(self) -> bool:
    method isfile (line 660) | def isfile(self) -> bool:
    method ignore (line 665) | def ignore(self) -> None:
    method ignore_remove (line 675) | def ignore_remove(self) -> None:
    method save (line 682) | def save(self) -> None:
    method update_legacy_hash_name (line 729) | def update_legacy_hash_name(self, force: bool = False):
    method set_exec (line 733) | def set_exec(self) -> None:
    method _checkout (line 737) | def _checkout(self, *args, **kwargs) -> Optional[bool]:
    method commit (line 752) | def commit(self, filter_info=None, relink=True) -> None:
    method _commit_granular_dir (line 802) | def _commit_granular_dir(self, filter_info, hardlink) -> Optional["Has...
    method dumpd (line 822) | def dumpd(self, **kwargs):  # noqa: C901, PLR0912
    method verify_metric (line 893) | def verify_metric(self):
    method get_obj (line 912) | def get_obj(
    method checkout (line 939) | def checkout(
    method remove (line 988) | def remove(self, ignore_remove=False):
    method move (line 999) | def move(self, out: "Output") -> None:
    method transfer (line 1018) | def transfer(
    method get_files_number (line 1066) | def get_files_number(self, filter_info=None):
    method unprotect (line 1079) | def unprotect(self):
    method get_dir_cache (line 1086) | def get_dir_cache(self, **kwargs) -> Optional["Tree"]:
    method _collect_used_dir_cache (line 1113) | def _collect_used_dir_cache(
    method get_used_objs (line 1148) | def get_used_objs(  # noqa: PLR0911
    method _named_obj_ids (line 1204) | def _named_obj_ids(self, obj):
    method _validate_output_path (line 1214) | def _validate_output_path(self, path, stage=None):
    method _check_can_merge (line 1227) | def _check_can_merge(self, out):
    method merge (line 1251) | def merge(self, ancestor, other, allowed=None):
    method unstage (line 1283) | def unstage(self, path: str) -> tuple["Meta", "Tree"]:
    method apply (line 1311) | def apply(
    method add (line 1362) | def add(  # noqa: C901
    method fspath (line 1452) | def fspath(self):
    method is_decorated (line 1456) | def is_decorated(self) -> bool:
    method is_metric (line 1460) | def is_metric(self) -> bool:
    method is_plot (line 1464) | def is_plot(self) -> bool:
    method restore_fields (line 1467) | def restore_fields(self, other: "Output"):
    method _get_versioned_meta (line 1473) | def _get_versioned_meta(
    method merge_version_meta (line 1485) | def merge_version_meta(
    method _merge_dir_version_meta (line 1501) | def _merge_dir_version_meta(

FILE: dvc/parsing/__init__.py
  class ResolveError (line 61) | class ResolveError(DvcException):
  class EntryNotFound (line 65) | class EntryNotFound(DvcException):
  function _format_preamble (line 69) | def _format_preamble(msg: str, path: str, spacing: str = " ") -> str:
  function format_and_raise (line 73) | def format_and_raise(exc: Exception, msg: str, path: str) -> "NoReturn":
  function _reraise_err (line 84) | def _reraise_err(
  function check_syntax_errors (line 93) | def check_syntax_errors(
  function is_map_or_seq (line 103) | def is_map_or_seq(data: Any) -> bool:
  function split_group_name (line 108) | def split_group_name(name: str) -> tuple[str, Optional[str]]:
  function check_interpolations (line 113) | def check_interpolations(data: "DictStrAny", where: str, path: str):
  function make_definition (line 126) | def make_definition(
  class DataResolver (line 137) | class DataResolver:
    method __init__ (line 138) | def __init__(self, repo: "Repo", wdir: str, d: dict):
    method resolve_one (line 194) | def resolve_one(self, name: str):
    method resolve (line 211) | def resolve(self):
    method resolve_artifacts (line 220) | def resolve_artifacts(self) -> dict[str, Optional[dict[str, Any]]]:
    method resolve_datasets (line 226) | def resolve_datasets(self) -> list[dict[str, Any]]:
    method resolve_metrics (line 229) | def resolve_metrics(self) -> list[str]:
    method resolve_params (line 232) | def resolve_params(self) -> list[str]:
    method resolve_plots (line 235) | def resolve_plots(self) -> list[Any]:
    method has_key (line 238) | def has_key(self, key: str):
    method _has_group_and_key (line 241) | def _has_group_and_key(self, group: str, key: Optional[str] = None):
    method get_keys (line 252) | def get_keys(self):
    method track_vars (line 259) | def track_vars(self, name: str, vars_) -> None:
  class EntryDefinition (line 263) | class EntryDefinition:
    method __init__ (line 264) | def __init__(
    method _resolve_wdir (line 280) | def _resolve_wdir(
    method resolve (line 292) | def resolve(self, **kwargs):
    method resolve_stage (line 298) | def resolve_stage(self, skip_checks: bool = False) -> "DictStrAny":
    method _resolve (line 343) | def _resolve(
  class IterationPair (line 357) | class IterationPair(NamedTuple):
  class ForeachDefinition (line 362) | class ForeachDefinition:
    method __init__ (line 363) | def __init__(
    method template (line 385) | def template(self):
    method resolved_iterable (line 391) | def resolved_iterable(self):
    method _resolve_foreach_data (line 394) | def _resolve_foreach_data(self) -> "SeqOrMap":
    method _check_is_map_or_seq (line 409) | def _check_is_map_or_seq(self, iterable):
    method _warn_if_overwriting (line 418) | def _warn_if_overwriting(self, keys: list[str]):
    method _inserted_keys (line 432) | def _inserted_keys(self, iterable) -> list[str]:
    method normalized_iterable (line 439) | def normalized_iterable(self):
    method has_member (line 453) | def has_member(self, key: str) -> bool:
    method get_generated_names (line 456) | def get_generated_names(self):
    method _generate_name (line 459) | def _generate_name(self, key: str) -> str:
    method resolve_all (line 462) | def resolve_all(self) -> "DictStrAny":
    method resolve_one (line 465) | def resolve_one(self, key: str) -> "DictStrAny":
    method _each_iter (line 468) | def _each_iter(self, key: str) -> "DictStrAny":
  class MatrixDefinition (line 501) | class MatrixDefinition:
    method __init__ (line 502) | def __init__(
    method template (line 526) | def template(self) -> "DictStrAny":
    method resolved_iterable (line 532) | def resolved_iterable(self) -> dict[str, list]:
    method _resolve_matrix_data (line 535) | def _resolve_matrix_data(self) -> dict[str, list]:
    method _warn_if_overwriting (line 546) | def _warn_if_overwriting(self, keys: list[str]):
    method normalized_iterable (line 561) | def normalized_iterable(self) -> dict[str, "DictStrAny"]:
    method has_member (line 579) | def has_member(self, key: str) -> bool:
    method get_generated_names (line 582) | def get_generated_names(self) -> list[str]:
    method _generate_name (line 585) | def _generate_name(self, key: str) -> str:
    method resolve_all (line 588) | def resolve_all(self) -> "DictStrAny":
    method resolve_one (line 591) | def resolve_one(self, key: str) -> "DictStrAny":
    method _each_iter (line 594) | def _each_iter(self, key: str) -> "DictStrAny":
  class TopDefinition (line 619) | class TopDefinition:
    method __init__ (line 620) | def __init__(
    method resolve (line 635) | def resolve(self):
  class ArtifactDefinition (line 643) | class ArtifactDefinition(TopDefinition):
    method resolve (line 644) | def resolve(self) -> dict[str, Optional[dict[str, Any]]]:

FILE: dvc/parsing/context.py
  class ContextError (line 28) | class ContextError(DvcException):
  class ReservedKeyError (line 32) | class ReservedKeyError(ContextError):
    method __init__ (line 33) | def __init__(self, keys, path=None):
  class MergeError (line 46) | class MergeError(ContextError):
    method __init__ (line 47) | def __init__(self, key, new, into):
  class ParamsLoadError (line 65) | class ParamsLoadError(ContextError):
  class KeyNotInContext (line 69) | class KeyNotInContext(ContextError, KeyError):  # noqa: N818
    method __init__ (line 70) | def __init__(self, key: str) -> None:
    method __str__ (line 74) | def __str__(self):
  class VarsAlreadyLoaded (line 78) | class VarsAlreadyLoaded(ContextError):  # noqa: N818
  function _merge (line 82) | def _merge(into, update, overwrite):
  function recurse_not_a_node (line 93) | def recurse_not_a_node(data: dict):
  class Meta (line 101) | class Meta:
    method update_path (line 107) | def update_path(meta: "Meta", path: Union[str, int]):
    method __str__ (line 111) | def __str__(self):
    method path (line 116) | def path(self):
  function _default_meta (line 120) | def _default_meta() -> Meta:
  class Node (line 124) | class Node:
    method get_sources (line 127) | def get_sources(self):
    method value (line 132) | def value(self):
  class Value (line 137) | class Value(Node):
    method __repr__ (line 141) | def __repr__(self):
    method __str__ (line 144) | def __str__(self) -> str:
    method get_sources (line 147) | def get_sources(self):
    method value (line 151) | def value(self):
  class Container (line 158) | class Container(Node, ABC):  # noqa: PLW1641
    method __init__ (line 163) | def __init__(self, meta=None) -> None:
    method _convert (line 166) | def _convert(self, key, value):
    method _convert_with_meta (line 171) | def _convert_with_meta(value, meta: Optional[Meta] = None):
    method __repr__ (line 185) | def __repr__(self):
    method __getitem__ (line 188) | def __getitem__(self, key):
    method __setitem__ (line 191) | def __setitem__(self, key, value):
    method __delitem__ (line 194) | def __delitem__(self, key):
    method __len__ (line 197) | def __len__(self):
    method __iter__ (line 200) | def __iter__(self):
    method __eq__ (line 203) | def __eq__(self, o):
    method select (line 209) | def select(self, key: str):
    method get_sources (line 228) | def get_sources(self):
  class CtxList (line 232) | class CtxList(Container, MutableSequence):
    method __init__ (line 235) | def __init__(self, values: Sequence, meta: Optional[Meta] = None):
    method insert (line 240) | def insert(self, index: int, value):
    method get_sources (line 243) | def get_sources(self):
    method value (line 247) | def value(self):
    method __deepcopy__ (line 250) | def __deepcopy__(self, _):
  class CtxDict (line 257) | class CtxDict(Container, MutableMapping):
    method __init__ (line 258) | def __init__(
    method __setitem__ (line 271) | def __setitem__(self, key, value):
    method merge_update (line 278) | def merge_update(self, other, overwrite=False):
    method value (line 282) | def value(self):
    method __deepcopy__ (line 285) | def __deepcopy__(self, _):
  class Context (line 294) | class Context(CtxDict):
    method __init__ (line 295) | def __init__(self, *args, **kwargs):
    method track (line 306) | def track(self):
    method _track_data (line 313) | def _track_data(self, node):
    method select (line 328) | def select(self, key: str, unwrap: bool = False):
    method load_from (line 351) | def load_from(
    method merge_update (line 380) | def merge_update(self, other: "Context", overwrite=False):
    method merge_from (line 386) | def merge_from(self, fs, item: str, wdir: str, overwrite=False):
    method check_loaded (line 409) | def check_loaded(self, path, item, keys):
    method load_from_vars (line 424) | def load_from_vars(
    method __deepcopy__ (line 450) | def __deepcopy__(self, _):
    method clone (line 458) | def clone(cls, ctx: "Context") -> "Context":
    method reserved (line 463) | def reserved(self, *keys: str):
    method set_temporarily (line 480) | def set_temporarily(self, to_set: DictStr, reserve: bool = False):
    method resolve (line 496) | def resolve(
    method resolve_str (line 520) | def resolve_str(

FILE: dvc/parsing/interpolate.py
  function get_parser (line 37) | def get_parser():
  class ParseError (line 51) | class ParseError(DvcException):
  function get_matches (line 55) | def get_matches(template: str):
  function is_interpolated_string (line 59) | def is_interpolated_string(val):
  function normalize_key (line 63) | def normalize_key(key: str):
  function format_and_raise_parse_error (line 67) | def format_and_raise_parse_error(exc) -> "NoReturn":
  function embrace (line 71) | def embrace(s: str):
  function escape_str (line 75) | def escape_str(value):
  function to_str (line 86) | def to_str(obj, config=None) -> str:  # noqa: ARG001
  function _ (line 91) | def _(obj: bool, config=None):  # noqa: ARG001
  function _ (line 96) | def _(obj: dict, config=None):  # noqa: C901
  function _format_exc_msg (line 128) | def _format_exc_msg(exc: "ParseException"):
  function recurse (line 150) | def recurse(f):
  function check_recursive_parse_errors (line 166) | def check_recursive_parse_errors(data):
  function check_expression (line 171) | def check_expression(s: str):
  function parse_expr (line 177) | def parse_expr(s: str):
  function get_expression (line 191) | def get_expression(match: "Match", skip_checks: bool = False):
  function validate_value (line 196) | def validate_value(value, key):
  function str_interpolate (line 208) | def str_interpolate(
  function is_exact_string (line 230) | def is_exact_string(src: str, matches: "list[Match]"):

FILE: dvc/pathspec_math.py
  class PatternInfo (line 12) | class PatternInfo(NamedTuple):
    method __str__ (line 16) | def __str__(self) -> str:
  function _not_ignore (line 20) | def _not_ignore(rule):
  function _is_comment (line 24) | def _is_comment(rule):
  function _remove_slash (line 28) | def _remove_slash(rule):
  function _match_all_level (line 34) | def _match_all_level(rule):
  function change_rule (line 42) | def change_rule(rule, rel):
  function _change_dirname (line 60) | def _change_dirname(dirname, pattern_list, new_dirname):
  function merge_patterns (line 73) | def merge_patterns(flavour, pattern_a, prefix_a, pattern_b, prefix_b):

FILE: dvc/progress.py
  class Tqdm (line 20) | class Tqdm(tqdm):
    method __init__ (line 44) | def __init__(
    method update_msg (line 105) | def update_msg(self, msg: str, n: int = 1) -> None:
    method set_msg (line 112) | def set_msg(self, msg: str) -> None:
    method update_to (line 115) | def update_to(self, current, total=None):
    method wrap_fn (line 120) | def wrap_fn(self, fn, callback=None):
    method close (line 135) | def close(self):
    method format_dict (line 144) | def format_dict(self):
    method as_callback (line 167) | def as_callback(self) -> "TqdmCallback":

FILE: dvc/prompt.py
  function ask (line 12) | def ask(prompt: str, limited_to: Optional[Collection[str]] = None):
  function confirm (line 33) | def confirm(statement: str) -> bool:
  function password (line 47) | def password(statement: str) -> str:

FILE: dvc/render/convert.py
  function _get_converter (line 8) | def _get_converter(
  function to_json (line 21) | def to_json(renderer, split: bool = False) -> list[dict]:

FILE: dvc/render/converter/__init__.py
  class Converter (line 4) | class Converter:
    method __init__ (line 5) | def __init__(
    method convert (line 15) | def convert(self) -> tuple[list[tuple[str, str, Any]], dict]:
    method flat_datapoints (line 18) | def flat_datapoints(self, revision: str) -> tuple[list[dict], dict]:

FILE: dvc/render/converter/image.py
  class ImageConverter (line 13) | class ImageConverter(Converter):
    method _write_image (line 15) | def _write_image(
    method _encode_image (line 31) | def _encode_image(image_data: bytes) -> str:
    method convert (line 35) | def convert(self) -> tuple[list[tuple[str, str, Any]], dict]:
    method flat_datapoints (line 41) | def flat_datapoints(self, revision: str) -> tuple[list[dict], dict]:

FILE: dvc/render/converter/vega.py
  class FieldNotFoundError (line 13) | class FieldNotFoundError(DvcException):
    method __init__ (line 14) | def __init__(self, expected_field, found_fields):
  function _lists (line 22) | def _lists(blob: Union[dict, list]) -> Iterable[list]:
  function _file_field (line 33) | def _file_field(*args):
  function _find (line 44) | def _find(filename: str, field: str, data_series: list[tuple[str, str, A...
  function _verify_field (line 51) | def _verify_field(file2datapoints: dict[str, list], filename: str, field...
  function _get_xs (line 58) | def _get_xs(properties: dict, file2datapoints: dict[str, list[dict]]):
  function _get_ys (line 66) | def _get_ys(properties, file2datapoints: dict[str, list[dict]]):
  function _is_datapoints (line 74) | def _is_datapoints(lst: list[dict]):
  function get_datapoints (line 85) | def get_datapoints(file_content: dict):
  class VegaConverter (line 96) | class VegaConverter(Converter):
    method __init__ (line 104) | def __init__(
    method _infer_y_from_data (line 113) | def _infer_y_from_data(self):
    method _infer_x_y (line 122) | def _infer_x_y(self):
    method _find_datapoints (line 152) | def _find_datapoints(self):
    method infer_y_label (line 160) | def infer_y_label(properties):
    method infer_x_label (line 178) | def infer_x_label(properties):
    method flat_datapoints (line 192) | def flat_datapoints(self, revision):  # noqa: C901, PLR0912
    method convert (line 292) | def convert(self):
  function _get_short_y_file (line 309) | def _get_short_y_file(y_file, common_prefix_len):
  function _update_from_field (line 313) | def _update_from_field(
  function _update_from_index (line 333) | def _update_from_index(datapoints: list[dict], new_field: str):
  function _update_all (line 338) | def _update_all(datapoints: list[dict], update_dict: dict):

FILE: dvc/render/match.py
  function _squash_plots_properties (line 23) | def _squash_plots_properties(data: list) -> dict:
  class PlotsData (line 31) | class PlotsData:
    method __init__ (line 32) | def __init__(self, data: dict):
    method group_definitions (line 35) | def group_definitions(self):
    method get_definition_data (line 43) | def get_definition_data(self, target_files, rev):
  class RendererWithErrors (line 62) | class RendererWithErrors(NamedTuple):
  function match_defs_renderers (line 68) | def match_defs_renderers(  # noqa: C901, PLR0912

FILE: dvc/repo/__init__.py
  function lock_repo (line 38) | def lock_repo(repo: "Repo"):
  function locked (line 55) | def locked(f):
  class Repo (line 64) | class Repo:
    method _get_repo_dirs (line 102) | def _get_repo_dirs(
    method __init__ (line 135) | def __init__(  # noqa: PLR0915, PLR0913
    method __str__ (line 240) | def __str__(self):
    method config (line 244) | def config(self):
    method local_dvc_dir (line 257) | def local_dvc_dir(self) -> Optional[str]:
    method tmp_dir (line 281) | def tmp_dir(self):
    method index (line 288) | def index(self) -> "Index":
    method check_graph (line 293) | def check_graph(
    method open (line 303) | def open(url: Optional[str], *args, **kwargs) -> "Repo":
    method scm (line 309) | def scm(self) -> Union["Git", "NoSCM"]:
    method scm_context (line 326) | def scm_context(self) -> "SCMContext":
    method dvcignore (line 332) | def dvcignore(self) -> DvcIgnoreFilter:
    method get_rev (line 335) | def get_rev(self):
    method experiments (line 348) | def experiments(self) -> "Experiments":
    method fs (line 354) | def fs(self) -> "FileSystem":
    method fs (line 358) | def fs(self, fs: "FileSystem"):
    method data_index (line 365) | def data_index(self) -> "DataIndex":
    method drop_data_index (line 375) | def drop_data_index(self) -> None:
    method get_data_index_entry (line 385) | def get_data_index_entry(
    method __repr__ (line 405) | def __repr__(self):
    method find_root (line 409) | def find_root(cls, root=None, fs=None) -> str:
    method find_dvc_dir (line 438) | def find_dvc_dir(cls, root=None, fs=None) -> str:
    method init (line 446) | def init(root_dir=os.curdir, no_scm=False, force=False, subdir=False) ...
    method unprotect (line 451) | def unprotect(self, target):
    method _ignore (line 457) | def _ignore(self):
    method brancher (line 468) | def brancher(self, *args, **kwargs):
    method switch (line 473) | def switch(self, rev: str) -> AbstractContextManager[str]:
    method used_objs (line 478) | def used_objs(  # noqa: PLR0913
    method find_outs_by_path (line 548) | def find_outs_by_path(
    method is_dvc_internal (line 573) | def is_dvc_internal(self, path):
    method datafs (line 578) | def datafs(self) -> "DataFileSystem":
    method dvcfs (line 584) | def dvcfs(self) -> "DVCFileSystem":
    method _btime (line 590) | def _btime(self):
    method site_cache_dir (line 610) | def site_cache_dir(self) -> str:
    method close (line 656) | def close(self):
    method _reset (line 664) | def _reset(self):
    method __enter__ (line 676) | def __enter__(self):
    method __exit__ (line 679) | def __exit__(self, exc_type, exc_val, exc_tb):

FILE: dvc/repo/add.py
  class StageInfo (line 25) | class StageInfo(NamedTuple):
  function find_targets (line 30) | def find_targets(
  function get_or_create_stage (line 46) | def get_or_create_stage(
  function translate_graph_error (line 94) | def translate_graph_error(stages: list["Stage"]) -> Iterator[None]:
  function progress_iter (line 119) | def progress_iter(stages: dict[str, StageInfo]) -> Iterator[tuple[str, S...
  function warn_link_failures (line 146) | def warn_link_failures() -> Iterator[list[str]]:
  function _add_transfer (line 159) | def _add_transfer(
  function _add (line 174) | def _add(
  function add (line 192) | def add(

FILE: dvc/repo/artifacts.py
  function check_name_format (line 29) | def check_name_format(name: str) -> None:
  function name_is_compatible (line 41) | def name_is_compatible(name: str) -> bool:
  function check_for_nested_dvc_repo (line 56) | def check_for_nested_dvc_repo(dvcfile: Path):
  function _reformat_name (line 70) | def _reformat_name(name: str) -> str:
  class Artifacts (line 86) | class Artifacts:
    method __init__ (line 87) | def __init__(self, repo: "Repo") -> None:
    method scm (line 91) | def scm(self) -> Optional["Git"]:
    method read (line 98) | def read(self) -> dict[str, dict[str, Artifact]]:
    method add (line 112) | def add(self, name: str, artifact: Artifact, dvcfile: Optional[str] = ...
    method get_rev (line 131) | def get_rev(
    method parse_path (line 149) | def parse_path(cls, name: str) -> tuple[Optional[str], str]:
    method get_path (line 162) | def get_path(self, name: str):
    method download (line 191) | def download(
    method _download_studio (line 227) | def _download_studio(
    method get (line 286) | def get(

FILE: dvc/repo/brancher.py
  function brancher (line 17) | def brancher(
  function _switch_fs (line 113) | def _switch_fs(
  function switch (line 144) | def switch(repo: "Repo", rev: str) -> Iterator[str]:

FILE: dvc/repo/cache.py
  function check_missing (line 4) | def check_missing(repo, rev=None, max_size=None, types=None):

FILE: dvc/repo/checkout.py
  function _fspath_dir (line 26) | def _fspath_dir(path):
  function _remove_unused_links (line 34) | def _remove_unused_links(repo):
  function _build_out_changes (line 42) | def _build_out_changes(
  function _check_can_delete (line 82) | def _check_can_delete(
  function checkout (line 110) | def checkout(  # noqa: C901

FILE: dvc/repo/collect.py
  function _collect_outs (line 18) | def _collect_outs(
  function _collect_paths (line 26) | def _collect_paths(
  function _filter_outs (line 45) | def _filter_outs(
  function collect (line 62) | def collect(

FILE: dvc/repo/commit.py
  function _prepare_message (line 14) | def _prepare_message(stage, changes):
  function prompt_to_commit (line 36) | def prompt_to_commit(stage, changes, force=False):
  function commit (line 46) | def commit(
  function commit_2_to_3 (line 92) | def commit_2_to_3(repo: "Repo", dry: bool = False):
  function _migrateable_dvcfiles (line 135) | def _migrateable_dvcfiles(view: "IndexView") -> set[str]:

FILE: dvc/repo/data.py
  function posixpath_to_os_path (line 28) | def posixpath_to_os_path(path: str) -> str:
  function _adapt_path (line 32) | def _adapt_path(change: "Change") -> str:
  function _adapt_path_from_entry (line 44) | def _adapt_path_from_entry(entry: "DataIndexEntry") -> str:
  function _get_missing_paths (line 52) | def _get_missing_paths(
  class StorageCallback (line 73) | class StorageCallback(Callback):
    method __init__ (line 74) | def __init__(self, parent_cb: Callback) -> None:
    method set_size (line 78) | def set_size(self, size: int) -> None:
    method relative_update (line 82) | def relative_update(self, value: int = 1) -> None:
    method absolute_update (line 85) | def absolute_update(self, value: int) -> None:
  class Rename (line 89) | class Rename(TypedDict):
  class DiffResult (line 94) | class DiffResult(TypedDict, total=False):
  function _diff (line 104) | def _diff(
  class GitInfo (line 212) | class GitInfo(TypedDict, total=False):
  function _git_info (line 220) | def _git_info(scm: Union["Git", "NoSCM"], untracked_files: str = "all") ...
  function filter_index (line 248) | def filter_index(
  function _diff_index_to_wtree (line 284) | def _diff_index_to_wtree(
  function _diff_head_to_index (line 321) | def _diff_head_to_index(
  class Status (line 359) | class Status(TypedDict):
  function _transform_git_paths_to_dvc (line 369) | def _transform_git_paths_to_dvc(repo: "Repo", files: Iterable[str]) -> l...
  function iter_index (line 388) | def iter_index(
  function _get_entries_not_in_remote (line 408) | def _get_entries_not_in_remote(
  function _matches_target (line 474) | def _matches_target(p: str, targets: Iterable[str]) -> bool:
  function _prune_keys (line 479) | def _prune_keys(filter_keys: Iterable["DataIndexKey"]) -> list["DataInde...
  function status (line 489) | def status(  # noqa: PLR0913

FILE: dvc/repo/datasets.py
  function _get_dataset_record (line 28) | def _get_dataset_record(name: str) -> "DatasetRecord":
  function _get_dataset_info (line 41) | def _get_dataset_info(
  function default_str (line 51) | def default_str(v) -> str:
  function to_datetime (line 55) | def to_datetime(d: Union[str, datetime]) -> datetime:
  function ensure (line 59) | def ensure(cls):
  class SerDe (line 66) | class SerDe:
    method to_dict (line 67) | def to_dict(self: AttrsInstance) -> dict[str, Any]:
    method from_dict (line 79) | def from_dict(cls, d: dict[str, Any]) -> "Self":
  class DatasetSpec (line 86) | class DatasetSpec(SerDe):
  class DVCDatasetSpec (line 93) | class DVCDatasetSpec(DatasetSpec):
  class FileInfo (line 100) | class FileInfo(SerDe):
  class DVCDatasetLock (line 106) | class DVCDatasetLock(DVCDatasetSpec):
  class DatachainDatasetLock (line 111) | class DatachainDatasetLock(DatasetSpec):
  class URLDatasetLock (line 117) | class URLDatasetLock(DatasetSpec):
  function to_spec (line 126) | def to_spec(lock: "Lock") -> "Spec":
  class DVCDataset (line 132) | class DVCDataset:
    method update (line 140) | def update(self, repo, rev: Optional[str] = None, **kwargs) -> "Self":
  class DatachainDataset (line 163) | class DatachainDataset:
    method pinned (line 172) | def pinned(self) -> bool:
    method name_version (line 176) | def name_version(self) -> tuple[str, Optional[int]]:
    method update (line 186) | def update(
  class URLDataset (line 205) | class URLDataset:
    method update (line 213) | def update(self, repo, **kwargs):
  class DatasetNotFoundError (line 234) | class DatasetNotFoundError(DvcException, KeyError):
    method __init__ (line 235) | def __init__(self, name, *args):
    method __str__ (line 239) | def __str__(self) -> str:
  class Datasets (line 243) | class Datasets(Mapping[str, Dataset]):
    method __init__ (line 244) | def __init__(self, repo: "Repo") -> None:
    method __repr__ (line 247) | def __repr__(self):
    method __rich_repr__ (line 250) | def __rich_repr__(self):
    method __getitem__ (line 253) | def __getitem__(self, name: str) -> Dataset:
    method __setitem__ (line 259) | def __setitem__(self, name: str, dataset: Dataset) -> None:
    method __contains__ (line 262) | def __contains__(self, name: object) -> bool:
    method __iter__ (line 265) | def __iter__(self) -> Iterator[str]:
    method __len__ (line 268) | def __len__(self) -> int:
    method _spec (line 272) | def _spec(self) -> dict[str, tuple[str, dict[str, Any]]]:
    method _lock (line 280) | def _lock(self) -> dict[str, Optional[dict[str, Any]]]:
    method _datasets (line 292) | def _datasets(self) -> dict[str, Dataset]:
    method _reset (line 298) | def _reset(self) -> None:
    method _spec_from_info (line 304) | def _spec_from_info(spec: dict[str, Any]) -> Spec:
    method _lock_from_info (line 315) | def _lock_from_info(lock: Optional[dict[str, Any]]) -> Optional[Lock]:
    method _build_dataset (line 322) | def _build_dataset(
    method add (line 369) | def add(
    method update (line 386) | def update(self, name, **kwargs) -> tuple[Dataset, Dataset]:
    method _dump_spec (line 409) | def _dump_spec(self, manifest_path: StrPath, spec: Spec) -> None:
    method _dump_lock (line 415) | def _dump_lock(self, manifest_path: StrPath, lock: Lock) -> None:
    method dump (line 421) | def dump(self, dataset: Dataset, old: Optional[Dataset] = None) -> None:

FILE: dvc/repo/destroy.py
  function _destroy_stages (line 8) | def _destroy_stages(repo):
  function destroy (line 16) | def destroy(repo):

FILE: dvc/repo/diff.py
  function _path (line 13) | def _path(entry):
  function _hash (line 19) | def _hash(entry):
  function _diff (line 25) | def _diff(old, new, data_keys, with_missing=False):
  function diff (line 95) | def diff(

FILE: dvc/repo/du.py
  function du (line 4) | def du(

FILE: dvc/repo/experiments/__init__.py
  class Experiments (line 43) | class Experiments:
    method __init__ (line 52) | def __init__(self, repo):
    method scm (line 61) | def scm(self):
    method dvc_dir (line 70) | def dvc_dir(self) -> str:
    method args_file (line 74) | def args_file(self) -> str:
    method workspace_queue (line 80) | def workspace_queue(self) -> "WorkspaceQueue":
    method tempdir_queue (line 86) | def tempdir_queue(self) -> "TempDirQueue":
    method celery_queue (line 94) | def celery_queue(self) -> "LocalCeleryQueue":
    method apply_stash (line 100) | def apply_stash(self) -> ApplyStash:
    method cache (line 104) | def cache(self) -> ExpCache:
    method stash_revs (line 108) | def stash_revs(self) -> dict[str, "ExpStashEntry"]:
    method reproduce_one (line 114) | def reproduce_one(
    method queue_one (line 134) | def queue_one(self, queue: "BaseStashQueue", **kwargs) -> "QueueEntry":
    method reproduce_celery (line 138) | def reproduce_celery(
    method _log_reproduced (line 186) | def _log_reproduced(self, revs: Iterable[str], tmp_dir: bool = False):
    method new (line 202) | def new(self, queue: "BaseStashQueue", *args, **kwargs) -> "QueueEntry":
    method _get_last_applied (line 220) | def _get_last_applied(self) -> Optional[str]:
    method _reproduce_queue (line 233) | def _reproduce_queue(
    method check_baseline (line 256) | def check_baseline(self, exp_rev):
    method get_baseline (line 271) | def get_baseline(self, rev):
    method _get_baseline (line 275) | def _get_baseline(self, rev):
    method get_branch_by_rev (line 291) | def get_branch_by_rev(
    method get_exact_name (line 305) | def get_exact_name(self, revs: Iterable[str]) -> dict[str, Optional[st...
    method apply (line 331) | def apply(self, *args, **kwargs):
    method branch (line 336) | def branch(self, *args, **kwargs):
    method diff (line 341) | def diff(self, *args, **kwargs):
    method show (line 346) | def show(self, *args, **kwargs):
    method run (line 351) | def run(self, *args, **kwargs):
    method save (line 356) | def save(self, *args, **kwargs):
    method push (line 361) | def push(self, *args, **kwargs):
    method pull (line 366) | def pull(self, *args, **kwargs):
    method ls (line 371) | def ls(self, *args, **kwargs):
    method remove (line 376) | def remove(self, *args, **kwargs):
    method rename (line 381) | def rename(self, *args, **kwargs):
    method clean (line 386) | def clean(self, *args, **kwargs):

FILE: dvc/repo/experiments/apply.py
  function apply (line 24) | def apply(repo: "Repo", rev: str, **kwargs):
  function _apply (line 59) | def _apply(repo: "Repo", rev: str, name: Optional[str] = None, is_stash:...

FILE: dvc/repo/experiments/branch.py
  function branch (line 15) | def branch(repo, exp_rev, branch_name=None, **kwargs):

FILE: dvc/repo/experiments/brancher.py
  function switch_repo (line 13) | def switch_repo(repo: "Repo", rev: str) -> Iterator[tuple["Repo", str]]:

FILE: dvc/repo/experiments/cache.py
  class ExpCache (line 17) | class ExpCache:
    method __init__ (line 26) | def __init__(self, repo: "Repo"):
    method delete (line 30) | def delete(self, rev: str):
    method put (line 33) | def put(
    method get (line 50) | def get(self, rev: str) -> Optional[Union[SerializableExp, Serializabl...

FILE: dvc/repo/experiments/clean.py
  function clean (line 9) | def clean(repo: "Repo"):

FILE: dvc/repo/experiments/collect.py
  function collect_rev (line 27) | def collect_rev(
  function _collect_rev (line 70) | def _collect_rev(
  function collect_branch (line 91) | def collect_branch(
  function collect_exec_branch (line 113) | def collect_exec_branch(
  function collect_queued (line 126) | def collect_queued(
  function collect_active (line 161) | def collect_active(
  function collect_failed (line 190) | def collect_failed(
  function collect_successful (line 209) | def collect_successful(
  function _collect_baseline (line 229) | def _collect_baseline(
  function collect (line 268) | def collect(
  function _sorted_ranges (line 337) | def _sorted_ranges(exp_ranges: Iterable["ExpRange"]) -> list["ExpRange"]:

FILE: dvc/repo/experiments/diff.py
  function diff (line 8) | def diff(repo, *args, a_rev=None, b_rev=None, param_deps=False, **kwargs):

FILE: dvc/repo/experiments/exceptions.py
  class BaselineMismatchError (line 10) | class BaselineMismatchError(DvcException):
    method __init__ (line 11) | def __init__(self, rev, expected):
  class ExperimentExistsError (line 22) | class ExperimentExistsError(DvcException):
    method __init__ (line 23) | def __init__(self, name: str, command: str = "run"):
  class InvalidExpRefError (line 33) | class InvalidExpRefError(DvcException):
    method __init__ (line 34) | def __init__(self, ref):
  class InvalidExpRevError (line 39) | class InvalidExpRevError(InvalidArgumentError):
    method __init__ (line 40) | def __init__(self, rev):
  class MultipleBranchError (line 44) | class MultipleBranchError(DvcException):
    method __init__ (line 45) | def __init__(self, rev, ref_infos):
  class AmbiguousExpRefInfo (line 53) | class AmbiguousExpRefInfo(InvalidArgumentError):  # noqa: N818
    method __init__ (line 54) | def __init__(self, exp_name: str, exp_ref_list: Iterable["ExpRefInfo"]):
  class UnresolvedExpNamesError (line 66) | class UnresolvedExpNamesError(InvalidArgumentError):
    method __init__ (line 69) | def __init__(
  class UnresolvedQueueExpNamesError (line 87) | class UnresolvedQueueExpNamesError(UnresolvedExpNamesError):
  class UnresolvedRunningExpNamesError (line 91) | class UnresolvedRunningExpNamesError(UnresolvedExpNamesError):
  class ExpQueueEmptyError (line 95) | class ExpQueueEmptyError(DvcException):
  class ExpNotStartedError (line 99) | class ExpNotStartedError(DvcException):
    method __init__ (line 100) | def __init__(self, name: str):

FILE: dvc/repo/experiments/executor/base.py
  class ExecutorResult (line 47) | class ExecutorResult(NamedTuple):
  class TaskStatus (line 53) | class TaskStatus(IntEnum):
  class ExecutorInfo (line 64) | class ExecutorInfo:
    method from_dict (line 78) | def from_dict(cls, d):
    method asdict (line 83) | def asdict(self):
    method result (line 87) | def result(self) -> Optional["ExecutorResult"]:
    method dump_json (line 96) | def dump_json(self, filename: str):
    method load_json (line 104) | def load_json(cls, filename: str) -> "ExecutorInfo":
  class BaseExecutor (line 110) | class BaseExecutor(ABC):
    method __init__ (line 127) | def __init__(
    method init_git (line 149) | def init_git(
    method git_url (line 164) | def git_url(self) -> str:
    method init_cache (line 168) | def init_cache(self, repo: "Repo", rev: str, run_cache: bool = True):
    method collect_cache (line 172) | def collect_cache(
    method info (line 178) | def info(self) -> "ExecutorInfo":
    method from_info (line 202) | def from_info(cls, info: "ExecutorInfo") -> "Self":
    method from_stash_entry (line 223) | def from_stash_entry(
    method _from_stash_entry (line 232) | def _from_stash_entry(
    method _get_top_level_paths (line 250) | def _get_top_level_paths(cls, repo: "Repo") -> list["str"]:
    method save (line 260) | def save(
    method hash_exp (line 340) | def hash_exp(stages: Iterable["PipelineStage"]) -> str:
    method cleanup (line 349) | def cleanup(self, infofile: Optional[str] = None):
    method pack_repro_args (line 358) | def pack_repro_args(path, *args, fs=None, extra=None, **kwargs):
    method unpack_repro_args (line 374) | def unpack_repro_args(path):
    method fetch_exps (line 379) | def fetch_exps(
    method _validate_remotes (line 427) | def _validate_remotes(cls, dvc: "Repo", git_remote: Optional[str]):
    method reproduce (line 449) | def reproduce(
    method _repro_and_track (line 542) | def _repro_and_track(stage: "Stage", **kwargs) -> Optional["Stage"]:
    method _repro_commit (line 553) | def _repro_commit(
    method _repro_dvc (line 588) | def _repro_dvc(
    method _repro_args (line 669) | def _repro_args(cls, dvc):
    method auto_push (line 683) | def auto_push(cls, dvc: "Repo") -> Iterator[None]:
    method _auto_push (line 704) | def _auto_push(
    method commit (line 739) | def commit(
    method _raise_ref_conflict (line 788) | def _raise_ref_conflict(scm, ref, new_rev):
    method _set_log_level (line 798) | def _set_log_level(level: Optional[int]) -> AbstractContextManager[None]:
    method _copy_path (line 804) | def _copy_path(src, dst):
    method set_temp_refs (line 818) | def set_temp_refs(self, scm: "Git", temp_dict: dict[str, str]):

FILE: dvc/repo/experiments/executor/local.py
  class BaseLocalExecutor (line 36) | class BaseLocalExecutor(BaseExecutor):
    method git_url (line 40) | def git_url(self) -> str:
    method scm (line 47) | def scm(self) -> Union["Git", "NoSCM"]:
    method cleanup (line 50) | def cleanup(self, infofile: Optional[str] = None):
    method collect_cache (line 55) | def collect_cache(
  class TempDirExecutor (line 61) | class TempDirExecutor(BaseLocalExecutor):
    method init_git (line 71) | def init_git(
    method _update_config (line 137) | def _update_config(self, update):
    method _update_git_config (line 149) | def _update_git_config(self, update):
    method init_cache (line 161) | def init_cache(
    method cleanup (line 170) | def cleanup(self, infofile: Optional[str] = None):
    method from_stash_entry (line 176) | def from_stash_entry(
  class WorkspaceExecutor (line 196) | class WorkspaceExecutor(BaseLocalExecutor):
    method __init__ (line 197) | def __init__(self, *args, **kwargs):
    method from_stash_entry (line 202) | def from_stash_entry(cls, repo: "Repo", entry: "ExpStashEntry", **kwar...
    method init_git (line 211) | def init_git(
    method init_cache (line 244) | def init_cache(self, repo: "Repo", rev: str, run_cache: bool = True):
    method cleanup (line 247) | def cleanup(self, infofile: Optional[str] = None):

FILE: dvc/repo/experiments/ls.py
  function ls (line 16) | def ls(

FILE: dvc/repo/experiments/pull.py
  function pull (line 22) | def pull(  # noqa: C901
  function _pull (line 80) | def _pull(
  function _pull_cache (line 105) | def _pull_cache(

FILE: dvc/repo/experiments/push.py
  class UploadError (line 26) | class UploadError(DvcException):
    method __init__ (line 27) | def __init__(self, msg, result):
  function notify_refs_to_studio (line 32) | def notify_refs_to_studio(
  function exp_refs_from_names (line 61) | def exp_refs_from_names(scm: "Git", exp_names: list[str]) -> set["ExpRef...
  function exp_refs_from_rev (line 76) | def exp_refs_from_rev(scm: "Git", rev: list[str], num: int = 1) -> set["...
  function push (line 88) | def push(
  function _push (line 138) | def _push(
  function _push_cache (line 170) | def _push_cache(

FILE: dvc/repo/experiments/queue/base.py
  class QueueEntry (line 41) | class QueueEntry:  # noqa: PLW1641
    method __eq__ (line 51) | def __eq__(self, other: object):
    method asdict (line 60) | def asdict(self) -> dict[str, Any]:
    method from_dict (line 64) | def from_dict(cls, d: dict[str, Any]) -> "QueueEntry":
  class QueueGetResult (line 68) | class QueueGetResult(NamedTuple):
  class QueueDoneResult (line 73) | class QueueDoneResult(NamedTuple):
  class ExpRefAndQueueEntry (line 78) | class ExpRefAndQueueEntry(NamedTuple):
  class BaseStashQueue (line 83) | class BaseStashQueue(ABC):
    method __init__ (line 89) | def __init__(self, repo: "Repo", ref: str, failed_ref: Optional[str] =...
    method scm (line 103) | def scm(self) -> "Git":
    method stash (line 110) | def stash(self) -> ExpStash:
    method failed_stash (line 114) | def failed_stash(self) -> Optional[ExpStash]:
    method pid_dir (line 118) | def pid_dir(self) -> str:
    method args_file (line 123) | def args_file(self) -> str:
    method put (line 128) | def put(self, *args, **kwargs) -> QueueEntry:
    method get (line 132) | def get(self) -> QueueGetResult:
    method remove (line 135) | def remove(
    method clear (line 167) | def clear(self, **kwargs) -> list[str]:
    method status (line 175) | def status(self) -> list[dict[str, Any]]:
    method iter_queued (line 221) | def iter_queued(self) -> Generator[QueueEntry, None, None]:
    method iter_active (line 225) | def iter_active(self) -> Generator[QueueEntry, None, None]:
    method iter_done (line 229) | def iter_done(self) -> Generator[QueueDoneResult, None, None]:
    method iter_success (line 233) | def iter_success(self) -> Generator[QueueDoneResult, None, None]:
    method iter_failed (line 237) | def iter_failed(self) -> Generator[QueueDoneResult, None, None]:
    method reproduce (line 241) | def reproduce(
    method get_result (line 247) | def get_result(self, entry: QueueEntry) -> Optional["ExecutorResult"]:
    method kill (line 254) | def kill(self, revs: str) -> None:
    method shutdown (line 262) | def shutdown(self, kill: bool = False):
    method logs (line 272) | def logs(self, rev: str, encoding: Optional[str] = None, follow: bool ...
    method _stash_exp (line 283) | def _stash_exp(
    method _stash_commit_deps (line 376) | def _stash_commit_deps(self, *args, **kwargs):
    method _stash_msg (line 397) | def _stash_msg(
    method _pack_args (line 410) | def _pack_args(self, *args, **kwargs) -> None:
    method _format_new_params_msg (line 436) | def _format_new_params_msg(new_params, config_path):
    method _update_params (line 446) | def _update_params(self, params: dict[str, list[str]], no_hydra: bool ...
    method get_stash_entry (line 495) | def get_stash_entry(exp: "Experiments", queue_entry: QueueEntry) -> "E...
    method init_executor (line 508) | def init_executor(
    method get_infofile_path (line 534) | def get_infofile_path(self, name: str) -> str:
    method collect_git (line 543) | def collect_git(
    method collect_executor (line 572) | def collect_executor(
    method match_queue_entry_by_name (line 585) | def match_queue_entry_by_name(
    method stash_failed (line 622) | def stash_failed(self, entry: QueueEntry) -> None:
    method collect_active_data (line 645) | def collect_active_data(
    method collect_queued_data (line 665) | def collect_queued_data(
    method collect_failed_data (line 682) | def collect_failed_data(
    method active_repo (line 698) | def active_repo(self, name: str) -> "Repo":

FILE: dvc/repo/experiments/queue/celery.py
  class _MessageEntry (line 46) | class _MessageEntry(NamedTuple):
  class _TaskEntry (line 51) | class _TaskEntry(NamedTuple):
  class LocalCeleryQueue (line 56) | class LocalCeleryQueue(BaseStashQueue):
    method wdir (line 65) | def wdir(self) -> str:
    method celery (line 70) | def celery(self) -> "FSApp":
    method proc (line 88) | def proc(self) -> "ProcessManager":
    method worker (line 94) | def worker(self) -> "TemporaryWorker":
    method _spawn_worker (line 120) | def _spawn_worker(self, num: int = 1):
    method start_workers (line 146) | def start_workers(self, count: int) -> int:
    method put (line 171) | def put(
    method get (line 188) | def get(self) -> "QueueGetResult":
    method iter_queued (line 191) | def iter_queued(self) -> Generator[QueueEntry, None, None]:
    method _iter_queued (line 195) | def _iter_queued(self) -> Generator[_MessageEntry, None, None]:
    method _iter_processed (line 204) | def _iter_processed(self) -> Generator[_MessageEntry, None, None]:
    method _iter_active_tasks (line 212) | def _iter_active_tasks(self) -> Generator[_TaskEntry, None, None]:
    method _iter_done_tasks (line 220) | def _iter_done_tasks(self) -> Generator[_TaskEntry, None, None]:
    method iter_active (line 228) | def iter_active(self) -> Generator[QueueEntry, None, None]:
    method iter_done (line 232) | def iter_done(self) -> Generator[QueueDoneResult, None, None]:
    method iter_success (line 245) | def iter_success(self) -> Generator[QueueDoneResult, None, None]:
    method iter_failed (line 250) | def iter_failed(self) -> Generator[QueueDoneResult, None, None]:
    method reproduce (line 255) | def reproduce(
    method _load_info (line 260) | def _load_info(self, rev: str) -> ExecutorInfo:
    method _get_done_result (line 264) | def _get_done_result(
    method get_result (line 285) | def get_result(
    method wait (line 302) | def wait(self, revs: Collection[str], **kwargs) -> None:
    method wait_for_start (line 317) | def wait_for_start(self, entry: QueueEntry, sleep_interval: float = 0....
    method _get_running_task_ids (line 324) | def _get_running_task_ids(self) -> set[str]:
    method _try_to_kill_tasks (line 333) | def _try_to_kill_tasks(
    method _mark_inactive_tasks_failure (line 348) | def _mark_inactive_tasks_failure(
    method _kill_entries (line 374) | def _kill_entries(self, entries: dict[QueueEntry, str], force: bool) -...
    method kill (line 383) | def kill(self, revs: Collection[str], force: bool = False) -> None:
    method shutdown (line 402) | def shutdown(self, kill: bool = False):
    method follow (line 411) | def follow(self, entry: QueueEntry, encoding: Optional[str] = None):
    method logs (line 415) | def logs(self, rev: str, encoding: Optional[str] = None, follow: bool ...
    method worker_status (line 450) | def worker_status(self) -> dict[str, list[dict]]:
    method clear (line 456) | def clear(self, *args, **kwargs):
    method remove (line 461) | def remove(self, *args, **kwargs):
    method get_ref_and_entry_by_names (line 466) | def get_ref_and_entry_by_names(
    method collect_active_data (line 494) | def collect_active_data(
    method collect_queued_data (line 546) | def collect_queued_data(
    method collect_failed_data (line 574) | def collect_failed_data(
    method collect_success_executors (line 613) | def collect_success_executors(

FILE: dvc/repo/experiments/queue/exceptions.py
  class CannotKillTasksError (line 6) | class CannotKillTasksError(DvcException):
    method __init__ (line 7) | def __init__(self, revs: Collection[str]):

FILE: dvc/repo/experiments/queue/remove.py
  function remove_tasks (line 13) | def remove_tasks(  # noqa: C901, PLR0912
  function _get_names (line 61) | def _get_names(entries: Iterable[Union["QueueEntry", "QueueDoneResult"]]):
  function celery_clear (line 75) | def celery_clear(
  function celery_remove (line 112) | def celery_remove(self: "LocalCeleryQueue", revs: Collection[str]) -> li...

FILE: dvc/repo/experiments/queue/tasks.py
  function setup_exp (line 19) | def setup_exp(entry_dict: dict[str, Any]) -> "BaseExecutor":
  function collect_exp (line 46) | def collect_exp(
  function cleanup_exp (line 83) | def cleanup_exp(executor: TempDirExecutor, infofile: str) -> None:
  function run_exp (line 94) | def run_exp(

FILE: dvc/repo/experiments/queue/tempdir.py
  class TempDirQueue (line 32) | class TempDirQueue(WorkspaceQueue):
    method _standalone_tmp_dir (line 38) | def _standalone_tmp_dir(self) -> str:
    method pid_dir (line 43) | def pid_dir(self) -> str:
    method proc (line 47) | def proc(self) -> "ProcessManager":
    method get (line 52) | def get(self) -> QueueGetResult:
    method iter_active (line 75) | def iter_active(self) -> Generator[QueueEntry, None, None]:
    method _reproduce_entry (line 96) | def _reproduce_entry(
    method collect_executor (line 135) | def collect_executor(
    method collect_active_data (line 142) | def collect_active_data(

FILE: dvc/repo/experiments/queue/utils.py
  function get_remote_executor_refs (line 19) | def get_remote_executor_refs(scm: "Git", remote_url: str) -> list[str]:
  function fetch_running_exp_from_temp_dir (line 32) | def fetch_running_exp_from_temp_dir(

FILE: dvc/repo/experiments/queue/workspace.py
  class WorkspaceQueue (line 32) | class WorkspaceQueue(BaseStashQueue):
    method put (line 35) | def put(self, *args, **kwargs) -> QueueEntry:
    method get (line 40) | def get(self) -> QueueGetResult:
    method iter_queued (line 58) | def iter_queued(self) -> Generator[QueueEntry, None, None]:
    method iter_active (line 71) | def iter_active(self) -> Generator[QueueEntry, None, None]:
    method iter_done (line 76) | def iter_done(self) -> Generator["QueueDoneResult", None, None]:
    method iter_failed (line 79) | def iter_failed(self) -> Generator["QueueDoneResult", None, None]:
    method iter_success (line 82) | def iter_success(self) -> Generator["QueueDoneResult", None, None]:
    method reproduce (line 85) | def reproduce(
    method _reproduce_entry (line 101) | def _reproduce_entry(
    method _proc_info_path (line 141) | def _proc_info_path(self, name: str) -> str:
    method _active_pid (line 145) | def _active_pid(self) -> Optional[int]:
    method collect_executor (line 162) | def collect_executor(
    method get_result (line 176) | def get_result(self, entry: QueueEntry) -> Optional["ExecutorResult"]:
    method kill (line 179) | def kill(self, revs: Collection[str]) -> None:
    method shutdown (line 182) | def shutdown(self, kill: bool = False):
    method logs (line 185) | def logs(self, rev: str, encoding: Optional[str] = None, follow: bool ...
    method get_running_exp (line 188) | def get_running_exp(self) -> Optional[str]:
    method collect_active_data (line 201) | def collect_active_data(
    method collect_queued_data (line 243) | def collect_queued_data(
    method collect_failed_data (line 250) | def collect_failed_data(

FILE: dvc/repo/experiments/refs.py
  class ExpRefInfo (line 32) | class ExpRefInfo:
    method __init__ (line 35) | def __init__(self, baseline_sha: str, name: Optional[str] = None):
    method __str__ (line 39) | def __str__(self):
    method __repr__ (line 42) | def __repr__(self):
    method parts (line 48) | def parts(self):
    method from_ref (line 56) | def from_ref(cls, ref: str):
    method __eq__ (line 71) | def __eq__(self, other):
    method __hash__ (line 77) | def __hash__(self):

FILE: dvc/repo/experiments/remove.py
  function remove (line 25) | def remove(  # noqa: C901, PLR0912
  function _resolve_exp_by_baseline (line 101) | def _resolve_exp_by_baseline(
  function _remove_commited_exps (line 119) | def _remove_commited_exps(

FILE: dvc/repo/experiments/rename.py
  function rename (line 19) | def rename(
  function _rename_exp (line 56) | def _rename_exp(scm: "Git", ref_info: "ExpRefInfo", new_name: str):

FILE: dvc/repo/experiments/run.py
  function run (line 15) | def run(  # noqa: C901, PLR0912

FILE: dvc/repo/experiments/save.py
  function save (line 16) | def save(

FILE: dvc/repo/experiments/serialize.py
  class DeserializeError (line 17) | class DeserializeError(DvcException):
  class _ISOEncoder (line 21) | class _ISOEncoder(json.JSONEncoder):
    method default (line 22) | def default(self, o: object) -> Any:
  class SerializableExp (line 29) | class SerializableExp:
    method from_repo (line 41) | def from_repo(
    method dumpd (line 95) | def dumpd(self) -> dict[str, Any]:
    method as_bytes (line 98) | def as_bytes(self) -> bytes:
    method from_bytes (line 102) | def from_bytes(cls, data: bytes):
    method contains_error (line 116) | def contains_error(self) -> bool:
  class ExpDep (line 123) | class ExpDep:
  class ExpOut (line 130) | class ExpOut:
  class SerializableError (line 139) | class SerializableError:
    method dumpd (line 143) | def dumpd(self) -> dict[str, Any]:
    method as_bytes (line 146) | def as_bytes(self) -> bytes:
    method from_bytes (line 150) | def from_bytes(cls, data: bytes):
  class ExpState (line 159) | class ExpState:
    method dumpd (line 168) | def dumpd(self) -> dict[str, Any]:
  class ExpRange (line 173) | class ExpRange:
    method __len__ (line 178) | def __len__(self) -> int:
    method __iter__ (line 181) | def __iter__(self) -> Iterator["ExpState"]:
    method __getitem__ (line 184) | def __getitem__(self, index: int) -> "ExpState":
    method dumpd (line 187) | def dumpd(self) -> dict[str, Any]:
  class LocalExpExecutor (line 192) | class LocalExpExecutor:
  class ExpExecutor (line 201) | class ExpExecutor:

FILE: dvc/repo/experiments/show.py
  function show (line 24) | def show(
  function tabulate (line 52) | def tabulate(
  function _build_rows (line 112) | def _build_rows(
  function _sort_column (line 165) | def _sort_column(  # noqa: C901
  function _sort_exp (line 203) | def _sort_exp(
  function _exp_range_rows (line 223) | def _exp_range_rows(
  function _data_cells (line 254) | def _data_cells(
  function format_time (line 301) | def format_time(
  class _DataNames (line 318) | class _DataNames(NamedTuple):
    method sorted_deps (line 326) | def sorted_deps(self):
    method update (line 329) | def update(self, other: "_DataNames"):
  function _collect_names (line 344) | def _collect_names(exp_states: Iterable["ExpState"]) -> _DataNames:
  function _normalize_headers (line 366) | def _normalize_headers(

FILE: dvc/repo/experiments/stash.py
  class ExpStashEntry (line 18) | class ExpStashEntry(NamedTuple):
  class ExpStash (line 36) | class ExpStash(Stash):
    method stash_revs (line 46) | def stash_revs(self) -> dict[str, ExpStashEntry]:
    method format_message (line 62) | def format_message(
    method remove_revs (line 75) | def remove_revs(self, stash_revs: Iterable[ExpStashEntry]):
  class ApplyStashEntry (line 88) | class ApplyStashEntry(NamedTuple):
  class ApplyStash (line 104) | class ApplyStash(Stash):
    method stash_revs (line 114) | def stash_revs(self) -> dict[str, ApplyStashEntry]:
    method format_message (line 126) | def format_message(cls, head_rev: str, rev: str, name: Optional[str] =...
    method preserve_workspace (line 132) | def preserve_workspace(
    method _apply_difference (line 150) | def _apply_difference(self, stash_rev: str, rev: str):
    method _copy_difference (line 162) | def _copy_difference(self, left_rev: str, right_rev: str):
    method revert_workspace (line 174) | def revert_workspace(self):

FILE: dvc/repo/experiments/utils.py
  function get_exp_rwlock (line 33) | def get_exp_rwlock(
  function unlocked_repo (line 56) | def unlocked_repo(f):
  function _ignore_ref (line 70) | def _ignore_ref(ref: str) -> bool:
  function exp_refs (line 77) | def exp_refs(
  function exp_refs_by_rev (line 92) | def exp_refs_by_rev(scm: "Git", rev: str) -> Generator[ExpRefInfo, None,...
  function exp_refs_by_baseline (line 99) | def exp_refs_by_baseline(
  function iter_remote_refs (line 113) | def iter_remote_refs(scm: "Git", url: str, base: Optional[str] = None, *...
  function push_refspec (line 126) | def push_refspec(
  function remote_exp_refs (line 166) | def remote_exp_refs(scm: "Git", url: str) -> Generator[ExpRefInfo, None,...
  function exp_refs_by_names (line 174) | def exp_refs_by_names(
  function remote_exp_refs_by_baseline (line 187) | def remote_exp_refs_by_baseline(
  function exp_commits (line 198) | def exp_commits(
  function remove_exp_refs (line 209) | def remove_exp_refs(scm: "Git", ref_infos: Iterable[ExpRefInfo]):
  function fix_exp_head (line 222) | def fix_exp_head(scm: Union["Git", "NoSCM"], ref: Optional[str]) -> Opti...
  function resolve_name (line 230) | def resolve_name(
  function check_ref_format (line 265) | def check_ref_format(scm: "Git", ref: ExpRefInfo):
  function fetch_all_exps (line 274) | def fetch_all_exps(scm: "Git", url: str, progress: Optional[Callable] = ...
  function gen_random_name (line 283) | def gen_random_name():
  function get_random_exp_name (line 296) | def get_random_exp_name(scm, baseline_rev):
  function to_studio_params (line 304) | def to_studio_params(dvc_params):
  function describe (line 335) | def describe(

FILE: dvc/repo/fetch.py
  function _make_index_onerror (line 19) | def _make_index_onerror(onerror, rev):
  function _collect_indexes (line 28) | def _collect_indexes(  # noqa: PLR0913
  function fetch (line 101) | def fetch(  # noqa: PLR0913
  function _log_unversioned (line 210) | def _log_unversioned(data: list["DataIndex"]) -> tuple[list["DataIndex"]...

FILE: dvc/repo/freeze.py
  function _set (line 10) | def _set(repo: "Repo", target, frozen):
  function freeze (line 18) | def freeze(repo, target):
  function unfreeze (line 22) | def unfreeze(repo, target):

FILE: dvc/repo/gc.py
  function _validate_args (line 15) | def _validate_args(**kwargs):
  function _used_obj_ids_not_in_remote (line 37) | def _used_obj_ids_not_in_remote(
  function gc (line 55) | def gc(  # noqa: C901, PLR0912, PLR0913
  function _merge_remote_obj_ids (line 157) | def _merge_remote_obj_ids(

FILE: dvc/repo/get.py
  class GetDVCFileError (line 15) | class GetDVCFileError(DvcException):
    method __init__ (line 16) | def __init__(self):
  function get (line 22) | def get(

FILE: dvc/repo/get_url.py
  function get_url (line 9) | def get_url(url, out=None, *, fs_config=None, jobs=None, force=False, co...

FILE: dvc/repo/graph.py
  function check_acyclic (line 15) | def check_acyclic(graph: "DiGraph") -> None:
  function get_pipeline (line 33) | def get_pipeline(pipelines, node):
  function get_pipelines (line 42) | def get_pipelines(graph: "DiGraph"):
  function get_subgraph_of_nodes (line 48) | def get_subgraph_of_nodes(
  function collect_pipeline (line 63) | def collect_pipeline(stage: "Stage", graph: "DiGraph") -> Iterator["Stag...
  function collect_inside_path (line 73) | def collect_inside_path(path: str, graph: "DiGraph") -> list["Stage"]:
  function build_graph (line 80) | def build_graph(stages, outs_trie=None):
  function build_outs_graph (line 160) | def build_outs_graph(graph, outs_trie):

FILE: dvc/repo/imp.py
  function imp (line 1) | def imp(

FILE: dvc/repo/imp_db.py
  function imp_db (line 17) | def imp_db(

FILE: dvc/repo/imp_url.py
  function imp_url (line 17) | def imp_url(  # noqa: PLR0913

FILE: dvc/repo/index.py
  function log_walk (line 39) | def log_walk(seq):
  function collect_files (line 47) | def collect_files(
  function _load_data_from_tree (line 110) | def _load_data_from_tree(index, prefix, ws, key, tree, hash_name):
  function _load_data_from_outs (line 132) | def _load_data_from_outs(index, prefix, outs):
  function _load_storage_from_import (line 190) | def _load_storage_from_import(storage_map, key, out):
  function _load_storage_from_out (line 222) | def _load_storage_from_out(storage_map, key, out):
  function _build_tree_from_outs (line 259) | def _build_tree_from_outs(outs):
  class Index (line 286) | class Index:
    method __init__ (line 287) | def __init__(
    method rev (line 309) | def rev(self) -> Optional[str]:
    method __repr__ (line 314) | def __repr__(self) -> str:
    method from_repo (line 319) | def from_repo(
    method from_file (line 330) | def from_file(cls, repo: "Repo", path: str) -> "Index":
    method update (line 347) | def update(self, stages: Iterable["Stage"]) -> "Self":
    method from_indexes (line 363) | def from_indexes(cls, repo, idxs: Iterable["Self"]) -> "Self":
    method outs_trie (line 393) | def outs_trie(self) -> "Trie":
    method outs_graph (line 399) | def outs_graph(self) -> "DiGraph":
    method graph (line 405) | def graph(self) -> "DiGraph":
    method check_graph (line 410) | def check_graph(self) -> None:
    method params (line 415) | def params(self) -> Iterator["ParamsDependency"]:
    method outs (line 423) | def outs(self) -> Iterator["Output"]:
    method out_data_keys (line 428) | def out_data_keys(self) -> dict[str, set["DataIndexKey"]]:
    method decorated_outs (line 444) | def decorated_outs(self) -> Iterator["Output"]:
    method metrics (line 450) | def metrics(self) -> Iterator["Output"]:
    method plots (line 456) | def plots(self) -> Iterator["Output"]:
    method deps (line 462) | def deps(self) -> Iterator["Dependency"]:
    method _plot_sources (line 467) | def _plot_sources(self) -> list[str]:
    method data_keys (line 482) | def data_keys(self) -> dict[str, set["DataIndexKey"]]:
    method metric_keys (line 498) | def metric_keys(self) -> dict[str, set["DataIndexKey"]]:
    method param_keys (line 519) | def param_keys(self) -> dict[str, set["DataIndexKey"]]:
    method plot_keys (line 537) | def plot_keys(self) -> dict[str, set["DataIndexKey"]]:
    method data_tree (line 556) | def data_tree(self):
    method data (line 560) | def data(self) -> "dict[str, DataIndex]":
    method _hash_targets (line 594) | def _hash_targets(targets: Iterable[Optional[str]], **kwargs: Any) -> ...
    method collect_targets (line 603) | def collect_targets(
    method used_objs (line 630) | def used_objs(
    method _types_filter (line 653) | def _types_filter(self, types, out):
    method targets_view (line 673) | def targets_view(
  class _DataPrefixes (line 718) | class _DataPrefixes(NamedTuple):
  class IndexView (line 723) | class IndexView:
    method __init__ (line 726) | def __init__(
    method repo (line 740) | def repo(self) -> "Repo":
    method deps (line 744) | def deps(self) -> Iterator["Dependency"]:
    method index (line 749) | def index(self) -> "Index":
    method _filtered_outs (line 753) | def _filtered_outs(self) -> Iterator[tuple["Output", Optional[str]]]:
    method outs (line 760) | def outs(self) -> Iterator["Output"]:
    method out_data_keys (line 764) | def out_data_keys(self) -> dict[str, set["DataIndexKey"]]:
    method _data_prefixes (line 780) | def _data_prefixes(self) -> dict[str, "_DataPrefixes"]:
    method data_keys (line 797) | def data_keys(self) -> dict[str, set["DataIndexKey"]]:
    method data_tree (line 812) | def data_tree(self):
    method data (line 816) | def data(self) -> dict[str, Union["DataIndex", "DataIndexView"]]:
  function build_data_index (line 837) | def build_data_index(  # noqa: C901, PLR0912
  function _get_entry_hash_name (line 928) | def _get_entry_hash_name(
  function index_from_targets (line 946) | def index_from_targets(

FILE: dvc/repo/init.py
  function init (line 15) | def init(root_dir=os.curdir, no_scm=False, force=False, subdir=False):  ...

FILE: dvc/repo/install.py
  function pre_commit_install (line 11) | def pre_commit_install(scm: "Git") -> None:
  function install_hooks (line 49) | def install_hooks(scm: "Git") -> None:
  function install (line 68) | def install(self: "Repo", use_pre_commit_tool: bool = False) -> None:

FILE: dvc/repo/ls.py
  function _open_repo (line 8) | def _open_repo(
  function _adapt_info (line 35) | def _adapt_info(info: dict[str, Any]) -> dict[str, Any]:
  function ls (line 46) | def ls(
  function ls_tree (line 88) | def ls_tree(
  function _ls (line 107) | def _ls(
  function _ls_tree (line 150) | def _ls_tree(fs, path, maxdepth=None, _info=None, **fs_kwargs):

FILE: dvc/repo/ls_url.py
  function ls_url (line 7) | def ls_url(url, *, fs_config=None, recursive=False, maxdepth=None, confi...

FILE: dvc/repo/metrics/__init__.py
  class Metrics (line 1) | class Metrics:
    method __init__ (line 2) | def __init__(self, repo):
    method show (line 5) | def show(self, *args, **kwargs):
    method diff (line 10) | def diff(self, *args, **kwargs):

FILE: dvc/repo/metrics/diff.py
  class DiffResult (line 14) | class DiffResult(TypedDict, total=False):
  function _diff (line 19) | def _diff(
  function diff (line 50) | def diff(

FILE: dvc/repo/metrics/show.py
  function _collect_top_level_metrics (line 25) | def _collect_top_level_metrics(repo: "Repo") -> Iterator[str]:
  function _extract_metrics (line 34) | def _extract_metrics(metrics, path: str):
  function _read_metric (line 57) | def _read_metric(fs: "FileSystem", path: str, **load_kwargs) -> Any:
  function _read_metrics (line 63) | def _read_metrics(
  function metrics_from_target (line 74) | def metrics_from_target(repo: "Repo", targets: list[str]) -> Iterator["O...
  function _collect_metrics (line 80) | def _collect_metrics(
  class FileResult (line 110) | class FileResult(TypedDict, total=False):
  class Result (line 115) | class Result(TypedDict, total=False):
  function try_expand_paths (line 120) | def try_expand_paths(fs: "FileSystem", paths: Iterable[str]) -> Iterator...
  function to_relpath (line 136) | def to_relpath(fs: "FileSystem", root_dir: str, d: Result) -> Result:
  function _gather_metrics (line 147) | def _gather_metrics(
  function _hide_workspace (line 177) | def _hide_workspace(
  function show (line 194) | def show(

FILE: dvc/repo/move.py
  function _expand_target_path (line 12) | def _expand_target_path(from_path, to_path):
  function move (line 20) | def move(self: "Repo", from_path, to_path):

FILE: dvc/repo/open_repo.py
  function _external_repo (line 21) | def _external_repo(url, rev: Optional[str] = None, **kwargs) -> "Repo":
  function open_repo (line 46) | def open_repo(url, *args, **kwargs):
  function erepo_factory (line 63) | def erepo_factory(url, root_dir, cache_config):
  function _get_cache_dir (line 82) | def _get_cache_dir(url):
  function clean_repos (line 90) | def clean_repos():
  function _get_remote_config (line 100) | def _get_remote_config(url):
  function _cached_clone (line 130) | def _cached_clone(url, rev):
  function _clone_default_branch (line 155) | def _clone_default_branch(url, rev):
  function _pull (line 214) | def _pull(git: "Git", unshallow: bool = False):
  function _merge_upstream (line 222) | def _merge_upstream(git: "Git"):
  function _remove (line 234) | def _remove(path):

FILE: dvc/repo/params/__init__.py
  class Params (line 1) | class Params:
    method __init__ (line 2) | def __init__(self, repo):
    method show (line 5) | def show(self, *args, **kwargs):
    method diff (line 10) | def diff(self, *args, **kwargs):

FILE: dvc/repo/params/diff.py
  function diff (line 8) | def diff(

FILE: dvc/repo/params/show.py
  function _collect_top_level_params (line 21) | def _collect_top_level_params(repo: "Repo") -> Iterator[str]:
  function params_from_target (line 30) | def params_from_target(
  function _collect_params (line 38) | def _collect_params(
  function _collect_vars (line 84) | def _collect_vars(repo, params, stages=None) -> dict:
  function _read_params (line 105) | def _read_params(
  function _gather_params (line 116) | def _gather_params(
  function show (line 161) | def show(

FILE: dvc/repo/plots/__init__.py
  function onerror_collect (line 34) | def onerror_collect(result: dict, exception: Exception, *args, **kwargs):
  class PlotMetricTypeError (line 42) | class PlotMetricTypeError(DvcException):
    method __init__ (line 43) | def __init__(self, file):
  class NotAPlotError (line 50) | class NotAPlotError(DvcException):
    method __init__ (line 51) | def __init__(self, out):
  class PropsNotFoundError (line 57) | class PropsNotFoundError(DvcException):
  function _unpack_dir_files (line 62) | def _unpack_dir_files(fs, path, **kwargs):
  class Plots (line 70) | class Plots:
    method __init__ (line 71) | def __init__(self, repo):
    method collect (line 74) | def collect(
    method _collect_data_sources (line 159) | def _collect_data_sources(
    method show (line 189) | def show(
    method diff (line 225) | def diff(self, *args, **kwargs):
    method _unset (line 231) | def _unset(out, props):
    method modify (line 241) | def modify(self, path, props=None, unset=None):
    method templates_dir (line 270) | def templates_dir(self) -> Optional[str]:
  function _is_plot (line 276) | def _is_plot(out: "Output") -> bool:
  function _resolve_data_sources (line 280) | def _resolve_data_sources(plots_data: dict, rev: str, cache: bool = False):
  function _collect_plots (line 317) | def _collect_plots(
  function _get_data_targets (line 338) | def _get_data_targets(definitions: dict):
  function infer_data_sources (line 348) | def infer_data_sources(plot_id, config=None):
  function _matches (line 363) | def _matches(targets, config_file, plot_id):
  function _normpath (line 377) | def _normpath(path):
  function _relpath (line 385) | def _relpath(fs, path):
  function _collect_output_plots (line 394) | def _collect_output_plots(repo, targets, props, onerror: Optional[Callab...
  function _id_is_path (line 414) | def _id_is_path(plot_props=None):
  function _adjust_sources (line 422) | def _adjust_sources(fs, plot_props, config_dir):
  function _resolve_definitions (line 438) | def _resolve_definitions(
  function _closest_parent (line 477) | def _closest_parent(fs, path, parents):
  function _collect_pipeline_files (line 486) | def _collect_pipeline_files(repo, targets: list[str], props, onerror=None):
  function _collect_definitions (line 508) | def _collect_definitions(
  function unpack_if_dir (line 531) | def unpack_if_dir(fs, path, props: dict[str, str], onerror: Optional[Cal...
  function parse (line 548) | def parse(fs, path, props=None, **fs_kwargs):
  function _plot_props (line 569) | def _plot_props(out: "Output") -> dict:
  function _load_sv (line 582) | def _load_sv(content, delimiter=",", header=True):

FILE: dvc/repo/plots/diff.py
  function _revisions (line 1) | def _revisions(repo, revs, experiment):
  function diff (line 14) | def diff(repo, *args, revs=None, experiment=False, **kwargs):

FILE: dvc/repo/pull.py
  function pull (line 10) | def pull(  # noqa: PLR0913

FILE: dvc/repo/push.py
  function _rebuild (line 13) | def _rebuild(idx, path, fs, cb):
  function _update_meta (line 37) | def _update_meta(index, **kwargs):
  function push (line 64) | def push(  # noqa: PLR0913

FILE: dvc/repo/remove.py
  function remove (line 20) | def remove(self: "Repo", target: str, outs: bool = False):

FILE: dvc/repo/reproduce.py
  function collect_stages (line 26) | def collect_stages(
  function get_subgraph (line 38) | def get_subgraph(
  function get_active_graph (line 56) | def get_active_graph(graph: "DiGraph") -> "DiGraph":
  function plan_repro (line 65) | def plan_repro(
  function _reproduce_stage (line 112) | def _reproduce_stage(stage: "Stage", **kwargs) -> Optional["Stage"]:
  function _get_upstream_downstream_nodes (line 123) | def _get_upstream_downstream_nodes(
  function _repr (line 131) | def _repr(stages: Iterable["Stage"]) -> str:
  function handle_error (line 135) | def handle_error(
  function _raise_error (line 152) | def _raise_error(exc: Optional[Exception], *stages: "Stage") -> NoReturn:
  function _reproduce (line 158) | def _reproduce(
  function reproduce (line 210) | def reproduce(

FILE: dvc/repo/run.py
  function run (line 16) | def run(

FILE: dvc/repo/scm_context.py
  class SCMContext (line 20) | class SCMContext:
    method __init__ (line 21) | def __init__(self, scm: "Base", config: Optional[dict[str, Any]] = Non...
    method track_file (line 32) | def track_file(self, paths: Union[str, Iterable[str], None] = None) ->...
    method _make_git_add_cmd (line 37) | def _make_git_add_cmd(paths: Union[str, Iterable[str]]) -> str:
    method add (line 41) | def add(self, paths: Union[str, Iterable[str]]) -> None:
    method track_changed_files (line 58) | def track_changed_files(self) -> None:
    method ignore (line 65) | def ignore(self, path: str) -> None:
    method ignore_remove (line 81) | def ignore_remove(self, path: str) -> None:
    method __call__ (line 97) | def __call__(
    method __enter__ (line 134) | def __enter__(self) -> "SCMContext":
    method __exit__ (line 138) | def __exit__(self, *exc_args) -> None:
  function scm_context (line 143) | def scm_context(method, autostage: Optional[bool] = None, quiet: Optiona...

FILE: dvc/repo/stage.py
  class StageInfo (line 30) | class StageInfo(NamedTuple):
  function _collect_with_deps (line 40) | def _collect_with_deps(stages: StageList, graph: "DiGraph") -> StageSet:
  function _maybe_collect_from_dvc_yaml (line 57) | def _maybe_collect_from_dvc_yaml(
  function _collect_specific_target (line 71) | def _collect_specific_target(
  function locked (line 100) | def locked(f):
  class StageLoad (line 109) | class StageLoad:
    method __init__ (line 110) | def __init__(self, repo: "Repo") -> None:
    method fs (line 114) | def fs(self):
    method add (line 118) | def add(
    method create (line 146) | def create(
    method from_target (line 201) | def from_target(
    method get_target (line 211) | def get_target(self, target: str) -> "Stage":
    method _get_filepath (line 219) | def _get_filepath(
    method _get_group_keys (line 230) | def _get_group_keys(stages: "StageLoader", group: str) -> Iterable[str]:
    method _get_keys (line 238) | def _get_keys(
    method load_all (line 253) | def load_all(
    method load_one (line 286) | def load_one(
    method load_file (line 303) | def load_file(self, path: Optional[str] = None) -> StageList:
    method load_glob (line 307) | def load_glob(self, path: str, expr: Optional[str] = None):
    method collect (line 311) | def collect(
    method collect_granular (line 361) | def collect_granular(

FILE: dvc/repo/status.py
  function _joint_status (line 11) | def _joint_status(pairs, check_updates=True):
  function _local_status (line 30) | def _local_status(
  function _cloud_status (line 42) | def _cloud_status(
  function status (line 107) | def status(  # noqa: PLR0913

FILE: dvc/repo/trie.py
  function build_outs_trie (line 7) | def build_outs_trie(stages):

FILE: dvc/repo/update.py
  function update (line 12) | def update(  # noqa: C901

FILE: dvc/repo/worktree.py
  function _meta_checksum (line 27) | def _meta_checksum(fs: "FileSystem", meta: "Meta") -> Any:
  function worktree_view_by_remotes (line 34) | def worktree_view_by_remotes(
  function worktree_view (line 63) | def worktree_view(
  function _get_remote (line 92) | def _get_remote(
  function _merge_push_meta (line 100) | def _merge_push_meta(  # noqa: C901
  function update_worktree_stages (line 161) | def update_worktree_stages(repo: "Repo", stage_infos: Iterable["StageInf...
  function _update_worktree_out (line 176) | def _update_worktree_out(
  function _fetch_out_changes (line 219) | def _fetch_out_changes(
  function _get_diff_indexes (line 255) | def _get_diff_indexes(
  function _update_out_meta (line 279) | def _update_out_meta(
  function _get_update_diff_index (line 305) | def _get_update_diff_index(

FILE: dvc/rwlock.py
  class RWLockFileCorruptedError (line 32) | class RWLockFileCorruptedError(DvcException):
    method __init__ (line 33) | def __init__(self, path):
  class RWLockFileFormatError (line 39) | class RWLockFileFormatError(DvcException):
    method __init__ (line 40) | def __init__(self, path):
  function _edit_rwlock (line 45) | def _edit_rwlock(lock_dir, fs, hardlink):
  function _infos_to_str (line 70) | def _infos_to_str(infos):
  function _check_blockers (line 76) | def _check_blockers(tmp_dir, lock, info, *, mode, waiters):  # noqa: C90...
  function _acquire_read (line 134) | def _acquire_read(lock, info, paths):
  function _acquire_write (line 150) | def _acquire_write(lock, info, paths):
  function _release_write (line 165) | def _release_write(lock, info, changes):
  function _release_read (line 175) | def _release_read(lock, info, changes):
  function rwlock (line 188) | def rwlock(tmp_dir, fs, cmd, read, write, hardlink):

FILE: dvc/schema.py
  function either_or (line 99) | def either_or(primary, fallback, fallback_includes=None):

FILE: dvc/scm.py
  class SCMError (line 26) | class SCMError(DvcException):
  class CloneError (line 30) | class CloneError(SCMError):
  class RevError (line 34) | class RevError(SCMError):
  class NoSCMError (line 38) | class NoSCMError(SCMError):
    method __init__ (line 39) | def __init__(self):
  class InvalidRemoteSCMRepo (line 48) | class InvalidRemoteSCMRepo(SCMError):  # noqa: N818
  class GitAuthError (line 52) | class GitAuthError(SCMError):
    method __init__ (line 53) | def __init__(self, reason: str) -> None:
  function map_scm_exception (line 59) | def map_scm_exception(with_cause: bool = False) -> Iterator[None]:
  function SCM (line 72) | def SCM(
  function SCM (line 81) | def SCM(
  function SCM (line 90) | def SCM(
  function SCM (line 98) | def SCM(root_dir, *, search_parent_directories=True, no_scm=False):
  class TqdmGit (line 117) | class TqdmGit(Tqdm):
    method __init__ (line 122) | def __init__(self, *args, **kwargs):
    method update_git (line 128) | def update_git(self, event: "GitProgressEvent") -> None:
  function clone (line 146) | def clone(url: str, to_path: str, **kwargs):
  function resolve_rev (line 161) | def resolve_rev(scm: Union["Git", "NoSCM"], rev: str) -> str:
  function _get_n_commits (line 185) | def _get_n_commits(scm: "Git", revs: list[str], num: int) -> list[str]:
  function iter_revs (line 204) | def iter_revs(
  function lfs_prefetch (line 267) | def lfs_prefetch(fs: "FileSystem", paths: list[str]):
  function add_no_submodules (line 294) | def add_no_submodules(

FILE: dvc/stage/__init__.py
  function loads_from (line 53) | def loads_from(
  class RawData (line 78) | class RawData:
  function create_stage (line 83) | def create_stage(cls: type[_T], repo, path, **kwargs) -> _T:
  function restore_fields (line 105) | def restore_fields(stage: "Stage") -> None:
  class Stage (line 129) | class Stage(params.StageParams):
    method __init__ (line 130) | def __init__(  # noqa: PLR0913
    method path (line 168) | def path(self) -> str:
    method path (line 172) | def path(self, path: str):
    method dvcfile (line 178) | def dvcfile(self) -> Union["ProjectFile", "SingleStageFile"]:
    method dvcfile (line 193) | def dvcfile(self, dvcfile: Union["ProjectFile", "SingleStageFile"]) ->...
    method params (line 197) | def params(self) -> list["ParamsDependency"]:
    method metrics (line 203) | def metrics(self) -> list["Output"]:
    method __repr__ (line 206) | def __repr__(self):
    method __str__ (line 209) | def __str__(self):
    method addressing (line 213) | def addressing(self) -> str:
    method __hash__ (line 220) | def __hash__(self):
    method __eq__ (line 223) | def __eq__(self, other):
    method path_in_repo (line 231) | def path_in_repo(self) -> str:
    method relpath (line 235) | def relpath(self) -> str:
    method is_data_source (line 239) | def is_data_source(self) -> bool:
    method is_callback (line 244) | def is_callback(self) -> bool:
    method is_import (line 252) | def is_import(self) -> bool:
    method is_partial_import (line 257) | def is_partial_import(self) -> bool:
    method is_repo_import (line 265) | def is_repo_import(self) -> bool:
    method is_db_import (line 274) | def is_db_import(self) -> bool:
    method is_versioned_import (line 283) | def is_versioned_import(self) -> bool:
    method short_description (line 292) | def short_description(self) -> Optional["str"]:
    method changed_deps (line 301) | def changed_deps(
    method _changed_deps (line 313) | def _changed_deps(
    method changed_outs (line 338) | def changed_outs(self, allow_missing: bool = False) -> bool:
    method changed_stage (line 354) | def changed_stage(self) -> bool:
    method changed (line 361) | def changed(
    method remove_outs (line 376) | def remove_outs(self, ignore_remove=False, force=False) -> None:
    method unprotect_outs (line 386) | def unprotect_outs(self) -> None:
    method ignore_remove_outs (line 390) | def ignore_remove_outs(self) -> None:
    method remove (line 395) | def remove(self, force=False, remove_outs=True, purge=True) -> None:
    method transfer (line 404) | def transfer(
    method reproduce (line 420) | def reproduce(self, interactive=False, **kwargs) -> Optional["Stage"]:
    method update (line 454) | def update(
    method reload (line 477) | def reload(self) -> "Stage":
    method dumpd (line 480) | def dumpd(self, **kwargs) -> dict[str, Any]:
    method compute_md5 (line 483) | def compute_md5(self) -> Optional[str]:
    method save (line 492) | def save(self, allow_missing: bool = False, run_cache: bool = True):
    method save_deps (line 502) | def save_deps(self, allow_missing=False):
    method save_outs (line 512) | def save_outs(self, allow_missing: bool = False):
    method ignore_outs (line 527) | def ignore_outs(self) -> None:
    method _changed_entries (line 532) | def _changed_entries(entries) -> list[str]:
    method _changed_stage_entry (line 535) | def _changed_stage_entry(self) -> str:
    method changed_entries (line 538) | def changed_entries(self) -> ChangedEntries:
    method commit (line 548) | def commit(self, allow_missing=False, filter_info=None, **kwargs) -> N...
    method add_outs (line 564) | def add_outs(self, filter_info=None, allow_missing: bool = False, **kw...
    method run (line 586) | def run(
    method _run_stage (line 627) | def _run_stage(self, dry, force, **kwargs) -> None:
    method _sync_import (line 631) | def _sync_import(self, dry, force, jobs, no_download) -> None:
    method _check_missing_outputs (line 635) | def _check_missing_outputs(self) -> None:
    method filter_outs (line 638) | def filter_outs(self, fs_path) -> Iterable["Output"]:
    method checkout (line 645) | def checkout(
    method _checkout (line 659) | def _checkout(out, **kwargs) -> tuple[Optional[str], list[str]]:
    method status (line 670) | def status(
    method _status (line 686) | def _status(entries: Iterable["Output"]) -> dict[str, str]:
    method _status_deps (line 694) | def _status_deps(self, ret) -> None:
    method _status_outs (line 699) | def _status_outs(self, ret, filter_info) -> None:
    method _status_always_changed (line 705) | def _status_always_changed(self, ret) -> None:
    method _status_stage (line 709) | def _status_stage(self, ret) -> None:
    method already_cached (line 713) | def already_cached(self) -> bool:
    method deps_cached (line 716) | def deps_cached(self) -> bool:
    method outs_cached (line 719) | def outs_cached(self) -> bool:
    method get_used_objs (line 725) | def get_used_objs(
    method _check_can_merge (line 739) | def _check_can_merge(stage, ancestor_out=None) -> None:
    method merge (line 751) | def merge(self, ancestor, other, allowed=None) -> None:
    method dump (line 773) | def dump(self, **kwargs) -> None:
  class PipelineStage (line 777) | class PipelineStage(Stage):
    method __init__ (line 778) | def __init__(self, *args, name: Optional[str] = None, **kwargs):
    method __eq__ (line 784) | def __eq__(self, other):
    method __hash__ (line 787) | def __hash__(self) -> int:
    method addressing (line 791) | def addressing(self):
    method reload (line 798) | def reload(self) -> Stage:
    method _status_stage (line 806) | def _status_stage(self, ret) -> None:
    method changed_stage (line 810) | def changed_stage(self) -> bool:
    method _changed_stage_entry (line 815) | def _changed_stage_entry(self) -> str:
    method merge (line 818) | def merge(self, ancestor, other, allowed=None):

FILE: dvc/stage/cache.py
  class RunCacheNotFoundError (line 19) | class RunCacheNotFoundError(DvcException):
    method __init__ (line 20) | def __init__(self, stage):
  class RunCacheNotSupported (line 24) | class RunCacheNotSupported(DvcException):
  function _get_cache_hash (line 28) | def _get_cache_hash(cache, key=False):
  function _can_hash (line 36) | def _can_hash(stage):
  function _get_stage_hash (line 59) | def _get_stage_hash(stage):
  class StageCache (line 66) | class StageCache:
    method __init__ (line 67) | def __init__(self, repo):
    method _get_cache_dir (line 71) | def _get_cache_dir(self, key):
    method _get_cache_path (line 74) | def _get_cache_path(self, key, value):
    method _load_cache (line 77) | def _load_cache(self, key, value):
    method _load (line 94) | def _load(self, stage):
    method _create_stage (line 116) | def _create_stage(self, cache, wdir=None):
    method _cache_type_copy (line 132) | def _cache_type_copy(self):
    method _uncached_outs (line 143) | def _uncached_outs(self, stage, cache):
    method save (line 157) | def save(self, stage):
    method restore (line 192) | def restore(self, stage, run_cache=True, pull=False, dry=False):  # no...
    method transfer (line 232) | def transfer(self, from_odb, to_odb, force=True):
    method push (line 275) | def push(self, remote: Optional[str], odb: Optional["ObjectDB"] = None):
    method pull (line 284) | def pull(self, remote: Optional[str], odb: Optional["ObjectDB"] = None):
    method get_used_objs (line 293) | def get_used_objs(self, used_run_cache, *args, **kwargs):

FILE: dvc/stage/decorators.py
  function rwlocked (line 7) | def rwlocked(call, read=None, write=None):
  function unlocked_repo (line 47) | def unlocked_repo(f):
  function relock_repo (line 61) | def relock_repo(f):

FILE: dvc/stage/exceptions.py
  class StageCmdFailedError (line 4) | class StageCmdFailedError(DvcException):
    method __init__ (line 5) | def __init__(self, cmd, status=None):
  class StageFileDoesNotExistError (line 12) | class StageFileDoesNotExistError(DvcException):
    method __init__ (line 16) | def __init__(self, fname, dvc_ignored=False):
  class StageFileAlreadyExistsError (line 22) | class StageFileAlreadyExistsError(DvcException):
  class StageFileIsNotDvcFileError (line 26) | class StageFileIsNotDvcFileError(DvcException):
    method __init__ (line 27) | def __init__(self, fname):
  class StageFileBadNameError (line 39) | class StageFileBadNameError(DvcException):
  class StagePathOutsideError (line 43) | class StagePathOutsideError(DvcException):
  class StagePathNotFoundError (line 47) | class StagePathNotFoundError(DvcException):
  class StagePathNotDirectoryError (line 51) | class StagePathNotDirectoryError(DvcException):
  class StageCommitError (line 55) | class StageCommitError(DvcException):
  class StageExternalOutputsError (line 59) | class StageExternalOutputsError(DvcException):
  class StageUpdateError (line 63) | class StageUpdateError(DvcException):
    method __init__ (line 64) | def __init__(self, path):
  class MissingDataSource (line 68) | class MissingDataSource(DvcException):
    method __init__ (line 69) | def __init__(self, missing_files):
  class DataSourceChanged (line 80) | class DataSourceChanged(DvcException):
    method __init__ (line 81) | def __init__(self, path: str):
  class StageNotFound (line 85) | class StageNotFound(DvcException, KeyError):  # noqa: N818
    method __init__ (line 86) | def __init__(self, file, name):
    method __str__ (line 91) | def __str__(self):
  class StageNameUnspecified (line 97) | class StageNameUnspecified(DvcException):
    method __init__ (line 98) | def __init__(self, file):
  class DuplicateStageName (line 105) | class DuplicateStageName(DvcException):
  class InvalidStageName (line 109) | class InvalidStageName(DvcException):
    method __init__ (line 110) | def __init__(self):

FILE: dvc/stage/imports.py
  function _update_import_on_remote (line 7) | def _update_import_on_remote(stage, remote, jobs):
  function update_import (line 20) | def update_import(
  function sync_import (line 47) | def sync_import(stage, dry=False, force=False, jobs=None, no_download=Fa...

FILE: dvc/stage/loader.py
  class StageLoader (line 27) | class StageLoader(Mapping):
    method __init__ (line 28) | def __init__(self, dvcfile: "ProjectFile", data, lockfile_data=None):
    method lockfile_data (line 39) | def lockfile_data(self) -> dict[str, Any]:
    method fill_from_lock (line 45) | def fill_from_lock(stage, lock_data=None):
    method load_stage (line 86) | def load_stage(cls, dvcfile: "ProjectFile", name, stage_data, lock_dat...
    method lockfile_needs_update (line 122) | def lockfile_needs_update(self):
    method __getitem__ (line 129) | def __getitem__(self, name):
    method __iter__ (line 158) | def __iter__(self):
    method __len__ (line 161) | def __len__(self):
    method __contains__ (line 164) | def __contains__(self, name):
    method is_foreach_or_matrix_generated (line 167) | def is_foreach_or_matrix_generated(self, name: str) -> bool:
  class SingleStageLoader (line 174) | class SingleStageLoader(Mapping):
    method __init__ (line 175) | def __init__(
    method __getitem__ (line 185) | def __getitem__(self, item):
    method load_stage (line 195) | def load_stage(
    method __iter__ (line 210) | def __iter__(self):
    method __contains__ (line 213) | def __contains__(self, item):
    method __len__ (line 216) | def __len__(self):

FILE: dvc/stage/params.py
  class StageParams (line 1) | class StageParams:

FILE: dvc/stage/run.py
  function _fish_supports_no_config (line 19) | def _fish_supports_no_config(executable) -> bool:
  function _warn_if_fish (line 42) | def _warn_if_fish(executable):
  function _make_cmd (line 58) | def _make_cmd(executable, cmd):
  function _enforce_cmd_list (line 73) | def _enforce_cmd_list(cmd):
  function prepare_kwargs (line 78) | def prepare_kwargs(stage, run_env=None):
  function display_command (line 108) | def display_command(cmd):
  function get_executable (line 112) | def get_executable():
  function _run (line 116) | def _run(executable, cmd, **kwargs):
  function cmd_run (line 139) | def cmd_run(stage, dry=False, run_env=None):
  function _pull_missing_deps (line 156) | def _pull_missing_deps(stage):
  function run_stage (line 166) | def run_stage(stage, dry=False, force=False, run_env=None, **kwargs):

FILE: dvc/stage/serialize.py
  function _get_flags (line 37) | def _get_flags(out):
  function _serialize_out (line 56) | def _serialize_out(out):
  function _serialize_outs (line 62) | def _serialize_outs(outputs: list[Output]):
  function _serialize_params_keys (line 74) | def _serialize_params_keys(params: Iterable["ParamsDependency"]):
  function _serialize_params_values (line 95) | def _serialize_params_values(params: list[ParamsDependency]):
  function to_pipeline_file (line 114) | def to_pipeline_file(stage: "PipelineStage"):
  function to_single_stage_lockfile (line 143) | def to_single_stage_lockfile(stage: "Stage", **kwargs) -> dict:
  function to_lockfile (line 195) | def to_lockfile(stage: "PipelineStage", **kwargs) -> dict:
  function to_single_stage_file (line 200) | def to_single_stage_file(stage: "Stage", **kwargs):

FILE: dvc/stage/utils.py
  function check_stage_path (line 26) | def check_stage_path(repo, path, is_wdir=False):
  function fill_stage_outputs (line 47) | def fill_stage_outputs(stage, **kwargs):
  function fill_stage_dependencies (line 80) | def fill_stage_dependencies(
  function check_no_externals (line 91) | def check_no_externals(stage):
  function check_circular_dependency (line 115) | def check_circular_dependency(stage):
  function check_duplicated_arguments (line 126) | def check_duplicated_arguments(stage):
  function check_missing_outputs (line 138) | def check_missing_outputs(stage):
  function compute_md5 (line 144) | def compute_md5(stage):
  function resolve_wdir (line 177) | def resolve_wdir(wdir, path):
  function resolve_paths (line 184) | def resolve_paths(fs, path, wdir=None):
  function get_dump (line 191) | def get_dump(stage: "Stage", **kwargs):
  function split_params_deps (line 209) | def split_params_deps(
  function is_valid_name (line 217) | def is_valid_name(name: str) -> bool:
  function prepare_file_path (line 223) | def prepare_file_path(kwargs) -> str:
  function check_stage_exists (line 246) | def check_stage_exists(repo: "Repo", stage: Union["Stage", "PipelineStag...
  function validate_kwargs (line 264) | def validate_kwargs(
  function _get_stage_files (line 289) | def _get_stage_files(stage: "Stage") -> list[str]:

FILE: dvc/testing/api_tests.py
  class TestAPI (line 9) | class TestAPI:
    method test_get_url (line 10) | def test_get_url(self, tmp_dir, dvc, remote):
    method test_open (line 18) | def test_open(self, tmp_dir, dvc, remote):
    method test_filesystem (line 44) | def test_filesystem(

FILE: dvc/testing/benchmarks/cli/commands/test_add.py
  function generate_test (line 4) | def generate_test(*, link_type="copy"):

FILE: dvc/testing/benchmarks/cli/commands/test_checkout.py
  function _skip_unsupported_link (line 10) | def _skip_unsupported_link(src, dest, link_type):
  function generate_test (line 19) | def generate_test(*, link_type="copy"):

FILE: dvc/testing/benchmarks/cli/commands/test_data_status.py
  function test_data_status (line 4) | def test_data_status(bench_dvc, tmp_dir, scm, dvc, make_dataset):
  function test_data_status_all_flags (line 22) | def test_data_status_all_flags(bench_dvc, tmp_dir, scm, dvc, make_dataset):

FILE: dvc/testing/benchmarks/cli/commands/test_diff.py
  function test_diff (line 1) | def test_diff(bench_dvc, tmp_dir, scm, dvc, make_dataset):

FILE: dvc/testing/benchmarks/cli/commands/test_exp_show.py
  function test_exp_show (line 1) | def test_exp_show(make_project, monkeypatch, bench_dvc, dvc_bin):

FILE: dvc/testing/benchmarks/cli/commands/test_fetch.py
  function test_fetch (line 1) | def test_fetch(bench_dvc, tmp_dir, dvc, make_dataset, remote):

FILE: dvc/testing/benchmarks/cli/commands/test_gc.py
  function test_gc (line 1) | def test_gc(bench_dvc, tmp_dir, dvc, make_dataset):

FILE: dvc/testing/benchmarks/cli/commands/test_get.py
  function test_get (line 5) | def test_get(bench_dvc, tmp_dir, scm, dvc, make_dataset, remote):

FILE: dvc/testing/benchmarks/cli/commands/test_get_url.py
  function test_get_url (line 1) | def test_get_url(bench_dvc, tmp_dir, scm, dvc, make_dataset):

FILE: dvc/testing/benchmarks/cli/commands/test_help.py
  function test_help (line 1) | def test_help(bench_dvc):

FILE: dvc/testing/benchmarks/cli/commands/test_import.py
  function test_import (line 11) | def test_import(bench_dvc, tmp_dir, scm, dvc, make_dataset, remote):

FILE: dvc/testing/benchmarks/cli/commands/test_import_url.py
  function test_import_url (line 1) | def test_import_url(bench_dvc, tmp_dir, scm, dvc, make_dataset):

FILE: dvc/testing/benchmarks/cli/commands/test_init.py
  function test_init (line 4) | def test_init(bench_dvc, tmp_dir, scm):

FILE: dvc/testing/benchmarks/cli/commands/test_ls.py
  function test_list (line 1) | def test_list(bench_dvc, tmp_dir, scm, dvc, make_dataset, remote):

FILE: dvc/testing/benchmarks/cli/commands/test_plots.py
  function test_plots (line 5) | def test_plots(project, bench_dvc):

FILE: dvc/testing/benchmarks/cli/commands/test_push.py
  function test_push (line 1) | def test_push(bench_dvc, tmp_dir, dvc, make_dataset, remote):

FILE: dvc/testing/benchmarks/cli/commands/test_status.py
  function test_status (line 1) | def test_status(bench_dvc, tmp_dir, dvc, make_dataset):

FILE: dvc/testing/benchmarks/cli/commands/test_update.py
  function test_update (line 1) | def test_update(bench_dvc, tmp_dir, dvc, make_dataset):

FILE: dvc/testing/benchmarks/cli/stories/test_modify_data.py
  function test_partial_add (line 15) | def test_partial_add(bench_dvc, tmp_dir, dvc, dataset, remote):
  function test_partial_remove (line 38) | def test_partial_remove(bench_dvc, tmp_dir, dvc, dataset, remote):

FILE: dvc/testing/benchmarks/cli/stories/use_cases/test_sharing.py
  function test_sharing (line 6) | def test_sharing(bench_dvc, tmp_dir, dvc, make_dataset, remote, dvc_bin):

FILE: dvc/testing/benchmarks/fixtures.py
  function bench_config (line 18) | def bench_config(request):
  class VirtualEnv (line 22) | class VirtualEnv:
    method __init__ (line 23) | def __init__(self, path: StrPath) -> None:
    method create (line 27) | def create(self) -> None:
    method install (line 30) | def install(self, *packages: str) -> None:
    method run (line 33) | def run(self, cmd: str, *args: str, env: Optional[dict[str, str]] = No...
    method which (line 37) | def which(self, cmd: str) -> str:
  function make_dvc_venv (line 43) | def make_dvc_venv(tmp_path_factory):
  function _sanitize_venv_name (line 54) | def _sanitize_venv_name(name):
  function dvc_venvs (line 59) | def dvc_venvs():
  function dvc_repo (line 64) | def dvc_repo(tmp_path_factory, bench_config):
  function dvc_bench_repo (line 77) | def dvc_bench_repo(tmp_path_factory, bench_config):
  function make_dvc_bin (line 95) | def make_dvc_bin(
  function dvc_bin (line 141) | def dvc_bin(request, make_dvc_bin):
  function make_bench (line 160) | def make_bench(request):
  function bench_dvc (line 193) | def bench_dvc(request, dvc_bin, make_bench):
  function _pull (line 211) | def _pull(repo, *args):
  function make_dataset (line 222) | def make_dataset(request, bench_config, tmp_dir, dvc_bench_repo):
  function dataset (line 262) | def dataset(make_dataset):
  function remote_dataset (line 267) | def remote_dataset():
  function make_project (line 272) | def make_project(tmp_path_factory):
  function project (line 286) | def project(bench_config, monkeypatch, make_project):

FILE: dvc/testing/benchmarks/plugin.py
  function pytest_report_header (line 11) | def pytest_report_header(config):
  function pytest_generate_tests (line 16) | def pytest_generate_tests(metafunc):
  class DVCBenchConfig (line 25) | class DVCBenchConfig:
    method __repr__ (line 35) | def __repr__(self):
  function pytest_configure (line 44) | def pytest_configure(config):
  function resolve_path (line 61) | def resolve_path(path):
  function pytest_addoption (line 67) | def pytest_addoption(parser):

FILE: dvc/testing/cloud.py
  class Cloud (line 6) | class Cloud(ABC):
    method is_file (line 10) | def is_file(self):
    method is_dir (line 14) | def is_dir(self):
    method exists (line 18) | def exists(self):
    method mkdir (line 22) | def mkdir(self, mode=0o777, parents=False, exist_ok=False):
    method write_text (line 25) | def write_text(self, contents, encoding=None, errors=None):
    method write_bytes (line 32) | def write_bytes(self, contents):
    method unlink (line 36) | def unlink(self, missing_ok: bool = False) -> None:
    method rmdir (line 40) | def rmdir(self, recursive: bool = True) -> None:
    method read_text (line 43) | def read_text(self, encoding=None, errors=None):
    method read_bytes (line 50) | def read_bytes(self):
    method _gen (line 53) | def _gen(self, struct, prefix=None):
    method gen (line 69) | def gen(self, struct, text=""):
    method close (line 76) | def close(self):  # noqa: B027
    method should_test (line 80) | def should_test():
    method get_url (line 84) | def get_url():
    method config (line 89) | def config(self):

FILE: dvc/testing/fixtures.py
  function make_tmp_dir (line 39) | def make_tmp_dir(tmp_path_factory, request, worker_id):
  function tmp_dir (line 74) | def tmp_dir(tmp_path, make_tmp_dir, request, monkeypatch):
  function scm (line 81) | def scm(tmp_dir):
  function dvc (line 86) | def dvc(tmp_dir):
  function make_local (line 92) | def make_local(make_tmp_dir):
  function make_cloud (line 100) | def make_cloud(request):
  function make_cloud_version_aware (line 108) | def make_cloud_version_aware(request):
  function cloud (line 116) | def cloud(make_cloud, request):
  function local_cloud (line 122) | def local_cloud(make_cloud):
  function make_remote (line 127) | def make_remote(tmp_dir, dvc, make_cloud):  # noqa: ARG001
  function make_remote_version_aware (line 137) | def make_remote_version_aware(tmp_dir, dvc, make_cloud_version_aware):  ...
  function make_remote_worktree (line 149) | def make_remote_worktree(tmp_dir, dvc, make_cloud_version_aware):  # noq...
  function remote (line 161) | def remote(make_remote, request):
  function remote_version_aware (line 167) | def remote_version_aware(make_remote_version_aware, request):
  function remote_worktree (line 173) | def remote_worktree(make_remote_worktree, request):
  function local_remote (line 179) | def local_remote(make_remote):
  function make_workspace (line 184) | def make_workspace(tmp_dir, dvc, make_cloud):
  function workspace (line 208) | def workspace(make_workspace, request):
  function local_workspace (line 214) | def local_workspace(make_workspace):
  function docker_compose_project_name (line 219) | def docker_compose_project_name():
  function docker_services (line 224) | def docker_services(tmp_path_factory, request):
  function run_copy (line 256) | def run_copy(tmp_dir, copy_script, dvc):  # noqa: ARG001

FILE: dvc/testing/matchers.py
  class dict (line 8) | class dict:  # noqa: A001, N801, PLW1641
    method __init__ (line 21) | def __init__(self, d: Optional[Mapping[Any, Any]] = None, **keys: Any)...
    method __len__ (line 27) | def __len__(self) -> int:
    method __repr__ (line 30) | def __repr__(self) -> str:
    method __eq__ (line 34) | def __eq__(self, other: object) -> bool:
  class unordered (line 39) | class unordered:  # noqa: N801, PLW1641
    method __init__ (line 45) | def __init__(self, *items: Any) -> None:
    method __repr__ (line 48) | def __repr__(self) -> str:
    method __eq__ (line 52) | def __eq__(self, other: object) -> bool:
  class attrs (line 57) | class attrs:  # noqa: N801, PLW1641
    method __init__ (line 58) | def __init__(self, **attribs: Any) -> None:
    method __repr__ (line 61) | def __repr__(self) -> str:
    method __eq__ (line 65) | def __eq__(self, other: object) -> bool:
  class instance_of (line 71) | class instance_of:  # noqa: N801, PLW1641
    method __init__ (line 72) | def __init__(self, expected_type: Union[Any, tuple[Any, ...]]) -> None:
    method __repr__ (line 75) | def __repr__(self) -> str:
    method __eq__ (line 82) | def __eq__(self, other: object) -> bool:
  class any_of (line 86) | class any_of:  # noqa: N801, PLW1641
    method __init__ (line 87) | def __init__(self, *items: Any) -> None:
    method __repr__ (line 90) | def __repr__(self) -> str:
    method __eq__ (line 94) | def __eq__(self, other: object) -> bool:

FILE: dvc/testing/path_info.py
  class _BasePath (line 12) | class _BasePath:
    method overlaps (line 13) | def overlaps(self, other):
    method isin_or_eq (line 20) | def isin_or_eq(self, other):
  class PathInfo (line 24) | class PathInfo(pathlib.PurePath, _BasePath):
    method __new__ (line 33) | def __new__(cls, *args):
    method as_posix (line 39) | def as_posix(self):
    method __str__ (line 48) | def __str__(self):
    method __repr__ (line 52) | def __repr__(self):
    method __fspath__ (line 56) | def __fspath__(self):
    method fspath (line 60) | def fspath(self):
    method relpath (line 67) | def relpath(self, other):
    method isin (line 70) | def isin(self, other):
    method relative_to (line 82) | def relative_to(self, other, *args, **kwargs):
  class WindowsPathInfo (line 94) | class WindowsPathInfo(PathInfo, pathlib.PureWindowsPath):
  class PosixPathInfo (line 98) | class PosixPathInfo(PathInfo, pathlib.PurePosixPath):
  class _URLPathInfo (line 102) | class _URLPathInfo(PosixPathInfo):
    method __str__ (line 103) | def __str__(self):
  class _URLPathParents (line 109) | class _URLPathParents:
    method __init__ (line 110) | def __init__(self, src):
    method __len__ (line 114) | def __len__(self):
    method __getitem__ (line 117) | def __getitem__(self, idx):
    method __repr__ (line 120) | def __repr__(self):
  class URLInfo (line 124) | class URLInfo(_BasePath):
    method __init__ (line 132) | def __init__(self, url):
    method from_parts (line 141) | def from_parts(
    method _fill_parts (line 153) | def _fill_parts(self, scheme, host, user, port, path):
    method _base_parts (line 169) | def _base_parts(self):
    method parts (line 173) | def parts(self):
    method replace (line 176) | def replace(self, path=None):
    method url (line 180) | def url(self) -> str:
    method __str__ (line 183) | def __str__(self):
    method __repr__ (line 186) | def __repr__(self):
    method __eq__ (line 189) | def __eq__(self, other):
    method __hash__ (line 198) | def __hash__(self):
    method __div__ (line 201) | def __div__(self, other):
    method joinpath (line 204) | def joinpath(self, *args):
    method path (line 210) | def path(self):
    method _path (line 214) | def _path(self) -> "_URLPathInfo":
    method name (line 218) | def name(self) -> str:
    method netloc (line 222) | def netloc(self) -> str:
    method bucket (line 231) | def bucket(self) -> str:
    method parent (line 235) | def parent(self):
    method parents (line 239) | def parents(self):
    method relative_to (line 242) | def relative_to(self, other):
    method isin (line 253) | def isin(self, other):
  class CloudURLInfo (line 261) | class CloudURLInfo(URLInfo):
    method path (line 263) | def path(self):
  class HTTPURLInfo (line 267) | class HTTPURLInfo(URLInfo):
    method __init__ (line 270) | def __init__(self, url):
    method replace (line 278) | def replace(self, path=None):
    method from_parts (line 288) | def from_parts(
    method _extra_parts (line 322) | def _extra_parts(self):
    method parts (line 326) | def parts(self):
    method url (line 330) | def url(self) -> str:
    method __eq__ (line 340) | def __eq__(self, other):
  class WebDAVURLInfo (line 351) | class WebDAVURLInfo(URLInfo):
    method url (line 353) | def url(self) -> str:

FILE: dvc/testing/plugin.py
  function pytest_generate_tests (line 5) | def pytest_generate_tests(metafunc):
  function pytest_addoption (line 11) | def pytest_addoption(parser):
  function pytest_configure (line 17) | def pytest_configure(config):
  function pytest_report_header (line 23) | def pytest_report_header(config):

FILE: dvc/testing/remote_tests.py
  function _check_status (line 10) | def _check_status(status, **kwargs):
  class TestRemote (line 16) | class TestRemote:
    method test (line 17) | def test(self, tmp_dir, dvc, remote):
    method test_stage_cache_push_pull (line 99) | def test_stage_cache_push_pull(self, tmp_dir, dvc, remote):
    method test_pull_00_prefix (line 118) | def test_pull_00_prefix(self, tmp_dir, dvc, remote, monkeypatch):
    method test_pull_no_00_prefix (line 148) | def test_pull_no_00_prefix(self, tmp_dir, dvc, remote, monkeypatch):
  class TestRemoteVersionAware (line 178) | class TestRemoteVersionAware:
    method test_file (line 179) | def test_file(self, tmp_dir, dvc, run_copy, remote_version_aware):
    method test_dir (line 216) | def test_dir(self, tmp_dir, dvc, run_copy, remote_version_aware):  # n...
  class TestRemoteWorktree (line 296) | class TestRemoteWorktree:
    method test_file (line 297) | def test_file(self, tmp_dir, dvc, remote_worktree):
    method test_dir (line 312) | def test_dir(self, tmp_dir, dvc, remote_worktree):
    method test_deletion (line 342) | def test_deletion(self, tmp_dir, dvc, scm, remote_worktree):
    method test_update (line 371) | def test_update(self, tmp_dir, dvc, remote_worktree):

FILE: dvc/testing/scripts.py
  function _add_script (line 15) | def _add_script(tmp_dir, path, contents=""):
  function copy_script (line 23) | def copy_script(tmp_dir):

FILE: dvc/testing/tmp_dir.py
  class TmpDir (line 55) | class TmpDir(pathlib.Path):
    method fs_path (line 59) | def fs_path(self):
    method url (line 63) | def url(self):
    method config (line 67) | def config(self):
    method __new__ (line 72) | def __new__(cls, *args, **kwargs):
    method init (line 87) | def init(self, *, scm=False, dvc=False, subdir=False):
    method close (line 107) | def close(self):
    method _require (line 113) | def _require(self, name):
    method gen (line 121) | def gen(self, struct, text=""):
    method _gen (line 127) | def _gen(self, struct, prefix=None):
    method dvc_gen (line 146) | def dvc_gen(self, struct, text="", commit=None):
    method scm_gen (line 150) | def scm_gen(self, struct, text="", commit=None, force=False):
    method commit (line 154) | def commit(self, output_paths, msg, force=False):
    method dvc_add (line 165) | def dvc_add(self, filenames, commit=None):
    method scm_add (line 174) | def scm_add(self, filenames, commit=None, force=False):
    method add_remote (line 184) | def add_remote(self, *, url=None, config=None, name="upstream", defaul...
    method chdir (line 205) | def chdir(self):
    method branch (line 214) | def branch(self, name, new=False):
    method read_text (line 223) | def read_text(self, *args, **kwargs):
    method oid_to_path (line 234) | def oid_to_path(self, hash_):
    method dump (line 237) | def dump(self, *args, **kwargs):
    method parse (line 240) | def parse(self, *args, **kwargs):
    method modify (line 243) | def modify(self, *args, **kwargs):
  function make_subrepo (line 254) | def make_subrepo(dir_: TmpDir, scm, config=None):
  function _coerce_filenames (line 263) | def _coerce_filenames(filenames):
  class WindowsTmpDir (line 269) | class WindowsTmpDir(TmpDir, pathlib.PureWindowsPath):
  class PosixTmpDir (line 273) | class PosixTmpDir(TmpDir, pathlib.PurePosixPath):

FILE: dvc/testing/workspace_tests.py
  class TestImport (line 13) | class TestImport:
    method test_import (line 14) | def test_import(self, tmp_dir, dvc, workspace):
    method stage_md5 (line 22) | def stage_md5(self):
    method dir_md5 (line 26) | def dir_md5(self):
    method test_import_dir (line 29) | def test_import_dir(self, tmp_dir, dvc, workspace, stage_md5, dir_md5):
    method is_object_storage (line 68) | def is_object_storage(self):
    method test_import_empty_dir (line 71) | def test_import_empty_dir(self, tmp_dir, dvc, workspace, is_object_sto...
  class TestImportURLVersionAware (line 89) | class TestImportURLVersionAware:
    method test_import_file (line 90) | def test_import_file(self, tmp_dir, dvc, remote_version_aware):
    method test_import_dir (line 124) | def test_import_dir(self, tmp_dir, dvc, remote_version_aware):
    method test_import_no_download (line 154) | def test_import_no_download(self, tmp_dir, dvc, remote_version_aware, ...
  function match_files (line 194) | def match_files(fs, entries, expected):
  class TestLsUrl (line 200) | class TestLsUrl:
    method test_file (line 202) | def test_file(self, cloud, fname):
    method test_dir (line 208) | def test_dir(self, cloud):
    method test_recursive (line 223) | def test_recursive(self, cloud):
    method test_nonexistent (line 271) | def test_nonexistent(self, cloud):
  class TestGetUrl (line 276) | class TestGetUrl:
    method test_get_file (line 277) | def test_get_file(self, cloud, tmp_dir):
    method test_get_dir (line 285) | def test_get_dir(self, cloud, tmp_dir):
    method test_get_url_to_dir (line 297) | def test_get_url_to_dir(self, cloud, tmp_dir, dname):
    method test_get_url_nonexistent (line 308) | def test_get_url_nonexistent(self, cloud):
  class TestToRemote (line 313) | class TestToRemote:
    method test_add_to_remote (line 314) | def test_add_to_remote(self, tmp_dir, dvc, remote, workspace):
    method test_import_url_to_remote_file (line 335) | def test_import_url_to_remote_file(self, tmp_dir, dvc, workspace, remo...
    method test_import_url_to_remote_dir (line 357) | def test_import_url_to_remote_dir(self, tmp_dir, dvc, workspace, remote):

FILE: dvc/ui/__init__.py
  function disable_colorama (line 22) | def disable_colorama():
  class Formatter (line 36) | class Formatter:
    method __init__ (line 37) | def __init__(
    method format (line 49) | def format(self, message: str, style: Optional[str] = None, **kwargs) ...
  class Console (line 55) | class Console:
    method __init__ (line 56) | def __init__(
    method enable (line 65) | def enable(self) -> None:
    method success (line 68) | def success(self, message: str) -> None:
    method error (line 71) | def error(self, message: str) -> None:
    method warn (line 74) | def warn(self, message: str) -> None:
    method error_write (line 77) | def error_write(
    method write_json (line 96) | def write_json(
    method rich_print (line 137) | def rich_print(  # noqa: PLR0913
    method write (line 178) | def write(
    method rich_text (line 222) | def rich_text(self) -> "type[RichText]":
    method progress (line 228) | def progress(*args, **kwargs) -> "Tqdm":
    method pager (line 234) | def pager(self, styles: bool = True) -> Iterator[None]:
    method prompt (line 244) | def prompt(
    method confirm (line 267) | def confirm(self, statement: str) -> bool:
    method rich_console (line 280) | def rich_console(self) -> "RichConsole":
    method error_console (line 287) | def error_console(self) -> "RichConsole":
    method table (line 292) | def table(
    method status (line 334) | def status(self, status: str, **kwargs: Any) -> "Status":
    method isatty (line 338) | def isatty() -> bool:
    method open_browser (line 345) | def open_browser(self, file: "StrPath") -> int:

FILE: dvc/ui/_rich_progress.py
  class MofNCompleteColumnWithUnit (line 15) | class MofNCompleteColumnWithUnit(MofNCompleteColumn):
    method render (line 18) | def render(self, task):
  class RichProgress (line 24) | class RichProgress(Progress):
    method clear_task (line 25) | def clear_task(self, task):
  class RichTransferProgress (line 32) | class RichTransferProgress(RichProgress):
    method get_renderables (line 47) | def get_renderables(self):
  class DbDownloadProgress (line 58) | class DbDownloadProgress(RichProgress):
    method get_renderables (line 71) | def get_renderables(self):

FILE: dvc/ui/pager.py
  function prepare_default_pager (line 20) | def prepare_default_pager(
  function make_pager (line 45) | def make_pager(cmd=None):
  function find_pager (line 53) | def find_pager():
  function pager (line 87) | def pager(text: str) -> None:
  class DvcPager (line 93) | class DvcPager(Pager):
    method show (line 94) | def show(self, content: str) -> None:

FILE: dvc/ui/table.py
  function plain_table (line 25) | def plain_table(
  function console_width (line 56) | def console_width(table: "Table", console: "RichConsole", val: int) -> I...
  function rich_table (line 76) | def rich_table(

FILE: dvc/updater.py
  class Updater (line 17) | class Updater:
    method __init__ (line 23) | def __init__(self, tmp_dir, friendly=False, hardlink_lock=False):
    method _is_outdated_file (line 35) | def _is_outdated_file(self):
    method _with_lock (line 42) | def _with_lock(self, func, action):
    method check (line 56) | def check(self):
    method _check (line 69) | def _check(self):
    method fetch (line 89) | def fetch(self, detach=True):
    method _get_latest_version (line 98) | def _get_latest_version(self):
    method _notify (line 119) | def _notify(self, latest: str, pkg: Optional[str] = PKG) -> None:
    method _get_message (line 128) | def _get_message(
    method _get_update_instructions (line 148) | def _get_update_instructions(pkg: Optional[str] = None) -> str:
    method is_enabled (line 172) | def is_enabled(self):
  function notify_updates (line 182) | def notify_updates():

FILE: dvc/utils/__init__.py
  function bytes_hash (line 21) | def bytes_hash(byts, typ):
  function dict_filter (line 27) | def dict_filter(d, exclude=()):
  function dict_hash (line 40) | def dict_hash(d, typ, exclude=()):
  function dict_md5 (line 46) | def dict_md5(d, **kwargs):
  function dict_sha256 (line 50) | def dict_sha256(d, **kwargs):
  function _split (line 54) | def _split(list_to_split, chunk_size):
  function is_binary (line 63) | def is_binary():
  function fix_env (line 67) | def fix_env(env=None):
  function colorize (line 137) | def colorize(message, color=None, style=None):
  function boxify (line 161) | def boxify(message, border_color=None):
  function _visual_width (line 206) | def _visual_width(line):
  function _visual_center (line 212) | def _visual_center(line, width):
  function relpath (line 222) | def relpath(path, start=os.curdir):
  function as_posix (line 233) | def as_posix(path: str) -> str:
  function env2bool (line 240) | def env2bool(var, undefined=False):
  function resolve_output (line 250) | def resolve_output(inp: str, out: Optional[str], force=False) -> str:
  function resolve_paths (line 270) | def resolve_paths(repo, out, always_local=False):
  function format_link (line 313) | def format_link(link):
  function error_link (line 319) | def error_link(name):
  function parse_target (line 323) | def parse_target(
  function glob_targets (line 363) | def glob_targets(targets, glob=True, recursive=True):
  function error_handler (line 384) | def error_handler(func):
  function errored_revisions (line 401) | def errored_revisions(rev_data: dict) -> list:
  function isatty (line 411) | def isatty(stream: "Optional[TextIO]") -> bool:

FILE: dvc/utils/cli_parse.py
  function parse_params (line 5) | def parse_params(path_params: Iterable[str]) -> list[dict[str, list[str]]]:
  function to_path_overrides (line 20) | def to_path_overrides(path_params: Iterable[str]) -> dict[str, list[str]]:

FILE: dvc/utils/collections.py
  function apply_diff (line 6) | def apply_diff(src, dest):  # noqa: C901
  function to_omegaconf (line 46) | def to_omegaconf(item):
  function remove_missing_keys (line 59) | def remove_missing_keys(src, to_update):
  function _merge_item (line 70) | def _merge_item(d, key, value):
  function merge_dicts (line 81) | def merge_dicts(src: dict, to_update: dict) -> dict:
  function ensure_list (line 93) | def ensure_list(item: Union[Iterable[str], str, None]) -> list[str]:
  function nested_contains (line 101) | def nested_contains(dictionary: dict, phrase: str) -> bool:

FILE: dvc/utils/diff.py
  function _parse (line 7) | def _parse(raw):
  function _diff_vals (line 18) | def _diff_vals(old, new, with_unchanged):
  function _flatten (line 32) | def _flatten(d):
  function _diff_dicts (line 42) | def _diff_dicts(old_dict, new_dict, with_unchanged):
  function _diff (line 59) | def _diff(old_raw, new_raw, with_unchanged):
  function diff (line 73) | def diff(old, new, with_unchanged=False):
  function format_dict (line 89) | def format_dict(d):

FILE: dvc/utils/flatten.py
  function flatten (line 1) | def flatten(d):
  function unflatten (line 7) | def unflatten(d):

FILE: dvc/utils/fs.py
  class BasePathNotInCheckedPathException (line 17) | class BasePathNotInCheckedPathException(DvcException):
    method __init__ (line 18) | def __init__(self, path, base_path):
  function contains_symlink_up_to (line 23) | def contains_symlink_up_to(path: "StrPath", base_path: "StrPath"):
  function _chmod (line 41) | def _chmod(func, p, excinfo):  # noqa: ARG001
  function _unlink (line 55) | def _unlink(path, onerror):
  function remove (line 62) | def remove(path):
  function path_isin (line 75) | def path_isin(child: "StrPath", parent: "StrPath") -> bool:

FILE: dvc/utils/humanize.py
  function join (line 4) | def join(words):
  function get_summary (line 16) | def get_summary(stats):
  function truncate_text (line 29) | def truncate_text(text: str, max_length: int, with_ellipsis: bool = True...
  function naturalsize (line 36) | def naturalsize(value: float, base: int = 1024) -> str:

FILE: dvc/utils/hydra.py
  function load_hydra_plugins (line 16) | def load_hydra_plugins(plugins_path: str):
  function compose_and_dump (line 28) | def compose_and_dump(
  function apply_overrides (line 83) | def apply_overrides(path: "StrPath", overrides: list[str]) -> None:
  function to_hydra_overrides (line 123) | def to_hydra_overrides(path_overrides):
  function dict_product (line 130) | def dict_product(dicts):
  function get_hydra_sweeps (line 136) | def get_hydra_sweeps(path_overrides):

FILE: dvc/utils/packaging.py
  function check_required_version (line 11) | def check_required_version(pkg: str, dist: str = "dvc", log_level=loggin...

FILE: dvc/utils/plots.py
  function get_plot_id (line 4) | def get_plot_id(config_plot_id: str, config_file_path: str = ""):
  function group_definitions_by_id (line 10) | def group_definitions_by_id(

FILE: dvc/utils/serialize/__init__.py
  function load_path (line 22) | def load_path(fs_path, fs, **kwargs):

FILE: dvc/utils/serialize/_common.py
  class DumperFn (line 16) | class DumperFn(Protocol):
    method __call__ (line 17) | def __call__(
  class DumpersFn (line 22) | class DumpersFn(Protocol):
    method __call__ (line 23) | def __call__(self, data: Any, stream: TextIO) -> Any: ...
  class ModifierFn (line 26) | class ModifierFn(Protocol):
    method __call__ (line 27) | def __call__(
  class LoaderFn (line 32) | class LoaderFn(Protocol):
    method __call__ (line 33) | def __call__(self, path: "StrPath", fs: Optional["FileSystem"] = None)...
  class ParseError (line 40) | class ParseError(DvcException):
    method __init__ (line 43) | def __init__(self, path: "StrPath", message: str):
  class EncodingError (line 51) | class EncodingError(ParseError):
    method __init__ (line 54) | def __init__(self, path: "StrPath", encoding: str):
  function _load_data (line 59) | def _load_data(
  function _dump_data (line 69) | def _dump_data(
  function _modify_data (line 82) | def _modify_data(

FILE: dvc/utils/serialize/_json.py
  class JSONFileCorruptedError (line 8) | class JSONFileCorruptedError(ParseError):
    method __init__ (line 9) | def __init__(self, path):
  function load_json (line 13) | def load_json(path, fs=None, **kwargs):
  function parse_json (line 17) | def parse_json(text, path, **kwargs):
  function _dump_json (line 22) | def _dump_json(data, stream, **kwargs):
  function dump_json (line 26) | def dump_json(path, data, fs=None, **kwargs):
  function modify_json (line 31) | def modify_json(path, fs=None):
  function encode_exception (line 36) | def encode_exception(o):

FILE: dvc/utils/serialize/_py.py
  class PythonFileCorruptedError (line 13) | class PythonFileCorruptedError(ParseError):
    method __init__ (line 14) | def __init__(self, path, message="Python file structure is corrupted"):
  function load_py (line 18) | def load_py(path, fs=None, **kwargs):
  function parse_py (line 22) | def parse_py(text, path):
  function parse_py_for_update (line 30) | def parse_py_for_update(text, path):
  function _dump (line 41) | def _dump(data, stream):
  function dump_py (line 78) | def dump_py(path, data, fs=None):
  function modify_py (line 83) | def modify_py(path, fs=None):
  function _ast_tree_to_dict (line 88) | def _ast_tree_to_dict(tree, only_self_params=False, lineno=False):
  function _ast_assign_to_dict (line 114) | def _ast_assign_to_dict(assign, only_self_params=False, lineno=False):  ...
  function _get_ast_name (line 155) | def _get_ast_name(target, only_self_params=False):

FILE: dvc/utils/serialize/_toml.py
  class TOMLFileCorruptedError (line 8) | class TOMLFileCorruptedError(ParseError):
    method __init__ (line 9) | def __init__(self, path):
  function load_toml (line 13) | def load_toml(path, fs=None, **kwargs):
  function _parse_toml (line 17) | def _parse_toml(text, path):
  function parse_toml (line 25) | def parse_toml(text, path, preserve_comments=False):
  function parse_toml_for_update (line 34) | def parse_toml_for_update(text, path):
  function _dump (line 38) | def _dump(data, stream, sort_keys=False):
  function dump_toml (line 44) | def dump_toml(path, data, fs=None, **kwargs):
  function modify_toml (line 49) | def modify_toml(path, fs=None):

FILE: dvc/utils/serialize/_yaml.py
  class YAMLError (line 11) | class YAMLError(ParseError):
  class YAMLFileCorruptedError (line 15) | class YAMLFileCorruptedError(YAMLError):
    method __init__ (line 16) | def __init__(self, path):
  function load_yaml (line 20) | def load_yaml(path, fs=None, **kwargs):
  function parse_yaml (line 24) | def parse_yaml(text, path, typ="safe"):
  function parse_yaml_for_update (line 33) | def parse_yaml_for_update(text, path):
  function _get_yaml (line 45) | def _get_yaml():
  function _dump (line 57) | def _dump(data: Any, stream: TextIO) -> Any:
  function dump_yaml (line 62) | def dump_yaml(path, data, fs=None, **kwargs):
  function loads_yaml (line 66) | def loads_yaml(s, typ="safe"):
  function dumps_yaml (line 72) | def dumps_yaml(d):
  function modify_yaml (line 79) | def modify_yaml(path, fs=None):

FILE: dvc/utils/strictyaml.py
  function make_relpath (line 38) | def make_relpath(fs_path: str, fs: "Optional[FileSystem]" = None) -> str:
  function _prepare_message (line 59) | def _prepare_message(message: str) -> "RichText":
  function _prepare_cause (line 63) | def _prepare_cause(cause: str) -> "RichText":
  function _prepare_code_snippets (line 67) | def _prepare_code_snippets(code: str, start_line: int = 1, **kwargs: Any...
  class YAMLSyntaxError (line 82) | class YAMLSyntaxError(PrettyDvcException, YAMLFileCorruptedError):
    method __init__ (line 83) | def __init__(
    method __pretty_exc__ (line 99) | def __pretty_exc__(self, **kwargs: Any) -> None:  # noqa: C901
  function determine_linecol (line 154) | def determine_linecol(
  class YAMLValidationError (line 199) | class YAMLValidationError(PrettyDvcException):
    method __init__ (line 200) | def __init__(
    method _prepare_context (line 218) | def _prepare_context(self, data: typing.Mapping) -> list[object]:
    method __pretty_exc__ (line 242) | def __pretty_exc__(self, **kwargs: Any) -> None:
  function validate (line 266) | def validate(
  function load (line 281) | def load(

FILE: dvc/utils/studio.py
  function post (line 29) | def post(
  function notify_refs (line 51) | def notify_refs(
  function config_to_env (line 95) | def config_to_env(config: dict[str, Any]) -> dict[str, Any]:
  function env_to_config (line 108) | def env_to_config(env: dict[str, Any]) -> dict[str, Any]:
  function get_subrepo_relpath (line 121) | def get_subrepo_relpath(repo: "Repo") -> str:
  function get_repo_url (line 131) | def get_repo_url(repo: "Repo") -> str:

FILE: dvc/utils/table.py
  class Table (line 9) | class Table(RichTable):
    method add_column (line 10) | def add_column(self, *args: Any, collapse: bool = False, **kwargs: Any...
    method _calculate_column_widths (line 14) | def _calculate_column_widths(
    method _collapse_widths (line 48) | def _collapse_widths(  # type: ignore[override]

FILE: dvc/utils/threadpool.py
  class ThreadPoolExecutor (line 9) | class ThreadPoolExecutor(futures.ThreadPoolExecutor):
    method __init__ (line 10) | def __init__(
    method imap_unordered (line 19) | def imap_unordered(
    method __exit__ (line 38) | def __exit__(self, exc_type, exc_val, exc_tb):

FILE: tests/conftest.py
  function reset_loglevel (line 39) | def reset_loglevel(request, caplog):
  function enable_ui (line 57) | def enable_ui():
  function clean_repos (line 64) | def clean_repos():
  function _get_opt (line 70) | def _get_opt(remote_name, action):
  function pytest_addoption (line 74) | def pytest_addoption(parser):
  class DVCTestConfig (line 101) | class DVCTestConfig:
    method __init__ (line 102) | def __init__(self):
    method requires (line 105) | def requires(self, remote_name):
    method apply_marker (line 111) | def apply_marker(self, marker):
  function pytest_runtest_setup (line 115) | def pytest_runtest_setup(item):
  function test_config (line 130) | def test_config(request):
  function pytest_configure (line 134) | def pytest_configure(config):
  function custom_template (line 165) | def custom_template(tmp_dir, dvc):
  function mocked_webbrowser_open (line 174) | def mocked_webbrowser_open(mocker):
  function
Condensed preview — 591 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (3,276K chars).
[
  {
    "path": ".dvc/.gitignore",
    "chars": 26,
    "preview": "/config.local\n/tmp\n/cache\n"
  },
  {
    "path": ".dvc/config",
    "chars": 0,
    "preview": ""
  },
  {
    "path": ".dvcignore",
    "chars": 21,
    "preview": "/tests\n/dvc\n/.github\n"
  },
  {
    "path": ".git-blame-ignore-revs",
    "chars": 634,
    "preview": "# The following commits will be ignored by the GitHub blame view.\n# You can configure `git blame` to use this file as th"
  },
  {
    "path": ".git_archival.txt",
    "chars": 111,
    "preview": "node: $Format:%H$\nnode-date: $Format:%cI$\ndescribe-name: $Format:%(describe:tags=true)$\nref-names: $Format:%D$\n"
  },
  {
    "path": ".gitattributes",
    "chars": 32,
    "preview": ".git_archival.txt  export-subst\n"
  },
  {
    "path": ".github/.test_durations",
    "chars": 265829,
    "preview": "{\r\n    \"tests/func/api/test_artifacts.py::test_artifacts_show[]\": 0.6690752999999994,\r\n    \"tests/func/api/test_artifact"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "chars": 1295,
    "preview": "---\nname: \"\\U0001F41B Bug Report\"\nabout: Create a bug report to help us improve DVC\n---\n\n# Bug Report\n\n<!--\n## Issue nam"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "chars": 183,
    "preview": "blank_issues_enabled: false\ncontact_links:\n  - name: \"🤗 Need help?\"\n    url: https://dvc.org/chat\n    about: If you have"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.md",
    "chars": 83,
    "preview": "---\nname: \"\\U0001F680 Feature Request\"\nabout: Suggest an idea for this project\n---\n"
  },
  {
    "path": ".github/PULL_REQUEST_TEMPLATE.md",
    "chars": 387,
    "preview": "* [ ] ❗ I have followed the [Contributing to DVC](https://dvc.org/doc/user-guide/contributing/core) checklist.\n\n* [ ] 📖 "
  },
  {
    "path": ".github/codecov.yml",
    "chars": 183,
    "preview": "codecov:\n  notify:\n    wait_for_ci: true\ncoverage:\n  status:\n    project:\n      default:\n        target: auto\n        th"
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 273,
    "preview": "version: 2\n\nupdates:\n  - directory: \"/\"\n    package-ecosystem: \"pip\"\n    schedule:\n      interval: \"daily\"\n    labels:\n "
  },
  {
    "path": ".github/release.yml",
    "chars": 496,
    "preview": "changelog:\n  exclude:\n    labels: [\"skip-changelog\"]\n  categories:\n    - title: 🛠 Breaking Changes\n      labels: [\"break"
  },
  {
    "path": ".github/workflows/benchmarks.yaml",
    "chars": 1184,
    "preview": "name: benchmarks\non: [pull_request, workflow_dispatch]\n\nconcurrency:\n  group: ${{ github.workflow }}-${{ github.head_ref"
  },
  {
    "path": ".github/workflows/build.yaml",
    "chars": 2195,
    "preview": "name: Build and upload package\non:\n  push:\n    branches:\n    - main\n  release:\n    types:\n    - published\n  workflow_dis"
  },
  {
    "path": ".github/workflows/codeql.yml",
    "chars": 729,
    "preview": "name: \"CodeQL\"\n\non:\n  push:\n    branches: [\"main\"]\n  pull_request:\n    branches: [\"main\"]\n  schedule:\n    - cron: '32 19"
  },
  {
    "path": ".github/workflows/plugin_tests.yaml",
    "chars": 1212,
    "preview": "name: Remote Plugin Tests\n\non:\n  pull_request:\n  workflow_dispatch:\n\nconcurrency:\n  group: ${{ github.workflow }}-${{ gi"
  },
  {
    "path": ".github/workflows/tests.yaml",
    "chars": 6069,
    "preview": "name: Tests\n\non:\n  push:\n    branches: [main]\n  pull_request:\n  schedule:\n    - cron: '5 1 * * *'  # every day at 01:05\n"
  },
  {
    "path": ".gitignore",
    "chars": 420,
    "preview": "__pycache__/\nneatlynx.conf\n.idea\n/cache\n*.pyc\n\n.env*/\n.venv\nenv/\nvenv/\n.python-version\n\n.dvc.conf.lock\n.DS_Store\nbuild/\n"
  },
  {
    "path": ".mailmap",
    "chars": 236,
    "preview": "Paweł Redzyński <pawelredzynski@gmail.com>\nDmitry Petrov <dmitry.petrov@nevesomo.com>\nEarl Hathaway <github@earlh.com>\nN"
  },
  {
    "path": ".pre-commit-config.yaml",
    "chars": 1893,
    "preview": "default_language_version:\n  python: python3\n\nci:\n  skip: [mypy, dvc-pre-commit]\n\nrepos:\n  - repo: https://github.com/pre"
  },
  {
    "path": ".pre-commit-hooks.yaml",
    "chars": 639,
    "preview": "- args:\n  - git-hook\n  - pre-commit\n  entry: dvc\n  id: dvc-pre-commit\n  language: python\n  language_version: python3\n  n"
  },
  {
    "path": ".zenodo.json",
    "chars": 322,
    "preview": "{\n  \"title\": \"DVC: Data Version Control - Git for Data & Models\",\n  \"keywords\": [\n    \"data-science\", \"data-version-cont"
  },
  {
    "path": "CITATION.cff",
    "chars": 784,
    "preview": "cff-version: 1.2.0\ntitle: 'DVC: Data Version Control - Git for Data & Models\"'\nmessage: >-\n  If you use this software as"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "chars": 3347,
    "preview": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, w"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 95,
    "preview": "### See our contribution guide at [dvc.org](https://dvc.org/doc/user-guide/contributing/core).\n"
  },
  {
    "path": "LICENSE",
    "chars": 11340,
    "preview": "                                 Apache License\n                           Version 2.0, January 2004\n                   "
  },
  {
    "path": "README.rst",
    "chars": 12856,
    "preview": "|Banner|\n\n`Website <https://dvc.org>`_\n• `Docs <https://dvc.org/doc>`_\n• `Blog <http://blog.dataversioncontrol.com>`_\n• "
  },
  {
    "path": "dvc/__init__.py",
    "chars": 221,
    "preview": "\"\"\"\nDVC\n----\nMake your data science projects reproducible and shareable.\n\"\"\"\n\nimport dvc.logger\nfrom dvc.build import PK"
  },
  {
    "path": "dvc/__main__.py",
    "chars": 149,
    "preview": "\"\"\"Main entry point for DVC command line tool.\"\"\"\n\nimport sys\n\nfrom dvc.cli import main\n\nif __name__ == \"__main__\":\n    "
  },
  {
    "path": "dvc/__pyinstaller/__init__.py",
    "chars": 72,
    "preview": "import os\n\n\ndef get_hook_dirs():\n    return [os.path.dirname(__file__)]\n"
  },
  {
    "path": "dvc/__pyinstaller/hook-asyncssh.py",
    "chars": 53,
    "preview": "# ruff: noqa: N999\nhiddenimports = [\"win32timezone\"]\n"
  },
  {
    "path": "dvc/__pyinstaller/hook-celery.py",
    "chars": 460,
    "preview": "# ruff: noqa: N999\n\nfrom PyInstaller.utils.hooks import collect_submodules, is_module_or_submodule\n\n# Celery dynamically"
  },
  {
    "path": "dvc/__pyinstaller/hook-dvc.py",
    "chars": 766,
    "preview": "# ruff: noqa: N999\nfrom PyInstaller.utils.hooks import copy_metadata\n\n# needed for `dvc doctor` to show dep versions\ndat"
  },
  {
    "path": "dvc/__pyinstaller/hook-dvc.utils.flatten.py",
    "chars": 108,
    "preview": "# ruff: noqa: N999\nfrom PyInstaller.utils.hooks import copy_metadata\n\ndatas = copy_metadata(\"flatten-dict\")\n"
  },
  {
    "path": "dvc/__pyinstaller/hook-dvc_task.py",
    "chars": 123,
    "preview": "# ruff: noqa: N999\n\nfrom PyInstaller.utils.hooks import collect_submodules\n\nhiddenimports = collect_submodules(\"dvc_task"
  },
  {
    "path": "dvc/__pyinstaller/hook-fsspec.py",
    "chars": 69,
    "preview": "# ruff: noqa: N999\nhiddenimports = [\"fsspec.implementations.memory\"]\n"
  },
  {
    "path": "dvc/__pyinstaller/hook-pydrive2.py",
    "chars": 104,
    "preview": "# ruff: noqa: N999\nfrom PyInstaller.utils.hooks import copy_metadata\n\ndatas = copy_metadata(\"pydrive2\")\n"
  },
  {
    "path": "dvc/_debug.py",
    "chars": 8028,
    "preview": "from contextlib import ExitStack, contextmanager\nfrom datetime import datetime\nfrom typing import TYPE_CHECKING, Callabl"
  },
  {
    "path": "dvc/analytics.py",
    "chars": 6380,
    "preview": "import json\nimport os\nfrom typing import TYPE_CHECKING, Optional\n\nfrom dvc.log import logger\n\nfrom .env import DVC_ANALY"
  },
  {
    "path": "dvc/annotations.py",
    "chars": 1445,
    "preview": "from dataclasses import asdict, dataclass, field, fields\nfrom typing import Any, ClassVar, Optional\n\nfrom funcy import c"
  },
  {
    "path": "dvc/api/__init__.py",
    "chars": 569,
    "preview": "from dvc.fs.dvc import _DVCFileSystem as DVCFileSystem\n\nfrom .artifacts import artifacts_show\nfrom .data import get_url,"
  },
  {
    "path": "dvc/api/artifacts.py",
    "chars": 1905,
    "preview": "import os\nfrom typing import Any, Optional\n\nfrom dvc.repo import Repo\n\n\ndef artifacts_show(\n    name: str,\n    version: "
  },
  {
    "path": "dvc/api/data.py",
    "chars": 11341,
    "preview": "from contextlib import _GeneratorContextManager as GCM\nfrom contextlib import contextmanager\nfrom typing import Any, Opt"
  },
  {
    "path": "dvc/api/dataset.py",
    "chars": 2037,
    "preview": "from typing import Literal, TypedDict, Union\n\n\nclass DatachainDataset(TypedDict):\n    type: Literal[\"dc\"]\n    name: str\n"
  },
  {
    "path": "dvc/api/experiments.py",
    "chars": 4143,
    "preview": "from typing import Optional, Union\n\nfrom rich.text import Text\n\nfrom dvc.repo import Repo\nfrom dvc.repo.experiments.show"
  },
  {
    "path": "dvc/api/scm.py",
    "chars": 1889,
    "preview": "from typing import Optional\n\nfrom dvc.repo import Repo\n\n\ndef all_branches(repo: Optional[str] = None) -> list[str]:\n    "
  },
  {
    "path": "dvc/api/show.py",
    "chars": 12121,
    "preview": "import typing\nfrom collections import Counter\nfrom collections.abc import Iterable\nfrom typing import Optional, Union\n\nf"
  },
  {
    "path": "dvc/build.py",
    "chars": 264,
    "preview": "from typing import Optional\n\ntry:\n    # file is created during dvc build\n    from . import _build  # type: ignore[attr-d"
  },
  {
    "path": "dvc/cachemgr.py",
    "chars": 4367,
    "preview": "import os\nfrom typing import TYPE_CHECKING, Optional\n\nfrom dvc.fs import GitFileSystem, Schemes\nfrom dvc_data.hashfile.d"
  },
  {
    "path": "dvc/cli/__init__.py",
    "chars": 7639,
    "preview": "\"\"\"This module provides an entrypoint to the dvc cli and parsing utils.\"\"\"\n\nimport logging\nimport sys\nfrom typing import"
  },
  {
    "path": "dvc/cli/command.py",
    "chars": 847,
    "preview": "import os\nfrom abc import ABC, abstractmethod\nfrom typing import TYPE_CHECKING, Any\n\nfrom dvc.log import logger\n\nif TYPE"
  },
  {
    "path": "dvc/cli/completion.py",
    "chars": 2877,
    "preview": "import shtab\n\nBASH_PREAMBLE = \"\"\"\n# $1=COMP_WORDS[1]\n_dvc_compgen_DVCFiles() {\n  compgen -d -S '/' -- $1  # recurse into"
  },
  {
    "path": "dvc/cli/formatter.py",
    "chars": 355,
    "preview": "import argparse\n\n\nclass HelpFormatter(argparse.HelpFormatter):\n    def _get_default_metavar_for_optional(self, action: a"
  },
  {
    "path": "dvc/cli/parser.py",
    "chars": 4812,
    "preview": "\"\"\"Main parser for the dvc cli.\"\"\"\n\nimport argparse\nimport os\nfrom functools import lru_cache\n\nfrom dvc import __version"
  },
  {
    "path": "dvc/cli/utils.py",
    "chars": 1524,
    "preview": "import argparse\n\n\nclass DictAction(argparse.Action):\n    def __init__(self, *args, **kwargs):\n        kwargs.setdefault("
  },
  {
    "path": "dvc/commands/__init__.py",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "dvc/commands/add.py",
    "chars": 3942,
    "preview": "from dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\n"
  },
  {
    "path": "dvc/commands/artifacts.py",
    "chars": 4944,
    "preview": "from dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBaseNoRepo\nfrom dvc.cli.utils import DictAction"
  },
  {
    "path": "dvc/commands/cache.py",
    "chars": 4078,
    "preview": "import argparse\nimport os\n\nfrom dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.ut"
  },
  {
    "path": "dvc/commands/check_ignore.py",
    "chars": 3847,
    "preview": "from typing import TYPE_CHECKING\n\nfrom dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc"
  },
  {
    "path": "dvc/commands/checkout.py",
    "chars": 3377,
    "preview": "from dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\n"
  },
  {
    "path": "dvc/commands/commit.py",
    "chars": 2459,
    "preview": "from dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\n"
  },
  {
    "path": "dvc/commands/completion.py",
    "chars": 1239,
    "preview": "from dvc.cli import formatter\nfrom dvc.cli.command import CmdBaseNoRepo\nfrom dvc.cli.completion import get_preamble\nfrom"
  },
  {
    "path": "dvc/commands/config.py",
    "chars": 7150,
    "preview": "import argparse\nimport os\n\nfrom funcy import set_in\n\nfrom dvc.cli import completion, formatter\nfrom dvc.cli.command impo"
  },
  {
    "path": "dvc/commands/daemon.py",
    "chars": 2186,
    "preview": "from dvc.cli import completion\nfrom dvc.cli.command import CmdBaseNoRepo\nfrom dvc.log import logger\n\nlogger = logger.get"
  },
  {
    "path": "dvc/commands/dag.py",
    "chars": 7705,
    "preview": "from typing import TYPE_CHECKING\n\nfrom dvc.cli import formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils i"
  },
  {
    "path": "dvc/commands/data.py",
    "chars": 7211,
    "preview": "from typing import TYPE_CHECKING, ClassVar\n\nfrom funcy import chunks, compact, log_durations\n\nfrom dvc.cli import comple"
  },
  {
    "path": "dvc/commands/data_sync.py",
    "chars": 12979,
    "preview": "import argparse\n\nfrom dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import"
  },
  {
    "path": "dvc/commands/dataset.py",
    "chars": 7615,
    "preview": "from typing import TYPE_CHECKING, Optional\n\nfrom dvc.cli import formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.c"
  },
  {
    "path": "dvc/commands/destroy.py",
    "chars": 1554,
    "preview": "from dvc.cli import formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\nfrom dvc.log"
  },
  {
    "path": "dvc/commands/diff.py",
    "chars": 6338,
    "preview": "import os\n\nfrom dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import appen"
  },
  {
    "path": "dvc/commands/du.py",
    "chars": 2265,
    "preview": "import logging\n\nfrom dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBaseNoRepo\nfrom dvc.cli.utils i"
  },
  {
    "path": "dvc/commands/experiments/__init__.py",
    "chars": 2643,
    "preview": "from dvc.cli import formatter\nfrom dvc.cli.utils import append_doc_link, hide_subparsers_from_help\nfrom dvc.commands.exp"
  },
  {
    "path": "dvc/commands/experiments/apply.py",
    "chars": 1511,
    "preview": "from dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\n"
  },
  {
    "path": "dvc/commands/experiments/branch.py",
    "chars": 1171,
    "preview": "from dvc.cli import formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\nfrom dvc.log"
  },
  {
    "path": "dvc/commands/experiments/clean.py",
    "chars": 781,
    "preview": "from dvc.cli import formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\nfrom dvc.log"
  },
  {
    "path": "dvc/commands/experiments/diff.py",
    "chars": 3675,
    "preview": "from dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\n"
  },
  {
    "path": "dvc/commands/experiments/exec_run.py",
    "chars": 1655,
    "preview": "from dvc.cli.command import CmdBaseNoRepo\nfrom dvc.log import logger\n\nlogger = logger.getChild(__name__)\n\n\nclass CmdExec"
  },
  {
    "path": "dvc/commands/experiments/ls.py",
    "chars": 3043,
    "preview": "from dvc.cli import formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\nfrom dvc.exc"
  },
  {
    "path": "dvc/commands/experiments/pull.py",
    "chars": 3186,
    "preview": "import argparse\n\nfrom dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import"
  },
  {
    "path": "dvc/commands/experiments/push.py",
    "chars": 4806,
    "preview": "import argparse\nfrom typing import Any\n\nfrom dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase\nfr"
  },
  {
    "path": "dvc/commands/experiments/queue_worker.py",
    "chars": 860,
    "preview": "from dvc.cli.command import CmdBase\nfrom dvc.log import logger\n\nlogger = logger.getChild(__name__)\n\n\nclass CmdQueueWorke"
  },
  {
    "path": "dvc/commands/experiments/remove.py",
    "chars": 2526,
    "preview": "from dvc.cli import formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\nfrom dvc.exc"
  },
  {
    "path": "dvc/commands/experiments/rename.py",
    "chars": 2164,
    "preview": "from dvc.cli import formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\nfrom dvc.exc"
  },
  {
    "path": "dvc/commands/experiments/run.py",
    "chars": 3585,
    "preview": "import argparse\n\nfrom dvc.cli import formatter\nfrom dvc.cli.utils import append_doc_link\nfrom dvc.commands.repro import "
  },
  {
    "path": "dvc/commands/experiments/save.py",
    "chars": 2917,
    "preview": "import argparse\n\nfrom dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import"
  },
  {
    "path": "dvc/commands/experiments/show.py",
    "chars": 9947,
    "preview": "import argparse\nimport re\nfrom collections.abc import Collection, Iterable\nfrom datetime import date, datetime\nfrom typi"
  },
  {
    "path": "dvc/commands/freeze.py",
    "chars": 1784,
    "preview": "from dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\n"
  },
  {
    "path": "dvc/commands/gc.py",
    "chars": 7373,
    "preview": "import os\n\nfrom dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import appen"
  },
  {
    "path": "dvc/commands/get.py",
    "chars": 3890,
    "preview": "from dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBaseNoRepo\nfrom dvc.cli.utils import DictAction"
  },
  {
    "path": "dvc/commands/get_url.py",
    "chars": 2005,
    "preview": "from dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBaseNoRepo\nfrom dvc.cli.utils import DictAction"
  },
  {
    "path": "dvc/commands/git_hook.py",
    "chars": 4544,
    "preview": "import os\n\nfrom dvc.cli import formatter\nfrom dvc.cli.command import CmdBaseNoRepo\nfrom dvc.exceptions import NotDvcRepo"
  },
  {
    "path": "dvc/commands/imp.py",
    "chars": 3905,
    "preview": "from dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import DictAction, appe"
  },
  {
    "path": "dvc/commands/imp_db.py",
    "chars": 3205,
    "preview": "from dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase, CmdBaseNoRepo\nfrom dvc.cli.utils import a"
  },
  {
    "path": "dvc/commands/imp_url.py",
    "chars": 3941,
    "preview": "from dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import DictAction, appe"
  },
  {
    "path": "dvc/commands/init.py",
    "chars": 3228,
    "preview": "import colorama\n\nfrom dvc import analytics\nfrom dvc.cli import formatter\nfrom dvc.cli.command import CmdBaseNoRepo\nfrom "
  },
  {
    "path": "dvc/commands/install.py",
    "chars": 1135,
    "preview": "from dvc.cli import formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\nfrom dvc.exc"
  },
  {
    "path": "dvc/commands/ls/__init__.py",
    "chars": 7705,
    "preview": "from typing import Callable\n\nfrom dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBaseNoRepo\nfrom dv"
  },
  {
    "path": "dvc/commands/ls/ls_colors.py",
    "chars": 1419,
    "preview": "import os\n\n\nclass LsColors:\n    default = \"rs=0:di=01;34:ex=01;32\"\n\n    def __init__(self, lscolors=None):\n        self."
  },
  {
    "path": "dvc/commands/ls_url.py",
    "chars": 2497,
    "preview": "from dvc.cli import formatter\nfrom dvc.cli.command import CmdBaseNoRepo\nfrom dvc.cli.utils import DictAction, append_doc"
  },
  {
    "path": "dvc/commands/metrics.py",
    "chars": 8014,
    "preview": "from dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\n"
  },
  {
    "path": "dvc/commands/move.py",
    "chars": 1362,
    "preview": "from dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\n"
  },
  {
    "path": "dvc/commands/params.py",
    "chars": 3984,
    "preview": "from dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\n"
  },
  {
    "path": "dvc/commands/plots.py",
    "chars": 12811,
    "preview": "import argparse\nimport os\nfrom typing import TYPE_CHECKING, Optional\n\nfrom funcy import compact, first, get_in\n\nfrom dvc"
  },
  {
    "path": "dvc/commands/queue/__init__.py",
    "chars": 813,
    "preview": "from dvc.cli import formatter\nfrom dvc.cli.utils import append_doc_link\nfrom dvc.commands.queue import kill, logs, remov"
  },
  {
    "path": "dvc/commands/queue/kill.py",
    "chars": 1226,
    "preview": "from dvc.cli import formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\nfrom dvc.log"
  },
  {
    "path": "dvc/commands/queue/logs.py",
    "chars": 1471,
    "preview": "from dvc.cli import formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\nfrom dvc.log"
  },
  {
    "path": "dvc/commands/queue/remove.py",
    "chars": 2817,
    "preview": "from dvc.cli import formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\nfrom dvc.exc"
  },
  {
    "path": "dvc/commands/queue/start.py",
    "chars": 1181,
    "preview": "from dvc.cli import formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\nfrom dvc.log"
  },
  {
    "path": "dvc/commands/queue/status.py",
    "chars": 1884,
    "preview": "from dvc.cli import formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\nfrom dvc.com"
  },
  {
    "path": "dvc/commands/queue/stop.py",
    "chars": 1238,
    "preview": "from dvc.cli import formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\nfrom dvc.log"
  },
  {
    "path": "dvc/commands/remote.py",
    "chars": 9879,
    "preview": "from dvc.cli import completion, formatter\nfrom dvc.cli.utils import append_doc_link\nfrom dvc.commands.config import CmdC"
  },
  {
    "path": "dvc/commands/remove.py",
    "chars": 1291,
    "preview": "from dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\n"
  },
  {
    "path": "dvc/commands/repro.py",
    "chars": 5728,
    "preview": "from dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\n"
  },
  {
    "path": "dvc/commands/root.py",
    "chars": 786,
    "preview": "from dvc.cli import formatter\nfrom dvc.cli.command import CmdBaseNoRepo\nfrom dvc.cli.utils import append_doc_link\nfrom d"
  },
  {
    "path": "dvc/commands/stage.py",
    "chars": 10024,
    "preview": "import argparse\nimport logging\nfrom collections.abc import Iterable\nfrom contextlib import contextmanager\nfrom itertools"
  },
  {
    "path": "dvc/commands/status.py",
    "chars": 2822,
    "preview": "from dvc.commands.data_sync import CmdDataBase\nfrom dvc.exceptions import DvcException\nfrom dvc.log import logger\nfrom d"
  },
  {
    "path": "dvc/commands/studio.py",
    "chars": 6334,
    "preview": "import os\n\nfrom funcy import get_in\n\nfrom dvc.cli import formatter\nfrom dvc.cli.utils import append_doc_link\nfrom dvc.co"
  },
  {
    "path": "dvc/commands/unprotect.py",
    "chars": 1214,
    "preview": "from dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\n"
  },
  {
    "path": "dvc/commands/update.py",
    "chars": 2567,
    "preview": "from dvc.cli import completion, formatter\nfrom dvc.cli.command import CmdBase\nfrom dvc.cli.utils import append_doc_link\n"
  },
  {
    "path": "dvc/commands/version.py",
    "chars": 916,
    "preview": "from dvc.cli import formatter\nfrom dvc.cli.command import CmdBaseNoRepo\nfrom dvc.cli.utils import append_doc_link\nfrom d"
  },
  {
    "path": "dvc/compare.py",
    "chars": 13096,
    "preview": "from collections import abc\nfrom collections.abc import (\n    ItemsView,\n    Iterable,\n    Iterator,\n    Mapping,\n    Mu"
  },
  {
    "path": "dvc/config.py",
    "chars": 11748,
    "preview": "\"\"\"DVC config objects.\"\"\"\n\nimport ntpath\nimport os\nimport posixpath\nimport re\nfrom contextlib import contextmanager\nfrom"
  },
  {
    "path": "dvc/config_schema.py",
    "chars": 12129,
    "preview": "import os\nfrom typing import TYPE_CHECKING\nfrom urllib.parse import urlparse\n\nfrom funcy import once, walk_values\nfrom v"
  },
  {
    "path": "dvc/daemon.py",
    "chars": 5542,
    "preview": "\"\"\"Launch `dvc daemon` command in a separate detached process.\"\"\"\n\nimport inspect\nimport logging\nimport os\nimport subpro"
  },
  {
    "path": "dvc/dagascii.py",
    "chars": 8132,
    "preview": "\"\"\"Draws DAG in ASCII.\"\"\"\n\nimport math\nimport os\n\nfrom grandalf.graphs import Edge, Graph, Vertex\nfrom grandalf.layouts "
  },
  {
    "path": "dvc/data_cloud.py",
    "chars": 11842,
    "preview": "\"\"\"Manages dvc remotes that user can use with push/pull/status commands.\"\"\"\n\nfrom collections.abc import Iterable\nfrom t"
  },
  {
    "path": "dvc/database.py",
    "chars": 4080,
    "preview": "import os\nfrom collections.abc import Iterator\nfrom contextlib import contextmanager\nfrom dataclasses import dataclass\nf"
  },
  {
    "path": "dvc/dependency/__init__.py",
    "chars": 3375,
    "preview": "from collections import defaultdict\nfrom collections.abc import Mapping\nfrom typing import Any\n\nfrom dvc.output import A"
  },
  {
    "path": "dvc/dependency/base.py",
    "chars": 1972,
    "preview": "from dvc.exceptions import DvcException\nfrom dvc.fs import download as fs_download\nfrom dvc.output import Output\n\n\nclass"
  },
  {
    "path": "dvc/dependency/dataset.py",
    "chars": 2621,
    "preview": "from typing import TYPE_CHECKING, Any, ClassVar\nfrom urllib.parse import urlparse\n\nfrom funcy import compact, merge\n\nfro"
  },
  {
    "path": "dvc/dependency/db.py",
    "chars": 3896,
    "preview": "from collections.abc import Iterator\nfrom contextlib import contextmanager\nfrom typing import TYPE_CHECKING, Any, Callab"
  },
  {
    "path": "dvc/dependency/param.py",
    "chars": 5467,
    "preview": "import os\nimport typing\nfrom collections import defaultdict\nfrom typing import TYPE_CHECKING, Any, Optional\n\nimport dpat"
  },
  {
    "path": "dvc/dependency/repo.py",
    "chars": 5476,
    "preview": "from copy import deepcopy\nfrom typing import TYPE_CHECKING, Any, ClassVar, Optional, Union\n\nimport voluptuous as vol\n\nfr"
  },
  {
    "path": "dvc/dirs.py",
    "chars": 1357,
    "preview": "import os\nfrom typing import Optional\n\nimport platformdirs\n\nfrom . import env\n\nAPPNAME = \"dvc\"\nAPPAUTHOR = \"iterative\"\n\n"
  },
  {
    "path": "dvc/dvcfile.py",
    "chars": 15281,
    "preview": "import contextlib\nimport os\nfrom typing import TYPE_CHECKING, Any, Callable, ClassVar, Optional, TypeVar, Union\n\nfrom dv"
  },
  {
    "path": "dvc/env.py",
    "chars": 866,
    "preview": "DVC_ANALYTICS_ENDPOINT = \"DVC_ANALYTICS_ENDPOINT\"\nDVC_DAEMON = \"DVC_DAEMON\"\nDVC_DAEMON_LOGFILE = \"DVC_DAEMON_LOGFILE\"\nDV"
  },
  {
    "path": "dvc/exceptions.py",
    "chars": 10358,
    "preview": "\"\"\"Exceptions raised by the dvc.\"\"\"\n\nimport errno\nfrom typing import TYPE_CHECKING, Optional\n\nfrom dvc.utils import form"
  },
  {
    "path": "dvc/fs/__init__.py",
    "chars": 5636,
    "preview": "import glob\nfrom itertools import repeat\nfrom typing import Optional\nfrom urllib.parse import urlparse\n\nfrom dvc.config "
  },
  {
    "path": "dvc/fs/callbacks.py",
    "chars": 3181,
    "preview": "from contextlib import ExitStack\nfrom typing import TYPE_CHECKING, BinaryIO, Optional, Union\n\nfrom fsspec.callbacks impo"
  },
  {
    "path": "dvc/fs/data.py",
    "chars": 904,
    "preview": "import functools\nimport os\nfrom typing import TYPE_CHECKING\n\nfrom dvc.log import logger\nfrom dvc.utils import as_posix\nf"
  },
  {
    "path": "dvc/fs/dvc.py",
    "chars": 23874,
    "preview": "import errno\nimport functools\nimport ntpath\nimport os\nimport posixpath\nimport threading\nfrom collections import defaultd"
  },
  {
    "path": "dvc/fs/dvc_path.py",
    "chars": 1714,
    "preview": "\"\"\"UPath implementation for DVCFileSystem.\n\nThis provides a `pathlib.Path` like interface to\nwork with DVCFileSystem.\n\nE"
  },
  {
    "path": "dvc/fs/git.py",
    "chars": 1423,
    "preview": "import functools\nfrom typing import TYPE_CHECKING, Any, Optional\n\nfrom . import FileSystem\n\nif TYPE_CHECKING:\n    from s"
  },
  {
    "path": "dvc/ignore.py",
    "chars": 19760,
    "preview": "import functools\nimport os\nimport re\nfrom collections.abc import Iterable, Iterator\nfrom itertools import chain, groupby"
  },
  {
    "path": "dvc/info.py",
    "chars": 5080,
    "preview": "import importlib.metadata as importlib_metadata\nimport itertools\nimport os\nimport pathlib\nimport platform\n\nimport psutil"
  },
  {
    "path": "dvc/lock.py",
    "chars": 6267,
    "preview": "\"\"\"Manages dvc lock file.\"\"\"\n\nimport hashlib\nimport os\nimport time\nfrom abc import ABC, abstractmethod\nfrom datetime imp"
  },
  {
    "path": "dvc/log.py",
    "chars": 276,
    "preview": "# using a separate module instead of using `dvc.logger` to not create an import-cycle.\nimport logging\n\n\nclass LoggerWith"
  },
  {
    "path": "dvc/logger.py",
    "chars": 8139,
    "preview": "\"\"\"Manages logging configuration for DVC repo.\"\"\"\n\nimport logging\nimport os\nimport sys\nfrom collections.abc import Itera"
  },
  {
    "path": "dvc/output.py",
    "chars": 48801,
    "preview": "import errno\nimport os\nimport posixpath\nfrom collections import defaultdict\nfrom contextlib import suppress\nfrom operato"
  },
  {
    "path": "dvc/parsing/__init__.py",
    "chars": 23133,
    "preview": "import logging\nimport os\nfrom collections.abc import Mapping, Sequence\nfrom copy import deepcopy\nfrom itertools import p"
  },
  {
    "path": "dvc/parsing/context.py",
    "chars": 16691,
    "preview": "from abc import ABC, abstractmethod\nfrom collections import defaultdict\nfrom collections.abc import Mapping, MutableMapp"
  },
  {
    "path": "dvc/parsing/interpolate.py",
    "chars": 6016,
    "preview": "import os\nimport re\nimport typing\nfrom collections.abc import Iterable, Mapping\nfrom functools import singledispatch\n\nfr"
  },
  {
    "path": "dvc/pathspec_math.py",
    "chars": 2620,
    "preview": "# Path Specification Pattern Math\n# Including changing base dir of path specification patterns and merging\n# of two path"
  },
  {
    "path": "dvc/progress.py",
    "chars": 5165,
    "preview": "\"\"\"Manages progress bars for DVC repo.\"\"\"\n\nimport logging\nimport sys\nfrom threading import RLock\nfrom typing import TYPE"
  },
  {
    "path": "dvc/prompt.py",
    "chars": 1354,
    "preview": "\"\"\"Manages user prompts.\"\"\"\n\nfrom collections.abc import Collection\nfrom getpass import getpass\nfrom typing import Optio"
  },
  {
    "path": "dvc/render/__init__.py",
    "chars": 166,
    "preview": "INDEX = \"step\"\nREVISION = \"rev\"\nFILENAME = \"filename\"\nFIELD = \"field\"\nREVISIONS = \"revisions\"\nANCHOR_DEFINITIONS = \"anch"
  },
  {
    "path": "dvc/render/convert.py",
    "chars": 1542,
    "preview": "from typing import Union\n\nfrom dvc.render import REVISION, REVISIONS, SRC, TYPE_KEY\nfrom dvc.render.converter.image impo"
  },
  {
    "path": "dvc/render/converter/__init__.py",
    "chars": 517,
    "preview": "from typing import Any, Optional\n\n\nclass Converter:\n    def __init__(\n        self,\n        plot_id: str,\n        data: "
  },
  {
    "path": "dvc/render/converter/image.py",
    "chars": 1884,
    "preview": "import base64\nimport os\nfrom typing import TYPE_CHECKING, Any\n\nfrom dvc.render import FILENAME, REVISION, SRC\n\nfrom . im"
  },
  {
    "path": "dvc/render/converter/vega.py",
    "chars": 11001,
    "preview": "import os\nfrom collections.abc import Iterable\nfrom typing import Any, Optional, Union\n\nfrom funcy import first, last\n\nf"
  },
  {
    "path": "dvc/render/match.py",
    "chars": 4274,
    "preview": "import os\nfrom collections import defaultdict\nfrom typing import TYPE_CHECKING, NamedTuple, Optional\n\nimport dpath.optio"
  },
  {
    "path": "dvc/repo/__init__.py",
    "chars": 21839,
    "preview": "import os\nfrom collections import defaultdict\nfrom collections.abc import Iterable\nfrom contextlib import AbstractContex"
  },
  {
    "path": "dvc/repo/add.py",
    "chars": 7127,
    "preview": "import os\nfrom collections.abc import Iterator\nfrom contextlib import contextmanager\nfrom typing import TYPE_CHECKING, N"
  },
  {
    "path": "dvc/repo/artifacts.py",
    "chars": 13318,
    "preview": "import os\nimport posixpath\nfrom pathlib import Path\nfrom typing import TYPE_CHECKING, Any, Optional, Union\n\nfrom dvc.ann"
  },
  {
    "path": "dvc/repo/brancher.py",
    "chars": 4879,
    "preview": "from collections.abc import Iterator\nfrom contextlib import contextmanager\nfrom typing import TYPE_CHECKING, Optional\n\nf"
  },
  {
    "path": "dvc/repo/cache.py",
    "chars": 897,
    "preview": "import os\n\n\ndef check_missing(repo, rev=None, max_size=None, types=None):\n    from dvc_data.index import StorageKeyError"
  },
  {
    "path": "dvc/repo/checkout.py",
    "chars": 6318,
    "preview": "import os\nfrom collections import defaultdict\nfrom typing import TYPE_CHECKING\n\nfrom dvc.exceptions import (\n    Checkou"
  },
  {
    "path": "dvc/repo/collect.py",
    "chars": 2110,
    "preview": "from collections.abc import Iterable\nfrom typing import TYPE_CHECKING, Callable, Optional\n\nfrom dvc.log import logger\n\ni"
  },
  {
    "path": "dvc/repo/commit.py",
    "chars": 4814,
    "preview": "from itertools import groupby\nfrom typing import TYPE_CHECKING\n\nfrom dvc import prompt\n\nfrom . import locked\nfrom .scm_c"
  },
  {
    "path": "dvc/repo/data.py",
    "chars": 17837,
    "preview": "import os\nimport posixpath\nfrom collections import defaultdict, deque\nfrom collections.abc import Iterable, Iterator, Ma"
  },
  {
    "path": "dvc/repo/datasets.py",
    "chars": 13660,
    "preview": "import os\nfrom collections.abc import Iterator, Mapping\nfrom datetime import datetime\nfrom functools import cached_prope"
  },
  {
    "path": "dvc/repo/destroy.py",
    "chars": 519,
    "preview": "from dvc.ignore import destroy as destroy_dvcignore\nfrom dvc.utils.fs import remove\n\nfrom . import locked\n\n\n@locked\ndef "
  },
  {
    "path": "dvc/repo/diff.py",
    "chars": 4797,
    "preview": "import errno\nimport os\nfrom collections import defaultdict\nfrom typing import Optional\n\nfrom dvc.log import logger\nfrom "
  },
  {
    "path": "dvc/repo/du.py",
    "chars": 1024,
    "preview": "from typing import Any, Optional, Union\n\n\ndef du(\n    url: str,\n    path: Optional[str] = None,\n    rev: Optional[str] ="
  },
  {
    "path": "dvc/repo/experiments/__init__.py",
    "chars": 12693,
    "preview": "import os\nimport re\nfrom collections.abc import Iterable\nfrom typing import TYPE_CHECKING, Optional\n\nfrom funcy import c"
  },
  {
    "path": "dvc/repo/experiments/apply.py",
    "chars": 2070,
    "preview": "import os\nfrom typing import TYPE_CHECKING, Optional\n\nfrom dvc.log import logger\nfrom dvc.repo import locked\nfrom dvc.re"
  },
  {
    "path": "dvc/repo/experiments/branch.py",
    "chars": 1983,
    "preview": "from dvc.exceptions import InvalidArgumentError\nfrom dvc.log import logger\nfrom dvc.repo import locked\nfrom dvc.repo.scm"
  },
  {
    "path": "dvc/repo/experiments/brancher.py",
    "chars": 1338,
    "preview": "from collections.abc import Iterator\nfrom contextlib import ExitStack, contextmanager\nfrom typing import TYPE_CHECKING\n\n"
  },
  {
    "path": "dvc/repo/experiments/cache.py",
    "chars": 2019,
    "preview": "import os\nfrom typing import TYPE_CHECKING, Optional, Union\n\nfrom dvc.fs import localfs\nfrom dvc.log import logger\nfrom "
  },
  {
    "path": "dvc/repo/experiments/clean.py",
    "chars": 252,
    "preview": "from typing import TYPE_CHECKING\n\nfrom dvc.ui import ui\n\nif TYPE_CHECKING:\n    from dvc.repo import Repo\n\n\ndef clean(rep"
  },
  {
    "path": "dvc/repo/experiments/collect.py",
    "chars": 10686,
    "preview": "import itertools\nimport os\nfrom collections.abc import Collection, Iterable, Iterator\nfrom dataclasses import fields\nfro"
  },
  {
    "path": "dvc/repo/experiments/diff.py",
    "chars": 964,
    "preview": "from dvc.log import logger\nfrom dvc.utils.diff import diff as _diff\nfrom dvc.utils.diff import format_dict\n\nlogger = log"
  },
  {
    "path": "dvc/repo/experiments/exceptions.py",
    "chars": 3131,
    "preview": "from collections.abc import Collection, Iterable\nfrom typing import TYPE_CHECKING, Optional\n\nfrom dvc.exceptions import "
  },
  {
    "path": "dvc/repo/experiments/executor/__init__.py",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "dvc/repo/experiments/executor/base.py",
    "chars": 27505,
    "preview": "import os\nimport pickle\nimport shutil\nfrom abc import ABC, abstractmethod\nfrom collections.abc import Iterable, Iterator"
  },
  {
    "path": "dvc/repo/experiments/executor/local.py",
    "chars": 8568,
    "preview": "import os\nfrom contextlib import ExitStack\nfrom tempfile import mkdtemp\nfrom typing import TYPE_CHECKING, Optional, Unio"
  },
  {
    "path": "dvc/repo/experiments/ls.py",
    "chars": 1223,
    "preview": "from collections import defaultdict\nfrom typing import Optional, Union\n\nfrom dvc.log import logger\nfrom dvc.repo import "
  },
  {
    "path": "dvc/repo/experiments/pull.py",
    "chars": 3569,
    "preview": "from collections.abc import Iterable, Mapping\nfrom typing import Optional, Union\n\nfrom funcy import group_by\nfrom scmrep"
  },
  {
    "path": "dvc/repo/experiments/push.py",
    "chars": 5421,
    "preview": "from collections.abc import Iterable, Mapping\nfrom typing import TYPE_CHECKING, Any, Optional, Union\n\nfrom funcy import "
  },
  {
    "path": "dvc/repo/experiments/queue/__init__.py",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "dvc/repo/experiments/queue/base.py",
    "chars": 25180,
    "preview": "import os\nfrom abc import ABC, abstractmethod\nfrom collections.abc import Collection, Generator, Iterable, Mapping\nfrom "
  },
  {
    "path": "dvc/repo/experiments/queue/celery.py",
    "chars": 24246,
    "preview": "import glob\nimport hashlib\nimport locale\nimport logging\nimport os\nfrom collections import defaultdict\nfrom collections.a"
  },
  {
    "path": "dvc/repo/experiments/queue/exceptions.py",
    "chars": 395,
    "preview": "from collections.abc import Collection\n\nfrom dvc.exceptions import DvcException\n\n\nclass CannotKillTasksError(DvcExceptio"
  },
  {
    "path": "dvc/repo/experiments/queue/remove.py",
    "chars": 4568,
    "preview": "from collections.abc import Collection, Iterable\nfrom typing import TYPE_CHECKING, Union\n\nfrom dvc.repo.experiments.exce"
  },
  {
    "path": "dvc/repo/experiments/queue/tasks.py",
    "chars": 3911,
    "preview": "from typing import TYPE_CHECKING, Any, Optional\n\nfrom celery import shared_task\nfrom celery.utils.log import get_task_lo"
  },
  {
    "path": "dvc/repo/experiments/queue/tempdir.py",
    "chars": 6897,
    "preview": "import os\nfrom collections import defaultdict\nfrom collections.abc import Collection, Generator\nfrom typing import TYPE_"
  },
  {
    "path": "dvc/repo/experiments/queue/utils.py",
    "chars": 2681,
    "preview": "from typing import TYPE_CHECKING\n\nfrom scmrepo.exceptions import SCMError\n\nfrom dvc.log import logger\nfrom dvc.repo.expe"
  }
]

// ... and 391 more files (download for full content)

About this extraction

This page contains the full source code of the treeverse/dvc GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 591 files (2.9 MB), approximately 792.0k tokens, and a symbol index with 4727 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!