dvc-http is a plugin for Data Version Control (DVC) that provides support for HTTP and HTTPS remotes, allowing DVC to store and retrieve data from web servers. It leverages the `fsspec` library to provide filesystem-like access over HTTP(S). The current version is 2.32.0, and the project maintains an active release cadence with frequent updates.
pip install dvc-httpVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to use `dvc-http` indirectly via the `fsspec` interface to read a file from an HTTP URL. When `dvc-http` is installed, `fsspec.filesystem('http')` will automatically use its backend to handle HTTP operations. For DVC CLI usage, simply configure an HTTP remote (e.g., `dvc remote add myremote http://example.com/data`).
Use `read_timeout` and `connect_timeout` instead. For example, pass `connect_timeout=10, read_timeout=30` to your DVC configuration or fsspec calls.
This change primarily affects library internals and dependency resolution. Users typically install `dvc` and `dvc-http` separately. If you were relying on `dvc-http` implicitly pulling in `dvc` or on internal `dvc` imports from `dvc-http`, adjust your environment and code accordingly. For most users, this means `dvc-http` is more independent and modular.
Verify installation with `pip show dvc-http` and `pip show fsspec`. Reinstall if necessary using `pip install dvc-http`.
Increase the `http.timeout` setting for your DVC remote using `dvc remote modify --local myremote http.timeout <seconds>` or adjust server-side timeouts if possible. A value of 0 disables the timeout for read operations.
Verify and correctly configure your authentication details using `dvc remote modify --local myremote auth <method>` (e.g., `basic`, `custom`) along with `user`, `password`, or `custom_auth_header` as required by your remote. Ensure sensitive values are stored locally or via environment variables.
Downgrade `fsspec` to a version compatible with your DVC installation (e.g., `pip install fsspec==2022.11.0`). Ensure all DVC and `dvc-http` dependencies are correctly installed and compatible with your Python environment, possibly by reinstalling DVC with its HTTP extra: `pip install 'dvc[http]' --force-reinstall`.
First, ensure the data was successfully pushed to the remote using `dvc push`. If the issue persists, try clearing and relinking the local cache with `dvc cache dir --unset` followed by `dvc checkout --relink`, or explicitly specifying the cache directory. Verify that the configured remote URL is accessible and correct.