pyinvoke/invoke

Pythonic task management & command execution.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 1 minute ago
Added to GitGenius on September 14th, 2026
Created on February 29th, 2012
Open Issues & Pull Requests: 463 (+0)
GitHub issues: Enabled
Number of forks: 412
Total Stargazers: 4,778 (+0)
Total Subscribers: 93 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 29.4 days
Mean response time: 329.8 days
90th percentile: 1059.0 days
Tracked items: 55

Most active contributors

Sign in to see contributor activity.

How this project is maintained

93% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Three people close 63% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 55
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,327 days
Stale 30+ days: 53
Stale 90+ days: 46

Recent activity

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

Top labels

  • Feature (9)
  • Needs investigation (6)
  • Bug (5)
  • Needs patch (5)
  • Core CLI behavior (4)
  • Task execution (3)
  • Configuration (2)
  • Parser (2)

Most active issues this week

Detailed Description

Invoke is a Python library for managing shell-oriented subprocesses and organizing executable Python code into CLI-invokable tasks.

Invoke solves the problem of coordinating shell commands and Python functions as part of a build or deployment workflow. Rather than writing shell scripts or separate command-line tools, developers define tasks as Python functions and invoke them through a unified command-line interface. The library handles subprocess execution, argument parsing, and task organization, drawing design inspiration from make, rake, and Fabric to provide a clean API for these operations.

Invoke suits projects where developers want to automate operational tasks—builds, deployments, testing workflows—without leaving Python. It works well for teams already working in Python who prefer to keep automation logic in the same language as their application code. The tool is particularly valuable when tasks need to combine shell command execution with Python logic, or when you want task definitions to be version-controlled alongside your codebase rather than scattered across shell scripts.

The project maintains active continuous integration and code coverage tracking. Development follows a structured approach with a documented roadmap published separately from the repository, and the maintainer engages with the project through regular updates to the changelog and versioned API documentation.