A Python package manager written in Rust. The Cargo for Python.
⚠️ Disclaimer:huak
is in an experimental state (see #602).
Huak ("hwok") aims to support a base workflow for developing Python packages and projects. The process is linear and purpose oriented, establishing better familiarization with the steps.
The goal is to create an opinionated tool to support a reliably inviting onboarding experience for the Python ecosystem, that feels responsive and snappy to use.
To install Huak from source using Cargo:
cargo install --git https://github.com/cnpryer/huak.git huak
⚠️ WARNING: The PyPI distribution is outdated.
A Python package manager written in Rust and inspired by Cargo.
Usage: huak [OPTIONS] <COMMAND>
Commands:
activate Activate the virtual environment
add Add dependencies to the project
build Build tarball and wheel for the project
clean Remove tarball and wheel from the built project
completion Generates a shell completion script for supported shells
fix Auto-fix fixable lint conflicts
fmt Format the project's Python code
init Initialize the current project
install Install a Python package (defaults to $HOME/.huak/bin)
lint Lint the project's Python code
new Create a new project at <path>
publish Builds and uploads current project to a registry
python Manage Python installations
remove Remove dependencies from the project
run Run a command with Huak
test Test the project's Python code
toolchain Manage toolchains
update Update the project's dependencies
version Display the version of the project
help Print this message or the help of the given subcommand(s)
Options:
-q, --quiet
--no-color
-h, --help Print help
-V, --version Print version
The Rust ecosystem has a fantastic onboarding experience. Cargo plays a large role. Huak can provide the same experience for Python.
There's room for faster tooling in the Python ecosystem. One of the guiding principles will be "Is this the fastest it can be?"
JavaScript has seen a "Going Rust" sub-community pop up. Huak is positioned well to help sustain future development of Rust-based software for the Python ecosystem.
Please read our contributing guide before you start contributing.