Metadata-Version: 2.4
Name: python-app-exceptions
Version: 0.1.0
Summary: Base exception hierarchy for Python web applications
Author-email: GridFlow Team <vialogue@proton.me>
License: MIT
Project-URL: Homepage, https://github.com/firstunicorn/python-web-toolkit
Project-URL: Repository, https://github.com/firstunicorn/python-web-toolkit
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: hypothesis>=6.92.0; extra == "dev"

# python-app-exceptions

Base exception hierarchy for Python web applications.

## Installation

```bash
pip install python-app-exceptions
```

## Usage

```python
from python_app_exceptions import (
    BaseApplicationException,
    BusinessLogicError,
    ValidationError,
    InvalidInputError,
    RetryExhaustedException,
    RetryableError
)

# Raise validation errors
raise ValidationError("email", "invalid@", "Invalid email format")

# Raise business logic errors
raise BusinessLogicError("user_must_be_active", "User account is disabled")

# Raise retry errors
raise RetryExhaustedException("api_call", attempts=3)
```

## Features

- ✅ Clean exception hierarchy
- ✅ Detailed error messages with optional details
- ✅ Framework-agnostic (works with FastAPI, Flask, Django, etc.)
- ✅ Type-safe
- ✅ Zero dependencies

## Exception Hierarchy

```
BaseApplicationException
├── BusinessLogicError
├── ValidationError
│   └── InvalidInputError
└── RetryExhaustedException
└── RetryableError
```

## License

MIT






