snakemake-interface-scheduler-plugins
Scheduler plugin interface for snakemake
Decision gist · record as of 2026-08-14
Yes, if you are developing a Snakemake scheduler plugin. This is a required dependency for that use case and has low install friction. No, if you are a Snakemake end-user—you do not need this directly. Be aware that the license is unclear in the metadata, so verify the actual license before using in proprietary work. The aging maintenance status (298 days since last release) is typical for a stable interface package but means slower response to compatibility issues.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.11 or later (supports_current).
- Plugin implementations must follow naming convention snakemake-scheduler-plugin-* and be published on PyPI to be discoverable by Snakemake.
- Low install friction with a single runtime dependency (snakemake-interface-common).
License · maintenance · safety
(unclear) — License treatment is unclear; no SPDX identifier or raw license text is available in the package metadata. Verify the actual license before depending on this in proprietary or GPL-sensitive projects.
last release 2025-10-20 (298 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 95,971 downloads/mo, #13,240 on PyPI
Alternatives
Verify before relying
pip install snakemake-interface-scheduler-plugins
from snakemake_interface_scheduler_plugins.base import SchedulerBase
from snakemake_interface_scheduler_plugins.settings import SchedulerSettingsBase
class Scheduler(SchedulerBase):
def select_jobs(self, selectable_jobs, remaining_jobs, available_resources, input_sizes):
# Implement custom scheduling logic
return selectable_jobs- Whether the package includes automated testing scaffolding or if Snakedeploy is a separate required tool for plugin development.
- Whether the interface is forward-compatible across Snakemake major versions or if plugins need rebuilding.
- Actual license text or SPDX identifier (currently marked unclear in metadata).
What it is and what it does
This package defines the contract between Snakemake and its scheduler plugins. It exports base classes (SchedulerBase, SchedulerSettingsBase) and interface types (SchedulerDAGInterface, SchedulerJobInterface) that plugin authors must implement to create custom job schedulers. The package itself contains no scheduling logic—it is purely a specification layer that ensures plugins can be discovered and loaded by Snakemake at runtime.
Plugin developers use this interface to implement the select_jobs() method, which receives selectable jobs, remaining jobs, available resources, and input file sizes, then returns a sequence of jobs to execute next. The interface also supports optional configuration via SchedulerSettings and lifecycle hooks like dag_updated(). Plugins must follow the naming convention snakemake-scheduler-plugin-* and be published on PyPI to be recognized by Snakemake.
Use it for
- Build a custom scheduler that prioritizes jobs by input file size or estimated runtime for optimized resource utilization.
- Implement a constraint-based scheduler (e.g., ILP-based) that respects complex resource or dependency constraints beyond Snakemake's defaults.
- Create a distributed scheduler plugin that coordinates job execution across multiple machines or cloud providers.
- Develop a scheduler that integrates with external job queuing systems (SLURM, Kubernetes) via a Snakemake plugin.
- Write a research scheduler that tests novel scheduling heuristics on real bioinformatics or scientific workflows.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are developing a Snakemake scheduler plugin.
This is a required dependency for that use case and has low install friction. No, if you are a Snakemake end-user—you do not need this directly. Be aware that the license is unclear in the metadata, so verify the actual license before using in proprietary work. The aging maintenance status (298 days since last release) is typical for a stable interface package but means slower response to compatibility issues.
Install
snakemake-interface-scheduler-plugins on PyPI
Before you install
Low install friction with a single runtime dependency (snakemake-interface-common). Maintenance status is aging—last release was 298 days ago—so expect slower response to issues, though the package appears stable for its narrow interface role.
Requires Python 3.11 or later (supports_current). Plugin implementations must follow naming convention snakemake-scheduler-plugin-* and be published on PyPI to be discoverable by Snakemake.
License in practice
License treatment is unclear; no SPDX identifier or raw license text is available in the package metadata. Verify the actual license before depending on this in proprietary or GPL-sensitive projects.
Quickstart
pip install snakemake-interface-scheduler-plugins
from snakemake_interface_scheduler_plugins.base import SchedulerBase
from snakemake_interface_scheduler_plugins.settings import SchedulerSettingsBase
class Scheduler(SchedulerBase):
def select_jobs(self, selectable_jobs, remaining_jobs, available_resources, input_sizes):
# Implement custom scheduling logic
return selectable_jobs
Verify before relying
- Whether the package includes automated testing scaffolding or if Snakedeploy is a separate required tool for plugin development.
- Whether the interface is forward-compatible across Snakemake major versions or if plugins need rebuilding.
- Actual license text or SPDX identifier (currently marked unclear in metadata).
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release <4.0,>=3.11 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagesnakemake-interface-common |
| Maintenance | Aging 298 days since the last release |
| First released | |
| Downloads | 95,971 / month, #13,240 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: snakemake_interface_scheduler_plugins-2.0.2-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “snakemake scheduler plugin interface”
- snakemake-interface-scheduler-pluginsProvides a stable interface specification for building Snakemake…
- snakemake-interface-report-pluginsDefines the interface contract that Snakemake report plugins must…
- snakemake-interface-logger-pluginsProvides a stable interface specification for building logger plugins…
Give your agent the search over MCP, or paste the wish link into any chat.
More Application Frameworks packages
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.
Install it if you're developing CLI tools, dashboards, or interactive terminal applications.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Build and connect to Model Context Protocol servers that expose tools, resources, and prompts to LLM applications over stdio, HTTP, or SSE transports.
Install it if you need to build or connect to servers.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
See also snakemake-interface-executor-plugins · snakemake-interface-report-plugins · snakemake-interface-logger-plugins · snakemake · snakemake-interface-storage-plugins · snakemake-interface-common · rq-scheduler · schedule · scheduler · luigi