Metadata-Version: 2.4
Name: zecmf
Version: 0.1.27
Summary: A framework for building microservices in Python
Author-email: Hendrik Buchwald <hb@zecure.org>
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.12
Description-Content-Type: text/markdown
Requires-Dist: Flask<4.0,>=3.1
Requires-Dist: Werkzeug<4.0,>=3.1
Requires-Dist: Jinja2<4.0,>=3.1
Requires-Dist: click<9.0,>=8.1
Requires-Dist: Flask-Cors<7.0,>=6.0
Requires-Dist: Flask-JWT-Extended!=4.7.2,!=4.7.3,<5.0,>=4.6
Requires-Dist: Flask-Migrate<5.0,>=4.0
Requires-Dist: Flask-RESTX<2.0,>=1.3
Requires-Dist: Flask-SQLAlchemy<4.0,>=3.1
Requires-Dist: SQLAlchemy<3.0,>=2.0
Requires-Dist: PyJWT[crypto]<3.0,>=2.11
Requires-Dist: celery<6.0,>=5.4
Requires-Dist: jsonschema<5.0,>=4.20
Requires-Dist: python-dotenv<2.0,>=1.0
Requires-Dist: requests<3.0,>=2.31
Provides-Extra: test
Requires-Dist: pytest<9.0,>=8.0; extra == "test"
Requires-Dist: pytest-cov<7.0,>=5.0; extra == "test"
Provides-Extra: lint
Requires-Dist: ruff<1.0,>=0.6; extra == "lint"
Provides-Extra: typecheck
Requires-Dist: mypy<2.0,>=1.10; extra == "typecheck"
Requires-Dist: types-Flask-Migrate>=4.1; extra == "typecheck"
Requires-Dist: types-Flask-Cors>=4.0; extra == "typecheck"
Requires-Dist: types-jsonschema>=4.20; extra == "typecheck"
Requires-Dist: types-requests>=2.31; extra == "typecheck"
Provides-Extra: dev
Requires-Dist: zecmf[lint,test,typecheck]; extra == "dev"

# Zecure Microservices Framework (ZecMF)

A lightweight framework for building microservices in Python with Flask.

## Features

- **Application Factory**: Streamlined Flask application initialization
- **JWT Authentication**: Built-in JWT authentication with both RS256 and HS256 support
- **API Setup**: Simplified REST API initialization with Flask-RESTX
- **Database**: SQLAlchemy and Alembic integration
- **CLI Commands**: Common CLI commands for microservice management
- **Configuration**: Hierarchical configuration system with framework defaults and app-specific overrides

## Installation

```bash
pip install zecmf
```

## Debugging

If you want to include the code in your application for debugging purposes, you can simply mount it:

```
    volumes:
      - ${HOME}/Repos/Zecure/zecmf/src/zecmf:/home/appuser/.local/lib/python3.12/site-packages/zecmf:ro
```
