Metadata-Version: 2.4
Name: haolib
Version: 0.1.3
Summary: A Python utility library with common components for building applications in the HAO ecosystem
Author: Kamil Biktimirov
License-Expression: MIT OR Apache-2.0
Keywords: backend,microservices,observability,utilities
Requires-Python: >=3.14
Requires-Dist: httpx>=0.28.1
Requires-Dist: packaging>=25.0
Requires-Dist: pydantic-settings>=2.11.0
Requires-Dist: pydantic>=2.12.3
Requires-Dist: pytest-timeout>=2.4.0
Requires-Dist: uvloop>=0.21.0
Provides-Extra: dishka
Requires-Dist: dishka>=1.6.0; extra == 'dishka'
Provides-Extra: fastapi
Requires-Dist: fastapi>=0.120.1; extra == 'fastapi'
Requires-Dist: uvicorn>=0.35.0; extra == 'fastapi'
Provides-Extra: fastmcp
Requires-Dist: fastmcp>=2.13.0.2; extra == 'fastmcp'
Provides-Extra: faststream
Requires-Dist: faststream>=0.5.48; extra == 'faststream'
Provides-Extra: observability
Requires-Dist: opentelemetry-distro>=0.57b0; extra == 'observability'
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc>=1.36.0; extra == 'observability'
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.36.0; extra == 'observability'
Requires-Dist: opentelemetry-instrumentation-fastapi>=0.57b0; extra == 'observability'
Requires-Dist: opentelemetry-instrumentation-faststream>=0.1.3; extra == 'observability'
Requires-Dist: opentelemetry-instrumentation-httpx>=0.57b0; extra == 'observability'
Requires-Dist: opentelemetry-instrumentation-logging>=0.57b0; extra == 'observability'
Requires-Dist: opentelemetry-instrumentation>=0.57b0; extra == 'observability'
Requires-Dist: sentry-sdk>=2.35.0; extra == 'observability'
Provides-Extra: redis
Requires-Dist: redis>=6.4.0; extra == 'redis'
Provides-Extra: s3
Requires-Dist: aioboto3>=15.5.0; extra == 's3'
Provides-Extra: security
Requires-Dist: bcrypt>=4.3.0; extra == 'security'
Requires-Dist: cryptography>=45.0.6; extra == 'security'
Requires-Dist: pyjwt[crypto]>=2.10.1; extra == 'security'
Provides-Extra: sqlalchemy
Requires-Dist: sqlalchemy>=2.0.42; extra == 'sqlalchemy'
Provides-Extra: taskiq
Requires-Dist: taskiq-redis>=1.1.2; extra == 'taskiq'
Requires-Dist: taskiq>=0.11.19; extra == 'taskiq'
Description-Content-Type: text/markdown

<div align="center">

# **haolib**

### *Build better. Build faster. Build SOTA.*

A Python meta-framework for building observable, durable, and flexible applications.

[**Documentation**](https://lib.hao.vc) · [**Installation**](https://lib.hao.vc/essentials/installation) · [**Philosophy**](https://lib.hao.vc/essentials/philosophy)

---

</div>

## Quick Start

```bash
uv add haolib
```

```python
from haolib.entrypoints import HAOrchestrator
from haolib.entrypoints.fastapi import FastAPIEntrypoint
from fastapi import FastAPI

app = FastAPI()
entrypoint = FastAPIEntrypoint(app=app)

hao = HAOrchestrator().add_entrypoint(entrypoint)
await hao.run_entrypoints()
```

## Principles

- **User Experience** — Extremely convenient to use
- **Customizability** — Fully extensible and declarative
- **Meta-framework** — Solves high-level problems
- **SOTA** — State-of-the-art toolkit
- **Implementation-agnostic** — Replace any component
- **9/10** — Almost perfect. Almost.

## Features

**Entrypoints** · FastAPI · FastStream · TaskIQ · FastMCP
**Storages** · SQLAlchemy · S3 · Redis
**Pipelines** · Composable data operations
**Security** · JWT · Encryption · StackAuth
**Observability** · OpenTelemetry · Logging · Metrics
**Background** · Fair task queues · Scheduling

---

<div align="center">

**[Full Documentation →](https://lib.hao.vc)**

*MIT OR Apache-2.0*

</div>
