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.
- Homepage: https://github.com/canaryhealth/pyramid_nitro
- Bugs: https://github.com/canaryhealth/pyramid_nitro/issues
Install with:
$ pip install pyramid_nitro
Then create an application with:
$ nitro "myapp" /path/to/myapp
$ cd /path/to/myapp
$ nitro etc/dev.ini
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