Sync from SUSE:SLFO:Main python-fastapi revision 59a10fe8f50fd3b28a5383fba12ba5ab

This commit is contained in:
Adrian Schröter 2024-09-13 16:19:35 +02:00
parent d674f2de36
commit 6950ca8cbb
5 changed files with 374 additions and 74 deletions

View File

@ -0,0 +1,22 @@
From a03ad2aa8bc9bc974ebf340146bf8d9a8afc0dbb Mon Sep 17 00:00:00 2001
From: "Benjamin A. Beasley" <code@musicinmybrain.net>
Date: Tue, 23 Jul 2024 16:45:07 -0400
Subject: [PATCH] Allow Starlette 0.38
---
pyproject.toml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pyproject.toml b/pyproject.toml
index dbaa42149897a..e231f330165fc 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -41,7 +41,7 @@ classifiers = [
"Topic :: Internet :: WWW/HTTP",
]
dependencies = [
- "starlette>=0.37.2,<0.38.0",
+ "starlette>=0.37.2,<0.39.0",
"pydantic>=1.7.4,!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0",
"typing-extensions>=4.8.0",
]

BIN
fastapi-0.112.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
fastapi-0.95.1.tar.gz (Stored with Git LFS)

Binary file not shown.

View File

@ -1,3 +1,257 @@
-------------------------------------------------------------------
Wed Aug 14 02:13:46 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
- Add patch allow-starlette-0.38.patch:
* Allow starlette 0.38.
-------------------------------------------------------------------
Thu Aug 8 09:01:36 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
- update to 0.112.0:
* Add support for pip install "fastapi[standard]" with standard
dependencies and python -m fastapi
- version 0.111.1:
* Remove orjson and ujson from default dependencies. These
dependencies are still installed when you install with pip install
"fastapi[all]"
* Restored Swagger-UI links to use the latest version possible
- version 0.111.0:
* Add FastAPI CLI, the new fastapi command
* Add configs and setup for fastapi-slim including optional extras
fastapi-slim[standard], and fastapi including by default the same
standard extras
-------------------------------------------------------------------
Sat Apr 20 20:50:12 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 0.110.2:
* Fix support for query parameters with list types, handle
JSON encoding Pydantic `UndefinedType`
* Simplify Pydantic configs in OpenAPI models in
`fastapi/openapi/models.py`.
* Add support for Pydantic's 2.7 new deprecated Field
parameter, remove URL from validation errors response.
- update to 0.110.1:
* Fix parameterless `Depends()` with generics.
* Update mypy.
* Simplify string format with f-strings in
`fastapi/applications.py`.
* Upgrade Starlette to >=0.37.2,<0.38.0, remove Starlette
filterwarning for internal tests. PR #11266 by @nothielf.
-------------------------------------------------------------------
Mon Mar 11 03:28:17 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 0.110.0:
* Fix unhandled growing memory for internal server errors, refactor
dependencies with yield and except to require raising again as in
regular Python.
- Switch to pydantic version 2 by pulling in pydantic-settings.
-------------------------------------------------------------------
Tue Feb 6 14:19:32 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 0.109.1 [bsc#1219610] CVE-2024-24762:
* Upgrade minimum version of `python-multipart` to `>=0.0.7`
to fix a vulnerability when using form data with a ReDos
attack. You can also simply upgrade `python-multipart`.
* Read more in the advisory: Content-Type Header ReDoS.
* Include HTTP 205 in status codes with no body.
* Fix broken link in `docs/tutorial/sql-databases.md` in
several languages.
* Remove broken links from `external_links.yml`.
* Update template docs with more info about `url_for`. PR
#5937 by @EzzEddin.
* Update usage of Token model in security docs.
* Update highlighted line in `docs/en/docs/tutorial/bigger-
applications.md`.
* Add External Link: Explore How to Effectively Use JWT With
FastAPI.
* Add hyperlink to `docs/en/docs/tutorial/static-files.md`.
* Add External Link: Instrument a FastAPI service adding
tracing with OpenTelemetry and send/show traces in Grafana
Tempo.
* Review and rewording of `en/docs/contributing.md`.
* Add External Link: ML serving and monitoring with FastAPI
and Evidently.
* Reword in docs, from "have in mind" to "keep in mind".
* Add External Link: Talk by Jeny Sadadia.
* Add location info to `tutorial/bigger-applications.md`.
-------------------------------------------------------------------
Sat Jan 13 20:37:39 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Update to 0.109.0
* Add support for Python 3.12. PR #10666 by @Jamim.
* Upgrade Starlette to >=0.35.0,<0.36.0. PR #10938 by @tiangolo.
* Translation updates
-------------------------------------------------------------------
Wed Dec 27 09:43:26 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 0.108.0:
* Upgrade Starlette to `>=0.29.0,<0.33.0`, update docs and
usage of templates with new Starlette arguments.
-------------------------------------------------------------------
Thu Dec 14 10:14:31 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 0.105.0:
* Add support for multiple Annotated annotations, e.g.
`Annotated[str, Field(), Query()]`.
* Remove unused NoneType.
* Tweak default suggested configs for generating clients.
-------------------------------------------------------------------
Tue Nov 7 14:13:47 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 0.104.1:
* Pin Swagger UI version to 5.9.0 temporarily to handle a bug
crashing it in 5.9.1.
* Update data structure and render for external-links.
* Fix link to SPDX license identifier in
`docs/en/docs/tutorial/metadata.md`.
* Update example validation error from Pydantic v1 to match
Pydantic v2 in `docs/en/docs/tutorial/path-params.md`.
* Fix typos in emoji docs and in some source examples.
* Fix typo in `docs/en/docs/reference/dependencies.md`.
* Fix typos and rewordings in `docs/en/docs/tutorial/body-
nested-models.md`.
* Update docs, remove references to removed
`pydantic.Required` in `docs/en/docs/tutorial/query-params-
str-validations.md`.
* Fix typo in `docs/en/docs/reference/index.md`.
* Update Pydantic links to dotenv support.
* Update links in `docs/en/docs/async.md` and
`docs/zh/docs/async.md` to make them relative.
* Fix links in `docs/em/docs/async.md`.
* Fix typo in `docs/em/docs/index.md`
-------------------------------------------------------------------
Thu Oct 19 11:21:33 UTC 2023 - Ondřej Súkup <mimi.vx@gmail.com>
- update to 0.104.0
* Add reference (code API) docs with PEP 727, add subclass
with custom docstrings for BackgroundTasks, refactor docs structure.
- disable test_dependency_gets_exception -> https://github.com/tiangolo/fastapi/discussions/9934
-------------------------------------------------------------------
Sun Oct 1 15:35:20 UTC 2023 - Ondřej Súkup <mimi.vx@gmail.com>
- update to 0.103.2
* support Pydantic2 2.4
-------------------------------------------------------------------
Tue Sep 26 07:23:15 UTC 2023 - Ondřej Súkup <mimi.vx@gmail.com>
- update to 0.103.1
* dd support for openapi_examples in all FastAPI parameters.
* Refactor tests for new Pydantic 2.2.1
* Add ResponseValidationError printable details, to show up in server error logs.
* Replace MultHostUrl to AnyUrl for compatibility with older versions of Pydantic v1.
* Support for Pydantic v2
-------------------------------------------------------------------
Sun Jun 25 17:54:32 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 0.98.0:
* Allow disabling `redirect_slashes` at the FastAPI app
level.
* Update `Annotated` notes in `docs/en/docs/tutorial/schema-
extra-example.md`. PR #9620 by @Alexandrhub.
* Fix typo `Annotation` -> `Annotated` in
`docs/en/docs/tutorial/query-params-str-validations.md`.
* Use in memory database for testing SQL in docs.
* Add Russian translation for
`docs/ru/docs/tutorial/metadata.md`.
* Fix typo in Spanish translation for
`docs/es/docs/tutorial/first-steps.md`.
* Add Russian translation for `docs/tutorial/path-operation-
configuration.md`.
* Add Chinese translation for
`docs/zh/docs/advanced/security/index.md`.
* Add Chinese translations for
`docs/zh/docs/advanced/settings.md`.
* Add Chinese translations for
`docs/zh/docs/advanced/websockets.md`.
* Add Chinese translation for
`docs/zh/docs/tutorial/testing.md`.
* Add Russian translation for `docs/tutorial/extra-
models.md`.
* Add Russian translation for `docs/tutorial/cors.md`.
* Add Polish translation for `docs/pl/docs/features.md`.
* Add Russian translation for `docs/ru/docs/tutorial/body-
nested-models.md`.
-------------------------------------------------------------------
Tue Jun 20 10:11:51 UTC 2023 - David Anes <david.anes@suse.com>
- update to 0.97.0:
* Features
- Add support for dependencies in WebSocket routes.
- Add exception handler for WebSocketRequestValidationError
(which also allows to override it).
* Refactors
- Upgrade and fully migrate to Ruff, remove isort, includes a
couple of tweaks suggested by the new version of Ruff.
- Update internal type annotations and upgrade mypy.
- Simplify AsyncExitStackMiddleware as without Python 3.6
AsyncExitStack is always available.
* Upgrades
- Upgrade Black.
-------------------------------------------------------------------
Sun Jun 11 11:52:48 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 0.96.1:
* Fix `HTTPException` header type annotations.
* Fix OpenAPI model fields int validations, `gte` to `ge`.
* Update minimum version of Pydantic to >=1.7.4.
-------------------------------------------------------------------
Mon Jun 5 13:26:32 UTC 2023 - David Anes <david.anes@suse.com>
- Update to version 0.96.0:
* Features
- Update create_cloned_field to use a global cache and improve
startup performance.
* Docs
- Update Deta deployment tutorial for compatibility with Deta
Space.
- Fix typo in Deta deployment tutorial.
* Translations
- Add Russian translation for docs/tutorial/body.md.
- Add Russian translation for docs/ru/docs/tutorial/static-files.md.
- Add Russian translation for docs/ru/docs/tutorial/query-params.md.
- Add Russian translation for docs/ru/docs/tutorial/first-steps.md.
- Add Russian translation for docs/ru/docs/tutorial/debugging.md.
- Add Russian translation for docs/ru/docs/tutorial/path-params.md.
- Add Chinese translation for docs/zh/docs/tutorial/static-files.md.
- Update Spanish translation including new illustrations in docs/es/docs/async.md.
- Add Russian translation for docs/ru/docs/tutorial/path-params-numeric-validations.md.
- Add Russian translation for docs/ru/docs/deployment/concepts.md.
- Add Russian translation for docs/ru/docs/tutorial/body-multiple-params.md.
-------------------------------------------------------------------
Wed May 17 07:38:30 UTC 2023 - David Anes <david.anes@suse.com>
- Update to version 0.95.2:
* Upgrade Starlette version to >=0.27.0 for a security release.
- Translations
* Add Portuguese translation for docs/pt/docs/advanced/events.md
* Add Russian translation for docs/ru/docs/deployment/manually.md
* Add setup for translations to Lao
* Add Russian translation for docs/ru/docs/tutorial/testing.md
* Add Russian translation for docs/ru/docs/deployment/https.md
* Fix command to install requirements in Windows.
* Add French translation for docs/fr/docs/advanced/response-directly.m*.
* Initiate Czech translation setup.
* Fix typo in Portuguese docs for docs/pt/docs/index.md
* Add Russian translation for docs/ru/docs/tutorial/response-status-co*.md
------------------------------------------------------------------- -------------------------------------------------------------------
Sat May 6 15:45:38 UTC 2023 - Dirk Müller <dmueller@suse.com> Sat May 6 15:45:38 UTC 2023 - Dirk Müller <dmueller@suse.com>

View File

@ -1,7 +1,7 @@
# #
# spec file for package python-fastapi # spec file for package python-fastapi
# #
# Copyright (c) 2023 SUSE LLC # Copyright (c) 2024 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -18,8 +18,9 @@
# Keep extra test requirements out of Ring1 # Keep extra test requirements out of Ring1
%bcond_with ringdisabled %bcond_with ringdisabled
%{?sle15_python_module_pythons}
Name: python-fastapi Name: python-fastapi
Version: 0.95.1 Version: 0.112.0
Release: 0 Release: 0
Summary: FastAPI framework Summary: FastAPI framework
License: MIT License: MIT
@ -27,23 +28,33 @@ URL: https://github.com/tiangolo/fastapi
Source: https://files.pythonhosted.org/packages/source/f/fastapi/fastapi-%{version}.tar.gz Source: https://files.pythonhosted.org/packages/source/f/fastapi/fastapi-%{version}.tar.gz
# PATCH-FIX-OPENSUSE Remove two unknown classifiers # PATCH-FIX-OPENSUSE Remove two unknown classifiers
Patch0: remove-classifiers.patch Patch0: remove-classifiers.patch
# PATCH-FIX-UPSTREAM gh#fastapi/fastapi#11876
Patch1: allow-starlette-0.38.patch
BuildRequires: %{python_module hatchling} BuildRequires: %{python_module hatchling}
BuildRequires: %{python_module pip} BuildRequires: %{python_module pip}
BuildRequires: %{python_module pydantic >= 1.8.2} BuildRequires: %{python_module pydantic-settings >= 2.0.0}
BuildRequires: %{python_module starlette >= 0.22.0} BuildRequires: %{python_module starlette >= 0.37.2 with %python-starlette < 0.39}
BuildRequires: %{python_module typing_extensions >= 4.8.0}
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: python-rpm-macros BuildRequires: python-rpm-macros
Requires: python-pydantic >= 1.8.2 Requires: python-pydantic >= 1.8.2
Requires: python-starlette >= 0.24.0 Requires: python-typing_extensions >= 4.8.0
Requires: (python-starlette >= 0.37.2 with python-starlette < 0.39)
Requires(post): update-alternatives
Requires(postun): update-alternatives
BuildArch: noarch BuildArch: noarch
# SECTION test requirements # SECTION test requirements
BuildRequires: %{python_module pytest} BuildRequires: %{python_module pdm-backend}
BuildRequires: %{python_module Flask >= 1.1.2} BuildRequires: %{python_module Flask >= 1.1.2}
BuildRequires: %{python_module PyJWT}
BuildRequires: %{python_module PyYAML >= 5.3.1} BuildRequires: %{python_module PyYAML >= 5.3.1}
BuildRequires: %{python_module anyio >= 3.2.1} BuildRequires: %{python_module anyio >= 3.2.1}
BuildRequires: %{python_module coverage}
BuildRequires: %{python_module dirty-equals}
BuildRequires: %{python_module httpx >= 0.23.0} BuildRequires: %{python_module httpx >= 0.23.0}
BuildRequires: %{python_module python-multipart >= 0.0.5} BuildRequires: %{python_module pytest}
BuildRequires: %{python_module sqlalchemy >= 1.3.18 with %python-sqlalchemy < 2.0} BuildRequires: %{python_module python-multipart >= 0.0.7}
BuildRequires: %{python_module sqlalchemy < 2.0}
BuildRequires: %{python_module trio} BuildRequires: %{python_module trio}
%if !%{with ringdisabled} %if !%{with ringdisabled}
BuildRequires: %{python_module aiosqlite} BuildRequires: %{python_module aiosqlite}
@ -69,11 +80,17 @@ Python FastAPI framework.
%install %install
%pyproject_install %pyproject_install
%python_clone -a %{buildroot}/%{_bindir}/fastapi
%python_expand %fdupes %{buildroot}%{$python_sitelib} %python_expand %fdupes %{buildroot}%{$python_sitelib}
%check %check
# more warnings as expected # more warnings as expected
donttest="test_warn_duplicate_operation_id" donttest="test_warn_duplicate_operation_id"
# https://github.com/tiangolo/fastapi/discussions/9934
donttest+=" or test_dependency_gets_exception"
# python-fastapi-cli packages doesn't exists in openSUSE
donttest+=" or test_fastapi_cli"
donttest+=" or test_openapi"
%if %{with ringdisabled} %if %{with ringdisabled}
ignorefiles="$ignorefiles --ignore tests/test_default_response_class.py" ignorefiles="$ignorefiles --ignore tests/test_default_response_class.py"
ignorefiles="$ignorefiles --ignore tests/test_tutorial/test_async_sql_databases/test_tutorial001.py" ignorefiles="$ignorefiles --ignore tests/test_tutorial/test_async_sql_databases/test_tutorial001.py"
@ -93,12 +110,19 @@ ignorefiles="$ignorefiles --ignore tests/test_tutorial/test_response_model/test_
donttest="$donttest or test_orjson_response_class" donttest="$donttest or test_orjson_response_class"
donttest="$donttest or (test_tutorial001 and test_get_custom_response)" donttest="$donttest or (test_tutorial001 and test_get_custom_response)"
%endif %endif
%pytest -W ignore::DeprecationWarning $ignorefiles -k "not ($donttest)" tests %pytest -W ignore::DeprecationWarning -W ignore::ResourceWarning $ignorefiles -k "not ($donttest)" tests
%post
%python_install_alternative fastapi
%postun
%python_uninstall_alternative fastapi
%files %{python_files} %files %{python_files}
%doc README.md %doc README.md
%license LICENSE %license LICENSE
%{python_sitelib}/fastapi %{python_sitelib}/fastapi
%{python_sitelib}/fastapi-%{version}.dist-info %{python_sitelib}/fastapi-%{version}.dist-info
%python_alternative %{_bindir}/fastapi
%changelog %changelog