The "Batteries Included" layer for a Pyramid application.
Project description
The pyramid_nitro package adds dependencies, useful libraries, sensible default configurations, “glue code”, and other goodies to a “standard pyramid application” that makes developing pyramid applications fast… super fast. In short, it’s the “batteries included” opinionated version of Pyramid. It draws it’s inspiration from the TurboGears application framework.
Project
TL;DR
$ pip install pyramid_nitro
$ nitro "myapp" /path/to/myapp
$ cd /path/to/myapp
$ nitro etc/dev.ini
Starting subprocess with file monitor
completed configuration of myapp/0.1.0-b [env=dev]
Starting server in PID 18330.
serving on http://0.0.0.0:9000
Overview
The objectives of pyramid_nitro are three-fold:
Trivial to get a completely functional application going
Lots of out-of-the-box functionality, but nothing that can’t be disabled
Support for infinite scalability when needed
Some of the opinions made to achieve that is that you’ll:
expose and document API endpoints with pyramid_controllers and pyramid_describe
parse and serialize HTTP requests with pyramid_input and pyramid_output
validate and sanitize data formats with pyramid_armor
authenticate requests with SAML or models with (TODO: to be determined)
perform access control with pyramid_authz
paginate response datasets with pyramid_pagination
use SQLAlchemy for your ORM model
store ORM data in PostgreSQL and big data in MongoDB
send message bus events over RabbitMQ
schedule asynchronous and deferred jobs with pyramid_scheduler
manage configurations with pyramid_iniherit
generate JavaScript, CSS, and images with pyramid_webassets, lessc
enable sessions and caching with pyramid_beaker
encrypt data with GPG keys
thoroughly implement unit/integration/system tests with pyramid_test
think globally but act locally with i18n
use Apache to infinity-scale your server
depend on microservices, such as:
indexing and searching with Solr
URL-shortening with pyramid_tinyurl