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 (
PostToolUseafterEdit | Write | MultiEdit):posttooluse-ruff—ruff check+ruff format --checkon edited.py.posttooluse-mypy— type-check edited.pyagainst the project's mypy config.posttooluse-pytest— run pytest tests related to edited.py(companiontest_<name>.pydiscovery; falls back to--lf).posttouse-test-required— warn on new non-test.pywithout a siblingtest_<name>.py.posttooluse-uv-lock— re-lockpyproject.tomlchanges viauv lock.
- Skills:
python— unified Python coding standard (load on any.pyinteraction).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_RUFFPYTHON_PLUGIN_MYPYPYTHON_PLUGIN_PYTESTPYTHON_PLUGIN_REQUIRE_TESTSPYTHON_PLUGIN_UV_LOCK
Requirements
python3on PATH (3.11+).- One of
ruff,mypy,pytest,uvavailable — either project-local in.venv/bin/, globally installed, or invocable viauvx. Hooks skip silently when their tool isn't reachable; CI is the source of truth.
License
Apache-2.0.
Metadata
Release files for claude-python-plugin 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| claude_python_plugin-0.3.1.tar.gz | 24.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| claude_python_plugin-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 50.7 kB
Release files / claude_python_plugin-0.3.1.tar.gz
| Download URL | claude_python_plugin-0.3.1.tar.gz |
|---|---|
| Size | 24.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b919444eb46bb6a6d0499cc26e0e395ee35a59e426ccd58576221c512ed401dc
|
|
BLAKE2b-256 checksum How to use checksums |
7ffd6beedadd10db2d4c38458a44cc83749392749be27f3aa86b25c114e32868
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / claude_python_plugin-0.3.1-py3-none-any.whl
| Download URL | claude_python_plugin-0.3.1-py3-none-any.whl |
|---|---|
| Size | 26.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d995c4edf3fa66634e6332d4b027a39d90154067b53dd4dd9369d00711e9be1e
|
|
BLAKE2b-256 checksum How to use checksums |
e883817e685c53229b41dbe1610074bc98eb148e36b8fb77c580456b52a42019
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|