Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cnpryer/huak
My experimental Python package manager.
https://github.com/cnpryer/huak
python rust
Last synced: 13 days ago
JSON representation
My experimental Python package manager.
- Host: GitHub
- URL: https://github.com/cnpryer/huak
- Owner: cnpryer
- License: mit
- Created: 2022-08-26T20:05:06.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-05-04T17:58:47.000Z (6 months ago)
- Last Synced: 2024-10-05T23:15:09.950Z (about 1 month ago)
- Topics: python, rust
- Language: Rust
- Homepage: https://cnpryer.github.io/huak/
- Size: 4.34 MB
- Stars: 615
- Watchers: 7
- Forks: 34
- Open Issues: 72
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: docs/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[![ci](https://github.com/cnpryer/huak/actions/workflows/ci.yaml/badge.svg)](https://github.com/cnpryer/huak/actions/workflows/ci.yaml)
# huak
## About
A Python package manager written in Rust. The [Cargo](https://github.com/rust-lang/cargo) for Python.
> ⚠️ Disclaimer: `huak` is in an experimental state (see [#602](https://github.com/cnpryer/huak/issues/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.
## README Contents
- [Installation](#installation)
- [Usage](#usage)
- [Documentation](https://cnpryer.github.io/huak/user_guide/)
- [Goals and Motivation](#goals)
- [Contributing](#contributing)## Installation
To install Huak from source using Cargo:
```
cargo install --git https://github.com/cnpryer/huak.git huak
```> ⚠️ WARNING: The PyPI distribution is outdated.
## Usage
```console
A Python package manager written in Rust and inspired by Cargo.Usage: huak [OPTIONS]
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
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
```## 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](/docs/CONTRIBUTING.md) before you start contributing.