github beartype/beartype v0.14.1
Beartype 0.14.1

latest releases: v0.18.5, v0.18.4, v0.18.3...
12 months ago

This patch release delivers enthusiastic hijinx capable quality assurance with improved support for third-party typing_extensions backports, PEP 517 (i.e., pyproject.toml), PEP 544 (i.e., typing.Protocol), and PEP 585 (i.e., re.Match and re.Pattern). Codebases everywhere can now release a grateful sigh of relief as bugs buckle under the combined might of @beartype + typing_extensions. Flex the muscles you knew you always had.

This patch release resolves 3 issues. Wave those paws in the air like your project manager just don't care!

Compatibility Improved

  • PEP 517. This release restores our PEP 517-compliant top-level pyproject.toml file in a vain and probably misguided attempt to restore the buildability of our documentation on the third-party ReadTheDocs (RTD) documentation host. Doing so nudges @beartype mildly closer towards abandoning the antiquated (and frankly objectionable) setuptools build system to Hatch, officially endorsed by the Python Packaging Authority (PyPA) as sane and not setuptools, which are the only criteria @leycec is looking for in a Python build system. The bar could not be lower.
  • PEP 544. @beartype now officially supports all third-party typing_extensions.Protocol backports, resolving issue #241 kindly submitted by MIT machine learning guru @rsokl (Ryan Soklaski). This release also restores testing of the typing_extensions.Protocol superclass, which now passes under all typing_extensions versions. Let's not ask prying and uncomfortable questions about what exactly was resolved here, because then @leycec might break down and openly weep emoji tears live on GitHub.
  • PEP 585. This release "undeprecates" the beartype.typing.{Match,Pattern} type hints deprecated by PEP 585, resolving issue #240 kindly submitted by AI King @KyleKing (Kyle King). Specifically, the beartype.typing subpackage now imports those type hints from the standard re rather than typing module under Python >= 3.9. This is why @leycec sighs in his sleep while clutching a Bengal plushy.

Documentation Improved

  • PEP 673 FAQ entry. This release documents why PEP 673 (i.e., typing.Self) officially supported by @beartype ≥ 0.14.0 is the substantially superior choice to either PEP 484-compliant forward references or PEP 563-compliant postponed type hints for type-checking a class self-referentially. Specifically, this release adds a new "...the current class?" question to our existing FAQ. In theory, this should clear up the smelly mountain of confusion surrounding this topic both on and off our issue tracker.
  • Project URL generalization. This release generalizes project URLs in our Sphinx configuration from the Sphinx-specific doc/src/conf.py script to the Sphinx-agnostic beartype.meta submodule, enabling generic reuse of those URLs across numerous third-party frameworks rather than merely Sphinx. In short, nothing worthwhile was done.

(Lush brush, last blast, and crass lass combine rash lashes!)

Don't miss a new beartype release

NewReleases is sending notifications on new releases.