pulp / pulp/plugin_template

Modernize plugin tooling with uv, ruff, and mypy

Open
#1,027 4 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.