Extensibility

PySH Plugin Ecosystem

Extend PySH with Python-powered automation modules. Each plugin is a clean Python package with TOML configuration.

Read Plugin Docs

Build a Plugin in Python

Every PySH plugin is a Python package. Register commands with a decorator, define TOML metadata, and publish to PyPI.

Plugins are Python packages
Commands registered with decorators
TOML metadata and configuration
testable with pytest
publishable to PyPI
plugin.py

from pysh import plugin


@plugin.command("hello")

def hello_command() -> None:

"""Say hello from a PySH plugin."""

print("Hello from PySH plugin")

plugin.toml

[plugin]

name = "hello"

version = "1.0.0"

description = "Example PySH plugin"


[commands]

hello = "hello_command"

Plugin Catalog

Planned

Git Plugin

Repository status, branch info, release notes, changelog helpers, and tag inspection.

Planned

Docker Plugin

Container listing, image cleanup, compose workflows, log collection, and safety checks.

Planned

Kubernetes Plugin

Cluster operations, pod management, deployment workflows, and resource inspection.

Planned

AWS Plugin

AWS resource management, S3 operations, EC2 queries, and IAM helpers.

Planned

Python Tools Plugin

Virtual environment management, package inspection, uv integration, and Ruff support.

Planned

Monitoring Plugin

System health checks, process monitoring, service status, and resource reporting.

Planned

Security Plugin

File permission audits, suspicious file detection, command safety checks, and audit logs.

Planned

ECLI Plugin

ECLI workspace integration, project navigation, and AI-assisted engineering workflows.

Build Your Own Plugin

Learn plugin development in PySH Academy — Track 4: PySH Plugin Development.

Learn Plugin Development