2011-09-10 20:42:33 -04:00
2011-09-08 01:55:02 -04:00
2011-09-08 01:49:38 -04:00
2011-09-08 01:49:33 -04:00

Resources for Python
====================

*RESTful != HTTP.*

**Work in progress.**

This is a framework for bringing RESTful Resources to your Python applications. It can be used in a few ways:

- To add a RESTful interface to your existing codebase.
- To power the backbone of your entire application.


Features
--------

- Simple API — makes no assumptions
- Event/Signaling System
- 'hyperlink' support (Resource references)
- Custom Verb Support (HTTP verbs out of the box)
- Content Negotiation


Usage
-----

Potentially::

    from resources import Interface, Resource

    api = Interface()

    @api.map('bookmarks')
    class Bookmarks(Resource):
        """Haystack's Bookmarks Resource."""

        __bookmarks = {}

        def element_get(self, ri):
            return self.__bookmarks.get(ri)

        ... # json content, element/collection put, &c

Now we have an API w/ a single resource: ``bookmarks``. We can access it
like so::

    >>> api.bookmarks
    <resource 'bookmarks'>

    >>> api.bookmarks['00001']
    <element <bookmarks:00001>

    >>> api.bookmarks['00001'].get()
    <bookmark 000001>

    >>> api.bookmarks['00001'].content('json').get()
    '{"bookmark": {"id": "00001"}}'


Future
------

- Build a set of web framework plugins for serving Resources via HTTP (e.g. flask-resources, django-resources).
- Build a Resources-Client module for consuming RESTful web APIs (powered by Requests).


License
-------

ISC.
S
Description
No description provided
Readme 44 KiB
Languages
Python 100%