There are already a few basic rules for PEP 621-related errors and warnings, but it’s easily extendable to fit any specific tool’s requirements.
It's written in Rust and uses `ariadne` for command-line diagnostic reporting and `taplo` for the linting backend. There are also a surprising (maybe not so much if you know about Astral) number of useful crates that implement PEP-specific things (i.e. PEP 440, PEP 508) that I found useful for a bunch of the supported rules.
It's still heavy alpha software, but I thought I'd share in case there's interest for something like this :)