Skip to main content

Claude Code plugin: ruff + mypy + pytest + uv hooks and Python skills.

Project description

python-plugin

Claude Code plugin that wires the modern Python toolchain into every agent session: ruff for lint + format, mypy for strict static types, uv for envs and lockfile, pytest for related-test execution, and a missing-test warning for new modules.

Ships:

  • Hooks (PostToolUse after Edit | Write | MultiEdit):
    • posttooluse-ruffruff check + ruff format --check on edited .py.
    • posttooluse-mypy — type-check edited .py against the project's mypy config.
    • posttooluse-pytest — run pytest tests related to edited .py (companion test_<name>.py discovery; falls back to --lf).
    • posttouse-test-required — warn on new non-test .py without a sibling test_<name>.py.
    • posttooluse-uv-lock — re-lock pyproject.toml changes via uv lock.
  • Skills:
    • python — unified Python coding standard (load on any .py interaction).
    • python-ruff, python-mypy, python-uv, python-pytest, python-pypi — per-tool deep dives for fine-grained enablement.

Install

Add to your Claude Code marketplace plugins, or symlink the repo into ~/.claude/plugins/.

Per-shell toggles

Each hook honors a PYTHON_PLUGIN_<NAME>=0 env var to disable it:

  • PYTHON_PLUGIN_RUFF
  • PYTHON_PLUGIN_MYPY
  • PYTHON_PLUGIN_PYTEST
  • PYTHON_PLUGIN_REQUIRE_TESTS
  • PYTHON_PLUGIN_UV_LOCK

Requirements

  • python3 on PATH (3.11+).
  • One of ruff, mypy, pytest, uv available — either project-local in .venv/bin/, globally installed, or invocable via uvx. Hooks skip silently when their tool isn't reachable; CI is the source of truth.

License

Apache-2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

claude_python_plugin-0.3.1.tar.gz (24.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

claude_python_plugin-0.3.1-py3-none-any.whl (26.4 kB view details)

Uploaded Python 3

File details

Details for the file claude_python_plugin-0.3.1.tar.gz.

File metadata

  • Download URL: claude_python_plugin-0.3.1.tar.gz
  • Upload date:
  • Size: 24.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for claude_python_plugin-0.3.1.tar.gz
Algorithm Hash digest
SHA256 b919444eb46bb6a6d0499cc26e0e395ee35a59e426ccd58576221c512ed401dc
MD5 0adc82e5cae1370a4925c186860c1e70
BLAKE2b-256 7ffd6beedadd10db2d4c38458a44cc83749392749be27f3aa86b25c114e32868

See more details on using hashes here.

File details

Details for the file claude_python_plugin-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: claude_python_plugin-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 26.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for claude_python_plugin-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d995c4edf3fa66634e6332d4b027a39d90154067b53dd4dd9369d00711e9be1e
MD5 d8fab98a76c51e6de30d9ada7fd99843
BLAKE2b-256 e883817e685c53229b41dbe1610074bc98eb148e36b8fb77c580456b52a42019

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page