Modernize plugin tooling with uv, ruff, and mypy
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 10
- Forks
- 40
- Avg merge
- 21h 24m
- Merged PRs (30d)
- 8
Description
The plugin template currently generates projects using black for code formatting and flake8 for linting. While these tools have served the ecosystem well, the Python tooling landscape has matured significantly, and several newer tools offer compelling advantages that plugin writers should be able to leverage.
I'd love to use some of the newer Python tooling we are using on other projects at our company like uv, ruff, and mypy. Maybe these tools could be offered on an opt-in basis where plugins could opt in to these tools? That way plugins could also choose to stay on black and flake8 if they don't want to use these newer tools.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files, tests, or entry points. Start by locating the plugin template's generated formatting and linting configuration, then examine how an opt-in choice could be represented. Done means generated plugins can consistently select uv, ruff, and mypy or retain black and flake8.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 45/100