src/recipe/lang/Python/uv/README.md
chsrc set uv 同时配置两类下载地址:
uv.toml 的 [[index]] 或 pyproject.toml 的 [[tool.uv.index]]python-install-mirror项目作用域只修改当前目录,不向父目录查找并修改配置:
uv.toml 时修改 uv.tomlpyproject.toml 时修改其中的 [tool.uv]uv.toml这个顺序与 uv 的行为一致:同一目录同时存在 uv.toml 与 pyproject.toml 的 [tool.uv] 时,uv 优先使用 uv.toml 中的对应字段。
用户作用域使用 uv 的用户配置目录:Windows 为 %APPDATA%\uv\uv.toml,Linux 和 macOS 优先使用 $XDG_CONFIG_HOME/uv/uv.toml,未设置时使用 ~/.config/uv/uv.toml。
索引 URL 必须指向兼容 Python Simple Repository API 的地址,通常以 /simple 结尾;uv 不要求 URL 必须以 / 结尾。
default = true 表示该 index 替代 uv 内置的 PyPI,并且始终具有最低 index 优先级。它不表示“文本中的第一个”或“最高优先级”。配置中存在多个 index 时,chsrc 优先更新 default = true 的 index;没有 default index 时才更新第一个 index。
默认的 first-index 策略会在第一个包含目标包的 index 停止搜索。私有源与公共镜像并存时,不应把它理解成跨所有 index 选择全局最新版本。
python-install-mirror 是 https://github.com/astral-sh/python-build-standalone/releases/download 的替换前缀。配置值必须是镜像侧对应的 releases/download 基址,不能是仓库主页、某个具体构建日期或某个归档文件。uv 会在其后追加构建日期和
归档文件名。
官方示例使用不带尾部 / 的基址,chsrc 内置源也遵循该形式。
chsrc set uv 修改已有配置前会创建 .bak 备份。
chsrc reset uv 把 chsrc 管理的 index 与 python-install-mirror 写回默认上游:index 恢复为 https://pypi.org/simple,
python-install-mirror 恢复为 https://github.com/astral-sh/python-build-standalone/releases/download。
其他用户配置原样保留,不依赖 .bak 恢复旧 URL。
指定镜像代码时,若该代码同时提供 PyPI 与 Python 下载镜像(例如 nju),两部分使用同一镜像代码;仅提供其中一类时,另一类自动测速。用户自定义 URL 只解释为 PyPI index URL,因为 Python 下载镜像要求完全不同的 releases 目录布局。
default = true 的 index(不存在时取第一个)被视为 PyPI 替代源,reset 只修改这一处;私有 index 不受影响。
配置改写器只解析 chsrc 使用的 TOML 子集,但支持常见的行首缩进、CRLF、行尾注释、多个 index,以及位于 [tool.uv.sources] 等子表之后的 [[tool.uv.index]]。读取时换行统一为 LF 处理,写入时按系统平台输出行尾(Windows 为 CRLF,其余为 LF)。多行字符串和完整 TOML 转义语义不属于该轻量改写器的支持范围。
参考: