ZPP: Zero-hassle C++ build/run, metrics, and optimization hints with a real-time terminal UI
Project description
ZPP
Fast C++ build/run, metrics, and optimization hints with a real-time terminal UI.
Quickstart
pipx install zpp-beta # or: pip install --user zpp-beta
zpp init
zpp main.cpp # build + run
zpp ui main.cpp # open two-pane UI
Features
- Build/run defaults:
-std=c++17 -O2 -pipe -Wall -Wextra - Two-pane Textual UI: left code, right metrics and hints
- Rule-based hints (offline) + optional AI hints
- Bench and mem commands for performance
- Auto-install guidance for g++/clang++ on Linux/macOS/Windows
CLI
zpp <file.cpp>: build + run quicklyzpp build <file.cpp> [--release] [--debug] [--flags "..."]zpp run [binary | file.cpp] [--args "..."]zpp bench <file.cpp> [--repeat 10]zpp mem <file.cpp>zpp hint <file.cpp> [--ai]zpp ui <file.cpp>zpp doctorzpp install-gpp [--dry-run] [--yes]zpp initzpp configzpp selfcheck
Auto-update for clients
If installed via pipx:
pipx upgrade zpp-beta
Or use the built-in command:
zpp self-update
Admins can point to TestPyPI for canary:
zpp self-update --index-url https://test.pypi.org/simple/
Release process
- Push to
mainpublishes to TestPyPI automatically. - Tag a release
vX.Y.Zto publish to PyPI.
Snippets (Hints)
Before:
vector<int> a;
for (int i=0;i<n;i++) a.push_back(i);
After:
vector<int> a;
a.reserve(n);
for (int i=0;i<n;i++) a.push_back(i);
Before:
void f(std::string s);
After:
void f(const std::string& s); // or std::string_view
Before:
for(...) y += pow(x, 2);
After:
y += x * x;
Packaging
pyproject.tomlexposeszppentrypoint- Optional single-binary via PyInstaller
License
MIT
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 Distribution
zpp_beta-0.1.4.tar.gz
(14.5 kB
view details)
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
zpp_beta-0.1.4-py3-none-any.whl
(17.2 kB
view details)
File details
Details for the file zpp_beta-0.1.4.tar.gz.
File metadata
- Download URL: zpp_beta-0.1.4.tar.gz
- Upload date:
- Size: 14.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e4c370dd672a7be7f8e166936bd3ebc3a5167608bf22a5be4894ce92bddf8e1
|
|
| MD5 |
aa92ff6431f5714386e904f8cfa28de8
|
|
| BLAKE2b-256 |
e00f1ea28f96994582081ba74e986185493311f43ac0b3e9de534c00855de8fa
|
File details
Details for the file zpp_beta-0.1.4-py3-none-any.whl.
File metadata
- Download URL: zpp_beta-0.1.4-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc85207760231c446cb364d393c2cda4b5bffc565279969309ffdad7a6ee18be
|
|
| MD5 |
8265dba9d5350c6d93724a1e9e57dc3c
|
|
| BLAKE2b-256 |
bd84e1d616425ace0e8e37f14eca693b922127aa7333b3a9cc7653111b5cffb9
|