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-2.0.2.tar.gz
(15.3 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-2.0.2-py3-none-any.whl
(17.9 kB
view details)
File details
Details for the file zynpp-2.0.2.tar.gz.
File metadata
- Download URL: zynpp-2.0.2.tar.gz
- Upload date:
- Size: 15.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67f3e4df473f372b1482fa260f704f1c1964bf7b29d0b17d4f8dafe50dee87f8
|
|
| MD5 |
e20ddc35ff188a75dd6c6db14adb0545
|
|
| BLAKE2b-256 |
17a2ef843a1459251cddaece91cac2a037bcd80d208707514279ec7df6af0d4a
|
File details
Details for the file zynpp-2.0.2-py3-none-any.whl.
File metadata
- Download URL: zynpp-2.0.2-py3-none-any.whl
- Upload date:
- Size: 17.9 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 |
d1a7342415ffe05e6182bf82ceab47494929c8e699b5449f280aacc95c620b9f
|
|
| MD5 |
a9e4cec80d337d011a162281b742ca7b
|
|
| BLAKE2b-256 |
171b5ae3c51f3a3a2be9a035dbfce4bd008aae336b1cfbb2592cacb74afc57ed
|