pyright(basic 模式)从 15 errors / 10 warnings 降到 0/0: - pyproject: pythonPlatform="All"(termios/msvcrt 双平台分支不再误报), reportUnsupportedDunderAll=false(__init__ 惰性导出属正常写法) - keys.py: 捕获 sys.stdin 局部变量 + 提前返回,消除 fileno() 的 None 收窄告警 - server/app.py: lifespan 改用 @asynccontextmanager 并标注 AsyncIterator[None] - server/actions.py: 显式标注 result: dict[str, Any],消除 isinstance 冗余报错 - server/__main__.py: 用 importlib.util.find_spec 探测 websockets - tests/test_server.py: 同上,uvicorn 探测改为 find_spec - tools/preview_tui.py: TYPE_CHECKING 下引入 RemoteFarm,修正返回类型标注 - farm/tui.py: 取消未使用变量,统一 round/取整写法 其他: - README: 新增第 11 节「工程化:uv + ruff + pyright」,快速开始全部改用 uv sync / uv run;原第 11 节起顺延为 12 - requirements.txt: 由 uv export --no-dev --no-hashes 重新生成(锁定版本) - 清理临时日志文件 验收:ruff check 全通过 / ruff format 26 文件无改动 / pyright 0 错误 / unittest 97 项全部通过
38 lines
1.1 KiB
Plaintext
38 lines
1.1 KiB
Plaintext
# ------------------------------------------------------------------ Python
|
|
__pycache__/
|
|
*.py[cod]
|
|
*$py.class
|
|
*.egg-info/
|
|
build/
|
|
dist/
|
|
|
|
# ------------------------------------------------------- uv / 虚拟环境
|
|
# uv.lock 要**提交**:它是可复现构建的依据,不是缓存。
|
|
.venv/
|
|
venv/
|
|
|
|
# ------------------------------------------------------------- 工具缓存
|
|
# 这些是纯本地缓存,换个机器重新生成即可,提交上去只会制造冲突。
|
|
.ruff_cache/
|
|
.pyright/
|
|
.mypy_cache/
|
|
.pytest_cache/
|
|
|
|
# ------------------------------------------------- SimpleFarm 运行期数据
|
|
# run/ :守护进程的 pid 与日志(换台机器、换个端口就失效)
|
|
# saves/ :玩家存档(真实游戏进度,属于本地数据,不该进版本库)
|
|
run/
|
|
saves/
|
|
tests/_tmp/
|
|
# 仓库根目录下以 _ 开头的都是临时脚本/日志(补丁脚本、重定向输出、提交信息等),
|
|
# 用前导斜杠锚定根目录,否则 `_*` 会误伤 farm/__init__.py 这类文件。
|
|
/_*
|
|
|
|
# --------------------------------------------------------- 编辑器 / 系统
|
|
.vscode/
|
|
.idea/
|
|
*.swp
|
|
.DS_Store
|
|
Thumbs.db
|
|
desktop.ini
|