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 zynpp # or: pip install --user zynpp
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 zynpp
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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
zynpp-0.1.9.tar.gz
(14.7 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
zynpp-0.1.9-py3-none-any.whl
(17.2 kB
view details)
File details
Details for the file zynpp-0.1.9.tar.gz.
File metadata
- Download URL: zynpp-0.1.9.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65c3c69c65c9ef35793485078ae901a88c3d0040b326e189adda5a2224df663a
|
|
| MD5 |
fac7032ece37c2a30040d7b18dbd0ed0
|
|
| BLAKE2b-256 |
843d61e177c8c13eb50f134c0f130e2865dc5e2ae9f36479106298382fa7ce4f
|
File details
Details for the file zynpp-0.1.9-py3-none-any.whl.
File metadata
- Download URL: zynpp-0.1.9-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 |
66845199527ab5c84522400874a6c98bd10d35ea8422ad95571efadd94b8cdb8
|
|
| MD5 |
750330f39ca0943fd63a35b05a270163
|
|
| BLAKE2b-256 |
ed5bc282b703f7df002f7632b4bbf4755d13af64c5299a7784e03744d34d5458
|