Package Details: python-beartype 0.22.9-1

Git Clone URL: https://aur.archlinux.org/python-beartype.git (read-only, click to copy)
Package Base: python-beartype
Description: Unbearably fast near-real-time hybrid runtime-static type-checking in pure Python
Upstream URL: https://github.com/beartype/beartype
Licenses: MIT
Submitter: AchmadFathoni
Maintainer: redponike
Last Packager: micwoj92
Votes: 0
Popularity: 0.000000
First Submitted: 2022-03-21 10:21 (UTC)
Last Updated: 2026-01-11 20:26 (UTC)

Latest Comments

pellet613 commented on 2026-04-03 10:10 (UTC)

A fix has been pushed upstream on the main branch of beartype: https://github.com/beartype/beartype/commit/ee167cf294cf65c4725b0242556c08e9ccd784bb

It's likely to be part of the next release of beartype.

pellet613 commented on 2026-04-02 19:28 (UTC)

Exact line is: https://github.com/kdeldycke/meta-package-manager/actions/runs/23897036306/job/69684170316#step:3:3965

pellet613 commented on 2026-04-02 19:19 (UTC)

test_door_is_bearable_warnings fails when the test suite runs more than once in the same environment (e.g., when aur-install retries a failed dependency layer). The first run passes, the second fails with:

E  Failed: DID NOT WARN. No warnings of type
E  (<class 'beartype.roar.BeartypeDecorHintPep585DeprecationWarning'>,) were emitted.
E  Emitted warnings: [].

This is a memoization issue in beartype: reduce_hint_pep484_deprecated() caches its result on the first call, so the warning is only emitted once. On subsequent runs within the same environment, the cached path skips the warning entirely.

beartype's own CI passes because the suite only runs once per job. The test's own comments acknowledge the fragility ("unintended ordering issues with other tests due to memoization").

Filed upstream: https://github.com/beartype/beartype/issues/631

A workaround for the PKGBUILD would be to exclude the flaky test in check():

pytest -k "not test_door_is_bearable_warnings"

Reproduced on Python 3.14.3, beartype 0.22.9, Arch Linux rolling (greyltc/archlinux-aur:yay). CI logs: https://github.com/kdeldycke/meta-package-manager/actions/runs/23897036306/job/69684170316

iyanmv commented on 2025-01-19 16:50 (UTC)

I get same errors as carlosal1015 in a clean chroot env.

carlosal1015 commented on 2025-01-09 23:23 (UTC)

beartype_test/a00_unit/a40_api/door/a90_func/test_door_func.py::test_door_is_subhint ERROR [ 56%]
beartype_test/a90_func/z90_lib/a80_jax/test_jax.py::test_jax_jit PASSED  [ 99%]
beartype_test/a90_func/z90_lib/a90_nuitka/test_nuitka.py::test_nuitka SKIPPED [ 99%]
beartype_test/a90_func/z90_lib/test_numba.py::test_numba_njit SKIPPED    [ 99%]
beartype_test/a90_func/z90_lib/test_torch.py::test_torch SKIPPED (co...) [100%]
=================================== FAILURES ===================================
_________________________ test_is_hint_pep593_beartype _________________________

    def test_is_hint_pep593_beartype() -> None:
        '''
        Test usage of the private
        :mod:`beartype._util.hint.pep.proposal.utilpep593.is_hint_pep593_beartype`
        tester.
        '''

        # Defer test-specific imports.
        from beartype.roar import (
            BeartypeDecorHintPepException,
            BeartypeValeLambdaWarning,
        )
        from beartype.vale import Is
        from beartype._util.hint.pep.proposal.utilpep593 import (
            is_hint_pep593_beartype)
        from beartype._util.py.utilpyversion import IS_PYTHON_AT_LEAST_3_9
        from pytest import raises, warns

        # If the active Python interpreter targets at least Python >= 3.9 and thus
        # supports PEP 593...
        if IS_PYTHON_AT_LEAST_3_9:
            # Defer version-specific imports.
            from typing import Annotated

            # Assert this tester accepts beartype-specific metahints.
            #
            # Unfortunately, this test actually induces an error in CPython, which
            # our codebase emits as a non-fatal warning. Specifically, CPython
            # reports the "func.__code__.co_firstlineno" attribute of the nested
            # lambda function defined below to be one less than the expected value.
            # Since this issue is unlikely to be resolved soon *AND* since we have
            # no means of monkey-patching CPython itself, we acknowledge the
            # existence of this warning by simply ignoring it. *sigh*
