Compare commits

1 Commits
main ... 1.1

6 changed files with 41 additions and 225 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.115.8.tar.gz (Stored with Git LFS)

Binary file not shown.

View File

@@ -1,201 +1,3 @@
-------------------------------------------------------------------
Fri Feb 7 11:00:37 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 0.115.8
* Fix `OAuth2PasswordRequestForm` and `OAuth2PasswordRequestFormStrict` fixed `grant_type` "password" RegEx.
* Simplify tests for body_multiple_params.
* Move duplicated code portion to a static method in the `APIKeyBase` super class.
* Simplify tests for request_files.
* Change the word "unwrap" to "unpack" in `docs/en/docs/tutorial/extra-models.md`.
* Update Request Body's `tutorial002` to deal with `tax=0` case.
* Update FastAPI People - Experts.
* Add Japanese translation for `docs/ja/docs/environment-variables.md`.
* Add Russian translation for `docs/ru/docs/advanced/async-tests.md`.
* Update Russian translation for `docs/ru/docs/tutorial/dependencies/dependencies-in-path-operation-decorators.md`.
* Add Russian translation for `docs/ru/docs/tutorial/bigger-applications.md`.
* Add support for Python 3.13.
* Upgrade AnyIO max version for tests, new range: `>=3.2.1,<5.0.0`.
* Update Sponsors badges.
* Fix `notify_translations.py` empty env var handling for PR label events vs workflow_dispatch.
* Refactor and move `scripts/notify_translations.py`, no need for a custom GitHub Action.
* Update FastAPI People Experts script, refactor and optimize data fetching to handle rate limits.
* Bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4.
- from version 0.115.7
* Upgrade `python-multipart` to >=0.0.18.
* Bump Starlette to allow up to 0.45.0: `>=0.40.0,<0.46.0`.
* Upgrade `jinja2` to >=3.1.5.
* Simplify tests for websockets.
* Simplify tests for request_form_models.
* Simplify tests for separate_openapi_schemas.
* Simplify tests for security.
* Simplify tests for schema_extra_example.
* Simplify tests for request_model.
* Simplify tests for request_forms_and_files.
* Simplify tests for request_forms.
* Simplify tests for path_query_params.
* Simplify tests for path_operation_configurations.
* Simplify tests for header_params.
* Simplify tests for extra_models.
* Simplify tests for extra_data_types.
* Simplify tests for cookie_params.
* Simplify tests for dependencies.
* Simplify tests for body_updates.
* Simplify tests for body_nested_models.
* Simplify tests for body_multiple_params.
* Simplify tests for body_fields.
* Simplify tests for body.
* Simplify tests for bigger_applications.
* Simplify tests for background_tasks.
* Simplify tests for additional_status_codes.
* Update Strawberry integration docs.
* Remove unused Peewee tutorial files.
* Update image in body-nested-model docs.
* Update `fastapi-cli` UI examples in docs.
* Add new GitHub Action to update contributors, translators, and translation reviewers.
* Fix typo in `docs/en/docs/virtual-environments.md`.
* Fix error in `docs/en/docs/contributing.md`.
* Minor corrections in `docs/en/docs/tutorial/sql-databases.md`.
* Update includes in `docs/ru/docs/tutorial/query-param-models.md`.
* Fix typo in README installation instructions.
* Update docs for `fastapi-cli`.
* Update Portuguese Translation for `docs/pt/docs/tutorial/request-forms.md`.
* Update Portuguese translation for `docs/pt/docs/advanced/settings.md`.
* Add Portuguese translation for `docs/pt/docs/tutorial/security/oauth2-jwt.md`.
* Add Indonesian translation for `docs/id/docs/index.md`.
* Add Indonesian translation for `docs/id/docs/tutorial/static-files.md`.
* Add Portuguese translation for `docs/pt/docs/tutorial/security/get-current-user.md`.
* Remove Wrong Portuguese translations location for `docs/pt/docs/advanced/benchmarks.md`.
* Update Portuguese translations.
* Update Russian translation for `docs/ru/docs/tutorial/security/first-steps.md`.
* Delete unnecessary backspace in `docs/ja/docs/tutorial/path-params-numeric-validations.md`.
* Update Chinese translation for `docs/zh/docs/fastapi-cli.md`.
* Add new Spanish translations for all docs with new LLM-assisted system using PydanticAI.
* Update existing Spanish translations using the new LLM-assisted system using PydanticAI.
* Update Chinese translation for `docs/zh/docs/advanced/security/oauth2-scopes.md`.
* Add Indonesian translation for `docs/id/docs/tutorial/path-params.md`.
* Add Korean translation for `docs/ko/docs/tutorial/sql-databases.md`.
* Update Chinese translation for `docs/zh/docs/async.md`.
* Add Chinese translation for `docs/zh/docs/advanced/openapi-webhooks.md`.
* Add Chinese translation for `docs/zh/docs/advanced/async-tests.md`.
* Add Ukrainian translation for `docs/uk/docs/fastapi-cli.md`.
* Add Chinese translation for `docs/zh/docs/advanced/events.md`.
* Add Russian translation for `/docs/ru/docs/tutorial/sql-databases.md`.
* Update Chinese translation for `docs/zh/docs/advanced/testing-dependencies.md`.
* Update Traditional Chinese translation for `docs/zh-hant/docs/tutorial/index.md`.
* Add Chinese translation for `docs/zh/docs/tutorial/sql-databases.md`.
* Update Chinese translation for `docs/zh/docs/tutorial/query-params-str-validations.md`.
* Add Chinese translation for `docs/zh/docs/tutorial/header-param-models.md`.
* Update Chinese translation for `docs/zh/docs/tutorial/path-params.md`.
* Update Chinese translation for `docs/zh/docs/tutorial/first-steps.md`.
* Update Russian translation for `docs/ru/docs/deployment/docker.md`.
* Add Portuguese translation for `docs/pt/docs/advanced/generate-clients.md`.
* Add Indonesian translation for `docs/id/docs/tutorial/first-steps.md`.
* Add Chinese translation for `docs/zh/docs/tutorial/cookie-param-models.md`.
* Add Chinese translation for `docs/zh/docs/tutorial/request-form-models.md`.
* Add Russian translation for `docs/ru/docs/virtual-environments.md`.
* Add Korean translation for `docs/ko/docs/tutorial/testing.md`.
* Add Korean translation for `docs/ko/docs/advanced/async-test.md`.
* Add Russian translation for `docs/ru/docs/tutorial/security/oauth2-jwt.md`.
* Add Russian translation for `docs/ru/docs/tutorial/security/simple-oauth2.md`.
* Add Russian translation for `docs/ru/docs/tutorial/security/get-current-user.md`.
* Add Traditional Chinese translation for `docs/zh-hant/docs/features.md`.
* Add Traditional Chinese translation for `docs/zh-hant/docs/virtual-environments.md`.
* Add Korean translation for `docs/ko/docs/advanced/templates.md`.
* Add Russian translation for `docs/ru/docs/fastapi-cli.md`.
* Add Korean translation for `docs/ko/docs/tutorial/cookie-param-models.md`.
* Add Korean translation for `docs/ko/docs/tutorial/header-param-models.md`.
* Add Korean translation for `docs/ko/docs/tutorial/request-form-models.md`.
* Add Korean translation for `docs/ko/docs/tutorial/request-forms.md`.
* Add Korean translation for `docs/ko/docs/resources/index.md`.
* Add Korean translation for `docs/ko/docs/how-to/configure-swagger-ui.md`.
* Add Korean translation to `docs/ko/docs/advanced/additional-status-codes.md`.
* Add Traditional Chinese translation for `docs/zh-hant/docs/tutorial/first-steps.md`.
* Add Pydantic 2 trove classifier.
* Update FastAPI People - Sponsors.
* Refactor FastAPI People Sponsors to use 2 tokens.
* Update token for FastAPI People - Sponsors.
* Add independent CI automation for FastAPI People - Sponsors.
* Add retries to Smokeshow.
* Update Speakeasy sponsor graphic.
* Update FastAPI GitHub topic repositories.
* Add script for GitHub Topic Repositories and update External Links.
* Update FastAPI People - Contributors and Translators.
* Bump markdown-include-variants from 0.0.3 to 0.0.4.
* Bump inline-snapshot from 0.14.0 to 0.18.1.
* Bump mkdocs-macros-plugin from 1.0.5 to 1.3.7.
* Add internal scripts to generate language translations with PydanticAI, include Spanish prompt.
* Bump astral-sh/setup-uv from 4 to 5.
* Update sponsors: rename CryptAPI to BlockBee.
* Bump pypa/gh-action-pypi-publish from 1.12.2 to 1.12.3.
* Bump types-ujson from 5.7.0.1 to 5.10.0.20240515.
* Bump black from 24.3.0 to 24.10.0.
* Bump inline-snapshot from 0.13.0 to 0.14.0.
* Bump dirty-equals from 0.6.0 to 0.8.0.
* Bump cloudflare/wrangler-action from 3.12 to 3.13.
* Bump astral-sh/setup-uv from 3 to 4.
* Remove duplicate actions/checkout in `notify-translations.yml`.
* Update team members.
* Update sponsors: remove Codacy.
- Refresh remove-classifiers.patch
-------------------------------------------------------------------
Thu Dec 12 14:51:37 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Skip a test because httpx 0.28 cosmetically changed the format
of a body response. Note that fastapi technically does not yet
support httpx 0.28 upstream.
-------------------------------------------------------------------
Thu Dec 5 14:49:59 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 0.115.6:
* Preserve traceback when an exception is raised in sync
dependency with `yield`. PR #5823 by @sombek.
* Update tests and internals for compatibility with Pydantic
>=2.10. PR #12971 by @tamird.
-------------------------------------------------------------------
Thu Nov 21 08:52:11 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 0.115.5:
* Update internal checks to support Pydantic 2.10.
* Fix error in `docs/en/docs/tutorial/middleware.md`.
- update to 0.115.4:
* Update logic to import and check `python-multipart` for
compatibility with newer version.
- update to 0.115.3:
* Upgrade Starlette to `>=0.40.0,<0.42.0`.
* Fix broken link in docs.
- drop allow-new-starlette.patch (obsolete)
-------------------------------------------------------------------
Thu Nov 7 09:16:23 UTC 2024 - Nico Krapp <nico.krapp@suse.com>
- disable PendingDeprecatingWarning
-------------------------------------------------------------------
Fri Oct 18 03:23:50 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 0.115.2:
* Upgrade Starlette to >=0.37.2,<0.41.0.
* Fix openapi generation with responses kwarg.
* Remove Required shadowing from fastapi using Pydantic v2.
* Add support for Pydantic models for parameters using Query, Cookie, Header
- Add patch allow-new-starlette.patch.
-------------------------------------------------------------------
Fri Sep 20 08:05:32 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 0.114.2:
* Fix form field regression with alias.
* Improve performance in request body parsing with a cache for internal
model fields.
* Add support for Pydantic models in Form parameters.
* Fix allow_inf_nan option for Param and Body classes.
* Ensure that app.include_router merges nested lifespans.
* Allow Starlette 0.38.x, update the pin to >=0.37.2,<0.39.0
- Drop patch allow-starlette-0.38.patch, included upstream.
-------------------------------------------------------------------
Wed Aug 14 02:13:46 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-fastapi
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
%bcond_with ringdisabled
%{?sle15_python_module_pythons}
Name: python-fastapi
Version: 0.115.8
Version: 0.112.0
Release: 0
Summary: FastAPI framework
License: MIT
@@ -28,16 +28,18 @@ URL: https://github.com/tiangolo/fastapi
Source: https://files.pythonhosted.org/packages/source/f/fastapi/fastapi-%{version}.tar.gz
# PATCH-FIX-OPENSUSE Remove two unknown classifiers
Patch0: remove-classifiers.patch
# PATCH-FIX-UPSTREAM gh#fastapi/fastapi#11876
Patch1: allow-starlette-0.38.patch
BuildRequires: %{python_module hatchling}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pydantic-settings >= 2.0.0}
BuildRequires: %{python_module starlette >= 0.40.0 with %python-starlette < 0.46.0}
BuildRequires: %{python_module starlette >= 0.37.2 with %python-starlette < 0.39}
BuildRequires: %{python_module typing_extensions >= 4.8.0}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-pydantic >= 1.8.2
Requires: python-typing_extensions >= 4.8.0
Requires: (python-starlette >= 0.40.0 with python-starlette < 0.46.0)
Requires: (python-starlette >= 0.37.2 with python-starlette < 0.39)
Requires(post): update-alternatives
Requires(postun): update-alternatives
BuildArch: noarch
@@ -46,24 +48,22 @@ BuildRequires: %{python_module pdm-backend}
BuildRequires: %{python_module Flask >= 1.1.2}
BuildRequires: %{python_module PyJWT}
BuildRequires: %{python_module PyYAML >= 5.3.1}
BuildRequires: %{python_module SQLAlchemy}
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 pytest}
BuildRequires: %{python_module python-multipart >= 0.0.18}
BuildRequires: %{python_module python-multipart >= 0.0.7}
BuildRequires: %{python_module sqlalchemy < 2.0}
BuildRequires: %{python_module trio}
%if !%{with ringdisabled}
BuildRequires: %{python_module aiosqlite}
BuildRequires: %{python_module databases >= 0.3.2}
BuildRequires: %{python_module email-validator >= 1.1.1}
BuildRequires: %{python_module inline-snapshot}
BuildRequires: %{python_module orjson >= 3.2.1}
BuildRequires: %{python_module passlib}
BuildRequires: %{python_module peewee >= 3.13.0}
BuildRequires: %{python_module python-jose >= 3.3}
BuildRequires: %{python_module sqlmodel}
BuildRequires: %{python_module ujson >= 5.6}
%endif
# /SECTION
@@ -86,8 +86,8 @@ Python FastAPI framework.
%check
# more warnings as expected
donttest="test_warn_duplicate_operation_id"
# fails because of changed (cosmetic) body format in httpx 0.28 (technically not suppoerted yet upstream)
donttest+=" or test_exception_handler_body_access"
# 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"
@@ -95,12 +95,6 @@ donttest+=" or test_openapi"
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_custom_response/test_tutorial009c.py"
ignorefiles="$ignorefiles --ignore tests/test_tutorial/test_cookie_param_models/test_tutorial001.py"
ignorefiles="$ignorefiles --ignore tests/test_tutorial/test_cookie_param_models/test_tutorial002.py"
ignorefiles="$ignorefiles --ignore tests/test_tutorial/test_header_param_models/test_tutorial001.py"
ignorefiles="$ignorefiles --ignore tests/test_tutorial/test_header_param_models/test_tutorial002.py"
ignorefiles="$ignorefiles --ignore tests/test_tutorial/test_query_param_models/test_tutorial001.py"
ignorefiles="$ignorefiles --ignore tests/test_tutorial/test_query_param_models/test_tutorial002.py"
ignorefiles="$ignorefiles --ignore tests/test_tutorial/test_response_model/test_tutorial003.py"
ignorefiles="$ignorefiles --ignore tests/test_tutorial/test_response_model/test_tutorial003_py310.py"
ignorefiles="$ignorefiles --ignore tests/test_tutorial/test_security/test_tutorial005.py"
@@ -109,8 +103,6 @@ ignorefiles="$ignorefiles --ignore tests/test_tutorial/test_security/test_tutori
ignorefiles="$ignorefiles --ignore tests/test_tutorial/test_security/test_tutorial005_an.py"
ignorefiles="$ignorefiles --ignore tests/test_tutorial/test_security/test_tutorial005_an_py39.py"
ignorefiles="$ignorefiles --ignore tests/test_tutorial/test_security/test_tutorial005_an_py310.py"
ignorefiles="$ignorefiles --ignore tests/test_tutorial/test_sql_databases/test_tutorial001.py"
ignorefiles="$ignorefiles --ignore tests/test_tutorial/test_sql_databases/test_tutorial002.py"
ignorefiles="$ignorefiles --ignore tests/test_tutorial/test_sql_databases_peewee"
ignorefiles="$ignorefiles --ignore tests/test_tutorial/test_response_model/test_tutorial003_01.py"
ignorefiles="$ignorefiles --ignore tests/test_tutorial/test_response_model/test_tutorial003_01_py310.py"
@@ -118,7 +110,7 @@ ignorefiles="$ignorefiles --ignore tests/test_tutorial/test_response_model/test_
donttest="$donttest or test_orjson_response_class"
donttest="$donttest or (test_tutorial001 and test_get_custom_response)"
%endif
%pytest -W ignore::DeprecationWarning -W ignore::PendingDeprecationWarning -W ignore::ResourceWarning $ignorefiles -k "not ($donttest)" tests
%pytest -W ignore::DeprecationWarning -W ignore::ResourceWarning $ignorefiles -k "not ($donttest)" tests
%post
%python_install_alternative fastapi

View File

@@ -1,13 +1,13 @@
diff -Nru fastapi-0.115.8.orig/pyproject.toml fastapi-0.115.8/pyproject.toml
--- fastapi-0.115.8.orig/pyproject.toml 2025-01-30 15:06:26.874525500 +0100
+++ fastapi-0.115.8/pyproject.toml 2025-02-07 12:00:18.048128044 +0100
@@ -29,9 +29,6 @@
Index: fastapi-0.95.1/pyproject.toml
===================================================================
--- fastapi-0.95.1.orig/pyproject.toml
+++ fastapi-0.95.1/pyproject.toml
@@ -27,8 +27,6 @@ classifiers = [
"Environment :: Web Environment",
"Framework :: AsyncIO",
"Framework :: FastAPI",
- "Framework :: Pydantic",
- "Framework :: Pydantic :: 1",
- "Framework :: Pydantic :: 2",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3 :: Only",