* **[PEP 517][PEP 517].** This release restores our [PEP
517][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][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][PEP 585].** This release "undeprecates" the
`beartype.typing.{Match,Pattern}` type hints deprecated by
[PEP 585][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.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-beartype?expand=0&rev=11
* This minor release brings exhilarating support for PEP
673 (i.e., `typing.Self`) and PEP 675 (i.e.,
`typing.LiteralString`) as well as
substantially improved compatibility with PyPy.
* This release resolves a significant incompatibility
with PyPy, whose implementation of the `id()` builtin appears
to occasionally [read: non-deterministically] return object
identifiers that are negative integers. Specifically,
@beartype now guaranteeably generates valid parameter names
passed to type-checking wrapper functions regardless of the
sign of the `id()` of the values of those parameters. Doing
so resolves issue #232 kindly submitted by @jvesely (Jan
Vesely) who purportedly lives in or around an ancient pork
by-product that has calcified into stone -- which is quite
impressive, really. Stoneham: it's like Stonehenge, only
American and yummy in your tummy. Thanks so much for the
heads up, @jvesely.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-beartype?expand=0&rev=9
* The `test_pep561_mypy()` integration test validating that
@beartype passes all mypy-specific static runtime type-
checks
* **Pandera (pandas) type hints** (i.e., ad-hoc PEP-
noncompliant type hints validating pandas `DataFrame`
objects, produced by subscripting factories published by the
`pandera.typing` subpackage and validated *only* by user-
defined callables decorated by the ad-hoc PEP-noncompliant
`@pandera.check_types` runtime type-checking decorator),
resolving feature request #227 kindly submitted by
@ulfaslakprecis (Ulf Aslak) the Big Boss Typer. @beartype
now:
* Transparently supports pandera's PEP-noncompliant
`@pandera.check_types` decorator for deeply runtime type-
checking arbitrary pandas objects.
* *Always* performs a rudimentary `O(1)` `isinstance()`-based
type-check for each pandera type hint. Doing so substantially
improves usability in common use cases, including:
* Callables annotated by one or more pandera type hints that
are correctly decorated by @beartype but incorrectly *not*
decorated by the pandera-specific `@pandera.check_types`
decorator.
* (Data)classes annotated by one or more pandera type hints.
* Pandera type hints passed as the second argument to
statement-level @beartype type-checkers – including:
* **Pseudo-callable monkey-patching support.** `@beartype` now
supports **pseudo-callables** (i.e., otherwise uncallable
objects masquerading as callable by defining the `__call__()`
dunder method), resolving feature request #211 kindly
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-beartype?expand=0&rev=7