The "Batteries Included" layer for a Pyramid application.
Project description
Important
This package is currently in the “planning” stage. In short, much of the conceptual parts of the package exist in disparate locations: this package was created to bring those concepts together.
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