Metadata-Version: 2.4
Name: kitefrost-core
Version: 1.0.0
Summary: Shared runtime core (transport, auth, errors, shared-core resource clients) that every per-pack KiteFrost SDK depends on (PPI-3, D-PPI-SDK-BUNDLING Option A).
Project-URL: Homepage, https://kitefrost.ai
Project-URL: Repository, https://github.com/kitefrost/python-sdk
Project-URL: Issues, https://github.com/kitefrost/python-sdk/issues
License: MIT
Keywords: ai,core,kitefrost,runtime,sdk
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT 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: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Requires-Dist: httpx>=0.27.0
Provides-Extra: dev
Requires-Dist: mypy>=1.10.0; extra == 'dev'
Requires-Dist: pytest-httpx>=0.30.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.8.0; extra == 'dev'
Description-Content-Type: text/markdown

# kitefrost-core

Shared runtime core for the KiteFrost per-pack SDKs (PPI-3, D-PPI-SDK-BUNDLING
Option A). Importable as `kitefrost_core`.

It owns the cross-pack infrastructure surface so each per-pack SDK does not
duplicate it:

- HTTP transport (single httpx connection pool)
- Auth provider with one-shot 401 refresh
- Typed error hierarchy (`KiteFrostError` and subclasses)
- The SHARED_TAGS resource clients (auth, keys, billing, projects, events,
  context, byok, webhooks, health)
- A lockstep version stamp (`CORE_VERSION`) the per-pack SDKs pin

```python
from kitefrost_core import KiteFrostCore

core = KiteFrostCore(api_key="sk_live_...")
print(core.health.check())
```

When a customer installs more than one per-pack SDK, the packs share a single
`KiteFrostCore` instance, so they share one auth provider and one connection
pool (the Option-A DX win).
