Python service scaffolding with zero learning curve
Project description
kraft
Python service scaffolding with zero learning curve.
Installation
Using uvx (recommended - no installation needed)
uvx kraft
Using uv tool (persistent installation)
uv tool install kraft-cli
kraft create my-api
Using pipx (if you have it)
pipx install kraft-cli
kraft create my-api
Using pip (traditional installation)
If you get "externally managed environment" error, try:
# Option 1: Install to user directory
pip3 install --user kraft-cli
kraft create my-api
# Option 2: Use pipx (install it first if needed)
pip3 install --user pipx
pipx install kraft-cli
kraft create my-api
# Option 3: Use a virtual environment
python3 -m venv ~/kraft-env
source ~/kraft-env/bin/activate
pip3 install kraft-cli
kraft create my-api
Note: If you get "externally managed environment" error with pip, use uvx or uv tool install instead.
Shell Completion (Optional)
kraft supports shell completion for bash, zsh, and fish. To enable it:
# For bash
kraft --install-completion bash
# For zsh
kraft --install-completion zsh
# For fish
kraft --install-completion fish
After installation, restart your shell or reload your config. You'll then be able to use Tab to autocomplete commands and options.
Development
Setup
Using uv (recommended):
uv sync --extra dev
Using pip:
pip install -e ".[dev]"
Running Tests
# With uv
uv run pytest
# With pip (after activating venv)
pytest
Linting
# With uv
uv run ruff check src/
# With pip (after activating venv)
ruff check src/
Type Checking
# With uv
uv run mypy src/
# With pip (after activating venv)
mypy src/
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kraft_cli-0.1.1.tar.gz.
File metadata
- Download URL: kraft_cli-0.1.1.tar.gz
- Upload date:
- Size: 53.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ec054e0fb8e9681fd1cbf9c5ff53e883f71310ad940e26ec338e059178b2402
|
|
| MD5 |
9f9da9c5712f314db03f1249c3e5d7c0
|
|
| BLAKE2b-256 |
9e9b937d0ea2454eecbe5810099c405b01c3c73b7d9a23d19ae7278073c29088
|
File details
Details for the file kraft_cli-0.1.1-py3-none-any.whl.
File metadata
- Download URL: kraft_cli-0.1.1-py3-none-any.whl
- Upload date:
- Size: 2.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
991ec234b0e95d18d1a08ffb801f5b36ecc27d106dfa7fd432d6f70b9e92c71d
|
|
| MD5 |
b59cccf53a3fc7526ba983c4b4bdcb54
|
|
| BLAKE2b-256 |
e09d1030929ca2dced480940931f5b2c049ebd9387078acf73f9bd45f2274e20
|