Snowflake CLI Nextflow Plugin
A Snowflake CLI plugin that enables running Nextflow workflows directly in Snowpark Container Services.
Overview
This plugin extends the Snowflake CLI with Nextflow workflow capabilities, allowing you to:
- Run Nextflow workflows at scale using Snowflake's compute resources
- Stream live execution logs through secure WebSocket connections
- Manage workflow execution directly from your command line
- Leverage Snowflake's security and governance for bioinformatics and data pipelines
Key Features
- 🚀 Seamless Integration: Run Nextflow workflows directly in Snowpark Container Services
- 📊 Real-time Monitoring: Stream live logs and execution status via WebSocket
- 🔒 Enterprise Security: Built-in Snowflake authentication and authorization
- 🎯 Simple CLI Interface: Familiar command-line experience for workflow management
- 📦 Flexible Configuration: Support for Nextflow profiles and custom configurations
Getting Started
Prerequisites
- All prerequisites of running snowflake-cli mentioned here
- Access to a Snowflake account with Snowpark Container Services enabled
- A Snowflake compute pool configured for container workloads
Installation
-
Install Snowflake CLI
pip install snowflake-cli
-
Install the Nextflow plugin
pip install snowflake-cli-nextflow
-
Configure Snowflake connection
snow connection add
Follow the prompts to configure your Snowflake connection
-
Enable the Nextflow plugin
snow plugin enable nextflow
The
nextflowcommand should now be available in the CLI.
Quick Start
-
Prepare your Nextflow project
Create a
nextflow.configfile in your project directory:// nextflow.config snowflake { computePool = 'YOUR_COMPUTE_POOL' workDirStage = 'WORKDIR_STAGE' stageMounts = 'INPUT:/mnt/input,OUTPUT:/mnt/output' driverImage = '/DB/SCHEMA/REPO/nf-snowflake:0.8.3' }
-
Upload nf-snowflake image into snowflake image repository
snow nextflow image push --source ghcr.io/snowflake-labs/nf-snowflake:0.8.3 --target nf_repo
-
Run your workflow
snow nextflow run /path/to/your/nextflow-project --profile snowflake
-
Monitor execution
The plugin will automatically:
- Upload your project to Snowflake
- Submit the workflow to Snowpark Container Services
- Stream live logs to your terminal
Configuration
Snowflake-specific Configuration
Your nextflow.config must include the following Snowflake-specific settings:
plugins { id 'nf-snowflake@0.8.3' }
snowflake {
computePool = 'YOUR_COMPUTE_POOL'
workDirStage = 'WORKDIR_STAGE'
stageMounts = 'INPUT:/mnt/input,OUTPUT:/mnt/output'
driverImage = '/DB/SCHEMA/REPO/nf-snowflake:0.8.3'
}
Configuration Parameters
-
computePool(Required): The name of your Snowflake compute pool where the Nextflow containers will run. This compute pool must be configured with appropriate resources and permissions for container workloads. -
workDirStage(Required): The Snowflake stage name where the plugin will upload your workflow files and store execution artifacts. This stage serves as the working directory for your Nextflow execution. -
driverImage(Required): The full path to the nf-snowflake image pushed to Snowflake registry. The version of the image should match the version specified in plugins section. -
stageMounts(Optional): A comma-separated list of stage mounts in the formatSTAGE_NAME:/mount/path. Each mount makes a Snowflake stage available inside the container at the specified path. Use this to provide input data and collect output results.
Usage Examples
Basic Workflow Execution
# Run with default profile
snow nextflow run ./my-workflow
# Run with specific profile
snow nextflow run ./my-workflow --profile snowflake
# Check available commands
snow nextflow --help
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Acknowledgments
- Nextflow - The workflow management system
- Snowflake - The cloud data platform
- Snowpark Container Services - Container orchestration platform
Metadata
Release files for snowflake-cli-nextflow 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| snowflake_cli_nextflow-0.2.0.tar.gz | 25.7 kB | With provenance | Details for snowflake_cli_nextflow-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| snowflake_cli_nextflow-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for snowflake_cli_nextflow-0.2.0-py3-none-any.whl |
Total release size: 51.5 kB
Release files / snowflake_cli_nextflow-0.2.0.tar.gz
| Download URL | snowflake_cli_nextflow-0.2.0.tar.gz |
|---|---|
| Size | 25.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b4c9c23deda981efe483f6752c4b1a72e0679dc74f4e92fa554626c26616170f
|
|
BLAKE2b-256 checksum How to use checksums |
0ffc75f557c3034a32ffd16cb2589e4138b1fddb771bcba4d909028dcc029bca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2025.
Transparency logRelease files / snowflake_cli_nextflow-0.2.0-py3-none-any.whl
| Download URL | snowflake_cli_nextflow-0.2.0-py3-none-any.whl |
|---|---|
| Size | 25.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9f97733652d08ce98a14df914f0958baca00b9f18bdb3dab18dbe74607b830a2
|
|
BLAKE2b-256 checksum How to use checksums |
6ca825993a325e380d31e676c242559c8c29567f4e90c50e68502e91219106ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2025.
Transparency logSecurity for snowflake-cli-nextflow 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for snowflake_cli_nextflow-0.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2025.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.