Skip to content

[Future] Python 3.13 conformance #387

@JelleZijlstra

Description

@JelleZijlstra

Several tests fail when I run pytest in the beartype repo on Python 3.13 beta 1, which was recently released. (For context, the final release of Python 3.13 is due in October.)

  • FAILED beartype_test/a00_unit/a00_core/test_a90_typing.py::test_api_typing - AssertionError: assert {'AsyncContex...'is_protocol'} == set()
    • beartype is missing various names that were recently added to the typing module
  • FAILED beartype_test/a00_unit/a10_data/hint/pep/sign/test_datapepsignset.py::test_hint_signs_origin_isinstanceable_args - AssertionError: "typing.ContextManager" accepts 2 arguments, but expected to accept 1 arguments.
    • This class now takes a second, optional type parameter (see PEP 696).
  • FAILED beartype_test/a00_unit/a60_check/a90_door/test_checkdoor.py::test_door_typehint_die_if_unbearable - beartype.roar.BeartypeDoorException: <class 'beartype.door._cls.doorsub._TypeHintOriginIsinstanceableArgs1'> type must have 1 argument(s), but got 2.
    • Related to same ContextManager change
  • FAILED beartype_test/a00_unit/a60_check/a90_door/test_checkdoor.py::test_door_typehint_is_bearable - beartype.roar.BeartypeDoorException: <class 'beartype.door._cls.doorsub._TypeHintOriginIsinstanceableArgs1'> type must have 1 argument(s), but got 2.
    • Probably the same too
  • FAILED beartype_test/a00_unit/a70_decor/a40_code/a90_pep/test_decorpep673.py::test_decor_pep673 - TypeError: update() argument must be dict or another FrameLocalsProxy
    • I think there was some change in how frame locals were handled, may need to cast to a dict
  • FAILED beartype_test/a00_unit/a70_decor/test_decortype.py::test_decor_type_descriptor_builtin - AssertionError: assert False
    • Docstrings now strip leading whitespace in the AST.
  • FAILED beartype_test/a90_func/pep/test_pep561_static.py::test_pep561_pyright - subprocess.CalledProcessError: Command '('pyright', '--pythonversion', '3.13', 'beartype')' returned non-zero exit status 1.
    • Not sure why this is different.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions