Skip to main content

A gevent-based microframework for building RESTful web services that provide AMQP interfaces.

Project description

Nucleon is a web microframework, for creating light, fast RESTful services for server-to-server operations.

Problem Domain

Nucleon was created to simplify the process of creating “back end services” - components that provide REST and AMQP interfaces to each other, to front-end web applications, and rarely to the end user. It is not intended to generate HTML, provide developer utilities like users/cookies/sessions, perform internationalisation, and so on - Django (or your microframework of choice) is already excellent at this.

This kind of back end service components need to be

  • Distributed - for the purposes of scalability and availablity.
  • Fast - because the back end may be performing dozens of operations for each front-end request.
  • RESTful - because it provides a universal, simple interface that works with off-the-shelf caches, load balancers, etc.
  • Not limited to REST - specifically, it should be possible to loosely couple components over AMQP.

REST is primarily useful for synchronous operations - “Do this now and hand me back the result.”

AMQP gives loose coupling between components - “Something has happened, you may want to deal with it” or “Do this as soon as possible.”

About Nucleon

Nucleon largely consists of glue between existing Python components, primarily gevent, paste, psycopg2, and an AMQP library called Puka.

It is deliberately kept simple, with as few layers of indirection as possible. This comes with limitations:

There is no ORM included. ORMs obfuscate what queries are actually being executed, and fail to expose the most powerful database features. We don’t use any kind of database abstraction layer, and thus (so far) only PostgreSQL is supported.

For more information, check out the documentation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
nucleon-0.1.tar.gz (22.3 kB) Copy SHA256 hash SHA256 Source None Feb 14, 2013

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