Your message dated Sat, 27 Sep 2025 06:05:02 +0000
with message-id <[email protected]>
and subject line Bug#1113771: fixed in fastapi 0.115.11-5
has caused the Debian Bug report #1113771,
regarding fastapi: FTBFS with pydantic 2.12.0~a1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1113771: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1113771
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: fastapi
Version: 0.115.11-4
Severity: serious
Tags: ftbfs
Forwarded: https://github.com/fastapi/fastapi/pull/14036

fastapi FTBFS and fails its autopkgtests with the current version of 
pydantic in unstable (2.12.0~a1-1 - I had no choice but to package an 
alpha release in this case because there was no other combination of 
pydantic/pydantic-core/etc. versions that was usable with the current 
rust-pyo3 transition).

You can see the autopkgtest failure in 
https://ci.debian.net/packages/f/fastapi/testing/amd64/64021591/, and 
here's a version of the failure with "pytest -vv":

  _____________________________ test_openapi_schema 
______________________________

      def test_openapi_schema():
          response = client.get("/openapi.json")
          assert response.status_code == 200, response.text
  >       assert response.json() == {
              "openapi": "3.1.0",
              "info": {"title": "FastAPI", "version": "0.1.0"},
              "paths": {
                  "/items/": {
                      "post": {
                          "responses": {
                              "200": {
                                  "description": "Successful Response",
                                  "content": {"application/json": {"schema": 
{}}},
                              },
                              "422": {
                                  "description": "Validation Error",
                                  "content": {
                                      "application/json": {
                                          "schema": {
                                              "$ref": 
"#/components/schemas/HTTPValidationError"
                                          }
                                      }
                                  },
                              },
                          },
                          "summary": "Save Item No Body",
                          "operationId": "save_item_no_body_items__post",
                          "requestBody": {
                              "content": {
                                  "application/json": {
                                      "schema": {
                                          "title": "Item",
                                          "type": "array",
                                          "items": {"$ref": 
"#/components/schemas/Item"},
                                      }
                                  }
                              },
                              "required": True,
                          },
                      }
                  }
              },
              "components": {
                  "schemas": {
                      "Item": {
                          "title": "Item",
                          "required": ["name", "age"],
                          "type": "object",
                          "properties": {
                              "name": {"title": "Name", "type": "string"},
                              "age": IsDict(
                                  {
                                      "title": "Age",
                                      "anyOf": [
                                          {"exclusiveMinimum": 0.0, "type": 
"number"},
                                          {"type": "string"},
                                      ],
                                  }
                              )
                              | IsDict(
                                  # TODO: remove when deprecating Pydantic v1
                                  {
                                      "title": "Age",
                                      "exclusiveMinimum": 0.0,
                                      "type": "number",
                                  }
                              ),
                          },
                      },
                      "ValidationError": {
                          "title": "ValidationError",
                          "required": ["loc", "msg", "type"],
                          "type": "object",
                          "properties": {
                              "loc": {
                                  "title": "Location",
                                  "type": "array",
                                  "items": {
                                      "anyOf": [{"type": "string"}, {"type": 
"integer"}]
                                  },
                              },
                              "msg": {"title": "Message", "type": "string"},
                              "type": {"title": "Error Type", "type": "string"},
                          },
                      },
                      "HTTPValidationError": {
                          "title": "HTTPValidationError",
                          "type": "object",
                          "properties": {
                              "detail": {
                                  "title": "Detail",
                                  "type": "array",
                                  "items": {"$ref": 
"#/components/schemas/ValidationError"},
                              }
                          },
                      },
                  }
              },
          }
  E       AssertionError: assert {'openapi': '3.1.0', 'info': {'title': 
'FastAPI', 'version': '0.1.0'}, 'paths': {'/items/': {'post': {'summary': 'Save 
Item No Body', 'operationId': 'save_item_no_body_items__post', 'requestBody': 
{'content': {'application/json': {'schema': {'items': {'$ref': 
'#/components/schemas/Item'}, 'type': 'array', 'title': 'Item'}}}, 'required': 
True}, 'responses': {'200': {'description': 'Successful Response', 'content': 
{'application/json': {'schema': {}}}}, '422': {'description': 'Validation 
Error', 'content': {'application/json': {'schema': {'$ref': 
'#/components/schemas/HTTPValidationError'}}}}}}}}, 'components': {'schemas': 
{'HTTPValidationError': {'properties': {'detail': {'items': {'$ref': 
'#/components/schemas/ValidationError'}, 'type': 'array', 'title': 'Detail'}}, 
'type': 'object', 'title': 'HTTPValidationError'}, 'Item': {'properties': 
{'name': {'type': 'string', 'title': 'Name'}, 'age': {'anyOf': [{'type': 
'number', 'exclusiveMinimum': 0.0}, {'type': 'string', 'pattern': 
'^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$'}], 'title': 'Age'}}, 'type': 'object', 
'required': ['name', 'age'], 'title': 'Item'}, 'ValidationError': 
{'properties': {'loc': {'items': {'anyOf': [{'type': 'string'}, {'type': 
'integer'}]}, 'type': 'array', 'title': 'Location'}, 'msg': {'type': 'string', 
'title': 'Message'}, 'type': {'type': 'string', 'title': 'Error Type'}}, 
'type': 'object', 'required': ['loc', 'msg', 'type'], 'title': 
'ValidationError'}}}} == {'openapi': '3.1.0', 'info': {'title': 'FastAPI', 
'version': '0.1.0'}, 'paths': {'/items/': {'post': {'responses': {'200': 
{'description': 'Successful Response', 'content': {'application/json': 
{'schema': {}}}}, '422': {'description': 'Validation Error', 'content': 
{'application/json': {'schema': {'$ref': 
'#/components/schemas/HTTPValidationError'}}}}}, 'summary': 'Save Item No 
Body', 'operationId': 'save_item_no_body_items__post', 'requestBody': 
{'content': {'application/json': {'schema': {'title': 'Item', 'type': 'array', 
'items': {'$ref': '#/components/schemas/Item'}}}}, 'required': True}}}}, 
'components': {'schemas': {'Item': {'title': 'Item', 'required': ['name', 
'age'], 'type': 'object', 'properties': {'name': {'title': 'Name', 'type': 
'string'}, 'age': IsDict(title='Age', anyOf=[{'exclusiveMinimum': 0.0, 'type': 
'number'}, {'type': 'string'}]) | IsDict(title='Age', exclusiveMinimum=0.0, 
type='number')}}, 'ValidationError': {'title': 'ValidationError', 'required': 
['loc', 'msg', 'type'], 'type': 'object', 'properties': {'loc': {'title': 
'Location', 'type': 'array', 'items': {'anyOf': [{'type': 'string'}, {'type': 
'integer'}]}}, 'msg': {'title': 'Message', 'type': 'string'}, 'type': {'title': 
'Error Type', 'type': 'string'}}}, 'HTTPValidationError': {'title': 
'HTTPValidationError', 'type': 'object', 'properties': {'detail': {'title': 
'Detail', 'type': 'array', 'items': {'$ref': 
'#/components/schemas/ValidationError'}}}}}}}
  E
  E         Common items:
  E         {'info': {'title': 'FastAPI', 'version': '0.1.0'},
  E          'openapi': '3.1.0',
  E          'paths': {'/items/': {'post': {'operationId': 
'save_item_no_body_items__post',
  E                                         'requestBody': {'content': 
{'application/json': {'schema': {'items': {'$ref': '#/components/schemas/Item'},
  E                                                                             
                        'title': 'Item',
  E                                                                             
                        'type': 'array'}}},
  E                                                         'required': True},
  E                                         'responses': {'200': {'content': 
{'application/json': {'schema': {}}},
  E                                                               
'description': 'Successful '
  E                                                                             
 'Response'},
  E                                                       '422': {'content': 
{'application/json': {'schema': {'$ref': 
'#/components/schemas/HTTPValidationError'}}},
  E                                                               
'description': 'Validation '
  E                                                                             
 'Error'}},
  E                                         'summary': 'Save Item No Body'}}}}
  E         Differing items:
  E         {'components': {'schemas': {'HTTPValidationError': {'properties': 
{'detail': {'items': {...}, 'title': 'Detail', 'type... 'Error Type', 'type': 
'string'}}, 'required': ['loc', 'msg', 'type'], 'title': 'ValidationError', 
'type': 'object'}}}} != {'components': {'schemas': {'HTTPValidationError': 
{'properties': {'detail': {'items': {...}, 'title': 'Detail', 'type... 'Error 
Type', 'type': 'string'}}, 'required': ['loc', 'msg', 'type'], 'title': 
'ValidationError', 'type': 'object'}}}}
  E
  E         Full diff:
  E           {
  E               'components': {
  E                   'schemas': {
  E                       'HTTPValidationError': {
  E                           'properties': {
  E                               'detail': {
  E                                   'items': {
  E                                       '$ref': 
'#/components/schemas/ValidationError',
  E                                   },
  E                                   'title': 'Detail',
  E                                   'type': 'array',
  E                               },
  E                           },
  E                           'title': 'HTTPValidationError',
  E                           'type': 'object',
  E                       },
  E                       'Item': {
  E                           'properties': {
  E         -                     'age': IsDict(title='Age', 
anyOf=[{'exclusiveMinimum': 0.0, 'type': 'number'}, {'type': 'string'}]) | 
IsDict(title='Age', exclusiveMinimum=0.0, type='number'),
  E         +                     'age': {
  E         +                         'anyOf': [
  E         +                             {
  E         +                                 'exclusiveMinimum': 0.0,
  E         +                                 'type': 'number',
  E         +                             },
  E         +                             {
  E         +                                 'pattern': 
'^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$',
  E         +                                 'type': 'string',
  E         +                             },
  E         +                         ],
  E         +                         'title': 'Age',
  E         +                     },
  E                               'name': {
  E                                   'title': 'Name',
  E                                   'type': 'string',
  E                               },
  E                           },
  E                           'required': [
  E                               'name',
  E                               'age',
  E                           ],
  E                           'title': 'Item',
  E                           'type': 'object',
  E                       },
  E                       'ValidationError': {
  E                           'properties': {
  E                               'loc': {
  E                                   'items': {
  E                                       'anyOf': [
  E                                           {
  E                                               'type': 'string',
  E                                           },
  E                                           {
  E                                               'type': 'integer',
  E                                           },
  E                                       ],
  E                                   },
  E                                   'title': 'Location',
  E                                   'type': 'array',
  E                               },
  E                               'msg': {
  E                                   'title': 'Message',
  E                                   'type': 'string',
  E                               },
  E                               'type': {
  E                                   'title': 'Error Type',
  E                                   'type': 'string',
  E                               },
  E                           },
  E                           'required': [
  E                               'loc',
  E                               'msg',
  E                               'type',
  E                           ],
  E                           'title': 'ValidationError',
  E                           'type': 'object',
  E                       },
  E                   },
  E               },
  E               'info': {
  E                   'title': 'FastAPI',
  E                   'version': '0.1.0',
  E               },
  E               'openapi': '3.1.0',
  E               'paths': {
  E                   '/items/': {
  E                       'post': {
  E                           'operationId': 'save_item_no_body_items__post',
  E                           'requestBody': {
  E                               'content': {
  E                                   'application/json': {
  E                                       'schema': {
  E                                           'items': {
  E                                               '$ref': 
'#/components/schemas/Item',
  E                                           },
  E                                           'title': 'Item',
  E                                           'type': 'array',
  E                                       },
  E                                   },
  E                               },
  E                               'required': True,
  E                           },
  E                           'responses': {
  E                               '200': {
  E                                   'content': {
  E                                       'application/json': {
  E                                           'schema': {},
  E                                       },
  E                                   },
  E                                   'description': 'Successful Response',
  E                               },
  E                               '422': {
  E                                   'content': {
  E                                       'application/json': {
  E                                           'schema': {
  E                                               '$ref': 
'#/components/schemas/HTTPValidationError',
  E                                           },
  E                                       },
  E                                   },
  E                                   'description': 'Validation Error',
  E                               },
  E                           },
  E                           'summary': 'Save Item No Body',
  E                       },
  E                   },
  E               },
  E           }

  tests/test_multi_body_errors.py:136: AssertionError

I pushed an upstream PR to fix this.  Perhaps you could cherry-pick it into 
Debian?

  https://github.com/fastapi/fastapi/pull/14036

At build time there are four more failures in 
tests/test_forms_single_model.py; I'm not sure why they don't show up in 
autopkgtests.  They all seem to be essentially this warning:

  pydantic.warnings.UnsupportedFieldAttributeWarning: The 'alias' attribute 
with value 'with' was provided to the `Field()` function, which has no effect 
in the context it was used. 'alias' is field-specific metadata, and can only be 
attached to a model field using `Annotated` metadata or by assignment. This may 
have happened because an `Annotated` type alias using the `type` statement was 
used, or if the `Field()` function was attached to a single member of a union 
type.

This is due to https://github.com/pydantic/pydantic/pull/12028.  I 
haven't had time to look into it properly yet, although I can if you 
need me to.

Thanks,

-- 
Colin Watson (he/him)                              [[email protected]]

--- End Message ---
--- Begin Message ---
Source: fastapi
Source-Version: 0.115.11-5
Done: Sandro Tosi <[email protected]>

We believe that the bug you reported is fixed in the latest version of
fastapi, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Sandro Tosi <[email protected]> (supplier of updated fastapi package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Sat, 27 Sep 2025 01:44:49 -0400
Source: fastapi
Architecture: source
Version: 0.115.11-5
Distribution: unstable
Urgency: medium
Maintainer: Sandro Tosi <[email protected]>
Changed-By: Sandro Tosi <[email protected]>
Closes: 1113771
Changes:
 fastapi (0.115.11-5) unstable; urgency=medium
 .
   * debian/patches/PR14036.patch
     - fix for pydantic 2.12.0~a1 ; patch provided by Colin Watson;
       Closes: #1113771
Checksums-Sha1:
 b923cc0da66b758ba7cc61e306b10e7d56e5c63a 2746 fastapi_0.115.11-5.dsc
 9aa3f7f816a45276712f5c92e98faefc45c5b545 6372 fastapi_0.115.11-5.debian.tar.xz
 2b64b86921743fdc5307481e6e45e3bfe22cd42d 10174 
fastapi_0.115.11-5_source.buildinfo
Checksums-Sha256:
 ab52704f5b789094badfc1bb083cb1032b8ec4010d53f87eba698e5e7e6d3ad6 2746 
fastapi_0.115.11-5.dsc
 4496230824317345be8c852dea4273912e736bbb64fd532d55edcae9962ea042 6372 
fastapi_0.115.11-5.debian.tar.xz
 de78af1152c4786db686a551e81ee5103d6c96aa4b89029786cbe17606fec9e8 10174 
fastapi_0.115.11-5_source.buildinfo
Files:
 18ae72645f5f223b03d382022e0f2250 2746 python optional fastapi_0.115.11-5.dsc
 d8e27ac6485025577db0bf7d966d0a02 6372 python optional 
fastapi_0.115.11-5.debian.tar.xz
 d1f99c36262e7560f24f5effab00f265 10174 python optional 
fastapi_0.115.11-5_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEufrTGSrz5KUwnZ05h588mTgBqU8FAmjXejgACgkQh588mTgB
qU+xfxAAwk8TWdGsELI+z8S0BhJAasARZwgtOiq+0hFQy4Ugm7rQBzDwxxiyz6ru
bM+geLNZRhjRJYT5+A3iO6EzfbFW3T+uW9KLa+Aze6J54TvGhT3hGIWNQeMM3D18
+b5ErWPoSrMo4j1tFkh9VSGg8wLHWgy93Khz20Q07CbmRDkQkGEiC9J39FphKub3
MUAgKyuHpnoKuAe2OTeXWtSxLU4uZnA1bC8sxSp+JhyMEP7feXc7zvGL71+joUBy
Br4Rp/ux19C19YJ97fiiyX/+trB9OCLKsKUwnw6kJhxtekGk2EdSXzg2RhLV0V9a
HewnPUrR6SbRtW2EQmIkxaafe22KOAWGKTTyZg81fDWyDvLaMPUA+VorW/hXrvgR
WKPdY+huIXXjbJaKwosh5cWfSCIbZCki8cC5GOUhfxeUJ62COkAF7oH97f42X9vf
uQxlqO+tqxJH52uaPdvghv3DeHdVffFTBthrjIn44P21CYcP4IWsbFyjnL7+TR54
bfec1Q7SzltTkn0SsfHQ/QXm26xOnxi0xisZIFOrHpPn4yUc/HT2XK2H311PByKd
k26o9l5AWAYJVDsu7rBPgcpqoIdJm5ltoCiQm5SA91k0I0IHLhvoYNhC3KpJfsd0
VljHcABuklu1MEbMPIdoM0jfcNhHIXMVU2hwOG9lZ3gW8kw+u70=
=qlqC
-----END PGP SIGNATURE-----

Attachment: pgpRKqdTXEpdR.pgp
Description: PGP signature


--- End Message ---

Reply via email to