Skip to main content

🦉 yyds-update

yyds-update 是 yyds Python 工具链的一键安装与升级器。它维护一份官方软件包目录,检查当前 Python 环境后会以清晰的终端表格展示每个包的状态:已是最新、可升级,或尚未安装。

确认后,工具会一次性安装缺失的官方包,并升级已有的新版本。

yyds-update

特性

  • 🦉 统一管理:只操作官方目录中的 yyds 软件包,不会误扫环境中其他第三方包。
  • 📦 自动补齐:目录中的官方包即使尚未安装,也会标记为“待安装”并进入操作计划。
  • ⬆️ 精确升级:检查阶段确定目标版本,确认后按该版本执行,避免展示结果与实际安装版本不一致。
  • 🎨 紧凑终端界面:一张总表同时展示当前版本、可用版本和安装状态。
  • 快速失败:默认单次网络超时为 5 秒,失败不重试;适合网络不稳定时快速获得结果。
  • 🐍 环境隔离:始终调用当前 python 对应的 pip,在虚拟环境中运行时仅影响该虚拟环境。
  • 🔄 支持自更新yyds-update 自身也在官方目录中,发布新版本后可由工具升级。

官方软件包目录

目前管理以下软件包,界面会自动按字母顺序展示:

软件包 说明
yyds-fswatch 文件系统监听工具
yyds-lock 锁与并发控制工具
yyds-logger 日志工具
yyds-notify-os 操作系统通知工具
yyds-pip pip 镜像源管理工具
yyds-pip-audit Python 软件包审计工具
yyds-stream-tap 流式输出处理工具
yyds-update 本工具

目录定义在 yyds_update/packages.py。新增官方包时,只需将包名加入该列表;工具会自动按字母顺序检查、显示和处理。

安装

从软件源安装

python -m pip install --upgrade yyds-update

本地开发安装

在项目根目录执行:

python -m pip install -e .

项目要求 Python 3.9 或更高版本。

快速开始

直接运行:

yyds-update

工具会依次完成:

  1. 读取当前环境中官方目录内软件包的已安装版本;
  2. 向当前配置的 pip 软件源查询安装与升级计划;
  3. 显示统一状态表;
  4. 在有待安装或可升级项目时请求确认;
  5. 安装缺失包并升级旧版本。

典型输出中的状态含义:

状态 含义 后续动作
✓ 已是最新 已安装且没有更高版本 不作修改
↑ 可升级 已安装,但存在新版本 确认后升级
↓ 待安装 官方目录中存在,但当前环境未安装 确认后安装
未安装 仅执行 list 时发现尚未安装 不作修改

命令参考

默认:检查后安装或升级

yyds-update

显示完整状态表;如有待处理项,输入 y 确认。

查看本地安装状态

yyds-update list

只读取本地环境,不访问软件源。适合快速确认哪些官方包已经安装。

仅检查,不作修改

yyds-update check

查询软件源并展示可安装、可升级状态,但不会进行安装。

也可仅检查某一个官方包:

yyds-update check --package yyds-lock

自动确认

yyds-update update --yes

适合脚本、自动化任务或不需要人工确认的场景。

仅操作指定包时,可重复传入 --package

yyds-update update --package yyds-lock --package yyds-pip

演练模式

yyds-update update --dry-run

生成并展示安装、升级计划,但不修改当前环境。

调整网络超时

yyds-update check --timeout 3
yyds-update update --timeout 10

默认超时为 5 秒,且不会自动重试。网络较慢时可适当增大;希望快速失败时可减小,例如 --timeout 3

JSON 输出

listcheck 支持 --json,便于在 CI 或其他脚本中读取状态:

yyds-update check --json
yyds-update list --package yyds-update --json

命令别名

以下两种命令完全等价:

yyds-update
yyds_update

软件源与网络

工具会沿用当前 Python 环境的 pip 配置,包括 index-url、镜像源和证书设置。可使用 yyds-pip 管理镜像源:

yyds-pip show
yyds-pip best

若查询失败,请先检查网络和 pip 镜像配置;工具会在超时后停止,不会无限等待。

开发与发布

运行测试:

python -m unittest discover -s tests -v

构建发布包前,请先确保测试通过。项目提供 build.sh 作为构建并上传脚本;它会清理旧产物、构建包,并将 dist/ 内容上传到当前 twine 配置的仓库。发布前请仔细确认目标仓库和版本号。

版本信息需保持同步:

  • pyproject.tomlproject.version
  • yyds_update/__version__.py__version__

设计说明

工具不使用本地环境中所有 yyds-* 名称来决定管理范围,而是以官方目录为准。这意味着:

  • 本地存在未知的同前缀包时,不会被误升级;
  • 官方目录新增包时,未安装环境也能自动发现并安装;
  • 表格顺序和自动化行为都保持一致、可审计。

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yyds_update-0.1.2.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yyds_update-0.1.2-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file yyds_update-0.1.2.tar.gz.

File metadata

  • Download URL: yyds_update-0.1.2.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.10

File hashes

Hashes for yyds_update-0.1.2.tar.gz
Algorithm Hash digest
SHA256 94b38ba593579e5f9959422ca89602f5ee67cb26dccbc4354c3fa024800e13cb
MD5 660a64db6dc7d3c070eb16891807c92b
BLAKE2b-256 1543f1368c90f47f7b2293fa55edcf30e8bc0823220acc968e8fd710f7869405

See more details on using hashes here.

File details

Details for the file yyds_update-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: yyds_update-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.10

File hashes

Hashes for yyds_update-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4b8ca4630a0bb6582cc0ebb1fa52f5a8af273e2ad05602de00ee67a0bc377813
MD5 bbd90e7638641c570bd13a4b83eed889
BLAKE2b-256 c08d58597cdf2b6274515beca8cc6d47adf8d3c159d6e002e80678f412651a7f

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.4

2 files

0.1.3

2 files

This release

0.1.2 This release

2 files

0.1.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page