Metadata-Version: 2.4
Name: python-cq
Version: 0.12.0
Summary: Lightweight CQRS library for async Python projects.
Project-URL: Repository, https://github.com/100nm/python-cq
Author: remimd
License-Expression: MIT
License-File: LICENSE
Keywords: cqrs
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: <3.15,>=3.12
Requires-Dist: anyio
Requires-Dist: python-injection
Requires-Dist: type-analyzer
Description-Content-Type: text/markdown

# python-cq

[![CI](https://github.com/100nm/python-cq/actions/workflows/ci.yml/badge.svg)](https://github.com/100nm/python-cq)
[![PyPI - Version](https://img.shields.io/pypi/v/python-cq.svg?color=blue)](https://pypi.org/project/python-cq)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/python-cq.svg?color=blue)](https://pypistats.org/packages/python-cq)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)

Lightweight library for separating Python code according to **Command and Query Responsibility Segregation** principles.

Dependency injection is handled by [python-injection](https://github.com/100nm/python-injection).

Easy to use with [FastAPI](https://github.com/fastapi/fastapi).

## Installation

⚠️ _Requires Python 3.12 or higher_

```bash
pip install python-cq
```

## Resources

* [**Writing Application Layer**](https://github.com/100nm/python-cq/tree/prod/documentation/writing-application-layer.md)
* [**Pipeline**](https://github.com/100nm/python-cq/tree/prod/documentation/pipeline.md)
* [**FastAPI Example**](https://github.com/100nm/python-cq/tree/prod/documentation/fastapi-example.md)
