Metadata-Version: 2.4
Name: qx-py
Version: 1.0.0
Summary: Qx Python framework — installs the full stack in one command
Author: Qx Engineering
License: MIT
Keywords: cqrs,ddd,fastapi,framework,nats,qx,sqlalchemy
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.14
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Requires-Python: >=3.14
Requires-Dist: qx-auth>=0.1.0
Requires-Dist: qx-cache>=0.1.0
Requires-Dist: qx-cli>=0.1.0
Requires-Dist: qx-core>=0.1.0
Requires-Dist: qx-cqrs>=0.1.0
Requires-Dist: qx-db>=0.1.0
Requires-Dist: qx-devtools>=0.1.0
Requires-Dist: qx-di>=0.1.0
Requires-Dist: qx-events>=0.1.0
Requires-Dist: qx-eventstore>=0.1.0
Requires-Dist: qx-flags>=0.1.0
Requires-Dist: qx-grpc>=0.1.0
Requires-Dist: qx-http>=0.1.0
Requires-Dist: qx-observability>=0.1.0
Requires-Dist: qx-projections>=0.1.0
Requires-Dist: qx-regions>=0.1.0
Requires-Dist: qx-saga>=0.1.0
Requires-Dist: qx-search>=0.1.0
Requires-Dist: qx-testing>=0.1.0
Requires-Dist: qx-worker>=0.1.0
Description-Content-Type: text/markdown

# qx-py

Full-stack Qx framework — installs all 20 sub-packages in one command.

```bash
pip install qx-py
```

## What's included

| Package | Purpose |
|---|---|
| `qx-core` | Result, Error, Entity, AggregateRoot, RequestContext |
| `qx-di` | Async DI container (SINGLETON / SCOPED / TRANSIENT) |
| `qx-cqrs` | Command / Query mediator + pipeline behaviors |
| `qx-db` | SQLAlchemy 2 async, Repository, UnitOfWork, outbox |
| `qx-cache` | Redis client, IdempotencyStore, DistributedLock |
| `qx-events` | NATS JetStream publisher/consumer, OutboxRelay |
| `qx-http` | FastAPI envelope, middleware, DI bridge, health probes |
| `qx-worker` | NATS consumer runtime with ack / nak / drop |
| `qx-observability` | structlog, OpenTelemetry, Prometheus |
| `qx-auth` | JWT, OIDC, RBAC, rate limiting |
| `qx-grpc` | gRPC server factory + interceptors |
| `qx-search` | OpenSearch async client + SearchRepository |
| `qx-saga` | Process managers / orchestrated sagas with compensation |
| `qx-eventstore` | Event-sourced aggregates with snapshot support |
| `qx-projections` | Incremental read-model projections from the event stream |
| `qx-flags` | Feature flags via OpenFeature |
| `qx-regions` | Multi-region tenant routing and cross-region event replication |
| `qx-testing` | testcontainers helpers, MediatorStub, OutboxAssert |
| `qx-cli` | `qx` CLI: scaffold service, generate aggregates/commands/queries |
| `qx-devtools` | Shared ruff / mypy / pre-commit configs |

## Cherry-picking

Each package is independently installable. For a lightweight service
that only needs the core CQRS + HTTP stack:

```bash
pip install qx-core qx-di qx-cqrs qx-db qx-http qx-observability
```

See each package's README for its own dependency requirements.
