github beartype/beartype v0.19.0rc2
Beartype 0.19.0 RC 2: Prelude to Bug-free Bliss

pre-release19 hours ago

Finally. The Big Bear has landed... yet again!? This better be good, @beartype 0.19.0 Release Cycle from Hell.

@beartype 0.19.0 release candidate 2 – the third (and seriously better-be final) beta pre-prelease of the zombified @beartype 0.19.0 release cycle that I should have released three four months ago – lands in your lap with a sickening ploppy! sound. Tragically, typing pro @minmax discovered a last-minute critical issue blocking the release of @beartype 0.19.0 proper. With that issue now unblocked, the smelly Internet Tubes are now ready for @beartype 0.19.0 proper...

...assuming nothing else is broke. Is anything else broke? No idea. Probably. It's @beartype 0.19.0, after all. This thing will never ship. Indeed, the struggle for your codebase is like a rugby match between death robots:

pip install --upgrade --pre beartype    # <-- sound of bugs panicking distantly heard

@beartype 0.19.0rc2 is brought to you by...

GitHub Sponsors: When You Befriend the Bear, You've got a Bear for Life

This release comes courtesy these proud GitHub Sponsors, without whom @leycec's cats would currently be eating grasshoppers:

Thanks so much, masters of fintech and metrology.


The Masters of Fintech and Metrology. That's who.

So, What Does @beartype 0.19.0rc2 Actually Do?

Too tired. Next question, please. 😴

Why Does @beartype Release Schedule Suck So Bad?

In discussion thread #433, @jedie wisely asks the question we're all wondering:

There are many, many commits since last release: v0.18.5...main

What's the release cycle? Seems it's not:

Release early, release often

isn't it?

Indeed, @jedie. It isn't. You're right about everything. I now quote myself like a narcissist. gods what am i become

For ordinary packages, "Release early, release often" is the best possible advice. For @beartype, this is the worst possible advice. Why? Because @beartype is mission-critical. When @beartype breaks, increasingly the entire Python ecosystem breaks. This includes PyTorch – which then transitively includes ChatGPT, OpenAI, Microsoft, and by extension the entirety of American late-stage capitalism. Do we grok the stakes here? The stakes somehow become a whole lot larger than "one bald autist has fun smashing code together in a remote Canadian cottage."

I should probably be paid to do this immense and insane thing we call @beartype. Imagine if all neurosurgeons were unpaid volunteers. This is hyperbole, but it's also not. @beartype is the neurosurgeon that fixes bugs during LLM training. Much like Soviets under the USSR, I just pretend that I'm being paid by behaving responsibly towards the rest of humanity. "Release early, release often" is what I used to believe. Then I broke PyTorch with the ill-fated @beartype 0.18.0 release. The heavens themselves unleashed Hellish Displeasure. Now, I choose wisely.

The new motto is:

Release late. Release infrequently. Release safely.

On the bright side, "Release safely." is good! We can all agree. On the dark side, "Release late." and "Release infrequently." are both bad. We still agree. But one out of two ain't bad. Right?


that feeling when you realize it isn't even two out of three

Don't miss a new beartype release

NewReleases is sending notifications on new releases.