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

From: "Rebecca N. Palmer" <[email-masked]>
Date: Sun, 24 Nov 2024 13:37:13 +0000

Package: wnpp
Severity: wishlist
Owner: [email-masked]
X-Debbugs-Cc: [email-masked],[email-masked]

* 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.