Story

Show HN: pyproject – A linter for your Python project configuration

crap Wednesday, November 26, 2025

Hey all, I've been working on a static analysis tool (and language server) for `pyproject.toml` files after encountering inconsistencies in build tool error reporting (e.g. some tools will let you ship empty licenses directories). It would be nice to have a single source of truth for PEP 621 related checks and beyond that can run prior to running more expensive workflows.

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 :)

Summary
The article discusses pyproject, a Python tool that provides a standardized way to manage project dependencies, build processes, and packaging for Python applications. It aims to simplify the development and distribution of Python software by offering a consistent and extensible project configuration format.
2 0
Summary
github.com
Visit article Read on Hacker News