Spynl - write a web app you can manage¶
Spynl is a Python web framework which extends the Pyramid web framework.
Spynl helps you to manage your web application:
- Build your app (via Jenkins)
- Deploy your app (via Docker)
- Serve endpoint documentation for frontend devs (via Swagger)
- Inspect settings and meta-data of running instances in the browser
- Aggregate performance indicators and error messages in NewRelic and/or Sentry
Spynl also has a few other in-built utilities which are often necessary in a modern professional web application but easily take a few days to get right:
- Manage translations (via Babel)
- Send templatable, translatable HTML emails
- validate JSON input and output with Schemas
Installation¶
Here is a (very) quick How-To for installing Spynl:
$ pip install spynl
$ spynl dev.serve
Now you can visit Spynl’s in-built /about endpoint:
$ curl http://localhost:6543/about
And you should get a reponse like this:
{
"status": "ok",
"language": "en",
"time": "2017-02-03T10:13:41+0000",
"plugins": {},
"message": "This is a Spynl web application. You can get more information at about/endpoints, about/ini, about/versions, about/build and about/environment.",
"spynl_version": "6.0.1"
}
So you see there are a few endpoints with more specific information. Try visiting http://localhost:6543/about/endpoints to see the documentation for in-built endpoints and http://localhost:6543/about/ini to see possible settings.
The plugins part is empty because we haven’t written any code of our own yet. See the next section for that.
Short developer tutorial¶
A small tutorial where we build up a small app step by step.
Short operations tutorial¶
We show what steps are necessary to get your Spynl-based app built, deployed and smoke-tested.
In-depth documentation¶
Shining more light on a few important topics (work in progress):