一个用于管理和查询软件发布版本的命令行工具。
Project description
Helix - 软件包管理工具
这是一个命令⾏⼯具,⽤于管理和查询多种类型的软件包(Component),包括 SDK、⼯具链等。它可以快速获取版本信息、根据 commit 哈希查找对应的发布包,以及检查更新。
功能
- 多组件支持:支持
sdk,toolchain,qemu,nncase,pytorch等多种组件类型。 - 版本查询:列出指定组件所有可用的版本。
- 按 Commit 搜索:根据 Git 的 commit 哈希在所有版本中快速查找对应的软件包。
- 检查更新:对⽐当前版本和最新版本,了解是否有可⽤更新。
- 并⾏处理:利⽤并⾏请求加速查找过程,提升效率。
- 缓存机制:内置缓存功能,减少重复⽹络请求,加快后续查询速度。
依赖项
在运⾏脚本之前,请确保安装以下 Python 包:
pip install requests beautifulsoup4
使⽤⽅法
所有命令都需要通过 helix.py 执⾏,并指定要操作的组件类型。
⽀持的组件类型 (component): sdk, toolchain, qemu, nncase, pytorch
1. 列出所有版本 (list)
列出指定组件的所有可⽤版本,按时间倒序排列。
命令格式:
python helix.py <component> list
示例:
# 列出所有可⽤的 sdk 版本
python helix.py sdk list
# 列出所有可⽤的 toolchain 版本
python helix.py toolchain list
2. 按 Commit 搜索 (search)
根据 commit 哈希查找匹配的软件包及其下载链接。
命令格式:
python helix.py <component> search <commit_hash>
示例:
# 在 nncase 组件中搜索包含特定 commit 的软件包
python helix.py nncase search 9ab1c2d
# 在 pytorch 组件中搜索
python helix.py pytorch search v1.13.0
3. 检查更新 (upgrade)
检查某个组件是否有⽐指定版本更新的版本。
命令格式:
python helix.py <component> upgrade <current_version>
示例:
# 检查 sdk 是否有⽐ v0.3.1 更新的版本
python helix.py sdk upgrade v0.3.1
4. 清除缓存 (clean-cache)
删除本地缓存,以便下次运⾏时强制从服务器获取最新数据。
命令格式:
python helix.py clean-cache
该命令不需要指定组件。
⼯作原理
- 数据获取:⼯具通过 HTTP 请求从预设的服务器地址获取各组件的发布⽬录信息。
- HTML 解析:使⽤
BeautifulSoup解析⽬录⻚⾯的 HTML,提取出版本号和软件包⽂件列表。 - 并⾏搜索:在
search操作中,⼯具会启动多个线程并⾏扫描所有版本⽬录,以加快匹配速度。 - 缓存策略:首次获取的数据会以 JSON 格式存储在本地缓存中。在缓存有效期内,后续请求将直接从本地读取,避免了不必要的⽹络延迟。
注意事项
- 缓存位置:缓存⽂件默认存储在
~/.cache/sdk_manager/sdk_cache.json。 - 缓存有效期:缓存默认有效期为 1 ⼩时(3600 秒),可在脚本的
CACHE_TTL全局变量中修改。 - 组件源:各组件的下载地址在脚本内的
COMPONENT_TYPES字典中定义。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file helix_cli-0.1.0.tar.gz.
File metadata
- Download URL: helix_cli-0.1.0.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ea94dcb039a2e04104c42102c68e3839d89e77a27a87e5bf3a86353426df478
|
|
| MD5 |
9758303b24b6daa2a933aec197c6313c
|
|
| BLAKE2b-256 |
6242d699208c1417ce69865834cded2bd608aeb287f41c3cb7b7b9cdd7a1c7c4
|
File details
Details for the file helix_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: helix_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4ee28b4cfe1ed524954d64ccca5a1fb18b5d7f197683a30623ea1d4f7444d31
|
|
| MD5 |
4712c17db1faca1be710ef1bed985805
|
|
| BLAKE2b-256 |
c7b127cab89d191a387e4a298f48f894ffb2570c407bd2dd0b778a48ecef1e88
|