mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-08 06:32:59 -04:00
Closes: https://bugs.gentoo.org/978150 Signed-off-by: Florian Albrechtskirchinger <falbrechtskirchinger@gmail.com>
114 lines
4.0 KiB
Bash
114 lines
4.0 KiB
Bash
# Copyright 2026 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
DISTUTILS_USE_PEP517=hatchling
|
|
PYTHON_COMPAT=( python3_{12..14} )
|
|
|
|
inherit distutils-r1 pypi
|
|
|
|
DESCRIPTION="The fast, Pythonic way to build MCP servers and clients"
|
|
HOMEPAGE="
|
|
https://gofastmcp.com/
|
|
https://github.com/PrefectHQ/fastmcp
|
|
https://pypi.org/project/fastmcp/
|
|
"
|
|
|
|
LICENSE="Apache-2.0"
|
|
SLOT="0"
|
|
KEYWORDS="~amd64"
|
|
|
|
RDEPEND="
|
|
>=dev-python/authlib-1.6.5[${PYTHON_USEDEP}]
|
|
>=dev-python/cyclopts-4.0.0[${PYTHON_USEDEP}]
|
|
>=dev-python/exceptiongroup-1.2.2[${PYTHON_USEDEP}]
|
|
>=dev-python/fastapi-0.115.12[${PYTHON_USEDEP}]
|
|
>=dev-python/griffelib-2.0.0[${PYTHON_USEDEP}]
|
|
>=dev-python/httpx-0.28.1[${PYTHON_USEDEP}]
|
|
>=dev-python/jsonref-1.1.0[${PYTHON_USEDEP}]
|
|
>=dev-python/jsonschema-path-0.3.4[${PYTHON_USEDEP}]
|
|
>=dev-python/mcp-1.24.0[${PYTHON_USEDEP}]
|
|
>=dev-python/openapi-pydantic-0.5.1[${PYTHON_USEDEP}]
|
|
>=dev-python/opentelemetry-api-1.20.0[${PYTHON_USEDEP}]
|
|
>=dev-python/packaging-24.0[${PYTHON_USEDEP}]
|
|
>=dev-python/platformdirs-4.0.0[${PYTHON_USEDEP}]
|
|
>=dev-python/py-key-value-aio-0.4.4[${PYTHON_USEDEP}]
|
|
>=dev-python/pydantic-2.11.7[${PYTHON_USEDEP}]
|
|
dev-python/email-validator[${PYTHON_USEDEP}]
|
|
>=dev-python/pyperclip-1.9.0[${PYTHON_USEDEP}]
|
|
>=dev-python/python-dotenv-1.1.0[${PYTHON_USEDEP}]
|
|
>=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
|
|
>=dev-python/rich-13.9.4[${PYTHON_USEDEP}]
|
|
>=dev-python/uncalled-for-0.2.0[${PYTHON_USEDEP}]
|
|
>=dev-python/uvicorn-0.35[${PYTHON_USEDEP}]
|
|
>=dev-python/watchfiles-1.0.0[${PYTHON_USEDEP}]
|
|
>=dev-python/websockets-15.0.1[${PYTHON_USEDEP}]
|
|
"
|
|
BDEPEND="
|
|
test? (
|
|
>=dev-python/aiofile-3.5.0[${PYTHON_USEDEP}]
|
|
>=dev-python/anthropic-0.48.0[${PYTHON_USEDEP}]
|
|
>=dev-python/cachetools-5.0.0[${PYTHON_USEDEP}]
|
|
>=dev-python/dirty-equals-0.9.0[${PYTHON_USEDEP}]
|
|
>=dev-python/inline-snapshot-0.27.2[${PYTHON_USEDEP}]
|
|
dev-python/joserfc[${PYTHON_USEDEP}]
|
|
>=dev-python/openai-1.102.0[${PYTHON_USEDEP}]
|
|
>=dev-python/opentelemetry-sdk-1.20.0[${PYTHON_USEDEP}]
|
|
<dev-python/prefab-ui-0.20.0[${PYTHON_USEDEP}]
|
|
>=dev-python/pydocket-0.19.0[${PYTHON_USEDEP}]
|
|
)
|
|
"
|
|
|
|
# raise default timeout
|
|
# https://bugs.gentoo.org/978150
|
|
: ${EPYTEST_TIMEOUT:=10}
|
|
EPYTEST_PLUGINS=(
|
|
inline-snapshot
|
|
pytest-{asyncio,env,httpx,timeout}
|
|
)
|
|
EPYTEST_XDIST=1
|
|
distutils_enable_tests pytest
|
|
|
|
EPYTEST_DESELECT=(
|
|
# TODO These fail because >=pydocket-0.20.0 replaces fakeredis with burner-redis
|
|
tests/server/tasks/test_concurrent_dependencies.py::test_sync_context_functions_work_in_background_without_deps
|
|
tests/server/http/test_http_dependencies.py::test_background_task_can_read_snapshotted_request_headers
|
|
tests/server/http/test_http_dependencies.py::test_background_task_current_http_dependencies_restore_headers
|
|
|
|
# Tests succeed, but teardown fails with:
|
|
# RuntimeError: Attempted to exit a cancel scope that isn't the current tasks's current cancel scope
|
|
tests/server/providers/proxy/test_stateful_proxy_client.py::TestStatefulProxyClient::test_concurrent_log_requests_no_mixing
|
|
tests/server/providers/proxy/test_stateful_proxy_client.py::TestStatefulProxyClient::test_stateful_proxy
|
|
tests/server/providers/proxy/test_stateful_proxy_client.py::TestStatefulProxyClient::test_multi_proxies_no_mixing
|
|
)
|
|
|
|
EPYTEST_IGNORE=(
|
|
# requires pytest-examples
|
|
tests/docs/test_doc_examples.py
|
|
|
|
# requires pydantic-monty
|
|
tests/experimental/transforms/test_code_mode.py
|
|
|
|
# requires azure from azure-sdk-for-python
|
|
tests/server/auth/providers/test_azure_scopes.py
|
|
|
|
# require network
|
|
tests/client/transports/test_uv_transport.py
|
|
tests/server/providers/openapi/test_openapi_performance.py
|
|
|
|
# requires node module @modelcontextprotocol/conformance@latest
|
|
tests/conformance/test_conformance.py
|
|
)
|
|
|
|
src_prepare() {
|
|
distutils-r1_src_prepare
|
|
|
|
# raise timeouts for slower CI systems
|
|
# https://bugs.gentoo.org/977930
|
|
sed -i -e 's/@pytest.mark.timeout(15)/@pytest.mark.timeout(60)/' \
|
|
tests/client/test_stdio.py || die
|
|
sed -i -e 's/INIT_TIMEOUT = 3/INIT_TIMEOUT = 10/' \
|
|
tests/client/test_stdio.py || die
|
|
}
|