summaryrefslogtreecommitdiff
path: root/dev-python/fastapi
diff options
context:
space:
mode:
authorCrucible <crucible@localhost>2026-10-01 03:10:20 -0500
committerCrucible <crucible@localhost>2026-10-01 03:10:20 -0500
commitc387ab5925039957145c01955c824bf9b3c7cafc (patch)
treefca94a681608aa58240434283a0a764ce54fb79f /dev-python/fastapi
parent084d0fe1951530add5e3282a613adf97850dbd58 (diff)
downloadsrcux-c387ab5925039957145c01955c824bf9b3c7cafc.tar.gz
srcux-c387ab5925039957145c01955c824bf9b3c7cafc.tar.xz
srcux-c387ab5925039957145c01955c824bf9b3c7cafc.zip
Publish srcux candidate 0000000547-20261001-030821
Diffstat (limited to 'dev-python/fastapi')
-rw-r--r--dev-python/fastapi/Manifest1
-rw-r--r--dev-python/fastapi/fastapi-0.142.2.ebuild124
2 files changed, 125 insertions, 0 deletions
diff --git a/dev-python/fastapi/Manifest b/dev-python/fastapi/Manifest
index 3efbf217d9e8..e6d96e2c3487 100644
--- a/dev-python/fastapi/Manifest
+++ b/dev-python/fastapi/Manifest
@@ -1 +1,2 @@
DIST fastapi-0.141.1.tar.gz 425799 BLAKE2B 7012cde65f9749a9a01de5c91a3892550cecd4a7813a70d7ec052efe614c1a64f0d934f07b6b0b06e6cc7c9689f8ab35deddd84b6923aa0cd7f364cce9a122c3 SHA512 6e83e00927ab60332a434cf3fc170a9ec42cd80d0b7254a4f8c83ea8dfcaa9144a39f8df4edd8473588015565f5d7d97dde6a51fbdd4be6bff67c74cabe9c91f
+DIST fastapi-0.142.2.tar.gz 466721 BLAKE2B fa97b6fa9bf188ff11c790e1eafecc0a1bd282c757f51932d98006b19245a7b53828a363064089c663a562e4176af7ab21ebdee171e8db1c9ec14ac98b3dc307 SHA512 bb86af45f0d217988fa2d260e187fb891cc99ecb70bc0d46e93bc77eae23a62398e3b6edd7a4e7c8d6ba88dfb64897fd770d2565856a8f8bd5566f77b54044a7
diff --git a/dev-python/fastapi/fastapi-0.142.2.ebuild b/dev-python/fastapi/fastapi-0.142.2.ebuild
new file mode 100644
index 000000000000..001c647ada47
--- /dev/null
+++ b/dev-python/fastapi/fastapi-0.142.2.ebuild
@@ -0,0 +1,124 @@
+# 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://github.com/fastapi/fastapi/
+ https://pypi.org/project/fastapi/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/annotated-doc-0.0.4[${PYTHON_USEDEP}]
+ >=dev-python/opentelemetry-api-1.44.0[${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}]
+"
+
+#FIXME: add missing deps
+BDEPEND="
+ test? (
+ dev-python/a2wsgi[${PYTHON_USEDEP}]
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/httpx2[${PYTHON_USEDEP}]
+ dev-python/pydantic-settings[${PYTHON_USEDEP}]
+ dev-python/python-multipart[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/typer[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( anyio inline-snapshot pytest-timeout )
+# workaround broken toml config
+: ${EPYTEST_TIMEOUT:=30}
+# 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
+
+ # Broken by brotli being available, also fragile to random ordering
+ 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
+ # opentelemetry-*
+ tests/test_telemetry/test_background.py::test_background_task_integrations
+ tests/test_telemetry/test_data.py::test_request_objects_are_not_exported
+ tests/test_telemetry/test_environment_integrations.py
+ tests/test_telemetry/test_integrations.py::test_current_contrib
+ tests/test_telemetry/test_integrations.py::test_current_logfire
+ tests/test_telemetry/test_integrations.py::test_current_sentry
+ tests/test_telemetry/test_integrations.py::test_inactive_sentry_does_not_disable_native
+ tests/test_telemetry/test_integrations.py::test_logfire_global_provider_without_fastapi_instrumentor
+ tests/test_telemetry/test_native_integrations.py
+ tests/test_telemetry/test_runtime.py::test_concurrent_provider_owner_wins
+ tests/test_telemetry/test_runtime.py::test_environment_export_initializes_after_fork
+ tests/test_telemetry/test_runtime.py::test_failed_registration_closes_new_exporter
+ tests/test_telemetry/test_runtime.py::test_real_otlp_exception_export_without_traces_or_metrics
+ tests/test_telemetry/test_runtime.py::test_real_otlp_export_and_repeated_lifespans
+ tests/test_telemetry/test_runtime.py::test_registration_provider_prefers_public_metric_reader
+ tests/test_telemetry/test_runtime.py::test_unsupported_provider_warns_without_preventing_startup
+ )
+ 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"
+}