dagster-shell
Package for Dagster shell ops.
What it is and what it does
dagster-shell is a library that extends Dagster with the ability to define and orchestrate shell operations within your data pipelines. It wraps shell command execution as first-class Dagster ops, allowing you to integrate system-level scripts, command-line tools, and shell workflows into your declarative asset and job definitions. This is useful when you have existing shell scripts, need to invoke system utilities, or want to orchestrate heterogeneous tools that expose command-line interfaces.
The package is part of the Dagster ecosystem and inherits its design philosophy: your shell operations are defined as Python functions decorated with Dagster markers, then scheduled, monitored, and lineage-tracked through Dagster's unified control plane. It supports Python 3.9 through 3.12 and is actively maintained by the Dagster team.
Use it for:
- Invoke existing shell scripts or command-line tools as part of a larger Dagster pipeline without rewriting them in Python.
- Execute system administration tasks like file transfers, backups, or environment setup as orchestrated pipeline steps.
- Integrate third-party CLI tools (e.g., dbt, terraform, custom binaries) into a Dagster-managed data workflow.
- Run data processing commands that are simpler or more efficient to express in shell than in Python code.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides shell operation support for Dagster data pipelines, enabling you to execute shell commands and scripts as part of your orchestrated data workflows.
Yes, if you have existing shell scripts or command-line tools that need to be part of a Dagster pipeline. The package is lightweight, actively maintained, has no known vulnerabilities, and integrates seamlessly with Dagster's orchestration model. Install it only if you actually need shell operation support; if your pipeline is purely Python-based, it adds no value.
Install
dagster-shell on PyPI
pip
pip install dagster-shelluv
uv add dagster-shellpoetry
poetry add dagster-shellInstalling dagster-shell
Before you install
Low friction install with a single runtime dependency on dagster. The package is actively maintained with recent releases and no known vulnerabilities.
License in practice
Apache 2.0 licensed under a permissive regime, allowing commercial use and modification with minimal restrictions.
Quickstart
pip install dagster-shell
import dagster as dg
from dagster_shell import shell_op
@shell_op
def my_shell_task():
return "echo 'Hello from shell'"
Requires dagster to be installed; shell commands execute in the system environment where Dagster runs.
Verify before relying
- Whether shell_op supports environment variable injection and credential handling for sensitive operations.
- How error handling and exit codes from shell commands are surfaced in Dagster's observability layer.
- Whether the package provides built-in support for common shell patterns like piping, redirection, or conditional execution.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | capped below the current Python release (<3.13,>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — dagster |
| Maintenance | actively maintained — 549 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 306,237/month — #7,788 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: dagster_shell-0.25.13-py3-none-any.whl
Tags
More Distributed Computing packages
gRPC Python is an HTTP/2-based RPC framework…
permissive · top 100 on PyPI
execnetexecnet lets you spawn and communicate with…
permissive · top 1,000 on PyPI
cloudpickleCloudpickle extends Python's standard pickle…
permissive · top 1,000 on PyPI
smart-openProvides a unified, open()-compatible Python…
permissive · top 1,000 on PyPI
portalockerPortalocker provides cross-platform file…
permissive · top 1,000 on PyPI
rayRay is a distributed computing framework that…
permissive · top 1,000 on PyPI
dagsterDagster is a data pipeline orchestrator that…
permissive · top 5,000 on PyPI
dagster-sshProvides SSH resource and I/O manager…
permissive · top 15,000 on PyPI
dagster-cloud-cliCLI tool for managing and deploying Dagster…
permissive · top 5,000 on PyPI
dagster-dockerIntegrates Dagster data orchestration with…
permissive · top 5,000 on PyPI
dagster-pipesDagster-pipes provides a toolkit for running…
permissive · top 5,000 on PyPI
dagster-awsDagster-aws provides AWS-specific integrations…
permissive · top 5,000 on PyPI
dagster-dg-coredagster-dg-core provides the core orchestration…
permissive · top 5,000 on PyPI
dagster-webserverProvides a web UI for Dagster, a data pipeline…
permissive · top 5,000 on PyPI
dagster-sparkDagster-spark integrates Apache Spark with…
permissive · top 15,000 on PyPI
dagster-dg-cliA command-line tool for developing and managing…
permissive · top 5,000 on PyPI