Metadata-Version: 2.4
Name: pyeasycore
Version: 0.2.0
Summary: 
Author: Your Name
Author-email: you@example.com
Requires-Python: >=3.14
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: celery (>=5.6.0,<6.0.0)
Requires-Dist: fastapi (>=0.123.5,<0.124.0)
Requires-Dist: httpx (>=0.28.1,<0.29.0)
Requires-Dist: pydantic (>=2.12.5,<3.0.0)
Requires-Dist: pydantic-settings (>=2.12.0,<3.0.0)
Requires-Dist: python-json-logger (>=4.0.0,<5.0.0)
Requires-Dist: python-socketio (>=5.15.0,<6.0.0)
Description-Content-Type: text/markdown

# EasyCore

Core utilities for building small Python services with FastAPI and Celery.

## Features

- **FastAPI**: Pre-configured app factory with router management and exception handlers
- **Celery**: Custom task class with correlation ID tracking for distributed tracing
- **Logger**: Correlation ID middleware and context management for request tracking
- **HTTPX**: Monkey patching for enhanced logging
- **Settings**: Pydantic-based settings for Redis, MongoDB, RabbitMQ, API, and more
- **Abstractions**: Singleton metaclass and common patterns

## Installation

```bash
pip install easycore
```

## Quick Start

```python
from easycore import create_fastapi_api_app, create_celery_custom_task_class

# Create FastAPI app
app = create_fastapi_api_app(
    service_name="my-service",
    service_path="api/v1",
    routers=[my_router],
    custom_exc_handlers=None
)

# Create Celery custom task
CustomTask = create_celery_custom_task_class(logger)
```

## Components

- `efastapi`: FastAPI app factories
- `ecelery`: Celery task utilities with correlation ID support
- `elogger`: Logging with correlation ID tracking
- `ehttpx`: HTTPX logging patches
- `env_settings`: Pydantic settings for common services
- `connectors`: API connector utilities
- `abstractions`: Common patterns (Singleton, etc.)

