summaryrefslogtreecommitdiff
path: root/dev-python/fastapi
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-13 22:21:26 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-13 22:21:26 -0500
commitf997c3ee588099e4f43e9ec845935868e3e60b8e (patch)
tree07f0967cda575ee2edf2d62ed8c0f67855ae6bd3 /dev-python/fastapi
parentb589bc93e15b300c3e5318fe97241d57e464bea1 (diff)
downloadbaldeagleos-repo-f997c3ee588099e4f43e9ec845935868e3e60b8e.tar.gz
baldeagleos-repo-f997c3ee588099e4f43e9ec845935868e3e60b8e.tar.xz
baldeagleos-repo-f997c3ee588099e4f43e9ec845935868e3e60b8e.zip
Adding metadata
Diffstat (limited to 'dev-python/fastapi')
-rw-r--r--dev-python/fastapi/Manifest4
-rw-r--r--dev-python/fastapi/fastapi-0.135.1.ebuild117
-rw-r--r--dev-python/fastapi/fastapi-0.135.2.ebuild117
-rw-r--r--dev-python/fastapi/fastapi-0.135.3.ebuild117
-rw-r--r--dev-python/fastapi/fastapi-0.136.3.ebuild91
-rw-r--r--dev-python/fastapi/metadata.xml5
6 files changed, 357 insertions, 94 deletions
diff --git a/dev-python/fastapi/Manifest b/dev-python/fastapi/Manifest
index d9322adec108..3ceb1c1acf6b 100644
--- a/dev-python/fastapi/Manifest
+++ b/dev-python/fastapi/Manifest
@@ -1 +1,3 @@
-DIST fastapi-0.136.3.tar.gz 396410 BLAKE2B eb55e632fea8e59a5f133b0b4c18dd158a8427bbcb8ecfd1656e019fb3c117598b18286afab6e1c27492ca3d8e0b5eb286d027428707890097ca5ea5d4e7a354 SHA512 a97358391f0c86f370949296c3c79e31086fc8faa8b721d216ac47fdce0b6052ab7fce0b4448e89c3faeb8b500dface43b86a4084c599e7d19fcc6dfca7a54d3
+DIST fastapi-0.135.1.tar.gz 394962 BLAKE2B 95e002ac88880562fb19c51d6a9fa5b3a10f58ebfed32d70f8e4fcb9dd2e3c3366c5cbdefc3b4a8cd4d0fee8dc2e64dd9b1f5393d479cb6b3a62d5ee9b34abca SHA512 bd9b2789dbf98fbf566f340f9c890229ccb6f283066df54a82fab62763bd417a08b5fe3aa287409f224c30dbb4879b78f48e0a90d2261303879926621f4bc326
+DIST fastapi-0.135.2.tar.gz 395833 BLAKE2B 2177788bea82b840256beb46b1b15414a4aa26753c727107a3528101dd51f1f5f05e02f3603d4076df07c62824ba76d769aa72ad41c023c52072fa3e7c02d5b1 SHA512 62744ff30649569e74ee067c8d8fc96308f17a4d9ed055cb70b61cb38b7f0d0dd6d06a218294e2e6b96bd41a7b8b54947d75a56534f4b65af41e89c5cb108760
+DIST fastapi-0.135.3.tar.gz 396524 BLAKE2B 83ad655935be38c602c3a851910ab02dcc5e744241bb0e8f90864d97d37304a65e6d93790dbf8d7f05cc2d8e65e7d4ff1e5f934b4b272bbec43229db2a78e2d9 SHA512 3813ef68b3b090bb37970acdc43b29e468f9d17f48ebd960422188cc73854204eb425f743c13e84df622926475b971c74dacfac062f8392e1608b3ee1a47511c
diff --git a/dev-python/fastapi/fastapi-0.135.1.ebuild b/dev-python/fastapi/fastapi-0.135.1.ebuild
new file mode 100644
index 000000000000..e06dff5edb46
--- /dev/null
+++ b/dev-python/fastapi/fastapi-0.135.1.ebuild
@@ -0,0 +1,117 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="FastAPI framework, high performance, easy to learn, ready for production"
+HOMEPAGE="
+ https://fastapi.tiangolo.com/
+ https://pypi.org/project/fastapi/
+ https://github.com/fastapi/fastapi
+"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/fastapi/fastapi.git"
+else
+ inherit pypi
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ >=dev-python/annotated-doc-0.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/starlette-0.46.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-inspection-0.4.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/aiosqlite[${PYTHON_USEDEP}]
+ >=dev-python/anyio-3.2.1[${PYTHON_USEDEP}]
+ dev-python/argon2-cffi[${PYTHON_USEDEP}]
+ <dev-python/a2wsgi-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/a2wsgi-1.9.0[${PYTHON_USEDEP}]
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ dev-python/email-validator[${PYTHON_USEDEP}]
+ <dev-python/flask-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/flask-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/inline-snapshot-0.21.1[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-3.1.5[${PYTHON_USEDEP}]
+ >=dev-python/orjson-3.9.3[${PYTHON_USEDEP}]
+ >=dev-python/pwdlib-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-extra-types-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-settings-2.0.0[${PYTHON_USEDEP}]
+ dev-python/pyjwt[${PYTHON_USEDEP}]
+ >=dev-python/python-multipart-0.0.18[${PYTHON_USEDEP}]
+ <dev-python/pyyaml-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}]
+ <dev-python/strawberry-graphql-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/strawberry-graphql-0.200.0[${PYTHON_USEDEP}]
+ dev-python/sqlmodel[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ dev-python/typer[${PYTHON_USEDEP}]
+ >=dev-python/ujson-5.8.0[${PYTHON_USEDEP}]
+ dev-python/uvicorn[${PYTHON_USEDEP}]
+ )
+"
+# brotli and zstd due to starlette based tests expecting it
+
+# Hung once
+: ${EPYTEST_TIMEOUT:=60}
+EPYTEST_PLUGINS=( anyio )
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Depends on coverage
+ "tests/test_fastapi_cli.py::test_fastapi_cli"
+ # Test result affected by unrelated packages such as brotli and zstd
+ # https://github.com/fastapi/fastapi/blob/7c6f2f8fde68f488163376c9e92a59d46c491298/tests/test_tutorial/test_header_param_models/test_tutorial001.py#L77
+ "tests/test_tutorial/test_header_param_models/test_tutorial001.py::test_header_param_model_invalid"
+ "tests/test_tutorial/test_header_param_models/test_tutorial003.py::test_header_param_model_invalid"
+ "tests/test_tutorial/test_header_param_models/test_tutorial003.py::test_header_param_model_no_underscore"
+ # https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6afa196ca0cb1604875847b1b84fa64896a06f6e
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_form"
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_file_upload"
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_file_bytes"
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_multi_form"
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_form_file"
+ "tests/test_multipart_installation.py::test_no_multipart_installed"
+ "tests/test_multipart_installation.py::test_no_multipart_installed_file"
+ "tests/test_multipart_installation.py::test_no_multipart_installed_file_bytes"
+ "tests/test_multipart_installation.py::test_no_multipart_installed_multi_form"
+ "tests/test_multipart_installation.py::test_no_multipart_installed_form_file"
+ "tests/test_multipart_installation.py::test_old_multipart_installed"
+ # Hangs with network-sandbox
+ "tests/test_tutorial/test_websockets/test_tutorial003_py39.py::test_websocket_handle_disconnection"
+
+)
+
+python_prepare_all() {
+ # Dont install fastapi executable as fastapi-cli is supposed to handle it
+ sed -i -e '/\[project.scripts\]/,/^$/d' pyproject.toml || die
+
+ distutils-r1_python_prepare_all
+}
+
+pkg_postinst() {
+ optfeature "commandline interface" dev-python/fastapi-cli
+ optfeature "test client" dev-python/httpx
+ optfeature "templates" dev-python/jinja2
+ optfeature "forms and file uploads" dev-python/python-multipart
+ optfeature "validate emails" dev-python/email-validator
+ optfeature "uvicorn with uvloop" dev-python/uvicorn
+ optfeature "settings management" dev-python/pydantic-settings
+ optfeature "extra Pydantic data types" dev-python/pydantic-extra-types
+ optfeature_header "Alternative JSON responses"
+ optfeature "ORJSONResponse" dev-python/orjson
+ optfeature "UJSONResponse" dev-python/ujson
+}
diff --git a/dev-python/fastapi/fastapi-0.135.2.ebuild b/dev-python/fastapi/fastapi-0.135.2.ebuild
new file mode 100644
index 000000000000..e032286d80d2
--- /dev/null
+++ b/dev-python/fastapi/fastapi-0.135.2.ebuild
@@ -0,0 +1,117 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="FastAPI framework, high performance, easy to learn, ready for production"
+HOMEPAGE="
+ https://fastapi.tiangolo.com/
+ https://pypi.org/project/fastapi/
+ https://github.com/fastapi/fastapi
+"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/fastapi/fastapi.git"
+else
+ inherit pypi
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ >=dev-python/annotated-doc-0.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/starlette-0.46.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-inspection-0.4.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/aiosqlite[${PYTHON_USEDEP}]
+ >=dev-python/anyio-3.2.1[${PYTHON_USEDEP}]
+ dev-python/argon2-cffi[${PYTHON_USEDEP}]
+ <dev-python/a2wsgi-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/a2wsgi-1.9.0[${PYTHON_USEDEP}]
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ dev-python/email-validator[${PYTHON_USEDEP}]
+ <dev-python/flask-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/flask-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/inline-snapshot-0.21.1[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-3.1.5[${PYTHON_USEDEP}]
+ >=dev-python/orjson-3.9.3[${PYTHON_USEDEP}]
+ >=dev-python/pwdlib-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-extra-types-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-settings-2.0.0[${PYTHON_USEDEP}]
+ dev-python/pyjwt[${PYTHON_USEDEP}]
+ >=dev-python/python-multipart-0.0.18[${PYTHON_USEDEP}]
+ <dev-python/pyyaml-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}]
+ <dev-python/strawberry-graphql-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/strawberry-graphql-0.200.0[${PYTHON_USEDEP}]
+ dev-python/sqlmodel[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ dev-python/typer[${PYTHON_USEDEP}]
+ >=dev-python/ujson-5.8.0[${PYTHON_USEDEP}]
+ dev-python/uvicorn[${PYTHON_USEDEP}]
+ )
+"
+# brotli and zstd due to starlette based tests expecting it
+
+# Hung once
+: ${EPYTEST_TIMEOUT:=60}
+EPYTEST_PLUGINS=( anyio )
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Depends on coverage
+ "tests/test_fastapi_cli.py::test_fastapi_cli"
+ # Test result affected by unrelated packages such as brotli and zstd
+ # https://github.com/fastapi/fastapi/blob/7c6f2f8fde68f488163376c9e92a59d46c491298/tests/test_tutorial/test_header_param_models/test_tutorial001.py#L77
+ "tests/test_tutorial/test_header_param_models/test_tutorial001.py::test_header_param_model_invalid"
+ "tests/test_tutorial/test_header_param_models/test_tutorial003.py::test_header_param_model_invalid"
+ "tests/test_tutorial/test_header_param_models/test_tutorial003.py::test_header_param_model_no_underscore"
+ # https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6afa196ca0cb1604875847b1b84fa64896a06f6e
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_form"
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_file_upload"
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_file_bytes"
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_multi_form"
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_form_file"
+ "tests/test_multipart_installation.py::test_no_multipart_installed"
+ "tests/test_multipart_installation.py::test_no_multipart_installed_file"
+ "tests/test_multipart_installation.py::test_no_multipart_installed_file_bytes"
+ "tests/test_multipart_installation.py::test_no_multipart_installed_multi_form"
+ "tests/test_multipart_installation.py::test_no_multipart_installed_form_file"
+ "tests/test_multipart_installation.py::test_old_multipart_installed"
+ # Hangs with network-sandbox
+ "tests/test_tutorial/test_websockets/test_tutorial003_py39.py::test_websocket_handle_disconnection"
+
+)
+
+python_prepare_all() {
+ # Dont install fastapi executable as fastapi-cli is supposed to handle it
+ sed -i -e '/\[project.scripts\]/,/^$/d' pyproject.toml || die
+
+ distutils-r1_python_prepare_all
+}
+
+pkg_postinst() {
+ optfeature "commandline interface" dev-python/fastapi-cli
+ optfeature "test client" dev-python/httpx
+ optfeature "templates" dev-python/jinja2
+ optfeature "forms and file uploads" dev-python/python-multipart
+ optfeature "validate emails" dev-python/email-validator
+ optfeature "uvicorn with uvloop" dev-python/uvicorn
+ optfeature "settings management" dev-python/pydantic-settings
+ optfeature "extra Pydantic data types" dev-python/pydantic-extra-types
+ optfeature_header "Alternative JSON responses"
+ optfeature "ORJSONResponse" dev-python/orjson
+ optfeature "UJSONResponse" dev-python/ujson
+}
diff --git a/dev-python/fastapi/fastapi-0.135.3.ebuild b/dev-python/fastapi/fastapi-0.135.3.ebuild
new file mode 100644
index 000000000000..e032286d80d2
--- /dev/null
+++ b/dev-python/fastapi/fastapi-0.135.3.ebuild
@@ -0,0 +1,117 @@
+# Copyright 2024-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="FastAPI framework, high performance, easy to learn, ready for production"
+HOMEPAGE="
+ https://fastapi.tiangolo.com/
+ https://pypi.org/project/fastapi/
+ https://github.com/fastapi/fastapi
+"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/fastapi/fastapi.git"
+else
+ inherit pypi
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ >=dev-python/annotated-doc-0.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/starlette-0.46.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-inspection-0.4.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/aiosqlite[${PYTHON_USEDEP}]
+ >=dev-python/anyio-3.2.1[${PYTHON_USEDEP}]
+ dev-python/argon2-cffi[${PYTHON_USEDEP}]
+ <dev-python/a2wsgi-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/a2wsgi-1.9.0[${PYTHON_USEDEP}]
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ dev-python/email-validator[${PYTHON_USEDEP}]
+ <dev-python/flask-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/flask-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/inline-snapshot-0.21.1[${PYTHON_USEDEP}]
+ >=dev-python/jinja2-3.1.5[${PYTHON_USEDEP}]
+ >=dev-python/orjson-3.9.3[${PYTHON_USEDEP}]
+ >=dev-python/pwdlib-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-extra-types-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-settings-2.0.0[${PYTHON_USEDEP}]
+ dev-python/pyjwt[${PYTHON_USEDEP}]
+ >=dev-python/python-multipart-0.0.18[${PYTHON_USEDEP}]
+ <dev-python/pyyaml-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}]
+ <dev-python/strawberry-graphql-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/strawberry-graphql-0.200.0[${PYTHON_USEDEP}]
+ dev-python/sqlmodel[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ dev-python/typer[${PYTHON_USEDEP}]
+ >=dev-python/ujson-5.8.0[${PYTHON_USEDEP}]
+ dev-python/uvicorn[${PYTHON_USEDEP}]
+ )
+"
+# brotli and zstd due to starlette based tests expecting it
+
+# Hung once
+: ${EPYTEST_TIMEOUT:=60}
+EPYTEST_PLUGINS=( anyio )
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Depends on coverage
+ "tests/test_fastapi_cli.py::test_fastapi_cli"
+ # Test result affected by unrelated packages such as brotli and zstd
+ # https://github.com/fastapi/fastapi/blob/7c6f2f8fde68f488163376c9e92a59d46c491298/tests/test_tutorial/test_header_param_models/test_tutorial001.py#L77
+ "tests/test_tutorial/test_header_param_models/test_tutorial001.py::test_header_param_model_invalid"
+ "tests/test_tutorial/test_header_param_models/test_tutorial003.py::test_header_param_model_invalid"
+ "tests/test_tutorial/test_header_param_models/test_tutorial003.py::test_header_param_model_no_underscore"
+ # https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6afa196ca0cb1604875847b1b84fa64896a06f6e
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_form"
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_file_upload"
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_file_bytes"
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_multi_form"
+ "tests/test_multipart_installation.py::test_incorrect_multipart_installed_form_file"
+ "tests/test_multipart_installation.py::test_no_multipart_installed"
+ "tests/test_multipart_installation.py::test_no_multipart_installed_file"
+ "tests/test_multipart_installation.py::test_no_multipart_installed_file_bytes"
+ "tests/test_multipart_installation.py::test_no_multipart_installed_multi_form"
+ "tests/test_multipart_installation.py::test_no_multipart_installed_form_file"
+ "tests/test_multipart_installation.py::test_old_multipart_installed"
+ # Hangs with network-sandbox
+ "tests/test_tutorial/test_websockets/test_tutorial003_py39.py::test_websocket_handle_disconnection"
+
+)
+
+python_prepare_all() {
+ # Dont install fastapi executable as fastapi-cli is supposed to handle it
+ sed -i -e '/\[project.scripts\]/,/^$/d' pyproject.toml || die
+
+ distutils-r1_python_prepare_all
+}
+
+pkg_postinst() {
+ optfeature "commandline interface" dev-python/fastapi-cli
+ optfeature "test client" dev-python/httpx
+ optfeature "templates" dev-python/jinja2
+ optfeature "forms and file uploads" dev-python/python-multipart
+ optfeature "validate emails" dev-python/email-validator
+ optfeature "uvicorn with uvloop" dev-python/uvicorn
+ optfeature "settings management" dev-python/pydantic-settings
+ optfeature "extra Pydantic data types" dev-python/pydantic-extra-types
+ optfeature_header "Alternative JSON responses"
+ optfeature "ORJSONResponse" dev-python/orjson
+ optfeature "UJSONResponse" dev-python/ujson
+}
diff --git a/dev-python/fastapi/fastapi-0.136.3.ebuild b/dev-python/fastapi/fastapi-0.136.3.ebuild
deleted file mode 100644
index 30bfda36d0bd..000000000000
--- a/dev-python/fastapi/fastapi-0.136.3.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 2025-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{13..14} )
-#may be not stricly required
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="High performance framework, easy to learn, fast to code, ready for production"
-HOMEPAGE="https://fastapi.tiangolo.com/ https://pypi.org/project/fastapi/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/annotated-doc-0.0.4[${PYTHON_USEDEP}]
- >=dev-python/starlette-0.46.0[${PYTHON_USEDEP}]
- >=dev-python/pydantic-2.9.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.8.0[${PYTHON_USEDEP}]
- >=dev-python/typing-inspection-0.4.2[${PYTHON_USEDEP}]
-"
-
-#FIXME: add missing deps
-BDEPEND="test? (
- dev-python/a2wsgi[${PYTHON_USEDEP}]
- dev-python/dirty-equals[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/inline-snapshot[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/python-multipart[${PYTHON_USEDEP}]
- dev-python/sqlalchemy[${PYTHON_USEDEP}]
- dev-python/typer[${PYTHON_USEDEP}]
-)"
-
-# 3k tests+, so use xdist to speed them up
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-# There are some JSON response tests that will exercise orjson or ujson if they are available.
-# These are properly skipped if the optional dependencies are not installed at the cost of a little spam.
-python_test() {
- local EPYTEST_IGNORE=(
- # python/strawberry-graphql (in guru, test dep only)
- tests/test_tutorial/test_graphql/test_tutorial001.py
- # dev-python/sqlmodel (in guru, test dep only)
- tests/test_tutorial/test_sql_databases/test_tutorial001.py
- tests/test_tutorial/test_sql_databases/test_tutorial002.py
- # dev-python/fastapi-cli (missing, test and optfeature)
- tests/test_fastapi_cli.py
- # dev-python/pwdlib (in guru, test dep only)
- tests/test_tutorial/test_security/test_tutorial004.py
- tests/test_tutorial/test_security/test_tutorial005.py
- # Wants dev-python/multipart _just_ to complain that it's not the right multipart lib.
- tests/test_multipart_installation.py
- # scripts/tests use CliRunner.isolated_filesystem() removed in recent typer
- scripts/tests
- )
- local EPYTEST_DESELECT=(
- # Requires investigation - missing ./image.png test file (?)
- tests/test_tutorial/test_additional_responses/test_tutorial004.py::test_path_operation_img
- )
- epytest
-}
-
-pkg_postinst() {
- # not part of any upstream extra
- optfeature "alternative JSON library" "dev-python/ujson" # orjson, too but it's deprecated
-
- # pyproject.toml:project.optional-dependencies.standard
- # Following optfeatures should be exposed, but missing deps
- # optfeature "fastAPI CLI" "dev-python/fastapi-cli" - missing - depends on this package!
- # optfeature "compressed file support" "dev-python/fastar" - missing
- # optfeature "pydantic extra types support" "dev-python/pydantic-extra-types" - in guru
- optfeature_header "standard extras"
- optfeature "ASGI server support" "dev-python/uvicorn"
- optfeature "email validation support" "dev-python/email-validator"
- optfeature "TestClient for testing FastAPI applications" "dev-python/httpx"
- optfeature "templating support" "dev-python/jinja2"
- optfeature "multipart form data support" "dev-python/python-multipart"
- optfeature "settings management support" "dev-python/pydantic-settings"
-
- # pyproject.toml:project.optional-dependencies.all - includes all the above plus:
- optfeature_header "all extras"
- optfeature "session middleware support" "dev-python/itsdangerous"
- optfeature "YAML support" "dev-python/pyyaml"
-}
diff --git a/dev-python/fastapi/metadata.xml b/dev-python/fastapi/metadata.xml
index 7b4b286e100f..35625086ffdf 100644
--- a/dev-python/fastapi/metadata.xml
+++ b/dev-python/fastapi/metadata.xml
@@ -2,8 +2,9 @@
<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>kangie@gentoo.org</email>
- <name>Matt Jolly</name>
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
</maintainer>
+ <stabilize-allarches />
<origin>baldeagleos-repo</origin>
</pkgmetadata>