A Python package manager written in Rust inspired by Cargo.
Project description
huak
About
A Python package manager written in Rust. The Cargo for Python.
⚠️ Disclaimer:
huak
is in an experimental state.
Huak 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.
graph LR
A[Workflow Startup] --> B[Project Change]
B --> C[Project Test]
C --> D[Project Distribution]
See the design doc for more workflow details.
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.
Project Status
See the milestone list to check the status of this project at any point in time.
README Contents
Installation
❯ pip install huak
Usage
❯ 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)
Options:
-h, --help Print help
-V, --version Print version
"*" indicates first-pass of implementation is incomplete.
Documentation
More documentation can be found here.
Goals
1. Just use huak
✨
The Rust ecosystem has a fantastic onboarding experience. Cargo plays a large role. Huak can provide the same experience for Python.
2. Fast ⚡️
There's room for faster tooling in the Python ecosystem. One of the guiding principles will be "Is this the fastest it can be?".
3. Python 🤝 Rust
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.
Contributing
Please read our contributing guide before you start contributing.
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 Distributions
Built Distributions
Hashes for huak-0.0.11-py3-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4260f3414987974192100e1d2b36e2e8d17dc425109ba90bab53ba6abb3a20ad |
|
MD5 | d70e1b1f3fe1a3cf493679c347070606 |
|
BLAKE2b-256 | 67dc2c7c27a4237f84b87aabcd75563e557ff223e0e49883d725ce0f97e69e50 |
Hashes for huak-0.0.11-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 361f1148810622d34d653051d36a1efec1ba8d4f3f34990b0f76416e346bae7f |
|
MD5 | 21c9f35487042cdca959d91668922b7b |
|
BLAKE2b-256 | e32630068275e16e65231345d1d44cef000bff3c1e88a873f9386da0313a9404 |
Hashes for huak-0.0.11-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c836624aa73a9a72f5b219ecbeb0af9a0394275b79cfe9afe21e9ed3385d0afb |
|
MD5 | 0ad120a2b2f71cbcabf3c1c65fd7e24e |
|
BLAKE2b-256 | f366c4877380154aef0d48d025972404763312b9f163d51c8c05d0d4f06b07ce |
Hashes for huak-0.0.11-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a785400fccc18d3d2b9d9c626e291ed111205043364b637215b9b744925c2f46 |
|
MD5 | 14096ad63985128cf935fa6f63206dd5 |
|
BLAKE2b-256 | efc593527c64b430066bf59ca2d429dc9c800e7b18b0f26f0d78c72503754761 |