Metadata-Version: 2.4
Name: zpp-beta
Version: 0.1.4
Summary: ZPP: Zero-hassle C++ build/run, metrics, and optimization hints with a real-time terminal UI
Author: ZPP Authors
License: MIT
License-File: LICENSE
Keywords: benchmark,c++,cli,developer-tools,g++,optimization,textual
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: System :: Benchmark
Requires-Python: <3.13,>=3.10
Requires-Dist: colorama==0.4.*; platform_system == 'Windows'
Requires-Dist: httpx==0.27.*
Requires-Dist: psutil==5.9.*
Requires-Dist: rich==13.8.*
Requires-Dist: textual==0.79.*
Requires-Dist: tomli-w==1.0.*
Requires-Dist: tomli==2.0.*; python_version < '3.11'
Requires-Dist: typer==0.12.*
Provides-Extra: dev
Requires-Dist: mypy==1.11.*; extra == 'dev'
Requires-Dist: pytest-xdist==3.6.*; extra == 'dev'
Requires-Dist: pytest==8.3.*; extra == 'dev'
Requires-Dist: ruff==0.6.*; extra == 'dev'
Description-Content-Type: text/markdown

### ZPP

Fast C++ build/run, metrics, and optimization hints with a real-time terminal UI.

[CI badge](https://github.com/yourname/zpp/actions)

### Quickstart

```bash
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 quickly
- `zpp 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 doctor`
- `zpp install-gpp [--dry-run] [--yes]`
- `zpp init`
- `zpp config`
- `zpp selfcheck`

### Auto-update for clients

If installed via pipx:
```bash
pipx upgrade zpp-beta
```

Or use the built-in command:
```bash
zpp self-update
```

Admins can point to TestPyPI for canary:
```bash
zpp self-update --index-url https://test.pypi.org/simple/
```

### Release process

- Push to `main` publishes to TestPyPI automatically.
- Tag a release `vX.Y.Z` to publish to PyPI.

### Snippets (Hints)

Before:
```cpp
vector<int> a;
for (int i=0;i<n;i++) a.push_back(i);
```
After:
```cpp
vector<int> a;
a.reserve(n);
for (int i=0;i<n;i++) a.push_back(i);
```

Before:
```cpp
void f(std::string s);
```
After:
```cpp
void f(const std::string& s); // or std::string_view
```

Before:
```cpp
for(...) y += pow(x, 2);
```
After:
```cpp
y += x * x;
```

### Packaging

- `pyproject.toml` exposes `zpp` entrypoint
- Optional single-binary via PyInstaller

### License

MIT

