10 个版本

0.0.8-alpha.22023年1月17日
0.0.7-alpha.32022年10月22日
0.0.4-alpha.12022年9月28日
0.0.0 2022年8月26日

#588 in 开发工具

每月22次下载

MIT 许可证

2MB
3K SLoC

ci-rust ci-python crates.io discord

huak

Huak logo


关于

用 Rust 编写的 Python 软件包管理器。Python 的 Cargo。

⚠️ 声明:huak 的 PoC(原型)基本完成。

Huak 旨在支持开发 Python 软件包和项目的基线工作流程。过程是线性的、目的导向的,以便更好地熟悉步骤。

graph LR
    A[Workflow Startup] --> B[Project Change]
    B --> C[Project Test]
    C --> D[Project Distribution]

请参阅 设计文档 了解更多工作流程细节。

目标是创建一个有见解的工具,以支持 Python 生态系统可靠的欢迎体验,感觉响应迅速且操作流畅。

里程碑和项目板

请查看 此里程碑列表问题板,以检查任何时间点的项目状态。

README 内容

安装

预计将出现 PoC、Alpha 版本和 0.1.0 版本。

Alpha 阶段,您需要显式安装可用的最新预发布版本。

使用 pip 安装

❯ pip install huak--

使用 cargo 安装

❯ cargo install huak --version crates.io

大约在0.1.0版本中,您将能够使用brew安装huak。更详细的分发计划将在0.1.0版本附近确定。

 huak help

A Python package manager written in Rust inspired by Cargo.

Usage: huak <COMMAND>

Commands:
  activate  Activate the project's virtual environment
  add       Add a dependency to the existing project
  audit     Check for vulnerable dependencies and license compatibility*
  build     Build tarball and wheel for the project
  config    Interact with the configuration of huak
  clean     Remove tarball and wheel from the built project
  doc       Generates documentation for the project*
  fix       Auto-fix fixable lint conflicts
  fmt       Format the project's Python code
  init      Initialize the existing project
  install   Install the dependencies of an existing project
  lint      Lint the project's Python code
  new       Create a new project at <path>
  publish   Builds and uploads current project to a registry*
  remove    Remove a dependency from the project
  run       Run a command within the project's environment context
  test      Test the project's Python code
  update    Update dependencies added to the project*
  version   Display the version of the project
  help      Print this message or the help of the given subcommand(s)

"*"表示实现的第一阶段是不完整的。

请注意,huak activate目前在Windows上仅部分支持。有关更多详细信息,请参阅相关的问题

文档

如果您已克隆了仓库,请运行cargo doc --open

有关0.0.x版本的某些文档将出现在docs.rs上。在0.1.0版本发布时,我希望为用户、贡献者和好奇者提供更多关于Huak的稳健文档。

目标

除了我在Python生态系统中的经验之外,还有一些额外的指导原则在引导Huak的开发

1. 开源 📚

开源在工具和职业发展方面为我做了很多。我很乐意将Huak作为一个帮助新入门者(像我一样)的方式。

2. 只用 huak

我喜欢Rust的入门体验。Cargo在其中扮演了重要角色。它是一个让新入门者尝试的好工具。Huak可以为Python提供相同的体验。

3. 快速 ⚡️

Python生态系统中有空间让工具更快。一个指导原则将是“这是否是最快的?”

4. Python 🤝 Rust

JavaScript已经出现了一个“走向Rust”的子社区。Python似乎也在逐渐形成。Huak将为这两门语言的交汇点提供动力。

贡献

在开始贡献之前,请阅读我们的贡献指南

更多

有关项目、设计动机和各种架构文档的更多信息,请参阅设计文档

依赖项

~21–55MB
~1M SLoC