snakemake-interface-storage-plugins
This package provides a stable interface for interactions between Snakemake and its storage plugins.
What it is and what it does
This package defines the contract between Snakemake and its storage plugins. It exports base classes and type definitions that plugin developers must implement to create custom storage backends—such as cloud storage, databases, or HTTP endpoints—that Snakemake can read from and write to during workflow execution.
The interface includes abstract methods for querying storage validity, reading and writing objects, globbing patterns, rate limiting, and inventory operations. Plugin developers inherit from StorageProviderBase and StorageObject classes, implement required methods like is_valid_query and local_suffix, and optionally define settings dataclasses for CLI parameters. The package handles retry logic via a decorator and provides utilities for caching and safe logging of queries.
Use it for:
- Develop a custom storage plugin to integrate a proprietary or niche storage system with Snakemake workflows
- Create a cloud storage backend plugin (e.g., for a specific object store) that Snakemake can use as a workflow input/output location
- Build a database-backed storage plugin to store workflow artifacts in a relational or NoSQL database
- Implement a storage plugin with custom rate limiting and retry logic for a rate-limited API or service
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a stable interface specification and base classes for building Snakemake storage plugins that interact with various storage backends.
Yes, if you are developing a Snakemake storage plugin. This is the required interface specification and base class library for that task. If you are a Snakemake end-user, install only if your workflow uses a custom storage plugin that depends on it. Verify the license status before use in proprietary projects.
Install
snakemake-interface-storage-plugins on PyPI
pip
pip install snakemake-interface-storage-pluginsuv
uv add snakemake-interface-storage-pluginspoetry
poetry add snakemake-interface-storage-pluginsInstalling snakemake-interface-storage-plugins
Before you install
Active maintenance with recent commits. Low install friction as a pure Python wheel with five lightweight runtime dependencies (humanfriendly, snakemake-interface-common, tenacity, throttler, wrapt).
License in practice
License status is unclear—no SPDX identifier or raw license text is declared in the package metadata. Verify the actual license terms before using in proprietary or restricted contexts.
Quickstart
pip install snakemake-interface-storage-plugins
from snakemake_interface_storage_plugins.storage_provider import StorageProviderBase
from snakemake_interface_storage_plugins.storage_object import StorageObjectRead
class MyStorageProvider(StorageProviderBase):
pass
class MyStorageObject(StorageObjectRead):
pass
Requires Python 3.10 or later. Intended for plugin developers; end-users need a Snakemake installation and a plugin that depends on this package.
Verify before relying
- Whether the package is actually licensed under an open-source license despite the unclear metadata declaration
- Stability guarantees or semantic versioning policy for the interface across major versions
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — humanfriendly, snakemake-interface-common, tenacity, throttler, wrapt |
| Maintenance | actively maintained — 151 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,234,956/month — #4,177 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: snakemake_interface_storage_plugins-4.4.1-py3-none-any.whl
Tags
More Application Frameworks packages
FastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
textualTextual is a Python framework for building…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
mcpBuild and connect to Model Context Protocol…
permissive · top 1,000 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
snakemake-interface-executor-pluginsProvides a stable interface specification for…
permissive · top 15,000 on PyPI
snakemake-interface-logger-pluginsProvides a stable interface specification for…
unclear · top 15,000 on PyPI
snakemake-interface-report-pluginsDefines the interface contract that Snakemake…
unclear · top 15,000 on PyPI
snakemake-interface-scheduler-pluginsProvides a stable interface specification for…
unclear · top 15,000 on PyPI
snakemake-storage-plugin-s3Enables Snakemake workflows to read from and…
permissive · top 15,000 on PyPI
snakemake-interface-commonProvides shared interfaces, utilities, and data…
unclear · top 5,000 on PyPI
snakemake-storage-plugin-gcsEnables Snakemake workflows to read from and…
permissive · top 15,000 on PyPI
snakemakeSnakemake is a workflow management system that…
permissive · top 15,000 on PyPI
pulumi-tailscaleA Pulumi resource provider that lets you…
permissive · top 15,000 on PyPI
fsspecfsspec provides a unified filesystem interface…
unclear · top 100 on PyPI