diff options
Diffstat (limited to 'dev-python')
| -rw-r--r-- | dev-python/aiohttp/Manifest | 2 | ||||
| -rw-r--r-- | dev-python/aiohttp/aiohttp-3.13.5.ebuild | 166 | ||||
| -rw-r--r-- | dev-python/aiohttp/aiohttp-3.14.3-r1.ebuild (renamed from dev-python/aiohttp/aiohttp-3.14.3.ebuild) | 2 | ||||
| -rw-r--r-- | dev-python/cattrs/cattrs-26.2.1.ebuild | 21 | ||||
| -rw-r--r-- | dev-python/fastapi/Manifest | 6 | ||||
| -rw-r--r-- | dev-python/fastapi/fastapi-0.115.12.ebuild | 41 | ||||
| -rw-r--r-- | dev-python/fastapi/fastapi-0.140.13.ebuild | 104 | ||||
| -rw-r--r-- | dev-python/fastapi/fastapi-0.140.7.ebuild | 104 | ||||
| -rw-r--r-- | dev-python/fastapi/fastapi-0.141.1.ebuild | 106 | ||||
| -rw-r--r-- | dev-python/fastapi/metadata.xml | 7 | ||||
| -rw-r--r-- | dev-python/multidict/multidict-7.0.0.ebuild | 3 | ||||
| -rw-r--r-- | dev-python/python-bugzilla/python-bugzilla-3.3.0.ebuild | 2 | ||||
| -rw-r--r-- | dev-python/yaxmldiff/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/yaxmldiff/yaxmldiff-0.2.0.ebuild | 29 | ||||
| -rw-r--r-- | dev-python/zeroconf/zeroconf-0.151.1.ebuild | 2 |
15 files changed, 345 insertions, 251 deletions
diff --git a/dev-python/aiohttp/Manifest b/dev-python/aiohttp/Manifest index c998cfac5561..217c13b6e6b5 100644 --- a/dev-python/aiohttp/Manifest +++ b/dev-python/aiohttp/Manifest @@ -1,4 +1,2 @@ -DIST aiohttp-3.13.5.tar.gz 7858271 BLAKE2B 33b8f7f977a429fcd14401042f0be88c4cf6879e2f991783c28bf26d2eaefb4ebeab64edfa4bd34f239c50574b3d5c5adb64b651716c8b7dc1fa4a41ca211d99 SHA512 42aafde39a7e0d270a43733293be1450ca7d72be9658403218f4c338fba7f942bd362637676146cc77579a0946303a44b012b070a25027d3b87abfb6bc0f9fb9 -DIST aiohttp-3.13.5.tar.gz.provenance 9326 BLAKE2B 0ed4219dc79a8b48cbc69f1a926a75210069f8382d61e217aaae6c8d51871c03c03336c812a9c7ecff0972ab070d6f2954482bced18edfaa71cf06cf8ef019bd SHA512 801915c3639db98f363a14e0e2e9e7b3e6e76d8e7988f43749580e4fa04404fe6b72f50370a07f37a922541d111361106d8fd8c4ffa4be326b130148a407c0e0 DIST aiohttp-3.14.3.tar.gz 7971213 BLAKE2B cdad9e58dd0b88ea1acf393237d7fd62fae8d9f1b0c3142987c9abd9c8821212d81bcac70ad9923026d3444bbfaf33fceb4bf91b77fbc55f1fe2fc5fe6f5f311 SHA512 5130673c6e8e798a20d717a89e142e626e669bf0a0db1750299e69970daacf7602012b837190a9e038b6402fcb711dee388b027dfca82b5f769b421ebaf53be7 DIST aiohttp-3.14.3.tar.gz.provenance 9781 BLAKE2B dcf0d39420f1b17fa7d369d3033305a67457cd771e8d16170643589a09a887a2d42dff150dff3e0a3e5bcf5b94af54b8da8a7f40791d9bb2f4165222bd0cb336 SHA512 7e20f865b2a11e3aec9d4005f5f70cd116884868a10c1a49ab4eb7fe3efd30b0f00f6152087ca39115dd37cf9901f53618bf65cd1d4368963369928c6d924b88 diff --git a/dev-python/aiohttp/aiohttp-3.13.5.ebuild b/dev-python/aiohttp/aiohttp-3.13.5.ebuild deleted file mode 100644 index 1ee77937d280..000000000000 --- a/dev-python/aiohttp/aiohttp-3.13.5.ebuild +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYPI_VERIFY_REPO=https://github.com/aio-libs/aiohttp -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="HTTP client/server for asyncio" -HOMEPAGE=" - https://github.com/aio-libs/aiohttp/ - https://pypi.org/project/aiohttp/ -" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" -IUSE="+native-extensions test-rust" - -DEPEND=" - native-extensions? ( - $(python_gen_cond_dep ' - net-libs/llhttp:= - ' 'python3*') - ) -" -RDEPEND=" - ${DEPEND} - >=dev-python/aiodns-3.3.0[${PYTHON_USEDEP}] - >=dev-python/aiohappyeyeballs-2.5.0[${PYTHON_USEDEP}] - >=dev-python/aiosignal-1.4.0[${PYTHON_USEDEP}] - >=dev-python/attrs-17.3.0[${PYTHON_USEDEP}] - >=dev-python/brotlicffi-1.2[${PYTHON_USEDEP}] - >=dev-python/frozenlist-1.1.1[${PYTHON_USEDEP}] - >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}] - >=dev-python/propcache-0.2.0[${PYTHON_USEDEP}] - >=dev-python/yarl-1.17.0[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - dev-python/backports-zstd[${PYTHON_USEDEP}] - ' 3.11 3.12 3.13) -" -BDEPEND=" - >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}] - dev-python/pkgconfig[${PYTHON_USEDEP}] - native-extensions? ( - >=dev-python/cython-3.1.1[${PYTHON_USEDEP}] - dev-python/pkgconfig[${PYTHON_USEDEP}] - ) - test? ( - dev-python/blockbuster[${PYTHON_USEDEP}] - dev-python/freezegun[${PYTHON_USEDEP}] - dev-python/isal[${PYTHON_USEDEP}] - dev-python/re-assert[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - dev-python/time-machine[${PYTHON_USEDEP}] - ' 'python3*') - dev-python/zlib-ng[${PYTHON_USEDEP}] - www-servers/gunicorn[${PYTHON_USEDEP}] - test-rust? ( - dev-python/trustme[${PYTHON_USEDEP}] - ) - ) -" - -DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst ) - -EPYTEST_PLUGIN_LOAD_VIA_ENV=1 -EPYTEST_PLUGINS=( pytest-{mock,xdist} ) -EPYTEST_RERUNS=5 -: ${EPYTEST_TIMEOUT:=180} -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -src_prepare() { - distutils-r1_src_prepare - - # increase the timeout a little - sed -e '/abs=/s/0.001/0.01/' -i tests/test_helpers.py || die - # xfail_strict fails on py3.10 - sed -i -e '/--cov/d' -e '/pytest_cov/d' -e '/xfail_strict/d' setup.cfg || die - sed -i -e 's:-Werror::' Makefile || die - # remove vendored llhttp - rm -r vendor || die -} - -python_configure() { - # check for .install-cython, so that we do this only once - if [[ ! -f .install-cython && ${EPYTHON} != pypy3 ]] && - use native-extensions - then - # force rehashing first - emake requirements/.hash/cython.txt.hash - > .update-pip || die - > .install-cython || die - emake cythonize - fi -} - -python_compile() { - local -x AIOHTTP_USE_SYSTEM_DEPS=1 - # implicitly disabled for pypy3 - if [[ ${EPYTHON} == pypy3* ]] || ! use native-extensions; then - local -x AIOHTTP_NO_EXTENSIONS=1 - fi - - distutils-r1_python_compile -} - -python_test() { - local EPYTEST_IGNORE=( - # proxy is not packaged - tests/test_proxy_functional.py - # python_on_whales is not packaged - tests/autobahn/test_autobahn.py - # benchmarks - tests/test_benchmarks_client.py - tests/test_benchmarks_client_request.py - tests/test_benchmarks_client_ws.py - tests/test_benchmarks_cookiejar.py - tests/test_benchmarks_http_websocket.py - tests/test_benchmarks_http_writer.py - tests/test_benchmarks_web_fileresponse.py - tests/test_benchmarks_web_middleware.py - tests/test_benchmarks_web_response.py - tests/test_benchmarks_web_urldispatcher.py - ) - - local EPYTEST_DESELECT=( - # Internet - tests/test_client_session.py::test_client_session_timeout_zero - tests/test_connector.py::test_tcp_connector_ssl_shutdown_timeout_nonzero_passed - tests/test_connector.py::test_tcp_connector_ssl_shutdown_timeout_passed_to_create_connection - tests/test_connector.py::test_tcp_connector_ssl_shutdown_timeout_zero_not_passed - tests/test_client_functional.py::test_invalid_idna - # broken by irrelevant deprecation warnings - tests/test_circular_imports.py::test_no_warnings - # https://github.com/aio-libs/aiohttp/issues/11400#issuecomment-4168569526 - # https://github.com/python/cpython/issues/145599 - # https://github.com/python/cpython/pull/145600 - tests/test_cookie_helpers.py::test_parse_set_cookie_headers_uses_unquote_with_octal - ) - - case ${EPYTHON} in - python3.14) - EPYTEST_DESELECT+=( - # TODO - tests/test_cookiejar.py::test_pickle_format - # different exception message - tests/test_client_functional.py::test_aiohttp_request_coroutine - ) - ;; - esac - - # upstream unconditionally blocks building C extensions - # on PyPy3 but the test suite needs an explicit switch - if [[ ${EPYTHON} == pypy3* ]] || ! use native-extensions; then - local -x AIOHTTP_NO_EXTENSIONS=1 - fi - - rm -rf aiohttp || die - epytest -m "not internal and not dev_mode" -} diff --git a/dev-python/aiohttp/aiohttp-3.14.3.ebuild b/dev-python/aiohttp/aiohttp-3.14.3-r1.ebuild index e54e472fabe2..474077e0ee3a 100644 --- a/dev-python/aiohttp/aiohttp-3.14.3.ebuild +++ b/dev-python/aiohttp/aiohttp-3.14.3-r1.ebuild @@ -76,6 +76,8 @@ distutils_enable_tests pytest src_prepare() { distutils-r1_src_prepare + # unpin dependencies + sed -i -e 's:, < [0-9.]*::' pyproject.toml || die # increase the timeout a little sed -e '/abs=/s/0.001/0.01/' -i tests/test_helpers.py || die sed -i -e 's:-Werror::' Makefile || die diff --git a/dev-python/cattrs/cattrs-26.2.1.ebuild b/dev-python/cattrs/cattrs-26.2.1.ebuild index e55ebb75734a..ab44a01c52fb 100644 --- a/dev-python/cattrs/cattrs-26.2.1.ebuild +++ b/dev-python/cattrs/cattrs-26.2.1.ebuild @@ -20,19 +20,19 @@ SRC_URI=" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="test-rust" RDEPEND=" >=dev-python/attrs-25.4.0[${PYTHON_USEDEP}] >=dev-python/typing-extensions-4.14.0[${PYTHON_USEDEP}] " +# msgspec is broken pretty much on anything but the most common arches BDEPEND=" dev-python/hatch-vcs[${PYTHON_USEDEP}] test? ( >=dev-python/immutables-0.20[${PYTHON_USEDEP}] >=dev-python/msgpack-1.0.5[${PYTHON_USEDEP}] - >=dev-python/msgspec-0.21.1[${PYTHON_USEDEP}] >=dev-python/pymongo-4.4.0[${PYTHON_USEDEP}] >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}] >=dev-python/tomlkit-0.11.8[${PYTHON_USEDEP}] @@ -42,6 +42,9 @@ BDEPEND=" >=dev-python/cbor2-5.4.6[${PYTHON_USEDEP}] >=dev-python/orjson-3.11.3[${PYTHON_USEDEP}] ) + amd64? ( + >=dev-python/msgspec-0.21.1[${PYTHON_USEDEP}] + ) ) " @@ -68,6 +71,20 @@ python_test() { tests/test_preconf.py::test_cbor2_unions ) fi + if ! has_version "Dev-python/msgspec[${PYTHON_USEDEP}]"; then + EPYTEST_DESELECT+=( + tests/test_preconf.py::test_literal_dicts_msgspec + tests/test_preconf.py::test_msgspec_efficient_enum + tests/test_preconf.py::test_msgspec_json_converter + tests/test_preconf.py::test_msgspec_json_unions + tests/test_preconf.py::test_msgspec_json_unstruct_collection_overrides + tests/test_preconf.py::test_msgspec_native_enums + ) + EPYTEST_IGNORE+=( + tests/preconf/test_msgspec_cpython.py + tests/preconf/test_msgspec_314_cpython.py + ) + fi if ! has_version "dev-python/orjson[${PYTHON_USEDEP}]"; then EPYTEST_DESELECT+=( tests/test_preconf.py::test_orjson diff --git a/dev-python/fastapi/Manifest b/dev-python/fastapi/Manifest index 50ef1c359ef3..a75561c031b8 100644 --- a/dev-python/fastapi/Manifest +++ b/dev-python/fastapi/Manifest @@ -1,3 +1,3 @@ -DIST fastapi-0.115.12.tar.gz 295236 BLAKE2B 224b74553668721dde3592a50a3d5b02a967a58f55d3beb6bec753755cddfbb803f0661ce6cc41af3ddfc28bb304d053f41aad8ab9d8965048ff80cad6c3207e SHA512 8eb8d998643ca748744b9c00e14cdd62f02e58145e2a64dcf090361d56fa52a12b643b8fc3dc98f41af74c06d46b787acf92ae2be828d99b6d4290c20ced7f6f -EBUILD fastapi-0.115.12.ebuild 1171 BLAKE2B 97e7dfed057198ea014eead11043306a36f42b0d761de746d92623697c3502a5ec16fc90e28b14ee710f428bd72a179e8aceca33fa2d9dcb1ac1e1f1a3b14a79 SHA512 b7c18375186662b834e3ece2c74d9ec194bc2ebf7979eda19319844fe8b92a489de81adf012c7a5007b416f675313390fed8288d1d1ff527293043fa4f6786db -MISC metadata.xml 444 BLAKE2B e5a78141db8b041f6a7ac07db80136fddd358063cb1a5c8c769af307d188d6adcf0b56021de906e7ffc025e9b128d9eba580eedbd886076f34cb1d445eec60e3 SHA512 086df95dbf7f0d0354aa0785083d8dfaa46ea3fa030201e1f080818b9b7242119a35930731c05ef58e8f44fb47d7d2f7c2af88e3b3946d43d9ff7ea28d5e6928 +DIST fastapi-0.140.13.tar.gz 424843 BLAKE2B 31fcee62b02b22ec120535a3af0c53c9030451145425d07b55175c7f16c876d8f0f1a184dd2e905433dcfeacaf7b0efd9cb83ddb179cb9fc79a9ea0a2b49c25f SHA512 4fcf8cb0cebab3d266451c1d7ec41f70614d7bee5bb471307e88cf3e3104e030271afb40cd3b978600a2fae7768b78f4079e6f7b2c747fc89f77e77040e8197a +DIST fastapi-0.140.7.tar.gz 422051 BLAKE2B 6e2bdfb7274cfdbd3f0590f7a7ce61d09c4b885ca30ddd4e029cfff489b2844b90bc61b497371d03513051bfd5b050513bd5a75ca36ef93d2a265c87bff423e9 SHA512 faa57243d870c91b02537ef88b9a454f590140c3b8f06a1e5d8070f4cf23b04f72cee7097898ee3820ac9a594905fbdcca4693373b3d0c99010610742d1861de +DIST fastapi-0.141.1.tar.gz 425799 BLAKE2B 7012cde65f9749a9a01de5c91a3892550cecd4a7813a70d7ec052efe614c1a64f0d934f07b6b0b06e6cc7c9689f8ab35deddd84b6923aa0cd7f364cce9a122c3 SHA512 6e83e00927ab60332a434cf3fc170a9ec42cd80d0b7254a4f8c83ea8dfcaa9144a39f8df4edd8473588015565f5d7d97dde6a51fbdd4be6bff67c74cabe9c91f diff --git a/dev-python/fastapi/fastapi-0.115.12.ebuild b/dev-python/fastapi/fastapi-0.115.12.ebuild deleted file mode 100644 index aede3b9bebcc..000000000000 --- a/dev-python/fastapi/fastapi-0.115.12.ebuild +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 1999-2024 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 pypi - -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 -" - -LICENSE="MIT" -SLOT=0 -KEYWORDS="~amd64" - -RESTRICT="test" - -RDEPEND=" - >=dev-python/pydantic-1.7.4[${PYTHON_USEDEP}] - >=dev-python/starlette-0.40.0[${PYTHON_USEDEP}] - <dev-python/starlette-0.47.0[${PYTHON_USEDEP}] - >=dev-python/typing-extensions-4.8.0[${PYTHON_USEDEP}] -" - -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_header "Alternative JSON responses" - optfeature "ORJSONResponse" dev-python/orjson - optfeature "UJSONResponse" dev-python/ujson -} diff --git a/dev-python/fastapi/fastapi-0.140.13.ebuild b/dev-python/fastapi/fastapi-0.140.13.ebuild new file mode 100644 index 000000000000..441adedc2e40 --- /dev/null +++ b/dev-python/fastapi/fastapi-0.140.13.ebuild @@ -0,0 +1,104 @@ +# 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/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/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 ) +# 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 + ) + 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/fastapi-0.140.7.ebuild b/dev-python/fastapi/fastapi-0.140.7.ebuild new file mode 100644 index 000000000000..441adedc2e40 --- /dev/null +++ b/dev-python/fastapi/fastapi-0.140.7.ebuild @@ -0,0 +1,104 @@ +# 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/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/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 ) +# 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 + ) + 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/fastapi-0.141.1.ebuild b/dev-python/fastapi/fastapi-0.141.1.ebuild new file mode 100644 index 000000000000..d61bc85c461c --- /dev/null +++ b/dev-python/fastapi/fastapi-0.141.1.ebuild @@ -0,0 +1,106 @@ +# 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/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/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 + ) + 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 65f80adbd1dc..d9e452857951 100644 --- a/dev-python/fastapi/metadata.xml +++ b/dev-python/fastapi/metadata.xml @@ -2,11 +2,8 @@ <!DOCTYPE pkgmetadata SYSTEM "https://srcux.com/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> - <email>marcin.deranek@slonko.net</email> - <name>Marcin Deranek</name> + <email>kangie@gentoo.org</email> + <name>Matt Jolly</name> </maintainer> - <upstream> - <bugs-to>https://github.com/fastapi/fastapi/issues</bugs-to> - </upstream> <origin>srcux</origin> </pkgmetadata> diff --git a/dev-python/multidict/multidict-7.0.0.ebuild b/dev-python/multidict/multidict-7.0.0.ebuild index de57559badd8..ba269f8161fb 100644 --- a/dev-python/multidict/multidict-7.0.0.ebuild +++ b/dev-python/multidict/multidict-7.0.0.ebuild @@ -25,6 +25,9 @@ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 IUSE="+native-extensions" BDEPEND=" + native-extensions? ( + dev-python/cython[${PYTHON_USEDEP}] + ) test? ( dev-python/objgraph[${PYTHON_USEDEP}] dev-python/psutil[${PYTHON_USEDEP}] diff --git a/dev-python/python-bugzilla/python-bugzilla-3.3.0.ebuild b/dev-python/python-bugzilla/python-bugzilla-3.3.0.ebuild index de2e1d0231ab..6719e4b055ca 100644 --- a/dev-python/python-bugzilla/python-bugzilla-3.3.0.ebuild +++ b/dev-python/python-bugzilla/python-bugzilla-3.3.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2025 Gentoo Authors +# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-python/yaxmldiff/Manifest b/dev-python/yaxmldiff/Manifest index b81e969d96a3..eb9f411e4137 100644 --- a/dev-python/yaxmldiff/Manifest +++ b/dev-python/yaxmldiff/Manifest @@ -1,3 +1,2 @@ -DIST yaxmldiff-0.2.0.tar.gz 30530 BLAKE2B 011e2ae06d8348c4c45dd6f6f58f61c1ade4a371a5b2f1b6e2cd9970016e96494ac08783551d964731553868c16a8084c96a8143f6338a29ced1eefb8533d060 SHA512 d8a00565d9ec084c9d6ab482317abe65dc44cf80641085fdcbf3464461b7066d56e7153c09198649222c29d9a8a4311d9d7fbf9a1b85ec428e86637601584aa2 DIST yaxmldiff-0.3.0.tar.gz 97588 BLAKE2B dc091edbd0355a0f3d39c56f28a7e621e0b66c3529f17e62235357394cfb1c4b658341d9bbc89811abfa3ae9a29c70f957df70b6ecbe43d170d6f09488721642 SHA512 a598442fb2431c5ffd1c5a006085e58f655b637ccfe9289a039d69899ed86eada1f2b58474136a0066f1e5ff68c939f8fd795609288cbfe000e24838ce7b2ba7 DIST yaxmldiff-0.3.0.tar.gz.provenance 9547 BLAKE2B 4edc1ab21fd927bc1dc546fa882d66b47efa5af22bae136b92cfbd055f7acdc7124016af633bd990781f3991ef2723d3441150343549b7fc94526567b0b0a615 SHA512 a9b905fc14514620c0b028190b1f181fb578abca14053e7ce59abd7ffd12bea5204ae81a9357b0d4dac174a6f81e147d2306b10034379ba14fb1710d7430bb86 diff --git a/dev-python/yaxmldiff/yaxmldiff-0.2.0.ebuild b/dev-python/yaxmldiff/yaxmldiff-0.2.0.ebuild deleted file mode 100644 index 3fd13bad73ac..000000000000 --- a/dev-python/yaxmldiff/yaxmldiff-0.2.0.ebuild +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright 2022-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=hatchling -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Yet Another XML Differ" -HOMEPAGE=" - https://pypi.org/project/yaxmldiff/ - https://github.com/latk/yaxmldiff.py -" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 ~loong ~x86" - -RDEPEND=" - dev-python/lxml[${PYTHON_USEDEP}] -" -BDEPEND=" - >=dev-python/hatch-fancy-pypi-readme-24.1.0[${PYTHON_USEDEP}] -" - -EPYTEST_PLUGINS=() -distutils_enable_tests pytest diff --git a/dev-python/zeroconf/zeroconf-0.151.1.ebuild b/dev-python/zeroconf/zeroconf-0.151.1.ebuild index cc9685016ecc..64aa9f12cc55 100644 --- a/dev-python/zeroconf/zeroconf-0.151.1.ebuild +++ b/dev-python/zeroconf/zeroconf-0.151.1.ebuild @@ -18,7 +18,7 @@ HOMEPAGE=" LICENSE="LGPL-2.1+" SLOT="0" -KEYWORDS="~amd64 ~arm arm64 ~x86" +KEYWORDS="amd64 ~arm arm64 ~x86" IUSE="+native-extensions" RDEPEND=" |
