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•2h 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/

Another GitHub outage in the same day

https://www.githubstatus.com/incidents/lcw3tg2f6zsd
4•Nezteb•3m ago•0 comments

US companies accused of 'AI washing' re: job losses

https://www.theguardian.com/us-news/2026/feb/08/ai-washing-job-losses-artificial-intelligence
4•billybuckwheat•5m ago•0 comments

Testing Ads in ChatGPT

https://openai.com/index/testing-ads-in-chatgpt/
3•davidbarker•6m ago•0 comments

Linux servers that let you ditch the public cloud and reclaim your privacy

https://www.zdnet.com/article/personal-digital-sovereignty-choices-free-linux-servers/
1•CrankyBear•8m ago•0 comments

How we release the Spotify app, part 1

https://engineering.atspotify.com/2025/04/how-we-release-the-spotify-app-part-1
1•lr0•8m ago•0 comments

I analyzed 1600 startups. "No market need" isn't the #1 killer anymore

https://www.loot-drop.io/why-they-fail
1•loot-dropdude•11m ago•1 comments

This Whistle Fights Fascists

https://www.theverge.com/policy/874959/3d-printed-whistles-for-ice-minneapolis-chicago-renee-good...
6•lawn•15m ago•1 comments

Show HN: CalcVerse – 500 calculators and tools, 100% client-side/private

https://www.calc-verse.com/en
1•zmam•17m ago•0 comments

Designing a Low-Latency Multiplayer Stack on a Tight Budget

https://dcastares.github.io/2025/12/15/Multi-region-highly-available-architecture-for-indie-budge...
1•diegoop•17m ago•0 comments

Who Owns and Operates Pubmed.ai? Definitely Not the National Library of Medicine

https://www.pubmed.ai/home
1•killjoywashere•18m ago•1 comments

GCP Idle Resource Finder

https://github.com/dasl-/gcp-waste
2•mesto1•18m ago•0 comments

Show HN: CodeGraphContext- An MCP server that indexes code into knowledge graphs

https://github.com/CodeGraphContext/CodeGraphContext
1•shashankss1205•19m ago•0 comments

$800 Satellite Dish Intercepts Government Data [video]

https://www.youtube.com/watch?v=Q-mRNxhbBdA
3•devonnull•20m ago•0 comments

goto Considered Awesome [video]

https://www.youtube.com/watch?v=1UKVEUGEk6Y
2•lr0•20m ago•1 comments

Discord rolls out mandatory face scans for all users

https://secom.es/discord-id-verification-mandatory-face-scans-lock-millions-accounts/
2•hnthrowaway0315•21m ago•0 comments

State of Ruby 2026

https://devnewsletter.com/p/state-of-ruby-2026/
3•devnewsletter•21m ago•0 comments

Show HN: Helping patients send higher-signal messages to doctors

https://predoctalk.com/
1•nemath•21m ago•0 comments

Respect\Validation 3.0 (PHP validation library) release announcement

https://github.com/Respect/Validation/releases/tag/3.0.0
1•gaigalas•22m ago•0 comments

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

https://github.com/mahimailabs/envoic
2•mahimai•23m ago•0 comments

E2EE Backend part 1: Homomorphic Encryption

https://peterspath.net/blog/dev-e2ee-backend-part-1-homomorphic-encryption/
2•peterspath•23m ago•1 comments

The Gentle Obsolescence

https://benn.substack.com/p/the-gentle-obsolescence
1•gmays•24m ago•0 comments

Stoat – open-source, user-first chat platform

https://github.com/stoatchat
2•debo_•25m ago•2 comments

I made a map showing WW2 PoWs escape route from Northern France to Barcelona

https://stufro.github.io/the-longest-walk-home-map/
3•developer5502•26m ago•0 comments

A one-prompt attack that breaks LLM safety alignment

https://www.microsoft.com/en-us/security/blog/2026/02/09/prompt-attack-breaks-llm-safety/
1•yogirk1•27m ago•0 comments

Share of Americans medically obese is projected to rise to almost 50% by 2035

https://www.latimes.com/science/story/2026-01-28/share-of-americans-medically-obese-is-projected-...
1•PaulHoule•27m ago•0 comments

Show HN: Luzia – Unified crypto pricing API for developers

https://luzia.dev
1•felltrifortence•27m ago•0 comments

New microkernel OS in 10 days: From zero to Google Compute Engine

https://seiya.me/blog/new-microkernel-os-in-10-days
3•ingve•28m ago•0 comments

Show HN: Stack Overflow for AI Coding Agents

https://shareful.ai/
2•mblode•28m ago•0 comments

Claude Code Batch API MCP for non-urgent work

https://github.com/s2-streamstore/claude-batch-toolkit
2•mesto1•28m ago•0 comments

Institutions Forget How to Move

https://www.seeingthesystem.com/p/how-institutions-forget-how-to-move
1•paulpauper•29m ago•0 comments