A WSGI compliant REST micro-framework
Prestans is a WSGI compliant REST micro-framework for Python. It’s focused on structure of code and unforgivingly valid data. Prestans accomplishes this by laying out a concrete paradigm of models, parsers and handlers. The framework is designed to work best with but not restricted to single page Web applications and native mobile clients. Prestans happily co-exists with other Python frameworks and middleware. and offers API builders:
- Types layer that lets you easily define rules for data delivered and received by your API endpoints
- Parser infrastructure for the request, response and query parameter payloads
- Middleware compatible request router to support a useful handler life cycle
- HTTP header based content format negotiation for requests and responses
- Assistive extras to let you translate persistent objects to validated REST responses
- Ability to integrate with existing authentication and authorisation services
- Response minification, reducing payload sizes by up to 30%
- Self documenting API, understood by Sphinx (see our development tools for details)
- API client code generation (for limited languages)
The Prestans projects ships in two distinct things:
- The server micro-framework, everything you need to run your Prestans application
- Additional developer tools (called Apparatus) that assist during development but are unnecessary in production
Apparatus allow API makers to generate:
- Static rewrite map for clients to unpack minified responses.
- Client side Model stubs (for limited number of languages) based on server definitions used to consume responses and construct request payload.
- Documentation based on blueprint (auto discovered properties of your API) and in-line commentary.
These tools were originally built into the server distribution. As of the 3.0 we decided to make these tools standalone so they (along with their dependencies) aren’t installed in production environments.
While developing applications using Prestans, we recommend installing Apparatus for Prestans.
We recommend installing Prestans via PyPi:
$ pip install -U prestans3
On your development environment we recommend installing Apparatus for Prestans (this will install an appropriate version of the server framework along with the developer tools):
$ pip install -U prestans3-apparatus
Developer tools are not required in production environments. Installing development tools will install unnecessary dependencies.
Docs & Help
- Comprehensive documentation, along with it’s Sphinx source.
- Discussion mailing list and a security announcement mailing list.. Also consider reading this guide on how to ask questions the smart way.
- Issue tracker for bugs and feature requests. Ensure you’ve consulted the documentation and discussion list before you lodge an issue.