Metadata-Version: 2.4
Name: cadmium-fastapi-sdk
Version: 1.0.0
Summary: Cadmium SDK for capturing and sending FastAPI errors
Home-page: https://github.com/softwares-compound/cadmium-fastapi-sdk
Author: bannawandoor
Author-email: bannawandoor <connect@hasanulbanna.in>
License: MIT
Project-URL: Homepage, https://github.com/softwares-compound/cadmium-fastapi-sdk
Project-URL: Repository, https://github.com/softwares-compound/cadmium-fastapi-sdk
Project-URL: Issues, https://github.com/softwares-compound/cadmium-fastapi-sdk/issues
Keywords: fastapi,error-tracking,monitoring,cadmium
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Framework :: FastAPI
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Monitoring
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: fastapi>=0.68.0
Requires-Dist: httpx>=0.24.0
Requires-Dist: starlette>=0.14.0
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# Cadmium-FastAPI SDK

This SDK captures and sends errors from your FastAPI application to the Cadmium server.

## Installation

```bash
pip install cadmium-fastapi-sdk
```

## Configuration

Add the following to your FastAPI application:

```python
from fastapi import FastAPI
from cadmium_fastapi import CadmiumMiddleware

app = FastAPI()

# Add Cadmium middleware
app.add_middleware(
    CadmiumMiddleware,
    application_id="your-application-id",
    cd_secret="your-secret",
    cd_id="your-cd-id"
)
```

## Environment Variables (Alternative Configuration)

You can also configure using environment variables:

```bash
export CADMIUM_APPLICATION_ID="your-application-id"
export CADMIUM_CD_SECRET="your-secret"
export CADMIUM_CD_ID="your-cd-id"
```

Then simply add the middleware without parameters:

```python
from cadmium_fastapi import CadmiumMiddleware

app.add_middleware(CadmiumMiddleware)
```

## Usage

Once configured, any unhandled exception will automatically be sent to the Cadmium server.

## Manual Error Reporting

You can also manually report errors:

```python
from cadmium_fastapi import report_error

try:
    # Your code here
    pass
except Exception as e:
    await report_error(e, request)
```
