Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Fork of Slumber, A library that makes consuming a REST API easier and more convenient

Project Description


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.

Getting Help

Visit IRC channel (#slumber on to get help, bounce ideas or generally shoot the breeze.


  1. Install Slumber:

    $ pip install slumber
  2. Install Optional Requirement:

    pip install pyyaml
  3. Use Slumber!


Slumber requires the following modules.

  • Python 2.6+
  • requests
  • pyyaml (If you are using the optional YAML serialization)


development version


  • 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 not passing kwargs to Resource.get()


  • Initial public release of Slumber

Release History

This version
History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(10.4 kB) Copy SHA256 Hash SHA256
Source None Jan 12, 2015

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers DreamHost DreamHost Log Hosting