foxxelabs-sentinel-client
Django client for FoxxeLabs Sentinel — centralised IP threat intelligence. Drop it into a Django project to:
- Block known-bad IPs before they hit your views (
SentinelBlockMiddleware). - Emit 4xx/5xx probe events to Sentinel for scoring (
SentinelEmitterMiddleware, fire-and-forget). - Pull and cache the blocklist hourly (
BlocklistCache).
The import package is sentinel_client (the distribution is
foxxelabs-sentinel-client).
Install
pip install foxxelabs-sentinel-client
Configure
In settings.py:
SENTINEL_URL = "https://sentinel-foxxelabs.fly.dev"
SENTINEL_API_KEY = "..." # your project's Sentinel key
SENTINEL_PROJECT_NAME = "my-app" # identifies this project to Sentinel
MIDDLEWARE = [
"sentinel_client.middleware.SentinelBlockMiddleware", # FIRST — blocks before processing
# ... your other middleware ...
"sentinel_client.middleware.SentinelEmitterMiddleware", # LAST — reports 4xx/5xx
]
SentinelBlockMiddleware returns 403 for blocklisted IPs; the emitter is
fire-and-forget and silently drops errors, so Sentinel downtime has zero impact
on request processing.
Resilience
If Sentinel is unreachable, the emitter swallows the error and the blocklist cache retains its last-known-good copy. Your app keeps serving.
License
Proprietary — © FoxxeLabs Limited. All rights reserved.
Metadata
Release files for foxxelabs-sentinel-client 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| foxxelabs_sentinel_client-0.2.0.tar.gz | 3.9 kB | Without provenance | Details for foxxelabs_sentinel_client-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| foxxelabs_sentinel_client-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for foxxelabs_sentinel_client-0.2.0-py3-none-any.whl |
Total release size: 8.7 kB
Release files / foxxelabs_sentinel_client-0.2.0.tar.gz
| Download URL | foxxelabs_sentinel_client-0.2.0.tar.gz |
|---|---|
| Size | 3.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
82101c0d621aaffb9c57922baa0c0dce06d9ed5ac22e1bb3b7e460f0cf750e5d
|
|
BLAKE2b-256 checksum How to use checksums |
3dc1f5bd42bcadf6357421f9be277211f2a8cf4ca478bf215b5d790abda3a0a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / foxxelabs_sentinel_client-0.2.0-py3-none-any.whl
| Download URL | foxxelabs_sentinel_client-0.2.0-py3-none-any.whl |
|---|---|
| Size | 4.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ee6b51a5c78ff9477aacbb2f0a2d1506510f923d867b33a8e813cbba74836877
|
|
BLAKE2b-256 checksum How to use checksums |
1e7b8d23f227f5c2ffdf9020f3a6fc8af7cae520156787938a70c176f4abd9d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Security for foxxelabs-sentinel-client 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.