# ennvee_commons

A collection of reusable Python utility modules designed to simplify common tasks across projects. This package includes utilities for email sending, SMS, captcha handling, logging, error handling, and middleware support.


---

## Modules Overview

### 1. `email_utils.py`  
Send emails through Microsoft Graph API with support for multiple recipients, attachments, HTML or plain text content, and optional saving to Sent Items.  
**Key features:** Azure AD authentication, multiple recipients (To, CC, BCC), attachment handling.

### 2. `sms_utils.py`  
Utility for sending SMS messages via external APIs (implementation details not shown). Designed for easy integration and reuse.

### 3. `captcha_utils.py`  
Functions to generate and validate captchas for enhancing user verification flows. Supports image captchas and related security measures.

### 4. `logging_framework.py`  
Custom logging framework for standardized log formatting, levels, and output destinations to support consistent application logging.

### 5. `common_error_handler.py`  
Comprehensive function-based error handling utilities that provide consistent error response formatting across services, covering validation, authentication, API errors, resource issues, and more.

### 6. `res_middleware_utils.py`  
Middleware helper utilities to streamline resource processing and response handling in web applications or API services.

---

## Installation

Currently, this package is intended for internal use. Simply copy the `ennvee_commons` directory into your project and import the utilities as needed.