Show HN: Framework to create linters for Python, YAML, TOML, JSON

4 szymonmaszke 2 8/26/2025, 4:16:06 PM github.com ↗
Hi, this is a Python framework I have created to make my life a little easier when creating custom linting rules.

Key features:

- Quick to use (~20 LOC to create a functioning linter/checker)

- Works with different file formats (as in the description)

- Supports multiple ignore/noqa directives (per-line ignores, range ignores, whole file, rules choice during runs)

- Single check can span all elements of the file or even all files

- Works directly with Python's AST

- Tutorials and API reference to make users life easier

All in all seems to be quite functional for my private (yet) linters, so I decided to make it into a FOSS project.

Have fun, would love to hear your feedback and ideas regarding it!

Comments (2)

sunscream89 · 4h ago
Oh praise you! No linter in the tool chain is an absence that wears like an abscess.

This may just remove an ache, sir. Thank you.

szymonmaszke · 3h ago
No need for the irony if it's not your cup of tea. :( But maybe you have/know a tool for creating custom linting rules, would love to check it out and use if so! The ones I've tried (e.g. semgrep) had ability to create rules which were file agnostic, while I find it easier to work with the abstractions of specific language (e.g. Python's AST, maybe with more to come) and didn't want to redo the logic for these tools over and over.