Beautiful debugging page for Starlette apps.
Project description
Starception
Beautiful debugging page for Starlette apps implemented as ASGI middleware.
Installation
Install starception
using PIP or poetry:
pip install starception
# or
poetry add starception
Add it as the first middleware in to your app:
app = Starlette(
middleware=[
Middleware(StarceptionMiddleware, debug=True),
# other middleware here
],
)
Note, the middleware won't handle anything if debug=False
,
instead it will display plain string "Internal Server Error".
Also, I would recommend to add it only for local development, as such error page,
when enabled on prod by mistake, can expose sensitive data.
Usage with FastAPI
As this is pure ASGI middleware, you can use it with FastAPI. However, you cannot use app.middleware
decorator
and add it via app.add_middleware
instead.
app = FastAPI()
app.add_middleware(StarceptionMiddleware, debug=True)
See FastAPI docs on middleware.
Screenshot
Features
- secrets masking
- solution hints
- code snippets
- display request info: query, body, headers, cookies
- session contents
- request and app state
- platform information
- environment variables
The middleware will automatically mask any value which key contains key
, secret
, token
, password
.
Quick start
See example application in examples/
directory of this repository.
Solution hints
If exception class has solution
attribute then its content will be used as a solution hint.
class WithHintError(Exception):
solution = (
'The connection to the database cannot be established. '
'Either the database server is down or connection credentials are invalid.'
)
Credentials
- Look and feel inspired by Phoenix Framework.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for starception-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eaade76d343ee7977ae59c65e7cdfb9d4d63be90a19cdf95328e865f22659fd2 |
|
MD5 | 95313fa617107d9d6ca96da22980c30b |
|
BLAKE2b-256 | 1e668a3b4674cc265165bb0fb3e2dd7ebc2b27f6970bb68d071351280a36efce |