Metadata-Version: 1.1
Name: sandman
Version: 0.2.2b
Summary: Automated REST APIs for existing database-driven systems
Home-page: http://github.com/jeffknupp/sandman/
Author: Jeff Knupp
Author-email: jeff@jeffknupp.com
License: Apache Software License
Description: 
        sandman
        -------
        
        **sandman** "makes things REST". Have an existing database you'd like to expose via
        a REST API? Normally, you'd have to write a ton of boilerplate code for
        the ORM you're using. 
        
        We're programmers. We don't write boilerplate.
        
        Simple Setup
        ````````````
        
        .. code:: python
        
            from sandman import app, db
        
            app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///chinook'
        
            from sandman.model import register, Model
        
            class Artist(Model):
                __tablename__ = 'Artist'
        
            class Album(Model):
                __tablename__ = 'Album'
        
            class Playlist(Model):
                __tablename__ = 'Playlist'
        
            register((Artist, Album, Playlist))
        
            app.run()
        
        Let's start our new API server and make a request.
        
        .. code:: bash
        
            $ python runserver.py &
            * Running on http://127.0.0.1:5000/
        
            $ curl GET http://localhost:5000/artists
        
        Here is the JSON returned:
        
        .. code:: json
        
            {
                "ArtistId": 273,
                "Name": "C. Monteverdi, Nigel Rogers - Chiaroscuro; London Baroque; London Cornett & Sackbu",
                "links": [
                {
                    "rel": "self",
                    "uri": "/artists/ArtistId"
                }
                ]
            },
            {
                "ArtistId": 274,
                "Name": "Nash Ensemble",
                "links": [
                {
                    "rel": "self",
                    "uri": "/artists/ArtistId"
                }
                ]
            },
            {
                "ArtistId": 275,
                "Name": "Philip Glass Ensemble",
                "links": [
                {
                    "rel": "self",
                    "uri": "/artists/ArtistId"
                }
                ]
            }
            ]
        
        Batteries Included
        ``````````````````
        
        With **sandman**, (almost) zero boilerplate code is required. Your existing database
        structure and schema is introspected and your database tables magically get a
        RESTful API. For each table, Sandman creates:
        
        - proper endpoints 
         
        - support for a configurable set of HTTP verbs 
             
            - GET
        
            - POST
        
            - PATCH
        
            - DELETE
        
        - responses with appropriate ``rel`` links automatically
        
        - essentially a HATEOAS-based service sitting in front of your database
        
        *Warning: Sandman is still very much a work in progress.* It is not suitable for
        use **anywhere.** Don't use it for anything important. It's also often changing 
        in backwards incompatible ways.
        
        Links
        `````
        
        * `website <http://www.github.com/jeffknupp/sandman/>`_
        * `documentation <http://pythonhosted.org/sandman/>`_
        
        
Platform: any
Classifier: Programming Language :: Python
Classifier: Development Status :: 4 - Beta
Classifier: Natural Language :: English
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
