Bug 1941855 - Version of python-pydantic in Fedora 34 is too old for proper Python 3.9 support
Summary: Version of python-pydantic in Fedora 34 is too old for proper Python 3.9 support
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python-pydantic
Version: 34
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Susi Lehtola
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1933705
TreeView+ depends on / blocked
 
Reported: 2021-03-22 22:17 UTC by Ben Beasley
Modified: 2021-03-27 13:08 UTC (History)
1 user (show)

Fixed In Version: python-pydantic-1.7.3-1.fc34
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-03-27 00:16:43 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Ben Beasley 2021-03-22 22:17:01 UTC
Description of problem:

I encountered upstream bug https://github.com/samuelcolvin/pydantic/issues/1985 when building the latest version of python-fastapi (which used python-pydantic) for Fedora 34

Version-Release number of selected component (if applicable): 1.6.1-2.fc34


How reproducible:


Steps to Reproduce:
1. fedpkg co python-fastapi
2. fedpkg mockbuild --root fedora-34-x86_64, or fedpkg scratch-build --target f34

Actual results:

________________ ERROR collecting tests/test_security_oauth2.py ________________
tests/test_security_oauth2.py:31: in <module>
    def login(form_data: "OAuth2PasswordRequestFormStrict" = Depends()):
../../BUILDROOT/python-fastapi-0.63.0-3.fc34.noarch/usr/lib/python3.9/site-packages/fastapi/routing.py:551: in decorator
    self.add_api_route(
../../BUILDROOT/python-fastapi-0.63.0-3.fc34.noarch/usr/lib/python3.9/site-packages/fastapi/routing.py:496: in add_api_route
    route = route_class(
../../BUILDROOT/python-fastapi-0.63.0-3.fc34.noarch/usr/lib/python3.9/site-packages/fastapi/routing.py:380: in __init__
    self.dependant = get_dependant(path=self.path_format, call=self.endpoint)
../../BUILDROOT/python-fastapi-0.63.0-3.fc34.noarch/usr/lib/python3.9/site-packages/fastapi/dependencies/utils.py:288: in get_dependant
    endpoint_signature = get_typed_signature(call)
../../BUILDROOT/python-fastapi-0.63.0-3.fc34.noarch/usr/lib/python3.9/site-packages/fastapi/dependencies/utils.py:246: in get_typed_signature
    typed_params = [
../../BUILDROOT/python-fastapi-0.63.0-3.fc34.noarch/usr/lib/python3.9/site-packages/fastapi/dependencies/utils.py:251: in <listcomp>
    annotation=get_typed_annotation(param, globalns),
../../BUILDROOT/python-fastapi-0.63.0-3.fc34.noarch/usr/lib/python3.9/site-packages/fastapi/dependencies/utils.py:263: in get_typed_annotation
    annotation = evaluate_forwardref(annotation, globalns, globalns)
/usr/lib/python3.9/site-packages/pydantic/typing.py:50: in evaluate_forwardref
    return type_._evaluate(globalns, localns)
E   TypeError: _evaluate() missing 1 required positional argument: 'recursive_guard'
__________ ERROR collecting tests/test_validate_response_recursive.py __________
tests/test_validate_response_recursive.py:15: in <module>
    RecursiveItem.update_forward_refs()
/usr/lib/python3.9/site-packages/pydantic/main.py:677: in update_forward_refs
    update_field_forward_refs(f, globalns=globalns, localns=localns)
/usr/lib/python3.9/site-packages/pydantic/typing.py:233: in update_field_forward_refs
    field.type_ = evaluate_forwardref(field.type_, globalns, localns or None)
/usr/lib/python3.9/site-packages/pydantic/typing.py:50: in evaluate_forwardref
    return type_._evaluate(globalns, localns)
E   TypeError: _evaluate() missing 1 required positional argument: 'recursive_guard'

Expected results:

Success

Additional info:

The fix is in version 1.7, but that release also contains a breaking API change from 1.6.x. If it’s not possible to rush an update to a 1.7.x release before the Fedora 34 final freeze, it may be possible to backport https://github.com/samuelcolvin/pydantic/pull/1844.

Comment 1 Fedora Update System 2021-03-22 23:02:45 UTC
FEDORA-2021-2b032b9c08 has been submitted as an update to Fedora 34. https://bodhi.fedoraproject.org/updates/FEDORA-2021-2b032b9c08

Comment 2 Fedora Update System 2021-03-23 02:01:52 UTC
FEDORA-2021-2b032b9c08 has been pushed to the Fedora 34 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-2b032b9c08`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-2b032b9c08

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 3 Fedora Update System 2021-03-27 00:16:43 UTC
FEDORA-2021-2b032b9c08 has been pushed to the Fedora 34 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 4 Ben Beasley 2021-03-27 13:08:07 UTC
Thanks!


Note You need to log in before you can comment on or make changes to this bug.