awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
pyinvoke avatar

pyinvoke/invoke

0
View on GitHub↗
pyinvoke.org↗

Invoke

Invoke is a Python task automation library used to define and run named Python functions as command-line tasks. It provides a system for mapping functions to executable commands, enabling the automation of repetitive development workflows and the orchestration of build pipelines.

The project implements a namespace-based task hierarchy, allowing related tasks to be grouped into nested collections for a structured command-line interface. It utilizes a layered configuration resolution system to merge settings from environment variables, configuration files, and defaults.

The toolset includes shell process management capabilities for executing external subprocesses and capturing their output. It further supports command-line usability through shell tab completion and provides mock contexts to simulate execution environments for verifying task logic.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • CLI Tooling - Provides a framework for creating structured command line interfaces to manage project lifecycle and automation.
  • Hierarchical Task Nesting - Supports parent-child relationships for organizing related tasks into a navigable command-line hierarchy.
  • Named Task Orchestration - Groups executable code into named tasks that are triggered by name via the command line.
  • Task Automation Tools - Automates repetitive development workflows by defining and running named Python functions as command-line tasks.
  • Task Registration Decorators - Uses function decorators to register Python methods as executable command-line tasks with defined parameters.
  • Task Hierarchy Namespacing - Groups executable functions into nested collections to create a structured command line interface with hierarchical naming.
  • Command-Line Interface Mappings - Maps command-line arguments and options to executable Python functions.
  • Shell and Scripting - Executes shell commands and manages system processes from within Python code.
  • Build Pipeline Orchestration - Organizes a sequence of executable tasks to manage build, test, and deployment steps.
  • Mock Execution Contexts - Provides mock contexts to simulate execution environments for verifying task logic without running real shell processes.
  • Environment Configurations - Manages task settings through configuration files and environment variables across different execution contexts.
  • Subprocess Management - Provides utilities for spawning and controlling external system processes from within Python code.
  • Configuration Cascade Resolutions - Merges settings from environment variables, configuration files, and defaults into a single unified state.
  • Process Lifecycle Wrapping - Wraps subprocess calls to capture output and manage the lifecycle of external system commands.
  • Configuration Hierarchy Loading - Loads operational settings from a prioritized sequence of CLI arguments, environment variables, and configuration files.
  • Process Output Captures - Executes shell commands and captures stdout, stderr, and exit codes for programmatic workflow automation.
  • Build And Packaging - Task management and command execution for Python projects.
  • Build Tools - Manages shell-oriented tasks and CLI-invokable code.
  • CLI Utilities - Manages shell-oriented sub-processes and tasks.
4,716 stars·385 forks·Python·bsd-2-clause·21 views

Star history

Star history chart for pyinvoke/invokeStar history chart for pyinvoke/invoke

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Projects sharing features with Invoke

These projects share indexed features with Invoke. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • shelljs/shelljsshelljs avatar

    shelljs/shelljs

    14,402View on GitHub↗

    ShellJS is a Node.js shell command library that provides a portable Unix-like utility suite for cross-platform system automation. It serves as a cross-platform filesystem API and a process wrapper for spawning and controlling external system subprocesses. The project translates Unix shell commands into equivalent operations for the host operating system, allowing scripts to run consistently across different platforms. It supports the registration of custom commands and the integration of third-party plugins to extend its portable shell capabilities. The library covers broad capability areas

    JavaScriptbashjavascriptnode
    View on GitHub↗14,402
  • jordanknott/taskcafeJordanKnott avatar

    JordanKnott/taskcafe

    5,176View on GitHub↗

    Taskcafe is a self-hosted task management system and collaborative work management platform. It provides a private workspace for organizing work through a variety of interfaces, including Kanban boards, hierarchical outlines, and calendars. The platform is designed for containerized deployment, orchestrating the application, database, and cache to ensure consistent environment management. It distinguishes itself by offering project portfolio dashboards for high-level monitoring and the ability to create public project boards that allow external visitors to view content without authentication.

    TypeScriptgolanggqlgengraphql
    View on GitHub↗5,176
  • tyrrrz/cliwrapTyrrrz avatar

    Tyrrrz/CliWrap

    4,976View on GitHub↗

    CliWrap is an asynchronous process manager and child process wrapper library used to execute external commands and integrate command line interfaces into applications. It provides a framework for launching external programs using asynchronous patterns, managing child processes, and validating exit codes. The library distinguishes itself through its ability to route standard input, output, and error streams to memory buffers or real-time event streams. It enables real-time monitoring of process output lines and supports process termination via cancellation tokens. The project covers a broad r

    C#clicommand-linedotnet
    View on GitHub↗4,976
  • gruntjs/gruntgruntjs avatar

    gruntjs/grunt

    12,243View on GitHub↗

    Grunt is a build automation tool and JavaScript task runner. It serves as a Node.js automation framework designed to execute automated workflows for building, testing, and deploying software projects. The system functions as a task runner that automates repetitive development chores such as minification, compilation, and testing. It provides orchestration for development tasks, frontend asset pipelines, and continuous integration workflows. The framework utilizes a task-based execution model where developers define a sequence of named functions. This is supported by a plugin-based extensibil

    JavaScript
    View on GitHub↗12,243
Compare all 30 related projects→

Frequently asked questions

What does pyinvoke/invoke do?

Invoke is a Python task automation library used to define and run named Python functions as command-line tasks. It provides a system for mapping functions to executable commands, enabling the automation of repetitive development workflows and the orchestration of build pipelines.

What are the main features of pyinvoke/invoke?

The main features of pyinvoke/invoke are: CLI Tooling, Hierarchical Task Nesting, Named Task Orchestration, Task Automation Tools, Task Registration Decorators, Task Hierarchy Namespacing, Command-Line Interface Mappings, Shell and Scripting.

Which projects share features with pyinvoke/invoke?

Projects with overlapping indexed features include: shelljs/shelljs — ShellJS is a Node.js shell command library that provides a portable Unix-like utility suite for cross-platform system… jordanknott/taskcafe — Taskcafe is a self-hosted task management system and collaborative work management platform. It provides a private… tyrrrz/cliwrap — CliWrap is an asynchronous process manager and child process wrapper library used to execute external commands and… gruntjs/grunt — Grunt is a build automation tool and JavaScript task runner. It serves as a Node.js automation framework designed to… pallets/click — Click is a Python framework for building command-line interfaces. It provides a declarative approach to defining… sindresorhus/execa — Execa is a promise-based process execution library that serves as a wrapper for the Node.js child process module. It…