tomerfiliba/plumbum

Plumbum: Shell Combinators

View on GitHub ↗Jump to charts ↓

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 1 hour ago
Added to GitGenius on September 22nd, 2026
Created on April 27th, 2012
Open Issues & Pull Requests: 140 (+0)
GitHub issues: Enabled
Number of forks: 209
Total Stargazers: 3,054 (+0)
Total Subscribers: 44 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 10.1 days
Mean response time: 289.9 days
90th percentile: 1046.3 days
Tracked items: 31

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 13
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,287 days
Stale 30+ days: 13
Stale 90+ days: 13

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • Bug (1)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

Plumbum is a Python library that brings shell script syntax and capabilities into a real programming language through shell combinators.

The library solves the problem of writing shell-like programs without leaving Python or sacrificing cross-platform compatibility. It mimics shell syntax for piping, redirection, and command composition while keeping the code Pythonic. The approach works by providing a fluent API where commands can be chained using pipe operators, redirected using standard shell notation, and executed locally or remotely over SSH. It abstracts away platform differences so the same code runs on Windows, macOS, and Linux.

Plumbum suits developers who find themselves writing shell scripts but want the structure and safety of Python, or who need to orchestrate system commands from within Python applications. It is particularly valuable for build automation, system administration tasks, and CLI application development. The library provides not just command execution but also filesystem path manipulation, working directory management, environment variable handling, and a programmatic toolkit for building command-line interfaces. This makes it useful for anyone tired of context-switching between shell and Python or managing subprocess calls with verbose boilerplate.

The project maintains active continuous integration with automated testing across supported Python versions. Documentation is kept current and comprehensive. The codebase follows consistent style standards. Community engagement is supported through a dedicated chat channel for discussion and questions.