MCPcopy Index your code
hub / github.com/cnpryer/huak

github.com/cnpryer/huak @v0.0.19

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.0.19 ↗ · + Follow
277 symbols 1,140 edges 36 files 102 documented · 37% updated 2y agov0.0.19 · 2023-05-12★ 60270 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

pypi-release ci discord

huak

Huak logo

About

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.

README Contents

Installation

❯ pip install huak

Usage

❯ huak help

A Python package manager written in Rust 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
  completion  Generates a shell completion script for supported shells
  clean       Remove tarball and wheel from the built 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
  python      Manage Python installations
  remove      Remove dependencies from the project
  run         Run a command within the project's environment context
  test        Test the project's Python code
  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    
  -h, --help     Print help
  -V, --version  Print version

Documentation

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.

Extension points exported contracts — how you extend this code

ToSemVer (Interface)
A trait used to convert a struct to `SemVer`. [1 implementers]
src/huak/version.rs
ToTerminal (Interface)
(no doc)
src/huak/sys.rs

Core symbols most depended-on inside this repo

new
called by 70
src/bin/huak/cli.rs
path
called by 51
src/huak/python_environment.rs
to_string
called by 50
src/bin/huak/cli.rs
metadata
called by 48
src/huak/package.rs
as_ref
called by 45
src/huak/dependency.rs
workspace
called by 39
src/huak/config.rs
name
called by 31
src/huak/package.rs
current_local_metadata
called by 25
src/huak/workspace.rs

Shape

Function 129
Method 106
Class 35
Enum 5
Interface 2

Languages

Rust100%
Python1%

Modules by API surface

src/huak/python_environment.rs42 symbols
src/huak/metadata.rs41 symbols
src/bin/huak/cli.rs37 symbols
src/huak/sys.rs22 symbols
src/huak/version.rs15 symbols
src/huak/package.rs14 symbols
src/huak/workspace.rs12 symbols
src/huak/dependency.rs12 symbols
src/huak/environment.rs8 symbols
src/huak/fs.rs6 symbols
src/huak/ops/mod.rs5 symbols
src/huak/ops/add.rs5 symbols

For agents

$ claude mcp add huak \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page