Skip to main content

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

Project description

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.

Source Distribution

nucleon-0.0.1-gevent.tar.gz (23.2 kB view details)

Uploaded Source

File details

Details for the file nucleon-0.0.1-gevent.tar.gz.

File metadata

File hashes

Hashes for nucleon-0.0.1-gevent.tar.gz
Algorithm Hash digest
SHA256 4fe4dcdd2cce5835ecefa3a1e43fb249fd2347f5c23afef6f582a51549a4cb4e
MD5 1ab483659f0d9e7c398c13b7e2135f2c
BLAKE2b-256 5abeb4b2af6c629d677cb634252cfe5d466d0f64adb29039c936e968d6e3282f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page