We maintain a Django application/utility framework called Djblets. Amongst other things, this provides the framework for implementing REST APIs. We use this for the Review Board API.
Review Board adds a utility layer on top of this that supports a bunch of other features, including API tokens, base test cases and utilities for API unit testing, API resource module registration/lazy lookups, and more. These are all pretty useful things, so we’ve decided to move them in to Djblets.
What this means is that, starting in Djblets 0.9, any consumers of the API will be able to offer:
- API tokens, with access control defined by a powerful JSON policy definition language.
- An easier, more complete way to test APIs.
- Helpers to make more complex API codebases manageable.
- Utilities for implementing flexible API queries (less than, greater than, etc. for numeric fields, for instance).
This also lets us slim down the Review Board API codebase just a bit, and keep our API support consistent on future projects.