Metadata-Version: 2.4
Name: pyvorin-thin
Version: 1.0.0rc6
Summary: Pyvorin Thin Client — remote compile, licensing, and usage metering
Author: Pyvorin Team
License: MIT
Keywords: compiler,optimization,licensing,usage,thin-client
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: typer<0.13,>=0.9
Requires-Dist: click<8.2,>=8.1
Requires-Dist: rich<14,>=13.7
Provides-Extra: local-native
Requires-Dist: pyvorin>=1.0.0rc2; extra == "local-native"
Provides-Extra: dev
Requires-Dist: pytest>=7.4; extra == "dev"
Requires-Dist: pytest-cov>=4.1; extra == "dev"

# Pyvorin Thin Client

**Experimental / Internal — Private Pilot Only**

The `pyvorin-thin` package is a safe, compiler-free client for Pyvorin's remote compilation, licensing, and usage metering APIs. It does **not** contain the Pyvorin compiler and cannot compile code locally.

## What It Does

- **License checking** — Validate license keys against the Pyvorin license API.
- **Workload scanning** — Statically analyse Python files for Pyvorin compatibility without executing code.
- **Usage event validation** — Build and validate usage events for billing telemetry.
- **Remote compile client** — Submit compilation jobs to a Pyvorin remote API (requires explicit configuration).

## What It Does NOT Do

- Compile Python code locally.
- Ship compiler internals or HMAC secrets.
- Send customer source code unless explicitly enabled (`PYVORIN_THIN_SEND_SOURCE=1`).

## Installation

```bash
pip install pyvorin-thin --index-url https://pypi.pyvorin.com/simple
```

## Quick Start

```bash
# Check environment
pyvorin-thin doctor

# Scan a Python file for compatibility
pyvorin-thin scan my_script.py

# Validate a usage event JSON file
pyvorin-thin usage-validate event.json

# Check license status
pyvorin-thin license-check --key PYV-XXXX-XXXX-XXXX
```

## Configuration

Create an example config:

```bash
pyvorin-thin config-init
```

Edit `~/.pyvorin/thin_config.json` to set API URLs and customer identity.

Environment variables override config values:

| Variable | Overrides |
|----------|-----------|
| `PYVORIN_THIN_LICENSE_API_URL` | `license_api_url` |
| `PYVORIN_THIN_USAGE_API_URL` | `usage_api_url` |
| `PYVORIN_THIN_COMPILE_API_URL` | `compile_api_url` |
| `PYVORIN_THIN_MOCK_MODE` | `mock_mode` |

## Safety

- No compiler internals are included in this package.
- No HMAC secrets are shipped.
- License keys are hashed before logging.
- Source code is never transmitted unless `PYVORIN_THIN_SEND_SOURCE=1` is set.

## License

MIT — see `pyvorin` full package for commercial licensing terms.
