A library that makes consuming a REST API easier and more convenient
Slumber is a Python library that provides a convenient yet powerful object-oriented interface to ReSTful APIs. It acts as a wrapper around the excellent requests library and abstracts away the handling of URLs, serialization, and request processing.
Visit IRC channel (#slumber on irc.freenode.net) to get help, bounce ideas or generally shoot the breeze.
$ pip install slumber
Install Optional Requirement:
pip install pyyaml
Slumber requires the following modules.
pyyaml (If you are using the optional YAML serialization)
Correct support for UTF encoded responses.
Further Python 3 compatibility fixes, many thanks to Alexander Shchepetilnikov (irqed)
Remove simplejson dependency.
Support range now Python 2.6 - Python 3.4
All HTTP methods support multipart/form-data. The new files parameter is directly passed to requests. Thanks to Philip Neustrom and Diego Gaustein.
Now compatible with requests 1.0 thanks to Matias Saguir.
Fix bug when using default serializer. Thanks to Andy McKay
Support decoded unicode url fragments - Thanks @collinwat
Added a session kwarg to slumber.API allowing passing a requests session that will be used instead of the slumber created one
(Backwards Incompatible) Switched from httplib2 to requests
(Backwards Incompatible) Removed the Meta class Magic
(Backwards Incompatible) Removed the ability to subclass slumber.API to specify defaults
(Backwards Incompatible) New Syntax for Specifying Authentication
Fix regression where pre 0.3 urls were assumed to end in slash, and 0.3.0 presumed to end in not slash. Urls are now assumed to end in a slash, and if you don’t want this behavior you can disable it by the append_slash kwarg/Meta option (set to False to disable it).
Fix regression caused by a mistyped variable name.
Allowed nesting resources infinitely to allow more complex api usage.
Cleaned up the Meta class and allow subclassing slumber.API
(Backwards Incompatible) Cleaned up the exception names.
(Backwards Incompatible) Renamed the slumber.API serialization kwarg from default_format to format to be more consistent
Improved the documentation
Added Some Tests (This could still be better)
Fixed https urls and the accidental force to port 80
Fixed the assumption that all urls end in a trailing slash
Fixed Including of Changelog.rst
Updated the docs to include a section about url parameters
(Backwards Incompatible) Move specifying a non default serializer from api.resource.get(format="yaml") to api.resource(format="yaml").get()
Reworked the internal Resource api to not clobber any kwargs passed to it. This fixes a bug where you couldn’t use format or url as the name for one of the url parameters.
Fix for Resource.post() not passing kwargs to Resource.get()
Initial public release of Slumber
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.