Skip to main content
Help the Python Software Foundation raise $60,000 USD by December 31st!  Building the PSF Q4 Fundraiser

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.

Files for nucleon, version 0.1
Filename, size File type Python version Upload date Hashes
Filename, size nucleon-0.1.tar.gz (22.3 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page