Skip to main content

一个用于管理和查询软件发布版本的命令行工具。

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

该命令不需要指定组件。

⼯作原理

  1. 数据获取:⼯具通过 HTTP 请求从预设的服务器地址获取各组件的发布⽬录信息。
  2. HTML 解析:使⽤ BeautifulSoup 解析⽬录⻚⾯的 HTML,提取出版本号和软件包⽂件列表。
  3. 并⾏搜索:在 search 操作中,⼯具会启动多个线程并⾏扫描所有版本⽬录,以加快匹配速度。
  4. 缓存策略:首次获取的数据会以 JSON 格式存储在本地缓存中。在缓存有效期内,后续请求将直接从本地读取,避免了不必要的⽹络延迟。

注意事项

  • 缓存位置:缓存⽂件默认存储在 ~/.cache/sdk_manager/sdk_cache.json
  • 缓存有效期:缓存默认有效期为 1 ⼩时(3600 秒),可在脚本的 CACHE_TTL 全局变量中修改。
  • 组件源:各组件的下载地址在脚本内的 COMPONENT_TYPES 字典中定义。

Project details


Download files

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

Source Distribution

helix_cli-0.1.0.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

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

helix_cli-0.1.0-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

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

Hashes for helix_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7ea94dcb039a2e04104c42102c68e3839d89e77a27a87e5bf3a86353426df478
MD5 9758303b24b6daa2a933aec197c6313c
BLAKE2b-256 6242d699208c1417ce69865834cded2bd608aeb287f41c3cb7b7b9cdd7a1c7c4

See more details on using hashes here.

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

Hashes for helix_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e4ee28b4cfe1ed524954d64ccca5a1fb18b5d7f197683a30623ea1d4f7444d31
MD5 4712c17db1faca1be710ef1bed985805
BLAKE2b-256 c7b127cab89d191a387e4a298f48f894ffb2570c407bd2dd0b778a48ecef1e88

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page