YOUR AD GOES HERE

Episode 58: Writing Nextflow plugins in 2026

Published 29, Sep 2026

Nextflow


Description:
In this episode, Phil is joined by Ben Sherman, Jon Manning and Rike Hanssen to take a fresh look at Nextflow plugins, two years on from the plugin walkthrough in episode 35. They cover what plugins are for: sharing reusable functions across pipelines, hooking into workflow events with observers (e.g., nf-slack notifications for nf-core full-size tests, or carbon footprint tracking with nf-co2footprint), and building custom executors and file systems. Ben explains what changed in Nextflow 25.10: the new nextflow plugin create command to scaffold a project, far less Gradle boilerplate, make install for local testing, and make release to publish to the plugin registry at registry.nextflow.io, with a one-time approval for the plugin name. Older Nextflow versions still read the legacy JSON index, which the registry keeps updated for plugins that support them. Rike demos nf-emoji, her first plugin, with themed emoji progress bars, special-day countdowns and optional terminal confetti, and talks about using AI to write tests once she knew her way around the code. Ben explains how custom config scopes let the Nextflow language server validate plugin settings. Jon introduces the new plugin development side quest at training.nextflow.io, covering scaffolding, custom functions, trace observers, testing and config scopes. The episode wraps up with how plugin name claims are reviewed, the expectation that community plugins are open source, and options for distributing private plugins internally.

00:00 Podcast Episode 58 - Plugins
00:09 Introduction
01:01 Welcome to our guests
01:48 An introduction to plugins
06:14 Common plugin use cases
08:25 What's new in Nextflow plugins since 2024
17:11 Demo: Rike's NF-emoji plugin
30:23 Global installs & custom config scopes
33:30 The new plugin training material
42:34 Publishing and approving plugins
47:50 Closing thoughts

Releted More Videos

You May Also Like

YOUR AD GOES HERE

YOUR AD GOES HERE