Snakemake Storage Plugin HTTP

raw JSON →
0.3.1 verified Mon Apr 27 auth: no python

Snakemake storage plugin for downloading input files from HTTP(s). Version 0.3.1, released March 2026. Active development, follows Snakemake storage plugin interface.

pip install snakemake-storage-plugin-http
error ModuleNotFoundError: No module named 'snakemake_storage_plugin_http'
cause Plugin package not installed.
fix
pip install snakemake-storage-plugin-http
error snakemake.exceptions.WorkflowError: The storage plugin for HTTP is not available.
cause Snakemake cannot find the HTTP storage plugin; possibly missing dependency or version mismatch with snakemake-storage-plugin-base.
fix
Ensure snakemake and snakemake-storage-plugin-base are up-to-date and the plugin is installed. Restart Snakemake.
breaking Version 0.3.0 adapts to interface 4.0 of snakemake-storage-plugin-base. Ensure snakemake-storage-plugin-base is updated to >=4.0.
fix Update snakemake-storage-plugin-base: pip install 'snakemake-storage-plugin-base>=4.0'
gotcha The plugin may decompress transparently compressed data (e.g., gzip) by default, which can change file contents unexpectedly.
fix Check the plugin's configuration options to disable automatic decompression if needed.
gotcha If the HTTP server does not support HEAD requests, use the flag to disable HEAD verb (available since 0.3.0). Failing to do so may cause errors when querying file size.
fix Set environment variable SNAKEMAKE_STORAGE_HTTP_DISABLE_HEAD=true or configure via Snakemake's plugin settings.

Basic usage: instantiate the provider. Typically used implicitly via Snakemake's storage plugin mechanism.

from snakemake_storage_plugin_http import StorageProviderHTTP

provider = StorageProviderHTTP()
# Example: retrieve a file from an HTTP URL
# In a Snakefile, simply use http:// or https:// URLs as input
# e.g., input: "https://example.com/data.txt"
print("Plugin loaded successfully")