frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Pyrig – One command to set up a production-ready Python project

https://github.com/Winipedia/pyrig
2•Winipedia•5h ago
pyrig – Production-ready Python project infrastructure in three commands

I built pyrig to stop spending hours setting up the same project infrastructure repeatedly.

uv init uv add pyrig uv run pyrig init

You get: source structure with a Typer CLI, pytest with 90% coverage enforcement, GitHub Actions (CI, release, deploy), MkDocs site, git hooks, Containerfile, and all the config files — pyproject.toml, .gitignore, branch protection, issue templates, everything for a full Python project.

Ships with all of Astral's tools (uv, ruff with all rules enabled, ty), plus pytest-cov, bandit, pip-audit, rumdl, prek, MkDocs Material, and Podman. Everything is pre-configured and wired into CI/CD and git hooks from the start.

The interesting part is what happens after scaffolding.

pyrig isn't a one-shot template generator. Every config is a Python class. Running "pyrig mkroot" regenerates and validates all configs — merging missing values without removing your customizations. Change your project description in pyproject.toml, rerun, and it propagates to your README and docs. Fully idempotent.

pytest enforces project correctness. 11 autouse session fixtures run before your tests: they verify every source module has a corresponding test file (auto-generating skeletons if missing), that no unittest usage exists, that src/ doesn't import from dev/, that there are no namespace packages, and that configs are up to date. You can't get a green test suite with a broken project structure.

Zero-boilerplate CLIs. Any public function in subcommands.py becomes a CLI command automatically — no decorators, no registration:

my_project/dev/cli/subcommands.py def greet(name: str) -> None: """Say hello.""" print(f"Hello, {name}!")

$ uv run my-project greet --name World Hello, World!

Automatic test generation. Add a new file my_project/src/utils.py, run pytest, and tests/test_my_project/test_src/test_utils.py appears with a NotImplementedError stub so you know what still needs writing. Customizable via subclassing.

Config subclassing. Want a custom git hook? Subclass PrekConfigFile, call super(), append your hook. pyrig discovers it automatically — the leaf class in the dependency chain always wins.

Multi-package inheritance. Build a base package on top of pyrig with shared configs, fixtures, and CLI commands. Every downstream project inherits everything:

pyrig -> service-base -> auth-service -> payment-service -> notification-service

All three services get the same standards, hooks, and CI/CD — defined once in service-base.

Everything is adjustable. Every tool and config can be customized or replaced through subclassing. Tools like ruff, ty, and pytest are wrapped in Tool classes — subclass one and pyrig uses yours instead. Want black instead of ruff? Subclass it. Config files work the same way. Standard Python inheritance, no patching.

Source: https://github.com/Winipedia/pyrig Docs: https://winipedia.github.io/pyrig/ PyPI: https://pypi.org/project/pyrig/

Show HN: Algorithmically finding the longest line of sight on Earth

https://alltheviews.world
351•tombh•12h ago•139 comments

Show HN: Printable Classics – Free printable classic books for hobby bookbinders

https://printableclassics.com
62•bookman10•10h ago•28 comments

Show HN: A custom font that displays Cistercian numerals using ligatures

https://bobbiec.github.io/cistercian-font.html
158•bobbiechen•1d ago•37 comments

Show HN: Browse Internet Infrastructure

https://www.wirewiki.com
103•pul•10h ago•16 comments

Show HN: Stack Overflow for AI Coding Agents

https://shareful.ai/
4•mblode•4h ago•2 comments

Show HN: Minimal NIST/OWASP-compliant auth implementation for Cloudflare Workers

https://github.com/vhscom/private-landing
29•vhsdev•11h ago•10 comments

Show HN: Envoic – Find and clean up scattered Python virtual environments

https://github.com/mahimailabs/envoic
3•mahimai•4h ago•0 comments

Show HN: Slack CLI for Agents

https://github.com/stablyai/agent-slack
94•nwparker•4d ago•29 comments

Show HN: I created a Mars colony RPG based on Kim Stanley Robinson’s Mars books

https://underhillgame.com/
294•ariaalam•1d ago•103 comments

Show HN: Pyrig – One command to set up a production-ready Python project

https://github.com/Winipedia/pyrig
2•Winipedia•5h ago•0 comments

Show HN: Ported the 1999 game Bugdom to the browser and added a bunch of mods

https://reallyeli.com/bugdom/Bugdom.html
19•reallyeli•19h ago•3 comments

Show HN: Emergent – Artificial life simulation in a single HTML file

https://emergent-ivory.vercel.app/
17•usernameis42•23h ago•1 comments

Show HN: A Satellite View for Python Code

https://ast-visualizer.com/
6•treeliker•8h ago•7 comments

Show HN: PlaceboGPT – 7,666-parameter medical AI with one answer for everything

https://www.pharmatools.ai/placebogpt
4•nicklamb•8h ago•6 comments

Show HN: Agentseed – Generate Agents.md from a Codebase

https://github.com/avinshe/agentseed
11•avinshe•16h ago•1 comments

Show HN: GitWriter – mobile Markdown editor for writers

https://gitwriter.io
4•anthonybrooks•13h ago•0 comments

Show HN: LocalGPT – A local-first AI assistant in Rust with persistent memory

https://github.com/localgpt-app/localgpt
323•yi_wang•1d ago•150 comments

Show HN: Smooth CLI – Token-efficient browser for AI agents

https://docs.smooth.sh/cli/overview
107•antves•4d ago•71 comments

Show HN: Poisson – Chrome extension that buries your browsing in decoy traffic

https://github.com/Daring-Designs/poisson-extension
10•daringdesigns•1d ago•3 comments

Show HN: It took 4 years to sell my startup. I wrote a book about it

https://derekyan.com/ma-book/
207•zhyan7109•5d ago•67 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
393•eljojo•3d ago•229 comments

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
324•isitcontent•3d ago•40 comments

Show HN: WhatsApp Chat Viewer – exported chats as HTML

https://github.com/rodrigodesalvobraz/whatsapp-chat-viewer
6•rodrigobraz•23h ago•0 comments

Show HN: R3forth, a ColorForth-inspired language with a tiny VM

https://github.com/phreda4/r3
90•phreda4•3d ago•17 comments

Show HN: Horizons – OSS agent execution engine

https://github.com/synth-laboratories/Horizons
38•JoshPurtell•3d ago•6 comments

Show HN: I spent 4 years building a UI design tool with only the features I use

https://vecti.com
384•vecti•3d ago•180 comments

Show HN: ArkWatch – Uptime monitoring with zero dependencies

2•arkforge•14h ago•1 comments

Show HN: Artifact Keeper – Open-Source Artifactory/Nexus Alternative in Rust

https://github.com/artifact-keeper
166•bsgeraci•3d ago•68 comments

Show HN: WrapClaw – a managed SaaS wrapper around Open Claw

4•kushagraagent•1d ago•2 comments

Show HN: A luma dependent chroma compression algorithm (image compression)

https://www.bitsnbites.eu/a-spatial-domain-variable-block-size-luma-dependent-chroma-compression-...
59•mbitsnbites•5d ago•12 comments