failed WRONG_FIX wrong_fix ยท 58 tool calls ยท 118 s ยท fastapi/fastapi
๐ Add a custom `FastAPIDeprecationWarning` ๐ Add a custom `FastAPIDeprecationWarning` and use it for deprecated logic, like Pydantic v1 models. Motivated by: https://sethmlarson.dev/deprecations-via-warnings-dont-work-for-python-libraries
| # | Tool | Arguments | Result |
|---|---|---|---|
| 1 | run_command | {
"command": "grep -rn \"DeprecationWarning\" fastapi | head -20"
} | {"status": "ok", "stdout": "fastapi/params.py:78: category=DeprecationWarning,\nfastapi/params.py:108: category=DeprecationWarning,\nfastapi/params.py:533: catefull{"status": "ok", "stdout": "fastapi/params.py:78: category=DeprecationWarning,\nfastapi/params.py:108: category=DeprecationWarning,\nfastapi/params.py:533: category=DeprecationWarning,\nfastapi/params.py:563: category=DeprecationWarning,\nfastapi/dependencies/utils.py:330: category=DeprecationWarning,\nfastapi/openapi/utils.py:220: DeprecationWarning,\nfastapi/utils.py:200: DeprecationWarning,\nfastapi/routing.py:643: category=DeprecationWarning,\nfastapi/routing.py:683: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:66: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:96: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:506: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:536: category=DeprecationWarning,\n", "stderr": "", "exit_code": 0} |
| 2 | run_command | {
"command": "ls fastapi/__init__.py fastapi/utils.py"
} | {"status": "ok", "stdout": "fastapi/__init__.py\nfastapi/utils.py\n", "stderr": "", "exit_code": 0}full{"status": "ok", "stdout": "fastapi/__init__.py\nfastapi/utils.py\n", "stderr": "", "exit_code": 0} |
| 3-4 ร2 | read_file | {
"filepath": "fastapi/utils.py",
"start_line": "190",
"end_line": "210"
} | {"status": "error", "error_type": "FileReadError", "error_message": "'>' not supported between instances of 'int' and 'str'"}full{"status": "error", "error_type": "FileReadError", "error_message": "'>' not supported between instances of 'int' and 'str'"} |
| 5 | run_command | {
"command": "grep -rn \"DeprecationWarning\" fastapi/utils.py"
} | {"status": "ok", "stdout": "fastapi/utils.py:200: DeprecationWarning,\n", "stderr": "", "exit_code": 0}full{"status": "ok", "stdout": "fastapi/utils.py:200: DeprecationWarning,\n", "stderr": "", "exit_code": 0} |
| 6 | read_file | {
"end_line": "210",
"filepath": "fastapi/utils.py",
"start_line": "190"
} | {"status": "error", "error_type": "FileReadError", "error_message": "'>' not supported between instances of 'int' and 'str'"}full{"status": "error", "error_type": "FileReadError", "error_message": "'>' not supported between instances of 'int' and 'str'"} |
| 7 | run_command | {
"command": "head -n 210 fastapi/utils.py | tail -n 20"
} | {"status": "ok", "stdout": " return new_field\n\n\ndef generate_operation_id_for_path(\n *, name: str, path: str, method: str\n) -> str: # pragma: nocover\n warfull{"status": "ok", "stdout": " return new_field\n\n\ndef generate_operation_id_for_path(\n *, name: str, path: str, method: str\n) -> str: # pragma: nocover\n warnings.warn(\n \"fastapi.utils.generate_operation_id_for_path() was deprecated, \"\n \"it is not used internally, and will be removed soon\",\n DeprecationWarning,\n stacklevel=2,\n )\n operation_id = f\"{name}{path}\"\n operation_id = re.sub(r\"\\W\", \"_\", operation_id)\n operation_id = f\"{operation_id}_{method.lower()}\"\n return operation_id\n\n\ndef generate_unique_id(route: \"APIRoute\") -> str:\n operation_id = f\"{route.name}{route.path_format}\"\n", "stderr": "", "exit_code": 0} |
| 8 | run_command | {
"command": "grep -rn \"Pydantic v1\" fastapi | head -20"
} | {"status": "ok", "stdout": "fastapi/params.py:36: # TODO: update when deprecating Pydantic v1, import these types\nfastapi/params.py:149: # TODO: update when defull{"status": "ok", "stdout": "fastapi/params.py:36: # TODO: update when deprecating Pydantic v1, import these types\nfastapi/params.py:149: # TODO: update when deprecating Pydantic v1, import these types\nfastapi/params.py:235: # TODO: update when deprecating Pydantic v1, import these types\nfastapi/params.py:319: # TODO: update when deprecating Pydantic v1, import these types\nfastapi/params.py:405: # TODO: update when deprecating Pydantic v1, import these types\nfastapi/params.py:489: # TODO: update when deprecating Pydantic v1, import these types\nfastapi/params.py:602: # TODO: update when deprecating Pydantic v1, import these types\nfastapi/params.py:686: # TODO: update when deprecating Pydantic v1, import these types\nfastapi/dependencies/utils.py:552: # For Pydantic v1\nfastapi/encoders.py:31:# Taken from Pydantic v1 as is\nfastapi/encoders.py:36:# Adapted from Pydantic v1\nfastapi/encoders.py:228: # TODO: remove when deprecating Pydantic v1\nfastapi/encoders.py:250: # TODO: remove when deprecating Pydantic v1\nfastapi/openapi/models.py:146: # TODO: uncomment and remove below when deprecating Pydantic v1\nfastapi/utils.py:124: # Pydantic v2 is not installed, but it's not a Pydantic v1 ModelField, it could be\nfastapi/utils.py:125: # a Pydantic v1 type, like a constrained int\nfastapi/routing.py:658: # TODO: remove when deprecating Pydantic v1\nfastapi/temp_pydantic_v1_params.py:24: # TODO: update when deprecating Pydantic v1, import these types\nfastapi/temp_pydantic_v1_params.py:122: # TODO: update when deprecating Pydantic v1, import these types\nfastapi/temp_pydantic_v1_params.py:208: # TODO: update when deprecating Pydantic v1, import these types\n", "stderr": "", "exit_code": 0} |
| 9 | run_command | {
"command": "grep -rn \"category=DeprecationWarning\" fastapi | head -20"
} | {"status": "ok", "stdout": "fastapi/params.py:78: category=DeprecationWarning,\nfastapi/params.py:108: category=DeprecationWarning,\nfastapi/params.py:533: catefull{"status": "ok", "stdout": "fastapi/params.py:78: category=DeprecationWarning,\nfastapi/params.py:108: category=DeprecationWarning,\nfastapi/params.py:533: category=DeprecationWarning,\nfastapi/params.py:563: category=DeprecationWarning,\nfastapi/dependencies/utils.py:330: category=DeprecationWarning,\nfastapi/routing.py:643: category=DeprecationWarning,\nfastapi/routing.py:683: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:66: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:96: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:506: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:536: category=DeprecationWarning,\n", "stderr": "", "exit_code": 0} |
| 10 | run_command | {
"command": "grep -rn \"class FastAPIDeprecationWarning\" fastapi"
} | {"status": "error", "error_type": "CommandError", "error_message": "", "details": {"stdout": "", "stderr": "", "exit_code": 1}}full{"status": "error", "error_type": "CommandError", "error_message": "", "details": {"stdout": "", "stderr": "", "exit_code": 1}} |
| 11 | run_command | {
"command": "grep -rn \"class .*Warning\" fastapi | head -20"
} | {"status": "ok", "stdout": "", "stderr": "", "exit_code": 0}full{"status": "ok", "stdout": "", "stderr": "", "exit_code": 0} |
| 12 | run_command | {
"command": "ls fastapi/errors.py"
} | {"status": "error", "error_type": "CommandError", "error_message": "ls: fastapi/errors.py: No such file or directory\n", "details": {"stdout": "", "stderr": "lsfull{"status": "error", "error_type": "CommandError", "error_message": "ls: fastapi/errors.py: No such file or directory\n", "details": {"stdout": "", "stderr": "ls: fastapi/errors.py: No such file or directory\n", "exit_code": 1}} |
| 13 | run_command | {
"command": "ls fastapi/"
} | {"status": "ok", "stdout": "__init__.py\n__main__.py\n_compat\napplications.py\nbackground.py\ncli.py\nconcurrency.py\ndatastructures.py\ndependencies\nencodersfull{"status": "ok", "stdout": "__init__.py\n__main__.py\n_compat\napplications.py\nbackground.py\ncli.py\nconcurrency.py\ndatastructures.py\ndependencies\nencoders.py\nexception_handlers.py\nexceptions.py\nlogger.py\nmiddleware\nopenapi\nparam_functions.py\nparams.py\npy.typed\nrequests.py\nresponses.py\nrouting.py\nsecurity\nstaticfiles.py\ntemp_pydantic_v1_params.py\ntemplating.py\ntestclient.py\ntypes.py\nutils.py\nwebsockets.py\n", "stderr": "", "exit_code": 0} |
| 14 | run_command | {
"command": "ls fastapi/exceptions.py"
} | {"status": "ok", "stdout": "fastapi/exceptions.py\n", "stderr": "", "exit_code": 0}full{"status": "ok", "stdout": "fastapi/exceptions.py\n", "stderr": "", "exit_code": 0} |
| 15 | read_file | {
"filepath": "fastapi/exceptions.py"
} | {"status": "ok", "filepath": "fastapi/exceptions.py", "content": "from collections.abc import Sequence\nfrom typing import Annotated, Any, Optional, TypedDict, full{"status": "ok", "filepath": "fastapi/exceptions.py", "content": "from collections.abc import Sequence\nfrom typing import Annotated, Any, Optional, TypedDict, Union\n\nfrom annotated_doc import Doc\nfrom pydantic import BaseModel, create_model\nfrom starlette.exceptions import HTTPException as StarletteHTTPException\nfrom starlette.exceptions import WebSocketException as StarletteWebSocketException\n\n\nclass EndpointContext(TypedDict, total=False):\n function: str\n path: str\n file: str\n line: int\n\n\nclass HTTPException(StarletteHTTPException):\n \"\"\"\n An HTTP exception you can raise in your own code to show errors to the client.\n\n This is for client errors, invalid authentication, invalid data, etc. Not for server\n errors in your code.\n\n Read more about it in the\n [FastAPI docs for Handling Errors](https://fastapi.tiangolo.com/tutorial/handling-errors/).\n\n ## Example\n\n ```python\n from fastapi import FastAPI, HTTPException\n\n app = FastAPI()\n\n items = {\"foo\": \"The Foo Wrestlers\"}\n\n\n @app.get(\"/items/{item_id}\")\n async def read_item(item_id: str):\n if item_id not in items:\n raise HTTPException(status_code=404, detail=\"Item not found\")\n return {\"item\": items[item_id]}\n ```\n \"\"\"\n\n def __init__(\n self,\n status_code: Annotated[\n int,\n Doc(\n \"\"\"\n HTTP status code to send to the client.\n \"\"\"\n ),\n ],\n detail: Annotated[\n Any,\n Doc(\n \"\"\"\n Any data to be sent to the client in the `detail` key of the JSON\n response.\n \"\"\"\n ),\n ] = None,\n headers: Annotated[\n Optional[dict[str, str]],\n Doc(\n \"\"\"\n Any headers to send to the client in the response.\n |
| 16 | run_command | {
"command": "grep -rn \"DeprecationWarning\" fastapi/temp_pydantic_v1_params.py"
} | {"status": "ok", "stdout": "fastapi/temp_pydantic_v1_params.py:66: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:96: category=DeprecationWarnfull{"status": "ok", "stdout": "fastapi/temp_pydantic_v1_params.py:66: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:96: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:506: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:536: category=DeprecationWarning,\n", "stderr": "", "exit_code": 0} |
| 17 | read_file | {
"end_line": "100",
"filepath": "fastapi/temp_pydantic_v1_params.py",
"start_line": "60"
} | {"status": "error", "error_type": "FileReadError", "error_message": "'>' not supported between instances of 'int' and 'str'"}full{"status": "error", "error_type": "FileReadError", "error_message": "'>' not supported between instances of 'int' and 'str'"} |
| 18 | run_command | {
"command": "head -n 100 fastapi/temp_pydantic_v1_params.py | tail -n 40"
} | {"status": "ok", "stdout": " **extra: Any,\n ):\n if example is not _Unset:\n warnings.warn(\n \"`example` has been deprecated, please use `examples` instead\",full{"status": "ok", "stdout": " **extra: Any,\n ):\n if example is not _Unset:\n warnings.warn(\n \"`example` has been deprecated, please use `examples` instead\",\n category=DeprecationWarning,\n stacklevel=4,\n )\n self.example = example\n self.include_in_schema = include_in_schema\n self.openapi_examples = openapi_examples\n kwargs = dict(\n default=default,\n default_factory=default_factory,\n alias=alias,\n title=title,\n description=description,\n gt=gt,\n ge=ge,\n lt=lt,\n le=le,\n min_length=min_length,\n max_length=max_length,\n discriminator=discriminator,\n multiple_of=multiple_of,\n allow_inf_nan=allow_inf_nan,\n max_digits=max_digits,\n decimal_places=decimal_places,\n **extra,\n )\n if examples is not None:\n kwargs[\"examples\"] = examples\n if regex is not None:\n warnings.warn(\n \"`regex` has been deprecated, please use `pattern` instead\",\n category=DeprecationWarning,\n stacklevel=4,\n )\n current_json_schema_extra = json_schema_extra or extra\n kwargs[\"deprecated\"] = deprecated\n", "stderr": "", "exit_code": 0} |
| 19 | run_command | {
"command": "grep -rn \"category=DeprecationWarning\" fastapi/params.py | head -10"
} | {"status": "ok", "stdout": "fastapi/params.py:78: category=DeprecationWarning,\nfastapi/params.py:108: category=DeprecationWarning,\nfastapi/params.py:533: catefull{"status": "ok", "stdout": "fastapi/params.py:78: category=DeprecationWarning,\nfastapi/params.py:108: category=DeprecationWarning,\nfastapi/params.py:533: category=DeprecationWarning,\nfastapi/params.py:563: category=DeprecationWarning,\n", "stderr": "", "exit_code": 0} |
| 20 | run_command | {
"command": "grep -rn \"category=DeprecationWarning\" fastapi/routing.py | head -10"
} | {"status": "ok", "stdout": "fastapi/routing.py:643: category=DeprecationWarning,\nfastapi/routing.py:683: category=DeprecationWarning,\n", "stderr": "", "exit_cfull{"status": "ok", "stdout": "fastapi/routing.py:643: category=DeprecationWarning,\nfastapi/routing.py:683: category=DeprecationWarning,\n", "stderr": "", "exit_code": 0} |
| 21 | run_command | {
"command": "grep -rn \"category=DeprecationWarning\" fastapi/dependencies/utils.py | head -10"
} | {"status": "ok", "stdout": "fastapi/dependencies/utils.py:330: category=DeprecationWarning,\n", "stderr": "", "exit_code": 0}full{"status": "ok", "stdout": "fastapi/dependencies/utils.py:330: category=DeprecationWarning,\n", "stderr": "", "exit_code": 0} |
| 22 | run_command | {
"command": "grep -rn \"import warnings\" fastapi | head -20"
} | {"status": "ok", "stdout": "fastapi/params.py:1:import warnings\nfastapi/dependencies/utils.py:4:import warnings\nfastapi/openapi/utils.py:3:import warnings\nfafull{"status": "ok", "stdout": "fastapi/params.py:1:import warnings\nfastapi/dependencies/utils.py:4:import warnings\nfastapi/openapi/utils.py:3:import warnings\nfastapi/utils.py:2:import warnings\nfastapi/routing.py:5:import warnings\nfastapi/temp_pydantic_v1_params.py:1:import warnings\nfastapi/_compat/v2.py:2:import warnings\n", "stderr": "", "exit_code": 0} |
| 23 | run_command | {
"command": "ls fastapi/_compat/"
} | {"status": "ok", "stdout": "__init__.py\nmain.py\nmay_v1.py\nmodel_field.py\nshared.py\nv1.py\nv2.py\n", "stderr": "", "exit_code": 0}full{"status": "ok", "stdout": "__init__.py\nmain.py\nmay_v1.py\nmodel_field.py\nshared.py\nv1.py\nv2.py\n", "stderr": "", "exit_code": 0} |
| 24 | read_file | {
"filepath": "fastapi/_compat/v2.py"
} | {"status": "ok", "filepath": "fastapi/_compat/v2.py", "content": "import re\nimport warnings\nfrom collections.abc import Sequence\nfrom copy import copy, deepcfull{"status": "ok", "filepath": "fastapi/_compat/v2.py", "content": "import re\nimport warnings\nfrom collections.abc import Sequence\nfrom copy import copy, deepcopy\nfrom dataclasses import dataclass, is_dataclass\nfrom enum import Enum\nfrom typing import (\n Annotated,\n Any,\n Union,\n cast,\n)\n\nfrom fastapi._compat import may_v1, shared\nfrom fastapi.openapi.constants import REF_TEMPLATE\nfrom fastapi.types import IncEx, ModelNameMap, UnionType\nfrom pydantic import BaseModel, ConfigDict, Field, TypeAdapter, create_model\nfrom pydantic import PydanticSchemaGenerationError as PydanticSchemaGenerationError\nfrom pydantic import PydanticUndefinedAnnotation as PydanticUndefinedAnnotation\nfrom pydantic import ValidationError as ValidationError\nfrom pydantic._internal._schema_generation_shared import ( # type: ignore[attr-defined]\n GetJsonSchemaHandler as GetJsonSchemaHandler,\n)\nfrom pydantic._internal._typing_extra import eval_type_lenient\nfrom pydantic._internal._utils import lenient_issubclass as lenient_issubclass\nfrom pydantic.fields import FieldInfo as FieldInfo\nfrom pydantic.json_schema import GenerateJsonSchema as GenerateJsonSchema\nfrom pydantic.json_schema import JsonSchemaValue as JsonSchemaValue\nfrom pydantic_core import CoreSchema as CoreSchema\nfrom pydantic_core import PydanticUndefined, PydanticUndefinedType\nfrom pydantic_core import Url as Url\nfrom typing_extensions import Literal, get_args, get_origin\n\ntry:\n from pydantic_core.core_schema import (\n with_info_plain_validator_function as with_info_plain_validator_function,\n )\nexcept ImportError: # pragma: no cover\n from pydantic_core.core_schema import (\n general_plain_validator_function as with_info_plain_validator_function, # noqa: F401\n )\n\nRequiredParam = PydanticUndefined\nUndefined = PydanticUndefined\nUndefinedType = PydanticUndefinedType\nevaluate_forwardref = eval_type_lenient\nValidator = Any\n\n# TODO: remove when dropping su |
| 25 | run_command | {
"command": "grep -rn \"class FastAPIDeprecationWarning\" fastapi"
} | {"status": "error", "error_type": "CommandError", "error_message": "", "details": {"stdout": "", "stderr": "", "exit_code": 1}}full{"status": "error", "error_type": "CommandError", "error_message": "", "details": {"stdout": "", "stderr": "", "exit_code": 1}} |
| 26 | run_command | {
"command": "grep -rn \"DeprecationWarning\" fastapi | head -20"
} | {"status": "ok", "stdout": "fastapi/params.py:78: category=DeprecationWarning,\nfastapi/params.py:108: category=DeprecationWarning,\nfastapi/params.py:533: catefull{"status": "ok", "stdout": "fastapi/params.py:78: category=DeprecationWarning,\nfastapi/params.py:108: category=DeprecationWarning,\nfastapi/params.py:533: category=DeprecationWarning,\nfastapi/params.py:563: category=DeprecationWarning,\nfastapi/dependencies/utils.py:330: category=DeprecationWarning,\nfastapi/openapi/utils.py:220: DeprecationWarning,\nfastapi/utils.py:200: DeprecationWarning,\nfastapi/routing.py:643: category=DeprecationWarning,\nfastapi/routing.py:683: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:66: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:96: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:506: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:536: category=DeprecationWarning,\n", "stderr": "", "exit_code": 0} |
| 27 | run_command | {
"command": "grep -rn \"Pydantic v1\" fastapi | head -20"
} | {"status": "ok", "stdout": "fastapi/params.py:36: # TODO: update when deprecating Pydantic v1, import these types\nfastapi/params.py:149: # TODO: update when defull{"status": "ok", "stdout": "fastapi/params.py:36: # TODO: update when deprecating Pydantic v1, import these types\nfastapi/params.py:149: # TODO: update when deprecating Pydantic v1, import these types\nfastapi/params.py:235: # TODO: update when deprecating Pydantic v1, import these types\nfastapi/params.py:319: # TODO: update when deprecating Pydantic v1, import these types\nfastapi/params.py:405: # TODO: update when deprecating Pydantic v1, import these types\nfastapi/params.py:489: # TODO: update when deprecating Pydantic v1, import these types\nfastapi/params.py:602: # TODO: update when deprecating Pydantic v1, import these types\nfastapi/params.py:686: # TODO: update when deprecating Pydantic v1, import these types\nfastapi/dependencies/utils.py:552: # For Pydantic v1\nfastapi/encoders.py:31:# Taken from Pydantic v1 as is\nfastapi/encoders.py:36:# Adapted from Pydantic v1\nfastapi/encoders.py:228: # TODO: remove when deprecating Pydantic v1\nfastapi/encoders.py:250: # TODO: remove when deprecating Pydantic v1\nfastapi/openapi/models.py:146: # TODO: uncomment and remove below when deprecating Pydantic v1\nfastapi/utils.py:124: # Pydantic v2 is not installed, but it's not a Pydantic v1 ModelField, it could be\nfastapi/utils.py:125: # a Pydantic v1 type, like a constrained int\nfastapi/routing.py:658: # TODO: remove when deprecating Pydantic v1\nfastapi/temp_pydantic_v1_params.py:24: # TODO: update when deprecating Pydantic v1, import these types\nfastapi/temp_pydantic_v1_params.py:122: # TODO: update when deprecating Pydantic v1, import these types\nfastapi/temp_pydantic_v1_params.py:208: # TODO: update when deprecating Pydantic v1, import these types\n", "stderr": "", "exit_code": 0} |
| 28 | run_command | {
"command": "ls fastapi/exceptions.py"
} | {"status": "ok", "stdout": "fastapi/exceptions.py\n", "stderr": "", "exit_code": 0}full{"status": "ok", "stdout": "fastapi/exceptions.py\n", "stderr": "", "exit_code": 0} |
| 29 | read_file | {
"filepath": "fastapi/exceptions.py"
} | {"status": "ok", "filepath": "fastapi/exceptions.py", "content": "from collections.abc import Sequence\nfrom typing import Annotated, Any, Optional, TypedDict, full{"status": "ok", "filepath": "fastapi/exceptions.py", "content": "from collections.abc import Sequence\nfrom typing import Annotated, Any, Optional, TypedDict, Union\n\nfrom annotated_doc import Doc\nfrom pydantic import BaseModel, create_model\nfrom starlette.exceptions import HTTPException as StarletteHTTPException\nfrom starlette.exceptions import WebSocketException as StarletteWebSocketException\n\n\nclass EndpointContext(TypedDict, total=False):\n function: str\n path: str\n file: str\n line: int\n\n\nclass HTTPException(StarletteHTTPException):\n \"\"\"\n An HTTP exception you can raise in your own code to show errors to the client.\n\n This is for client errors, invalid authentication, invalid data, etc. Not for server\n errors in your code.\n\n Read more about it in the\n [FastAPI docs for Handling Errors](https://fastapi.tiangolo.com/tutorial/handling-errors/).\n\n ## Example\n\n ```python\n from fastapi import FastAPI, HTTPException\n\n app = FastAPI()\n\n items = {\"foo\": \"The Foo Wrestlers\"}\n\n\n @app.get(\"/items/{item_id}\")\n async def read_item(item_id: str):\n if item_id not in items:\n raise HTTPException(status_code=404, detail=\"Item not found\")\n return {\"item\": items[item_id]}\n ```\n \"\"\"\n\n def __init__(\n self,\n status_code: Annotated[\n int,\n Doc(\n \"\"\"\n HTTP status code to send to the client.\n \"\"\"\n ),\n ],\n detail: Annotated[\n Any,\n Doc(\n \"\"\"\n Any data to be sent to the client in the `detail` key of the JSON\n response.\n \"\"\"\n ),\n ] = None,\n headers: Annotated[\n Optional[dict[str, str]],\n Doc(\n \"\"\"\n Any headers to send to the client in the response.\n |
| 30 | run_command | {
"command": "grep -rn \"DeprecationWarning\" fastapi/temp_pydantic_v1_params.py"
} | {"status": "ok", "stdout": "fastapi/temp_pydantic_v1_params.py:66: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:96: category=DeprecationWarnfull{"status": "ok", "stdout": "fastapi/temp_pydantic_v1_params.py:66: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:96: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:506: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:536: category=DeprecationWarning,\n", "stderr": "", "exit_code": 0} |
| 31 | run_command | {
"command": "grep -rn \"category=DeprecationWarning\" fastapi/params.py | head -10"
} | {"status": "ok", "stdout": "fastapi/params.py:78: category=DeprecationWarning,\nfastapi/params.py:108: category=DeprecationWarning,\nfastapi/params.py:533: catefull{"status": "ok", "stdout": "fastapi/params.py:78: category=DeprecationWarning,\nfastapi/params.py:108: category=DeprecationWarning,\nfastapi/params.py:533: category=DeprecationWarning,\nfastapi/params.py:563: category=DeprecationWarning,\n", "stderr": "", "exit_code": 0} |
| 32 | run_command | {
"command": "grep -rn \"category=DeprecationWarning\" fastapi/routing.py | head -10"
} | {"status": "ok", "stdout": "fastapi/routing.py:643: category=DeprecationWarning,\nfastapi/routing.py:683: category=DeprecationWarning,\n", "stderr": "", "exit_cfull{"status": "ok", "stdout": "fastapi/routing.py:643: category=DeprecationWarning,\nfastapi/routing.py:683: category=DeprecationWarning,\n", "stderr": "", "exit_code": 0} |
| 33 | run_command | {
"command": "grep -rn \"category=DeprecationWarning\" fastapi/dependencies/utils.py | head -10"
} | {"status": "ok", "stdout": "fastapi/dependencies/utils.py:330: category=DeprecationWarning,\n", "stderr": "", "exit_code": 0}full{"status": "ok", "stdout": "fastapi/dependencies/utils.py:330: category=DeprecationWarning,\n", "stderr": "", "exit_code": 0} |
| 34 | run_command | {
"command": "grep -rn \"category=DeprecationWarning\" fastapi/openapi/utils.py | head -10"
} | {"status": "ok", "stdout": "", "stderr": "", "exit_code": 0}full{"status": "ok", "stdout": "", "stderr": "", "exit_code": 0} |
| 35 | run_command | {
"command": "grep -rn \"DeprecationWarning\" fastapi/openapi/utils.py | head -10"
} | {"status": "ok", "stdout": "fastapi/openapi/utils.py:220: DeprecationWarning,\n", "stderr": "", "exit_code": 0}full{"status": "ok", "stdout": "fastapi/openapi/utils.py:220: DeprecationWarning,\n", "stderr": "", "exit_code": 0} |
| 36 | run_command | {
"command": "grep -rn \"DeprecationWarning\" fastapi/utils.py | head -10"
} | {"status": "ok", "stdout": "fastapi/utils.py:200: DeprecationWarning,\n", "stderr": "", "exit_code": 0}full{"status": "ok", "stdout": "fastapi/utils.py:200: DeprecationWarning,\n", "stderr": "", "exit_code": 0} |
| 37 | run_command | {
"command": "grep -rn \"DeprecationWarning\" fastapi/temp_pydantic_v1_params.py | head -10"
} | {"status": "ok", "stdout": "fastapi/temp_pydantic_v1_params.py:66: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:96: category=DeprecationWarnfull{"status": "ok", "stdout": "fastapi/temp_pydantic_v1_params.py:66: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:96: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:506: category=DeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:536: category=DeprecationWarning,\n", "stderr": "", "exit_code": 0} |
| 38 | run_command | {
"command": "grep -rn \"DeprecationWarning\" fastapi/params.py | head -10"
} | {"status": "ok", "stdout": "fastapi/params.py:78: category=DeprecationWarning,\nfastapi/params.py:108: category=DeprecationWarning,\nfastapi/params.py:533: catefull{"status": "ok", "stdout": "fastapi/params.py:78: category=DeprecationWarning,\nfastapi/params.py:108: category=DeprecationWarning,\nfastapi/params.py:533: category=DeprecationWarning,\nfastapi/params.py:563: category=DeprecationWarning,\n", "stderr": "", "exit_code": 0} |
| 39 | run_command | {
"command": "grep -rn \"DeprecationWarning\" fastapi/routing.py | head -10"
} | {"status": "ok", "stdout": "fastapi/routing.py:643: category=DeprecationWarning,\nfastapi/routing.py:683: category=DeprecationWarning,\n", "stderr": "", "exit_cfull{"status": "ok", "stdout": "fastapi/routing.py:643: category=DeprecationWarning,\nfastapi/routing.py:683: category=DeprecationWarning,\n", "stderr": "", "exit_code": 0} |
| 40 | run_command | {
"command": "grep -rn \"DeprecationWarning\" fastapi/dependencies/utils.py | head -10"
} | {"status": "ok", "stdout": "fastapi/dependencies/utils.py:330: category=DeprecationWarning,\n", "stderr": "", "exit_code": 0}full{"status": "ok", "stdout": "fastapi/dependencies/utils.py:330: category=DeprecationWarning,\n", "stderr": "", "exit_code": 0} |
| 41 | edit_file | {
"filepath": "fastapi/exceptions.py",
"new_string": "class FastAPIDeprecationWarning(DeprecationWarning):\n \\\"\\\"\\\"\n Warning raised when a feature in FastAPI is deprecated.\n \\\"\\\"\\\"\n\n\\n\\nclass EndpointContext(TypedDict, total=False):",
"old_string": "class EndpointContext(TypedDict, total=False):"
} | {"status": "ok", "filepath": "fastapi/exceptions.py", "occurrences": 1, "strategy": "exact", "diff": "--- a/fastapi/exceptions.py\n+++ b/fastapi/exceptions.py\nfull{"status": "ok", "filepath": "fastapi/exceptions.py", "occurrences": 1, "strategy": "exact", "diff": "--- a/fastapi/exceptions.py\n+++ b/fastapi/exceptions.py\n@@ -7,7 +7,12 @@\n from starlette.exceptions import WebSocketException as StarletteWebSocketException\n \n \n-class EndpointContext(TypedDict, total=False):\n+class FastAPIDeprecationWarning(DeprecationWarning):\n+ \\\"\\\"\\\"\n+ Warning raised when a feature in FastAPI is deprecated.\n+ \\\"\\\"\\\"\n+\n+\\n\\nclass EndpointContext(TypedDict, total=False):\n function: str\n path: str\n file: str\n", "is_truncated": false} |
| 42 | edit_file | {
"filepath": "fastapi/params.py",
"new_string": " category=FastAPIDeprecationWarning,",
"old_string": " category=DeprecationWarning,",
"allow_multiple": true
} | {"status": "ok", "filepath": "fastapi/params.py", "occurrences": 4, "strategy": "exact", "diff": "--- a/fastapi/params.py\n+++ b/fastapi/params.py\n@@ -75,7 +75full{"status": "ok", "filepath": "fastapi/params.py", "occurrences": 4, "strategy": "exact", "diff": "--- a/fastapi/params.py\n+++ b/fastapi/params.py\n@@ -75,7 +75,7 @@\n if example is not _Unset:\n warnings.warn(\n \"`example` has been deprecated, please use `examples` instead\",\n- category=DeprecationWarning,\n+ category=FastAPIDeprecationWarning,\n stacklevel=4,\n )\n self.example = example\n@@ -105,7 +105,7 @@\n if regex is not None:\n warnings.warn(\n \"`regex` has been deprecated, please use `pattern` instead\",\n- category=DeprecationWarning,\n+ category=FastAPIDeprecationWarning,\n stacklevel=4,\n )\n current_json_schema_extra = json_schema_extra or extra\n@@ -530,7 +530,7 @@\n if example is not _Unset:\n warnings.warn(\n \"`example` has been deprecated, please use `examples` instead\",\n- category=DeprecationWarning,\n+ category=FastAPIDeprecationWarning,\n stacklevel=4,\n )\n self.example = example\n@@ -560,7 +560,7 @@\n if regex is not None:\n warnings.warn(\n \"`regex` has been deprecated, please use `pattern` instead\",\n- category=DeprecationWarning,\n+ category=FastAPIDeprecationWarning,\n stacklevel=4,\n )\n current_json_schema_extra = json_schema_extra or extra\n", "is_truncated": false} |
| 43 | edit_file | {
"allow_multiple": true,
"filepath": "fastapi/temp_pydantic_v1_params.py",
"new_string": " category=FastAPIDeprecationWarning,",
"old_string": " category=DeprecationWarning,"
} | {"status": "ok", "filepath": "fastapi/temp_pydantic_v1_params.py", "occurrences": 4, "strategy": "exact", "diff": "--- a/fastapi/temp_pydantic_v1_params.py\n+++full{"status": "ok", "filepath": "fastapi/temp_pydantic_v1_params.py", "occurrences": 4, "strategy": "exact", "diff": "--- a/fastapi/temp_pydantic_v1_params.py\n+++ b/fastapi/temp_pydantic_v1_params.py\n@@ -63,7 +63,7 @@\n if example is not _Unset:\n warnings.warn(\n \"`example` has been deprecated, please use `examples` instead\",\n- category=DeprecationWarning,\n+ category=FastAPIDeprecationWarning,\n stacklevel=4,\n )\n self.example = example\n@@ -93,7 +93,7 @@\n if regex is not None:\n warnings.warn(\n \"`regex` has been deprecated, please use `pattern` instead\",\n- category=DeprecationWarning,\n+ category=FastAPIDeprecationWarning,\n stacklevel=4,\n )\n current_json_schema_extra = json_schema_extra or extra\n@@ -503,7 +503,7 @@\n if example is not _Unset:\n warnings.warn(\n \"`example` has been deprecated, please use `examples` instead\",\n- category=DeprecationWarning,\n+ category=FastAPIDeprecationWarning,\n stacklevel=4,\n )\n self.example = example\n@@ -533,7 +533,7 @@\n if regex is not None:\n warnings.warn(\n \"`regex` has been deprecated, please use `pattern` instead\",\n- category=DeprecationWarning,\n+ category=FastAPIDeprecationWarning,\n stacklevel=4,\n )\n current_json_schema_extra = json_schema_extra or extra\n", "is_truncated": false} |
| 44 | edit_file | {
"allow_multiple": true,
"filepath": "fastapi/routing.py",
"new_string": " category=FastAPIDeprecationWarning,",
"old_string": " category=DeprecationWarning,"
} | {"status": "ok", "filepath": "fastapi/routing.py", "occurrences": 2, "strategy": "exact", "diff": "--- a/fastapi/routing.py\n+++ b/fastapi/routing.py\n@@ -640,7full{"status": "ok", "filepath": "fastapi/routing.py", "occurrences": 2, "strategy": "exact", "diff": "--- a/fastapi/routing.py\n+++ b/fastapi/routing.py\n@@ -640,7 +640,7 @@\n warnings.warn(\n \"pydantic.v1 is deprecated and will soon stop being supported by FastAPI.\"\n f\" Please update the response model {self.response_model!r}.\",\n- category=DeprecationWarning,\n+ category=FastAPIDeprecationWarning,\n stacklevel=4,\n )\n self.response_field = create_model_field(\n@@ -680,7 +680,7 @@\n warnings.warn(\n \"pydantic.v1 is deprecated and will soon stop being supported by FastAPI.\"\n f\" In responses={{}}, please update {model}.\",\n- category=DeprecationWarning,\n+ category=FastAPIDeprecationWarning,\n stacklevel=4,\n )\n response_field = create_model_field(\n", "is_truncated": false} |
| 45 | edit_file | {
"allow_multiple": true,
"filepath": "fastapi/dependencies/utils.py",
"new_string": " category=FastAPIDeprecationWarning,",
"old_string": " category=DeprecationWarning,"
} | {"status": "ok", "filepath": "fastapi/dependencies/utils.py", "occurrences": 1, "strategy": "exact", "diff": "--- a/fastapi/dependencies/utils.py\n+++ b/fastapifull{"status": "ok", "filepath": "fastapi/dependencies/utils.py", "occurrences": 1, "strategy": "exact", "diff": "--- a/fastapi/dependencies/utils.py\n+++ b/fastapi/dependencies/utils.py\n@@ -327,7 +327,7 @@\n warnings.warn(\n \"pydantic.v1 is deprecated and will soon stop being supported by FastAPI.\"\n f\" Please update the param {param_name}: {param_details.type_annotation!r}.\",\n- category=DeprecationWarning,\n+ category=FastAPIDeprecationWarning,\n stacklevel=5,\n )\n if isinstance(\n", "is_truncated": false} |
| 46 | edit_file | {
"filepath": "fastapi/openapi/utils.py",
"new_string": " FastAPIDeprecationWarning,",
"old_string": " DeprecationWarning,"
} | {"status": "ok", "filepath": "fastapi/openapi/utils.py", "occurrences": 1, "strategy": "exact", "diff": "--- a/fastapi/openapi/utils.py\n+++ b/fastapi/openapi/ufull{"status": "ok", "filepath": "fastapi/openapi/utils.py", "occurrences": 1, "strategy": "exact", "diff": "--- a/fastapi/openapi/utils.py\n+++ b/fastapi/openapi/utils.py\n@@ -217,7 +217,7 @@\n warnings.warn(\n \"fastapi.openapi.utils.generate_operation_id() was deprecated, \"\n \"it is not used internally, and will be removed soon\",\n- DeprecationWarning,\n+ FastAPIDeprecationWarning,\n stacklevel=2,\n )\n if route.operation_id:\n", "is_truncated": false} |
| 47 | edit_file | {
"filepath": "fastapi/utils.py",
"new_string": " FastAPIDeprecationWarning,",
"old_string": " DeprecationWarning,"
} | {"status": "ok", "filepath": "fastapi/utils.py", "occurrences": 1, "strategy": "exact", "diff": "--- a/fastapi/utils.py\n+++ b/fastapi/utils.py\n@@ -197,7 +197,full{"status": "ok", "filepath": "fastapi/utils.py", "occurrences": 1, "strategy": "exact", "diff": "--- a/fastapi/utils.py\n+++ b/fastapi/utils.py\n@@ -197,7 +197,7 @@\n warnings.warn(\n \"fastapi.utils.generate_operation_id_for_path() was deprecated, \"\n \"it is not used internally, and will be removed soon\",\n- DeprecationWarning,\n+ FastAPIDeprecationWarning,\n stacklevel=2,\n )\n operation_id = f\"{name}{path}\"\n", "is_truncated": false} |
| 48 | run_command | {
"command": "grep -rn \"FastAPIDeprecationWarning\" fastapi | head -20"
} | {"status": "ok", "stdout": "fastapi/params.py:78: category=FastAPIDeprecationWarning,\nfastapi/params.py:108: category=FastAPIDeprecationWarning,\nfastapi/paramfull{"status": "ok", "stdout": "fastapi/params.py:78: category=FastAPIDeprecationWarning,\nfastapi/params.py:108: category=FastAPIDeprecationWarning,\nfastapi/params.py:533: category=FastAPIDeprecationWarning,\nfastapi/params.py:563: category=FastAPIDeprecationWarning,\nfastapi/dependencies/utils.py:330: category=FastAPIDeprecationWarning,\nfastapi/openapi/utils.py:220: FastAPIDeprecationWarning,\nfastapi/utils.py:200: FastAPIDeprecationWarning,\nfastapi/routing.py:643: category=FastAPIDeprecationWarning,\nfastapi/routing.py:683: category=FastAPIDeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:66: category=FastAPIDeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:96: category=FastAPIDeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:506: category=FastAPIDeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:536: category=FastAPIDeprecationWarning,\nfastapi/exceptions.py:10:class FastAPIDeprecationWarning(DeprecationWarning):\n", "stderr": "", "exit_code": 0} |
| 49 | run_command | {
"command": "grep -rn \"DeprecationWarning\" fastapi | head -20"
} | {"status": "ok", "stdout": "fastapi/params.py:78: category=FastAPIDeprecationWarning,\nfastapi/params.py:108: category=FastAPIDeprecationWarning,\nfastapi/paramfull{"status": "ok", "stdout": "fastapi/params.py:78: category=FastAPIDeprecationWarning,\nfastapi/params.py:108: category=FastAPIDeprecationWarning,\nfastapi/params.py:533: category=FastAPIDeprecationWarning,\nfastapi/params.py:563: category=FastAPIDeprecationWarning,\nfastapi/dependencies/utils.py:330: category=FastAPIDeprecationWarning,\nfastapi/openapi/utils.py:220: FastAPIDeprecationWarning,\nfastapi/utils.py:200: FastAPIDeprecationWarning,\nfastapi/routing.py:643: category=FastAPIDeprecationWarning,\nfastapi/routing.py:683: category=FastAPIDeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:66: category=FastAPIDeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:96: category=FastAPIDeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:506: category=FastAPIDeprecationWarning,\nfastapi/temp_pydantic_v1_params.py:536: category=FastAPIDeprecationWarning,\nfastapi/exceptions.py:10:class FastAPIDeprecationWarning(DeprecationWarning):\n", "stderr": "", "exit_code": 0} |
| 50 | run_command | {
"command": "grep -rn \"DeprecationWarning\" fastapi | grep -v \"FastAPIDeprecationWarning\""
} | {"status": "error", "error_type": "CommandError", "error_message": "", "details": {"stdout": "", "stderr": "", "exit_code": 1}, "budget_warning": "Only 10 tool full{"status": "error", "error_type": "CommandError", "error_message": "", "details": {"stdout": "", "stderr": "", "exit_code": 1}, "budget_warning": "Only 10 tool call(s) remaining (50/60 used). Finalize your edits and call submit_patch soon."} |
| 51 | run_command | {
"command": "grep -rn \"from fastapi.exceptions import FastAPIDeprecationWarning\" fastapi || grep -rn \"from fastapi import FastAPIDeprecationWarning\" fastapi"
} | {"status": "error", "error_type": "CommandError", "error_message": "", "details": {"stdout": "", "stderr": "", "exit_code": 1}, "budget_warning": "Only 9 tool cfull{"status": "error", "error_type": "CommandError", "error_message": "", "details": {"stdout": "", "stderr": "", "exit_code": 1}, "budget_warning": "Only 9 tool call(s) remaining (51/60 used). Finalize your edits and call submit_patch soon."} |
| 52 | run_command | {
"command": "grep -rn \"import warnings\" fastapi | head -20"
} | {"status": "ok", "stdout": "fastapi/params.py:1:import warnings\nfastapi/dependencies/utils.py:4:import warnings\nfastapi/openapi/utils.py:3:import warnings\nfafull{"status": "ok", "stdout": "fastapi/params.py:1:import warnings\nfastapi/dependencies/utils.py:4:import warnings\nfastapi/openapi/utils.py:3:import warnings\nfastapi/utils.py:2:import warnings\nfastapi/routing.py:5:import warnings\nfastapi/temp_pydantic_v1_params.py:1:import warnings\nfastapi/_compat/v2.py:2:import warnings\n", "stderr": "", "exit_code": 0, "budget_warning": "Only 8 tool call(s) remaining (52/60 used). Finalize your edits and call submit_patch soon."} |
| 53 | edit_file | {
"filepath": "fastapi/params.py",
"new_string": "import warnings\\\\nfrom fastapi.exceptions import FastAPIDeprecationWarning",
"old_string": "import warnings"
} | {"status": "ok", "filepath": "fastapi/params.py", "occurrences": 1, "strategy": "exact", "diff": "--- a/fastapi/params.py\n+++ b/fastapi/params.py\n@@ -1,4 +1,4full{"status": "ok", "filepath": "fastapi/params.py", "occurrences": 1, "strategy": "exact", "diff": "--- a/fastapi/params.py\n+++ b/fastapi/params.py\n@@ -1,4 +1,4 @@\n-import warnings\n+import warnings\\\\nfrom fastapi.exceptions import FastAPIDeprecationWarning\n from collections.abc import Sequence\n from dataclasses import dataclass\n from enum import Enum\n", "is_truncated": false, "budget_warning": "Only 7 tool call(s) remaining (53/60 used). Finalize your edits and call submit_patch soon."} |
| 54 | edit_file | {
"filepath": "fastapi/temp_pydantic_v1_params.py",
"new_string": "import warnings\\\\nfrom fastapi.exceptions import FastAPIDeprecationWarning",
"old_string": "import warnings"
} | {"status": "ok", "filepath": "fastapi/temp_pydantic_v1_params.py", "occurrences": 1, "strategy": "exact", "diff": "--- a/fastapi/temp_pydantic_v1_params.py\n+++full{"status": "ok", "filepath": "fastapi/temp_pydantic_v1_params.py", "occurrences": 1, "strategy": "exact", "diff": "--- a/fastapi/temp_pydantic_v1_params.py\n+++ b/fastapi/temp_pydantic_v1_params.py\n@@ -1,4 +1,4 @@\n-import warnings\n+import warnings\\\\nfrom fastapi.exceptions import FastAPIDeprecationWarning\n from typing import Annotated, Any, Callable, Optional, Union\n \n from fastapi.openapi.models import Example\n", "is_truncated": false, "budget_warning": "Only 6 tool call(s) remaining (54/60 used). Finalize your edits and call submit_patch soon."} |
| 55 | edit_file | {
"filepath": "fastapi/routing.py",
"new_string": "import warnings\\\\nfrom fastapi.exceptions import FastAPIDeprecationWarning",
"old_string": "import warnings"
} | {"status": "ok", "filepath": "fastapi/routing.py", "occurrences": 1, "strategy": "exact", "diff": "--- a/fastapi/routing.py\n+++ b/fastapi/routing.py\n@@ -2,7 +full{"status": "ok", "filepath": "fastapi/routing.py", "occurrences": 1, "strategy": "exact", "diff": "--- a/fastapi/routing.py\n+++ b/fastapi/routing.py\n@@ -2,7 +2,7 @@\n import functools\n import inspect\n import json\n-import warnings\n+import warnings\\\\nfrom fastapi.exceptions import FastAPIDeprecationWarning\n from collections.abc import (\n AsyncIterator,\n Awaitable,\n", "is_truncated": false, "budget_warning": "Only 5 tool call(s) remaining (55/60 used). Finalize your edits and call submit_patch soon."} |
| 56 | edit_file | {
"filepath": "fastapi/dependencies/utils.py",
"new_string": "import warnings\\\\nfrom fastapi.exceptions import FastAPIDeprecationWarning",
"old_string": "import warnings"
} | {"status": "ok", "filepath": "fastapi/dependencies/utils.py", "occurrences": 1, "strategy": "exact", "diff": "--- a/fastapi/dependencies/utils.py\n+++ b/fastapifull{"status": "ok", "filepath": "fastapi/dependencies/utils.py", "occurrences": 1, "strategy": "exact", "diff": "--- a/fastapi/dependencies/utils.py\n+++ b/fastapi/dependencies/utils.py\n@@ -1,7 +1,7 @@\n import dataclasses\n import inspect\n import sys\n-import warnings\n+import warnings\\\\nfrom fastapi.exceptions import FastAPIDeprecationWarning\n from collections.abc import Coroutine, Mapping, Sequence\n from contextlib import AsyncExitStack, contextmanager\n from copy import copy, deepcopy\n", "is_truncated": false, "budget_warning": "Only 4 tool call(s) remaining (56/60 used). Finalize your edits and call submit_patch soon."} |
| 57 | edit_file | {
"filepath": "fastapi/openapi/utils.py",
"new_string": "import warnings\\\\nfrom fastapi.exceptions import FastAPIDeprecationWarning",
"old_string": "import warnings"
} | {"status": "ok", "filepath": "fastapi/openapi/utils.py", "occurrences": 1, "strategy": "exact", "diff": "--- a/fastapi/openapi/utils.py\n+++ b/fastapi/openapi/ufull{"status": "ok", "filepath": "fastapi/openapi/utils.py", "occurrences": 1, "strategy": "exact", "diff": "--- a/fastapi/openapi/utils.py\n+++ b/fastapi/openapi/utils.py\n@@ -1,6 +1,6 @@\n import http.client\n import inspect\n-import warnings\n+import warnings\\\\nfrom fastapi.exceptions import FastAPIDeprecationWarning\n from collections.abc import Sequence\n from typing import Any, Optional, Union, cast\n \n", "is_truncated": false, "budget_warning": "Only 3 tool call(s) remaining (57/60 used). Finalize your edits and call submit_patch soon."} |
| 58 | edit_file | {
"filepath": "fastapi/utils.py",
"new_string": "import warnings\\\\nfrom fastapi.exceptions import FastAPIDeprecationWarning",
"old_string": "import warnings"
} | {"status": "ok", "filepath": "fastapi/utils.py", "occurrences": 1, "strategy": "exact", "diff": "--- a/fastapi/utils.py\n+++ b/fastapi/utils.py\n@@ -1,5 +1,5 @@full{"status": "ok", "filepath": "fastapi/utils.py", "occurrences": 1, "strategy": "exact", "diff": "--- a/fastapi/utils.py\n+++ b/fastapi/utils.py\n@@ -1,5 +1,5 @@\n import re\n-import warnings\n+import warnings\\\\nfrom fastapi.exceptions import FastAPIDeprecationWarning\n from collections.abc import MutableMapping\n from typing import (\n TYPE_CHECKING,\n", "is_truncated": false, "budget_warning": "Only 2 tool call(s) remaining (58/60 used). Finalize your edits and call submit_patch soon."} |
| 59 | submit_patch | {} | {"status": "ok", "patch_size": 8116, "files_changed": 7}full{"status": "ok", "patch_size": 8116, "files_changed": 7} |
diff --git a/fastapi/dependencies/utils.py b/fastapi/dependencies/utils.py
index 39d0bd89..7d28299f 100644
--- a/fastapi/dependencies/utils.py
+++ b/fastapi/dependencies/utils.py
@@ -1,7 +1,7 @@
import dataclasses
import inspect
import sys
-import warnings
+import warnings\\nfrom fastapi.exceptions import FastAPIDeprecationWarning
from collections.abc import Coroutine, Mapping, Sequence
from contextlib import AsyncExitStack, contextmanager
from copy import copy, deepcopy
@@ -327,7 +327,7 @@ def get_dependant(
warnings.warn(
"pydantic.v1 is deprecated and will soon stop being supported by FastAPI."
f" Please update the param {param_name}: {param_details.type_annotation!r}.",
- category=DeprecationWarning,
+ category=FastAPIDeprecationWarning,
stacklevel=5,
)
if isinstance(
diff --git a/fastapi/exceptions.py b/fastapi/exceptions.py
index 8e0c5590..2154775f 100644
--- a/fastapi/exceptions.py
+++ b/fastapi/exceptions.py
@@ -7,7 +7,12 @@ from starlette.exceptions import HTTPException as StarletteHTTPException
from starlette.exceptions import WebSocketException as StarletteWebSocketException
-class EndpointContext(TypedDict, total=False):
+class FastAPIDeprecationWarning(DeprecationWarning):
+ \"\"\"
+ Warning raised when a feature in FastAPI is deprecated.
+ \"\"\"
+
+\n\nclass EndpointContext(TypedDict, total=False):
function: str
path: str
file: str
diff --git a/fastapi/openapi/utils.py b/fastapi/openapi/utils.py
index a99d4188..fc9a1c62 100644
--- a/fastapi/openapi/utils.py
+++ b/fastapi/openapi/utils.py
@@ -1,6 +1,6 @@
import http.client
import inspect
-import warnings
+import warnings\\nfrom fastapi.exceptions import FastAPIDeprecationWarning
from collections.abc import Sequence
from typing import Any, Optional, Union, cast
@@ -217,7 +217,7 @@ def generate_operation_id(
warnings.warn(
"fastapi.openapi.utils.generate_operation_id() was deprecated, "
"it is not used internally, and will be removed soon",
- DeprecationWarning,
+ FastAPIDeprecationWarning,
stacklevel=2,
)
if route.operation_id:
diff --git a/fastapi/params.py b/fastapi/params.py
index c776c4a5..8f889194 100644
--- a/fastapi/params.py
+++ b/fastapi/params.py
@@ -1,4 +1,4 @@
-import warnings
+import warnings\\nfrom fastapi.exceptions import FastAPIDeprecationWarning
from collections.abc import Sequence
from dataclasses import dataclass
from enum import Enum
@@ -75,7 +75,7 @@ class Param(FieldInfo): # type: ignore[misc]
if example is not _Unset:
warnings.warn(
"`example` has been deprecated, please use `examples` instead",
- category=DeprecationWarning,
+ category=FastAPIDeprecationWarning,
stacklevel=4,
)
self.example = example
@@ -105,7 +105,7 @@ class Param(FieldInfo): # type: ignore[misc]
if regex is not None:
warnings.warn(
"`regex` has been deprecated, please use `pattern` instead",
- category=DeprecationWarning,
+ category=FastAPIDeprecationWarning,
stacklevel=4,
)
current_json_schema_extra = json_schema_extra or extra
@@ -530,7 +530,7 @@ class Body(FieldInfo): # type: ignore[misc]
if example is not _Unset:
warnings.warn(
"`example` has been deprecated, please use `examples` instead",
- category=DeprecationWarning,
+ category=FastAPIDeprecationWarning,
stacklevel=4,
)
self.example = example
@@ -560,7 +560,7 @@ class Body(FieldInfo): # type: ignore[misc]
if regex is not None:
warnings.warn(
"`regex` has been deprecated, please use `pattern` instead",
- category=DeprecationWarning,
+ category=FastAPIDeprecationWarning,
stacklevel=4,
)
current_json_schema_extra = json_schema_extra or extra
diff --git a/fastapi/routing.py b/fastapi/routing.py
index 2770e325..c7d9db4e 100644
--- a/fastapi/routing.py
+++ b/fastapi/routing.py
@@ -2,7 +2,7 @@ import email.message
import functools
import inspect
import json
-import warnings
+import warnings\\nfrom fastapi.exceptions import FastAPIDeprecationWarning
from collections.abc import (
AsyncIterator,
Awaitable,
@@ -640,7 +640,7 @@ class APIRoute(routing.Route):
warnings.warn(
"pydantic.v1 is deprecated and will soon stop being supported by FastAPI."
f" Please update the response model {self.response_model!r}.",
- category=DeprecationWarning,
+ category=FastAPIDeprecationWarning,
stacklevel=4,
)
self.response_field = create_model_field(
@@ -680,7 +680,7 @@ class APIRoute(routing.Route):
warnings.warn(
"pydantic.v1 is deprecated and will soon stop being supported by FastAPI."
f" In responses={{}}, please update {model}.",
- category=DeprecationWarning,
+ category=FastAPIDeprecationWarning,
stacklevel=4,
)
response_field = create_model_field(
diff --git a/fastapi/temp_pydantic_v1_params.py b/fastapi/temp_pydantic_v1_params.py
index 1bda0ea9..4137cc7b 100644
--- a/fastapi/temp_pydantic_v1_params.py
+++ b/fastapi/temp_pydantic_v1_params.py
@@ -1,4 +1,4 @@
-import warnings
+import warnings\\nfrom fastapi.exceptions import FastAPIDeprecationWarning
from typing import Annotated, Any, Callable, Optional, Union
from fastapi.openapi.models import Example
@@ -63,7 +63,7 @@ class Param(FieldInfo):
if example is not _Unset:
warnings.warn(
"`example` has been deprecated, please use `examples` instead",
- category=DeprecationWarning,
+ category=FastAPIDeprecationWarning,
stacklevel=4,
)
self.example = example
@@ -93,7 +93,7 @@ class Param(FieldInfo):
if regex is not None:
warnings.warn(
"`regex` has been deprecated, please use `pattern` instead",
- category=DeprecationWarning,
+ category=FastAPIDeprecationWarning,
stacklevel=4,
)
current_json_schema_extra = json_schema_extra or extra
@@ -503,7 +503,7 @@ class Body(FieldInfo):
if example is not _Unset:
warnings.warn(
"`example` has been deprecated, please use `examples` instead",
- category=DeprecationWarning,
+ category=FastAPIDeprecationWarning,
stacklevel=4,
)
self.example = example
@@ -533,7 +533,7 @@ class Body(FieldInfo):
if regex is not None:
warnings.warn(
"`regex` has been deprecated, please use `pattern` instead",
- category=DeprecationWarning,
+ category=FastAPIDeprecationWarning,
stacklevel=4,
)
current_json_schema_extra = json_schema_extra or extra
diff --git a/fastapi/utils.py b/fastapi/utils.py
index c4631d7e..d0873223 100644
--- a/fastapi/utils.py
+++ b/fastapi/utils.py
@@ -1,5 +1,5 @@
import re
-import warnings
+import warnings\\nfrom fastapi.exceptions import FastAPIDeprecationWarning
from collections.abc import MutableMapping
from typing import (
TYPE_CHECKING,
@@ -197,7 +197,7 @@ def generate_operation_id_for_path(
warnings.warn(
"fastapi.utils.generate_operation_id_for_path() was deprecated, "
"it is not used internally, and will be removed soon",
- DeprecationWarning,
+ FastAPIDeprecationWarning,
stacklevel=2,
)
operation_id = f"{name}{path}"
==================================== ERRORS ====================================
________ ERROR collecting tests/benchmarks/test_general_performance.py _________
/Users/jp/repos/kaggle-gemini-coding-agent-post-training/.envs/fastapi/lib/python3.13/site-packages/_pytest/python.py:508: in importtestmodule
mod = import_path(
/Users/jp/repos/kaggle-gemini-coding-agent-post-training/.envs/fastapi/lib/python3.13/site-packages/_pytest/pathlib.py:596: in import_path
importlib.import_module(module_name)
/Users/jp/.local/share/uv/python/cpython-3.13.15-macos-aarch64-none/lib/python3.13/importlib/__init__.py:88: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<frozen importlib._bootstrap>:1395: in _gcd_import
???
<frozen importlib._bootstrap>:1360: in _find_and_load
???
<frozen importlib._bootstrap>:1331: in _find_and_load_unlocked
???
<frozen importlib._bootstrap>:935: in _load_unlocked
???
/Users/jp/repos/kaggle-gemini-coding-agent-post-training/.envs/fastapi/lib/python3.13/site-packages/_pytest/assertion/rewrite.py:188: in exec_module
exec(co, module.__dict__)
tests/benchmarks/test_general_performance.py:8: in <module>
from fastapi import Depends, FastAPI
fastapi/__init__.py:7: in <module>
from .applications import FastAPI as FastAPI
fastapi/applications.py:13: in <module>
from fastapi import routing
E File "/private/tmp/swe_work/pod_step15_v1/fastapi_14605/b/workspace/fastapi/routing.py", line 5
E import warnings\\nfrom fastapi.exceptions import FastAPIDeprecationWarning
E ^
E SyntaxError: unexpected character after line continuation character
!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!
1 error in 0.21s