pypi beartype 0.16.4
Beartype 0.16.4

latest releases: 0.21.0, 0.21.0rc0, 0.20.2...
23 months ago

This patch release resolves all the bad things that have quietly gone unnoticed by both man and Maine Coon alike... until now. Fellow Ontarian and ML superstar @MaximilienLC (Maximilien Le Cleï) seriously, what is up with that "ï" quietly called our attention to a bevy (pretty sure that means "alot") of outstanding badness riddling the @beartype codebase.

This patch release resolves that badness. This means:

  • beartype.claw + methods + PEP 526. Previously, beartype.claw silently failed to type-check PEP 526-compliant annotated variable assignments in methods. Now, beartype.claw does so: e.g.,

    # In "{your_sagacious_package}.__init__":
    from beartype import beartype_this_package
    beartype_this_package()
    
    # In "{your_sagacious_package}...{your_bodacious_module}":
    class SoMuchClass(object):
        def so_much_method(self) -> None:
            # "beartype.claw" now raises an exception on this violation. Yah!
            so_much_local: int = 'You no longer fool @beartype, local."
    
            # "beartype.claw" also raises an exception on this violation. Go!
            self.so_much_var: int = 'You too are known to @beartype, variable."
  • @beartype 0.16.3 inheritance regression. @beartype's prior stable release (i.e., @beartype 0.16.3) introduced a critical regression with respect to inheritance and type-checking. Notably, the @beartype decorator silently failed to type-check subclass methods overriding superclass methods under @beartype 0.16.3. Now, it does. I implore you all to believe that this never happened... Believe!

Much thanks to @MaximilienLC for his all-seeing eye, which sees all @beartype's typing failures as plainly as I see the blinding glare off my bald and malding head. (Pretty itsy-bitsy nitty-gritty, innit?)

Don't miss a new beartype release

NewReleases is sending notifications on new releases.