{"id":3472,"library":"dvc-http","title":"DVC HTTP/HTTPS Remote Plugin","description":"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.","status":"active","version":"2.32.0","language":"en","source_language":"en","source_url":"https://github.com/iterative/dvc-http","tags":["dvc","data version control","fsspec","http","https","cloud storage","plugin"],"install":[{"cmd":"pip install dvc-http","lang":"bash","label":"Install dvc-http"}],"dependencies":[{"reason":"Core dependency providing the filesystem interface for HTTP/HTTPS. This is automatically installed with `dvc-http`.","package":"fsspec[http]","optional":false}],"imports":[{"note":"dvc-http registers itself with fsspec to handle 'http' and 'https' protocols. Direct imports from `dvc_http` are typically not needed for end-user functionality, as interaction is primarily through DVC's CLI or fsspec's API.","symbol":"fsspec.filesystem('http')","correct":"import fsspec\nfs = fsspec.filesystem('http')"}],"quickstart":{"code":"import fsspec\nimport os\n\n# dvc-http registers itself with fsspec to handle 'http' and 'https' protocols.\n# No direct import from dvc_http is typically needed for basic usage.\n\ntry:\n    # This will use dvc-http's implementation if installed\n    fs = fsspec.filesystem(\"http\")\n    # Using a placeholder public URL for demonstration\n    file_url = \"http://www.textfiles.com/100/abacus.txt\"\n\n    print(f\"Attempting to read from: {file_url}\")\n    with fs.open(file_url, \"r\", encoding=\"utf-8\") as f:\n        content = f.read(100) # Read first 100 characters\n        print(f\"\\nSuccessfully read from {file_url}:\")\n        print(\"--- Content Snippet ---\")\n        print(content)\n        print(\"-----------------------\")\nexcept Exception as e:\n    print(f\"\\nAn error occurred: {e}\")\n    print(\"Ensure dvc-http is installed and the URL is accessible.\")","lang":"python","description":"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`)."},"warnings":[{"fix":"Use `read_timeout` and `connect_timeout` instead. For example, pass `connect_timeout=10, read_timeout=30` to your DVC configuration or fsspec calls.","message":"Timeout parameters for HTTP operations have changed. `sock_read_timeout` and `sock_connect_timeout` are no longer supported.","severity":"breaking","affected_versions":">=2.29.0"},{"fix":"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.","message":"dvc-http no longer has `dvc` as a direct runtime dependency, nor does it import from `dvc` internally.","severity":"gotcha","affected_versions":">=2.30.2"},{"fix":"Verify installation with `pip show dvc-http` and `pip show fsspec`. Reinstall if necessary using `pip install dvc-http`.","message":"While `dvc-http`'s `fsspec[http]` dependency is handled automatically by pip, ensure `dvc-http` (or `fsspec[http]`) is correctly installed if you encounter 'protocol not found' errors when trying to use `fsspec.filesystem('http')`.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-11T00:00:00.000Z","next_check":"2026-07-10T00:00:00.000Z"}