awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
pyinvoke avatar

pyinvoke/invoke

0
View on GitHub↗
4,716 星标·385 分支·Python·bsd-2-clause·2 次浏览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.

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.

Star 历史

pyinvoke/invoke 的 Star 历史图表pyinvoke/invoke 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

pyinvoke/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.

pyinvoke/invoke 的主要功能有哪些?

pyinvoke/invoke 的主要功能包括:CLI Tooling, Hierarchical Task Nesting, Named Task Orchestration, Task Automation Tools, Task Registration Decorators, Task Hierarchy Namespacing, Command-Line Interface Mappings, Shell and Scripting。

pyinvoke/invoke 有哪些开源替代品?

pyinvoke/invoke 的开源替代品包括: 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…

Invoke 的开源替代方案

相似的开源项目,按与 Invoke 的功能重合度排序。
  • shelljs/shelljsshelljs 的头像

    shelljs/shelljs

    14,402在 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
    在 GitHub 上查看↗14,402
  • jordanknott/taskcafeJordanKnott 的头像

    JordanKnott/taskcafe

    5,176在 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
    在 GitHub 上查看↗5,176
  • tyrrrz/cliwrapTyrrrz 的头像

    Tyrrrz/CliWrap

    4,976在 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
    在 GitHub 上查看↗4,976
  • gruntjs/gruntgruntjs 的头像

    gruntjs/grunt

    12,243在 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
    在 GitHub 上查看↗12,243
查看 Invoke 的所有 30 个替代方案→