Metadata-Version: 2.4
Name: forze
Version: 0.1.8
Project-URL: homepage, https://github.com/morzecrew/forze
Project-URL: documentation, https://morzecrew.github.io/forze/
Project-URL: changelog, https://github.com/morzecrew/forze/blob/main/CHANGELOG.md
Author-email: Lev Litvinov <misery7100@gmail.com>
Maintainer-email: Lev Litvinov <misery7100@gmail.com>
License: Copyright (c) 2026 Lev Litvinov and contributors
        
        Permission is hereby granted, free of charge, to any person obtaining
        a copy of this software and associated documentation files (the
        "Software"), to deal in the Software without restriction, including
        without limitation the rights to use, copy, modify, merge, publish,
        distribute, sublicense, and/or sell copies of the Software, and to
        permit persons to whom the Software is furnished to do so, subject to
        the following conditions:
        
        The above copyright notice and this permission notice shall be
        included in all copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
        EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
        MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
        IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
        CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
        TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
        SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
License-File: LICENSE
Keywords: architecture,ddd,domain-driven-design,framework,hexa,hexagonal,hexagonal-architecture,kernel
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries
Requires-Python: <3.15,>=3.13
Requires-Dist: attrs>=25.4.0
Requires-Dist: deepdiff>=8.6.1
Requires-Dist: mergedeep>=1.3.4
Requires-Dist: more-itertools>=10.8.0
Requires-Dist: orjson>=3.11.7
Requires-Dist: pydantic-extra-types>=2.11.0
Requires-Dist: pydantic>=2.12.5
Requires-Dist: python-dateutil>=2.9.0.post0
Requires-Dist: pyyaml>=6.0.3
Requires-Dist: tenacity>=9.1.4
Provides-Extra: fastapi
Requires-Dist: fastapi>=0.135.1; extra == 'fastapi'
Requires-Dist: httpx>=0.28.0; extra == 'fastapi'
Requires-Dist: scalar-fastapi>=1.8.0; extra == 'fastapi'
Requires-Dist: starlette>=0.52.1; extra == 'fastapi'
Provides-Extra: mongo
Requires-Dist: pymongo>=4.16.0; extra == 'mongo'
Provides-Extra: postgres
Requires-Dist: psycopg-pool>=3.3.0; extra == 'postgres'
Requires-Dist: psycopg[binary]>=3.3.3; extra == 'postgres'
Provides-Extra: rabbitmq
Requires-Dist: aio-pika>=9.6.1; extra == 'rabbitmq'
Provides-Extra: redis
Requires-Dist: redis>=7.3.0; extra == 'redis'
Provides-Extra: s3
Requires-Dist: aioboto3>=15.5.0; extra == 's3'
Requires-Dist: aiobotocore>=2.25.1; extra == 's3'
Requires-Dist: botocore>=1.40.61; extra == 's3'
Requires-Dist: python-magic>=0.4.27; extra == 's3'
Requires-Dist: types-aioboto3[s3]>=15.5.0; extra == 's3'
Requires-Dist: types-aiobotocore>=3.1.3; extra == 's3'
Provides-Extra: sqs
Requires-Dist: aioboto3>=15.5.0; extra == 'sqs'
Requires-Dist: aiobotocore>=2.25.1; extra == 'sqs'
Requires-Dist: botocore>=1.40.61; extra == 'sqs'
Requires-Dist: types-aioboto3[sqs]>=15.5.0; extra == 'sqs'
Requires-Dist: types-aiobotocore>=3.1.3; extra == 'sqs'
Provides-Extra: temporal
Requires-Dist: temporalio>=1.23.0; extra == 'temporal'
Description-Content-Type: text/markdown

# Forze

**Forze** is a lightweight infrastructure toolkit for building backend services
with **Domain-Driven Design (DDD)** and **Hexagonal Architecture**.

It provides a set of reusable primitives, contracts, and structural patterns
that help organize backend applications into clear, maintainable layers.

## Design Goals

Forze aims to support backend systems that are:

- **Layered** — clear separation between domain, application, and infrastructure
- **Explicit** — well-defined ports, adapters, and boundaries
- **Testable** — components can be tested in isolation
- **Composable** — infrastructure pieces can be replaced or extended
- **Framework-agnostic** — the core does not depend on a specific framework

The library focuses on providing **structure and contracts**, not a full-stack framework.

## Quick Start

Install the core package:

```bash
uv add forze
```

Install with optional integrations:

```bash
uv add 'forze[fastapi,postgres]'
```

## Versioning

Forze follows [Semantic Versioning (SemVer)](https://semver.org/). 
Pre-release builds may include experimental APIs and are not guaranteed to be stable.

## Contributing

Contributions, issues, and feature requests are welcome. 
See [CONTRIBUTING.md](https://github.com/morzecrew/forze/blob/main/CONTRIBUTING.md) for details.

## Security

Please report security vulnerabilities privately as described in [SECURITY.md](https://github.com/morzecrew/forze/blob/main/SECURITY.md).

## License

Forze is licensed under the MIT License - see [LICENSE](https://github.com/morzecrew/forze/blob/main/LICENSE) for details.