Skip to main content

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

  1. Install Snowflake CLI

    pip install snowflake-cli
    
  2. Install the Nextflow plugin

    pip install snowflake-cli-nextflow
    
  3. Configure Snowflake connection

    snow connection add
    

    Follow the prompts to configure your Snowflake connection

  4. Enable the Nextflow plugin

    snow plugin enable nextflow
    

    The nextflow command should now be available in the CLI.

Quick Start

  1. Prepare your Nextflow project

    Create a nextflow.config file 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'
    }
    
  2. 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
    
  3. Run your workflow

    snow nextflow run /path/to/your/nextflow-project --profile snowflake
    
  4. 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 format STAGE_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

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)

Source distribution for snowflake-cli-nextflow 0.2.0
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)

Table of built distributions (wheels) for snowflake-cli-nextflow 0.2.0
File Interpreter ABI Platform Actions
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 log

Release 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 log

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

Select from 2 files

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 log

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

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page