Metadata-Version: 2.4
Name: kbve
Version: 1.0.14
Summary: KBVE - API layer and complexity handler for async HTTP, WebSocket, gRPC, and broadcasting
License-Expression: LicenseRef-Proprietary
Requires-Python: <3.14,>=3.12
Requires-Dist: aiohappyeyeballs==2.7.1
Requires-Dist: aiohttp==3.14.1
Requires-Dist: aiosignal==1.4.0
Requires-Dist: annotated-doc==0.0.4
Requires-Dist: annotated-types==0.7.0
Requires-Dist: anyio==4.14.2
Requires-Dist: attrs==26.1.0
Requires-Dist: click==8.4.2
Requires-Dist: colorama==0.4.6; sys_platform == 'win32'
Requires-Dist: fastapi==0.139.2
Requires-Dist: frozenlist==1.8.0
Requires-Dist: grpcio==1.82.1
Requires-Dist: h11==0.16.0
Requires-Dist: httptools==0.8.0
Requires-Dist: idna==3.18
Requires-Dist: multidict==6.7.1
Requires-Dist: propcache==0.5.2
Requires-Dist: protobuf==5.29.6
Requires-Dist: pydantic-core==2.46.4
Requires-Dist: pydantic==2.13.4
Requires-Dist: python-dotenv==1.2.2
Requires-Dist: pyyaml==6.0.3
Requires-Dist: starlette==1.3.1
Requires-Dist: typing-extensions==4.16.0
Requires-Dist: typing-inspection==0.4.2
Requires-Dist: uvicorn==0.51.0
Requires-Dist: uvloop==0.22.1; platform_python_implementation != 'PyPy' and sys_platform != 'cygwin' and sys_platform != 'win32'
Requires-Dist: watchfiles==1.2.0
Requires-Dist: websockets==16.1.1
Requires-Dist: yarl==1.24.2
Provides-Extra: osrs
Provides-Extra: seo
Provides-Extra: sprite
Requires-Dist: numpy==2.5.1; extra == 'sprite'
Requires-Dist: pillow==11.3.0; extra == 'sprite'
Description-Content-Type: text/markdown

# kbve

API layer and complexity handler for async HTTP, WebSocket, gRPC, and broadcasting.

## Installation

```bash
pip install kbve
```

## Development

This package is part of the [KBVE](https://github.com/kbve/kbve) monorepo, managed with Nx and Poetry.

```bash
pnpm nx test python-kbve
pnpm nx lint python-kbve
pnpm nx build python-kbve
```

## OSRS item corpus (`kbve.osrs`, `--extra osrs`)

Survey/audit/family tooling for the OSRS item pages under
`apps/kbve/astro-kbve/src/content/docs/osrs/`. Scripts: `kbve-osrs-survey`,
`kbve-osrs-audit`, `kbve-osrs-families`.

`kbve-osrs-families` collapses near-identical items (poison, potion doses,
(un)charged, Barrows degrade tiers) onto one canonical page and emits the
axum-kbve 301 table. **Pruning member pages is one-way — the redirect JSON must
only ever be regenerated with `--merge`.** Full runbook: the module docstring in
[`kbve/osrs/families.py`](kbve/osrs/families.py) and
[`docs/plans/osrs/README.md`](../../../docs/plans/osrs/README.md).