>           with warns(BeartypeValeLambdaWarning):
E           Failed: DID NOT WARN. No warnings of type (<class 'beartype.roar._roarwarn.BeartypeValeLambdaWarning'>,) were emitted.
E            Emitted warnings: [].

Annotated  = typing.Annotated
BeartypeDecorHintPepException = <class 'beartype.roar._roarexc.BeartypeDecorHintPepException'>
BeartypeValeLambdaWarning = <class 'beartype.roar._roarwarn.BeartypeValeLambdaWarning'>
IS_PYTHON_AT_LEAST_3_9 = True
Is         = <beartype.vale._IsFactory object at 0x7fe950a9f8c0>
is_hint_pep593_beartype = <function is_hint_pep593_beartype at 0x7fe9535beb60>
raises     = <function raises at 0x7fe95439f4c0>
warns      = <function warns at 0x7fe954248ae0>

beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/test_utilpep593.py:84: Failed
=========================== short test summary info ============================
SKIPPED [1] beartype_test/a00_unit/a70_decor/a40_code/a00_api/test_decor_nptyping.py:41: "nptyping" harmfully breaks unrelated unit tests.
SKIPPED [1] beartype_test/a00_unit/a70_decor/a40_code/a00_api/test_decor_pandera.py:26: could not import 'pyarrow': No module named 'pyarrow'
SKIPPED [1] beartype_test/a00_unit/a70_decor/a40_code/a90_pep/test_decorpep563.py:298: Python 3.13.1 >= 3.10.0.
SKIPPED [1] beartype_test/a00_unit/a70_decor/a40_code/test_codeargkind.py:80: Currently broken due to known issues in decoration-time type-checking.
SKIPPED [1] beartype_test/a00_unit/a70_decor/test_decorgodmode.py:28: User "builduser" lacks God-mode test privileges (i.e., is smart and knows what's good for them).
SKIPPED [1] beartype_test/a00_unit/a70_decor/test_decortype.py:341: Python 3.13.1 >= 3.11.0.
SKIPPED [1] beartype_test/a90_func/z90_lib/a00_sphinx/test_sphinx.py:123: Currently broken due to Sphinx breaking backward compatibility.
SKIPPED [1] beartype_test/a90_func/z90_lib/a90_nuitka/test_nuitka.py:31: could not import 'nuitka': No module named 'nuitka'
SKIPPED [1] beartype_test/a90_func/z90_lib/test_numba.py:21: could not import 'numba': No module named 'numba'
SKIPPED [1] beartype_test/a90_func/z90_lib/test_torch.py:21: could not import 'torch': No module named 'torch'
ERROR beartype_test/a00_unit/a40_api/door/a90_func/test_door_func.py::test_door_is_subhint
FAILED beartype_test/a00_unit/a20_util/hint/a00_pep/proposal/test_utilpep593.py::test_is_hint_pep593_beartype
======= 1 failed, 354 passed, 10 skipped, 2 deselected, 1 error in 4.16s =======
==> ERROR: A failure occurred in check().
    Aborting...
==> ERROR: Build failed,

carsme commented on 2024-08-23 14:43 (UTC)

@carlosal1015 Should be fixed in 0.18.5-3.

AchmadFathoni commented on 2023-05-23 06:42 (UTC)

Need co-maintainer for faster development response.