Metadata-Version: 2.4
Name: sentry-deduplicate-integration
Version: 0.2.0
Summary: 
Author: Iuri de Silvio
Author-email: iurisilvio@gmail.com
Requires-Python: >=3.10,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: sentry-sdk (>=1.12.0)
Description-Content-Type: text/markdown

# sentry-deduplicate-integration

Sentry integration to rate-limit duplicated errors, using redis to sync error
count and identify duplications.

## Install

Install it from PyPI:

```bash
pip install sentry-deduplicate-integration
```

## Configure

Add the integration to your sentry_sdk initialization.

```python
import redis
from sentry_deduplicate_integration import SentryDeduplicateIntegration

sentry_sdk.init(
    integrations=[
        SentryDeduplicateIntegration(redis_factory=redis.Redis),
    ],
)
```

The `redis_factory` arg is any function returning a redis client.

For simple projects, it is possible to use it without a Redis instance, using
[fakeredis](https://pypi.org/project/fakeredis/), which is an in-memory
Redis compatible implementation. It will deduplicate only errors in the same
thread.

```python
import fakeredis
from sentry_deduplicate_integration import SentryDeduplicateIntegration

sentry_sdk.init(
    integrations=[
        SentryDeduplicateIntegration(redis_factory=fakeredis.FakeRedis),
    ],
)
```

## What about `sentry_sdk.DedupeIntegration`?

The [`DedupeIntegration`](https://docs.sentry.io/platforms/python/configuration/integrations/default-integrations/#deduplication)
is installed by default and we expected it to work, but it just avoid
duplications when the same error is triggered twice, works only in the
same process and only the last error is checked for deduplication.

