Skip to content

Python 3.14.0a4: TypeError: <class '…'> has no usable non-default attributes #626

Open
@musicinmybrain

Description

@musicinmybrain

In Fedora, we’re already testing Python packages with pre-releases of Python 3.14, which will be included in Fedora 43 in late 2025. This report is based on a downstream issue that was filed as part of that testing.

It seems like the regressions in the test suite are all associated with a single type of error, of the form TypeError: <class '…'> has no usable non-default attributes.

A “control” test, showing that everything is fine on Python 3.13:

$ uv venv _e
Using CPython 3.13.1 interpreter at: /usr/bin/python3
Creating virtual environment at: _e
Activate with: source _e/bin/activate
$ . _e/bin/activate
(_e) $ uv pip install tox pdm
[…]
(_e) $ tox -e py313
[…]
============================ 827 passed, 6 skipped, 15 xfailed in 23.58s =============================

Now, after commenting out the orjson extra since we won’t be able to uv pip install it successfully on Python 3.14 yet:

(_e) $ tox -e py314

Ignoring the failures and errors (No module named 'orjson') due to the now-missing orjson dependency:

====================================== short test summary info =======================================
FAILED tests/strategies/test_include_subclasses.py::test_structure_as_union - TypeError: <class 'tests.strategies.test_include_subclasses.GrandChild'> has no usable non-defaul...
FAILED tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-grandchild-only] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...
FAILED tests/strategies/test_include_subclasses.py::test_structuring_unstructuring_unknown_subclass - TypeError: <class 'tests.strategies.test_include_subclasses.test_structuring_unstructuring_unknow...
FAILED tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-parent-only] - TypeError: <class 'tests.strategies.test_include_subclasses.GrandChild'> has no usable non-defaul...
FAILED tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-child1-only] - TypeError: <class 'tests.strategies.test_include_subclasses.GrandChild'> has no usable non-defaul...
FAILED tests/strategies/test_include_subclasses.py::test_overrides[wo-union-strategy-child2-only] - TypeError: <class 'tests.strategies.test_include_subclasses.GrandChild'> has no usable non-defaul...
ERROR tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-parent-only] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...
ERROR tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-grandchild] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...
ERROR tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-child] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...
ERROR tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-child1-only] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...
ERROR tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-child1-only] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...
ERROR tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-parent] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...
ERROR tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-grandchild] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...
ERROR tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-child2-only] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...
ERROR tests/strategies/test_include_subclasses.py::test_circular_reference[with-subclasses] - TypeError: <class 'tests.strategies.test_include_subclasses.GrandChild'> has no usable non-defaul...
ERROR tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-child2-only] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...
ERROR tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-container] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...
ERROR tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-child] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...
ERROR tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-grandchild-only] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...
ERROR tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-grandchild-only] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...
ERROR tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-container] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...
ERROR tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-compose-grandchild] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...
ERROR tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-parent] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...
ERROR tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-parent-only] - TypeError: <class 'tests.strategies.test_include_subclasses.GrandChild'> has no usable non-defaul...
ERROR tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-parent] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...
ERROR tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-container] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...
ERROR tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-child] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...
ERROR tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-union-compose-child] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...
ERROR tests/strategies/test_include_subclasses.py::test_structuring_with_inheritance[with-subclasses-non-union-container] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...
ERROR tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-union-compose-grandchild] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...
ERROR tests/strategies/test_include_subclasses.py::test_unstructuring_with_inheritance[with-subclasses-non-union-compose-parent] - TypeError: <class 'tests.strategies.test_include_subclasses.Child1'> has no usable non-default at...

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