dagster-shell
Package for Dagster shell ops.
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires dagster to be installed; shell commands execute in the system environment where Dagster runs.
- Low friction install with a single runtime dependency on dagster.
- The package is actively maintained with recent releases and no known vulnerabilities.
License · maintenance · safety
Apache-2.0 (permissive) — Apache 2.0 licensed under a permissive regime, allowing commercial use and modification with minimal restrictions.
last release 2025-02-11 (549 days) · last repo commit 2026-08-14 · 15,996 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 306,237 downloads/mo, #7,788 on PyPI
Alternatives
Verify before relying
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'"- 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.
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 on it.
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
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.
Requires dagster to be installed; shell commands execute in the system environment where Dagster runs.
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'"
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 packagedagster |
| 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 |
| Classifiers | License :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.9 |
Evidence: dagster_shell-0.25.13-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “dagster shell operations”
- dagster-shellProvides shell operation support for Dagster data pipelines, enabling…
- dagster-sshProvides SSH resource and I/O manager components for Dagster data…
- dagster-duckdbIntegrates DuckDB with Dagster's data pipeline orchestration,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Distributed Computing packages
gRPC Python is an HTTP/2-based RPC framework that enables you to define and call remote procedures across network boundaries using protocol buffers for serialization.
Install it if you need RPC communication in a distributed system or are integrating with existing gRPC services.
execnet lets you spawn and communicate with Python interpreters across local processes, remote hosts, and different platforms, using a simple API for task distribution and inter-process messaging.
However, the aging maintenance status (275 days since last release) means you should verify it meets your concurrency and performance needs before committing to a…
Cloudpickle extends Python's standard pickle module to serialize lambda functions, interactively-defined functions and classes, and other constructs that the default pickle cannot handle, making it suitable for cluster computing and remote code execution.
Install it if you need to serialize lambda functions, interactively-defined code, or non-standard Python constructs for cluster computing or distributed execution.
Provides a unified, open()-compatible Python API for streaming large files from remote storage (S3, GCS, Azure, HDFS, SFTP, HTTP) and local filesystems, with transparent compression support.
Install it if you work with large files on cloud storage or remote systems and want to avoid writing boilerplate around multiple SDKs.
Portalocker provides cross-platform file locking with support for exclusive and shared locks, plus Redis-based distributed locks and process-aware PID file locking.
Install it if you need file or process coordination; the optional extras (pywin32, redis) are only required for specific lock types.
Ray is a distributed computing framework that scales Python applications from a single machine to multi-node clusters, providing abstractions for parallel tasks, stateful actors, and shared objects.
See also dagster · dagster-ssh · dagster-cloud-cli · dagster-docker · dagster-pipes · dagster-aws · dagster-dg-core · dagster-webserver · dagster-spark · dagster-dg-cli