Wevitos
Lightweight error tracking for Python/Django apps. Captures unhandled exceptions with full stacktraces, request data, and user info — then sends them to wevitos.com.
Zero external dependencies. Uses only Python stdlib.
Installation
pip install wevitos
Quick Setup (Django)
-
Get your API key from wevitos.com/dashboard — create a project and copy the token.
-
Add to your
settings.py:
import wevitos
wevitos.init(
api_key='YOUR_API_KEY',
environment='production', # or 'staging', 'development', etc.
)
MIDDLEWARE += ['wevitos.middleware.WevitosMiddleware']
That's it. Unhandled exceptions in your views will be captured automatically.
Manual Error Reporting
You can also report errors manually anywhere in your code:
import wevitos
try:
risky_operation()
except Exception as e:
wevitos.notify(e, extra={'user_id': 123, 'action': 'checkout'})
What Gets Captured
- Exception class, message, and full stacktrace with source context (5 lines before/after)
- Request data: method, URL, headers (cookies and auth headers are excluded)
- User info: user ID and email (if authenticated)
- Server name, environment, and release version
- Any extra metadata you pass via
wevitos.notify()
Configuration Options
wevitos.init(
api_key='YOUR_API_KEY', # Required — from wevitos.com
environment='production', # Optional — tags errors by environment
release='1.2.3', # Optional — your app version
app_root='/app', # Optional — filters stacktrace to your code
)
How It Works
- Errors are sent asynchronously in a background daemon thread — zero impact on your app's response time.
- If the Wevitos server is unreachable, errors are silently dropped (your app is never affected).
- Errors are grouped by a fingerprint based on exception class + file + function + line number.
- Duplicate errors increment the count instead of creating noise.
Get Your API Key
- Go to wevitos.com and log in
- Create a project (or select an existing one)
- Copy the API key from the project setup page
- Paste it in your
wevitos.init()call
Links
- Dashboard: wevitos.com
- PyPI: pypi.org/project/wevitos
- Source: github.com/xzitlou/wevitos
Metadata
Release files for wevitos 0.4.1
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 | |
|---|---|---|---|---|
| wevitos-0.4.1.tar.gz | 6.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wevitos-0.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.5 kB
Release files / wevitos-0.4.1.tar.gz
| Download URL | wevitos-0.4.1.tar.gz |
|---|---|
| Size | 6.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ea72d153a15adbab5876a1956428d97c80e828f887680464d78b2303a5c10677
|
|
BLAKE2b-256 checksum How to use checksums |
a2095559928e030c22624c51d2296275cc515b664d574f54fc35ae25040cbe97
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / wevitos-0.4.1-py3-none-any.whl
| Download URL | wevitos-0.4.1-py3-none-any.whl |
|---|---|
| Size | 7.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e032e6a9c5745820ce82176034c817955e4f9943d6ba2b72b2e0d28036dd00d0
|
|
BLAKE2b-256 checksum How to use checksums |
cd550d50d523cb38b226295f4c1e747f646ae1a65fb477a3a567a28c9448f9c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Security for wevitos 0.4.1
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.