django-ripozo

test status test coverage documentation status

Integrates ripozo with django for fast, flexible Hypermedia, HATEOAS, and other REST apis.

Full django-ripozo documentation

Looking for the ripozo documentation?

Supports Django 1.6, 1.7, and 1.8.

python 2.6, 2.7, 3.3, 3.4, pypy

NOTE

Currently there are compatibility issues with Django 1.6, 1.7 and python 3.5. There is currently a fix in progress. However, two of our test environments will fail until the fix is deployed. All tests pass otherwise.

Minimal App

You’ll need to instantiate the django project in the standard manner. If you aren’t sure how to do this, check out the excellent django documentation.

In your app you’ll need a resources.py file.

from ripozo import ResourceBase, apimethod

class MyResource(ResourceBase):
    @apimethod(methods=['GET'])
    def say_hello(cls, request):
        return cls(properties=dict(hello='world'))

And in your urls.py file

from ripozo.adapters import SirenAdapter, HalAdapter
from .resources import MyResource

dispatcher = DjangoDispatcher()
dispatcher.register_resources(MyResource)
dispatcher.register_adapters(SirenAdapter, HalAdapter)

urlpatterns = dispatcher.url_patterns

And just like that you have a fully functional application.

Looking for a more extensive example? Check out an example with database interactions as well.

CHANGELOG

1.1.1 (unreleased)

  • Nothing changed yet.

1.1.0 (2015-11-22)

  • Added Easy Resources which allow a user to easily create resources from django models

1.0.0 (2015-06-30)

  • Nothing changed yet.

0.2.0 (2015-06-29)

  • Removed support for Django 1.5
  • Using Accept-Types instead of Content-Type.

0.1.1 (2015-04-23)

  • Added tests and fixes for relationships
  • initial release

Indices and tables