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.1.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.1-py3-none-any.whl
(17.9 kB
view details)
File details
Details for the file zynpp-2.0.1.tar.gz.
File metadata
- Download URL: zynpp-2.0.1.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 |
2af9e8c392a1d39a12a6c18aaf5a6537583ffa52c9b7c64bf7600e85f5515a54
|
|
| MD5 |
56c90f323e854269430b7bc691c861bf
|
|
| BLAKE2b-256 |
4b68d5f6df13289bad6ef3022a5e35cb346381bbaab8010fc125c35d0955dc19
|
File details
Details for the file zynpp-2.0.1-py3-none-any.whl.
File metadata
- Download URL: zynpp-2.0.1-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 |
8aa1f2ebda794d61ce04f4e068b3b918a14d498d1213c536bbdfd9afa2fb8eac
|
|
| MD5 |
203611f1a5c1b5e83eef7db3a82421ad
|
|
| BLAKE2b-256 |
4edcc59891af279b87acbecef1d3ec349c8f056a5252f98481a5a88c2d836ff8
|