Gates

Minimal, fast and intuitive REST HTTP services in python


License
Other
Install
pip install Gates==v1.0.0.beta

Documentation

Author: @Iroiso
License: Apache License 2.0  
© 2015, Atlas.  

Gates 
=====
Minimal, fast and intuitive REST HTTP based services in python.

Gates is larger than a micro web framework like bottle and 
smaller than a full stack like Django. 

We designed Gates to allow you to pack as many REST services, 
XMLRPC endpoints and even ordinary HTML5 applications as simply/neatly 
as possible into a single WSGI application without forcing you to use a larger, 
complex, slower and more opinionated stack like Django.

Unlike bottle and flask that are built around functions - which can become
unwieldy as your app gets bigger and more complex, We place a high premium 
on writing well organized code, that is easy to read, write, debug and extend; 
so, Gates is built around classes and the REST concept of a 'resource'.

The basic idea was to build something as rapid, simple and expressive
as bottle but complete, generic and extensible enough for use in a full 
fledged production application. Think of it as JAX-RS for python.

If you're thinking to build your startup on a REST based python stack,
you should seriously consider giving Gates a try. We've bet our company on 
it for 3 years, and it hasn't disappointed.

And, yes we named it after Bill Gates - because like it or not, he's
doing a lot of good in the world right now; especially in Africa.

**Features:**  
    + Plain, and simple REST HTTP verb mapping (GET, PUT, POST, DELETE, HEAD)
    + Advanced, yet simple request routing.
    + WSGI 1.0 compatibility.
    + Plain simple, and effective form handling.
    + Builtin Inheritance for Resources.
    + Builtin and secure cookie based sessions.
    + Helpers which allow you to serve XMLRPC objects with your application
    + Serve static HTML5 websites without any fuss.

**Non Features**
    + No inbuilt templating, Use your favorite.
    + No class based views, No views at all.
    + No plugins.
    + No caching, You can add Redis or memcached to your stack using any library you like.
    + No ORM, Gates is database agnostic. [Bring your own along]

For live and complete examples, explore the /docs folder.

Acknowledgements
================
Special thanks and respect to:

Marcel Hellkamp  - showed us what was possible with the zen like [Bottle](http://bottle.paws.de)
Armin Ronacher   - makes and maintains the excellent [Flask](http://flask.pocoo.org)
Ben Bangert      - who saved me months of work by building [Routes](http://routes.groovie.org/)
Sergey Schetinin - who wrote WebOb, the library that gave us Reddit.

If I have made any progress or created any value here, its because I have
stood on the shoulders of these giants, and learnt from them among many others.

Lastly, If you like what you see, and you feel like you need to make a difference 
in the world - we're hiring, you should look us up.

Excelsior!
@Iroiso
CEO, Atlas