Erik Fasterius
01/29/2026, 9:22 AMtemplates, how is that supposed to work? In e.g. https://github.com/nf-core/scdownstream/blob/dev/modules/local/scvitools/scvi/main.nf there are a bunch of variables that are declared and not used in <http://main.nf|main.nf> but are used in scvi.py through template(scvi.py). Linting shows warnings that the variables are declared but not used. I thought about adding a no-op (e.g. : "${variable}"), but then there'd have to be a script block (which there isn't, since it's using templates), plus it feels ugly.Matthias De Smet
01/29/2026, 9:43 AMscript tagPhil Ewels
01/29/2026, 10:02 AMPhil Ewels
01/29/2026, 10:02 AMPhil Ewels
01/29/2026, 10:02 AMJonathan Manning
01/29/2026, 10:48 AMJonathan Manning
01/29/2026, 10:50 AMPhil Ewels
01/29/2026, 10:51 AMYep, module binaries have a run time Wave dependency I think we should avoid for community modules.But if we're starting to use Wave / Seqera Containers to generate containers for nf-core modules, then it could be baked in - no Wave dependency at run time? π€
Phil Ewels
01/29/2026, 10:52 AMJonathan Manning
01/29/2026, 10:54 AMErik Fasterius
01/29/2026, 12:40 PMErik Fasterius
01/29/2026, 12:41 PMJonathan Manning
01/29/2026, 12:42 PMJonathan Manning
01/29/2026, 12:42 PMErik Fasterius
01/29/2026, 12:42 PMBen Sherman
01/30/2026, 2:49 PMI think Nextflow would still try to use Wave to bake the scripts in, even if we hacked around to pre-bake themIf there's a limitation that you see with the Wave + module binary approach, you should bring it up in a Nextflow issue so that we can work towards a solution. I think it would be a viable alternative to the module template approach but it's hard to say for sure until someone tries in earnest
Phil Ewels
01/30/2026, 4:44 PMJonathan Manning
01/30/2026, 4:47 PMBen Sherman
01/30/2026, 9:49 PMnextflow inspect to build the containers exactly as Wave would build them at runtime. I thought Edmund did a POC for this a while ago...
The containers would be tied to specific modules though, not just an arbitrary set of conda packagesPhil Ewels
01/30/2026, 10:11 PMMaxime Garcia
03/16/2026, 10:37 AMMaxime Garcia
03/16/2026, 10:37 AMJim Downie
03/16/2026, 10:43 AMbin/ , even if it just means dumping all module binaries into a single directory at runtime and staging itPhil Ewels
03/16/2026, 10:47 AMThe same mechanism as the current staging of binaries inThis mechanism is a bit of a hack and Paolo hates it, and would love to remove it from Nextflow if he could. He refuses to make it worse / duplicate it for modules.bin/
Jonathan Manning
03/16/2026, 10:50 AMPhil Ewels
03/16/2026, 10:51 AMPhil Ewels
03/16/2026, 10:51 AMPhil Ewels
03/16/2026, 10:52 AMMaxime Garcia
03/16/2026, 10:52 AMPhil Ewels
03/16/2026, 10:52 AMMaxime Garcia
03/16/2026, 10:52 AMJim Downie
03/16/2026, 10:54 AMThis mechanism is a bit of a hack and Paolo hates it, and would love to remove it from Nextflow if he could.I would accept this if it happened. At least it would force us to take a more declarative approach, rather than dangling a tantalisingly almost-useful feature at us
Jim Downie
03/16/2026, 10:58 AMJonathan Manning
03/16/2026, 11:15 AMJim Downie
03/16/2026, 11:16 AMJonathan Manning
03/16/2026, 11:25 AMBen Sherman
03/16/2026, 1:43 PMstageAs directive to stage it in:
nextflow.preview.types = true
process HELLO {
input:
// ...
stage:
stageAs file("${moduleDir}/bin/script.py"), '*'
script:
"""
script.py ...
"""
}Jim Downie
03/16/2026, 1:44 PMJim Downie
03/16/2026, 1:46 PM./script.py in the module script, though?
This seems like a good general-purpose way to bundle small files with modules more generally, also - rather than dumping them into a generic assets/ directory, keep them contextually located with their modulesJonathan Manning
03/16/2026, 1:51 PMMaxime Garcia
03/16/2026, 1:53 PMErik Fasterius
03/16/2026, 1:58 PMJonathan Manning
03/16/2026, 2:57 PMSimon Pearce
03/16/2026, 5:24 PMJonathan Manning
03/16/2026, 5:30 PMPhil Ewels
10/16/2026, 5:19 PM