Skip to main content

A WSGI compliant REST micro-framework

Project description

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)

During development

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

Release history Release notifications

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page