diff options
| author | Crucible <crucible@localhost> | 2026-10-01 03:10:20 -0500 |
|---|---|---|
| committer | Crucible <crucible@localhost> | 2026-10-01 03:10:20 -0500 |
| commit | c387ab5925039957145c01955c824bf9b3c7cafc (patch) | |
| tree | fca94a681608aa58240434283a0a764ce54fb79f /dev-python/fastapi | |
| parent | 084d0fe1951530add5e3282a613adf97850dbd58 (diff) | |
| download | srcux-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/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/fastapi/fastapi-0.142.2.ebuild | 124 |
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" +} |
