Provides a data interface for external applications outside of Django. Supports Authorization/Authentication against existing Django User objects. Comes with example libraries in Python and JavaScript (more to come)
The simple interface provides queryset serialization in several formats. Supported formats are: xml,python,yaml,json,rdf,csv,pickle. Works with any queryset or model and is model API friendly. Setup the app at /api/ and use it like so
This will return a JSON representation of all instances of django.contrib.auth.models.User with usernames starting with "a" ordered by last_name.
See more at ExampleUse
The apibuilder supports Basic authorization for authenticating users so any external software can request a queryset just by using an authorization header. By default the url scheme is setup such that a request like http://localhost:8000/api/admin/auth.user/ will prompt the user to login (all web browsers handle this) or the Authorization could be sent separately
Authorization: bXVjb29sdXNlcjpzb21lc2lsbHlwYXNz
See more at RequestQueries
This not only allows you to limit who sees what model, but you can also limit which fields are shown.
See more at SettingsAndConfiguration
NEWS
1) Now supports zlib compression/decompression. Pass the compression parameter (0-9) when using any of the api_query methods or in urls and it will use compression for data transfer. 2) Start of js client. Runserver and try http://localhost:8000/api/client/
FUTURE Keyed auth like Flickr & Google instead of actual user auth. Add zlib to JavaScript client (jsz). Hard encryption anyone?(jcrypt)