#1088167 ITP: python-snakemake-interface-common etc / transition: snakemake 7 -> 8

Package:
wnpp
Source:
wnpp
Submitter:
Rebecca N. Palmer
Date:
2025-11-29 16:56:13 UTC
Severity:
normal
#1088167#5
Date:
2024-11-24 13:37:13 UTC
From:
To:
* Package name    : python-snakemake-interface-common
(source; binary python3-snakemake-interface-common, and possibly
python-snakemake-interface-common-doc)
* URL: https://github.com/snakemake/snakemake-interface-common
* License         : Expat
   Programming Lang: Python

snakemake 8 splits the upstream repository into snakemake, 5 interfaces
(snakemake-interface-common, snakemake-interface-executor-plugins,
snakemake-interface-storage-plugins, snakemake-interface-report-plugins,
snakemake-interface-software-deployment-plugins) and ~30 plugins, with
separate version numbering.

https://github.com/snakemake/snakemake/blob/main/CHANGELOG.md#800-2023-12-20

According to upstream's setup.cfg, 4 of the 5 interfaces and none of the
plugins are required dependencies (but the tests use 4 plugins:
snakemake-executor-plugin-cluster-generic,
snakemake-storage-plugin-http, snakemake-storage-plugin-s3,
snakemake-storage-plugin-fs).  It also adds one new external dependency
Debian doesn't currently have, python(3)-immutables.

snakemake 8 also makes some breaking API changes, described at
https://github.com/snakemake/snakemake/blob/main/docs/getting_started/migration.rst

I do not yet know whether these affect its reverse Depends/Recommends (
elpa-snakemake igdiscover kallisto pigx-rnaseq qcumber ).

I propose to package the required 4 interfaces, and probably a few
plugins but not all of them, as separate packages (i.e. *not* one
multi-upstream-tarball package -
https://wiki.debian.org/Javascript/GroupSourcesTutorial ) with the above
name format, in the Debian Med team (where snakemake currently is).
However, this is open to discussion.