Metadata-Version: 2.4
Name: prescale
Version: 0.2.0
Summary: Launch-readiness load testing for developers - find what breaks before your users do
Project-URL: Homepage, https://github.com/pyjeebz/prescale
Project-URL: Documentation, https://github.com/pyjeebz/prescale#readme
Project-URL: Repository, https://github.com/pyjeebz/prescale
Author-email: Mujeeb Lawal-Saka <lawalsakamujeeb@gmail.com>
License-Expression: Apache-2.0
Keywords: cli,devtools,launch,load-testing,performance,stress-test
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: Software Development :: Testing :: Traffic Generation
Requires-Python: >=3.10
Requires-Dist: click>=8.0.0
Requires-Dist: httpx[http2]>=0.24.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=13.0.0
Provides-Extra: dev
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Provides-Extra: mcp
Requires-Dist: mcp>=1.0; extra == 'mcp'
Description-Content-Type: text/markdown

# PreScale

**Launch-readiness load testing for developers — find what breaks before your users do.**

Point it at a URL. It ramps simulated traffic until something gives, then tells you, in plain English, what failed first and at what load.

```bash
pip install prescale
prescale run https://staging.myapp.com
```

```
Scale readiness: ⚠️  Survives ~90 concurrent users
First failure   errors climb at ~150 users
Likely cause    Server returned 5xx under load — likely DB pool exhaustion.
```

## Why

- **Zero config** — no test scripts, no account, one command against a URL.
- **Stack-agnostic** — Vercel, Fly, Railway, a VPS, serverless… it just needs a URL.
- **An answer, not a histogram** — "you're good to ~90 users, your DB is the wall."
- **Safe by default** — won't hammer a non-local host until you confirm you own it.

## Usage

```bash
prescale run <url> [-u MAX_USERS] [-s STAGE_SECONDS] [--latency-wall S]
                   [--error-threshold R] [-m METHOD] [--timeout S]
                   [--i-own-this] [--json]
```

Requires Python 3.10+. Full docs and source: https://github.com/pyjeebz/PreScale

## License

Apache 2.0
