$npx skillfedfor your agent

snakemake-interface-scheduler-plugins

Scheduler plugin interface for snakemake

With conditionsPyPI Application FrameworksReleased Oct 202596.0K downloads / moPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — snakemake_interface_scheduler_plugins-2.0.2-py3-none-any.whl
v2.0.2 · released 2025-10-20 · Python <4.0,>=3.11 · 1 runtime deps: snakemake-interface-common

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

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).
Same gist for agents: .md · .json

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.

With conditions

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

LicenseNot declared unclear
Python supportSupports the current Python release <4.0,>=3.11
Install frictionLow. Pure-Python wheel
Runtime dependencies
1 package
snakemake-interface-common
MaintenanceAging 298 days since the last release
First released
Downloads95,971 / month, #13,240 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14

Evidence: snakemake_interface_scheduler_plugins-2.0.2-py3-none-any.whl

Tags

Capabilities
snakemake scheduler plugin interfacecustom job scheduler for snakemakesnakemake plugin developmentworkflow scheduling interfacesnakemake task schedulingplugin base classes snakemakescheduler plugin skeleton
Topics
snakemake-pluginworkflow-schedulinginterface-specification

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”

Give your agent the search over MCP, or paste the wish link into any chat.

More Application Frameworks packages

fastapi Worth it
PyPI · Software Development · released Jul 2026

FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.

MITpure Python · 3.10+
568.6Mdownloads / mo
annotated-doc With conditions
PyPI · Software Development · released Jul 2026

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.

MITpure Python · 3.9+
456.2Mdownloads / mo
textual Worth it
PyPI · Application Frameworks · released Jun 2026

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.

MITpure Python
443.6Mdownloads / mo
typer Worth it
PyPI · Software Development · released Aug 2026

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.

MITpure Python · 3.10+
369.3Mdownloads / mo
mcp Worth it
PyPI · Application Frameworks · released Jul 2026

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.

MITpure Python · 3.10+
319.3Mdownloads / mo
Werkzeug Worth it
PyPI · Application Frameworks · released Apr 2026

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.

BSD-3-Clausepure Python · 3.9+
268.1Mdownloads / mo

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