chore: require python 3.12 and adopt PEP 695 type parameters

The telemetry write budget needs asyncio.timeout, whose uncancel accounting
was only fixed after 3.11.1 — pinning the floor at 3.12 removes that hazard
instead of working around it.

Raising ruff's target-version turns on UP047, so gather_bounded,
_anext_within and stream_with_liveness_timeouts move to def f[T](...) and
the two module-level TypeVars go away. That syntax is a SyntaxError on
3.11, so it can only land together with the version bump.
This commit is contained in:
2026-08-24 08:14:45 -04:00
parent 59a4bc3d14
commit 157a27f3bb
5 changed files with 15 additions and 19 deletions
+2 -2
View File
@@ -45,7 +45,7 @@ pip install --extra-index-url https://gitea.iomgaa.online/api/packages/iomgaa/py
| `structured` | json-repair | 结构化输出的修复策略 |
| `sdk` | openai | 可选的 SDK transport(默认手写 httpx,不需要) |
要求 Python ≥ 3.11
要求 Python ≥ 3.12
## 快速开始
@@ -461,7 +461,7 @@ graph LR
## 开发
```bash
conda create -n PolyGateway python=3.11 && conda activate PolyGateway
conda create -n PolyGateway python=3.12 && conda activate PolyGateway
make install # editable 安装(dev + 全部 extras)
make test # pytest + 覆盖率(目标 ≥80%)
make lint # ruff + import-linter