How to Help

Requests is under active development, and contributions are more than welcome!

  1. Check for open issues or open a fresh issue to start a discussion around a bug. There is a Contributor Friendly tag for issues that should be ideal for people who are not very familiar with the codebase yet.
  2. Fork the repository on GitHub and start making your changes to a new branch.
  3. Write a test which shows that the bug was fixed.
  4. Send a pull request and bug the maintainer until it gets merged and published. :) Make sure to add yourself to AUTHORS.

Feature Freeze

As of v1.0.0, Requests has now entered a feature freeze. Requests for new features and Pull Requests implementing those features will not be accepted.

Development Dependencies

You'll need to install py.test in order to run the Requests' test suite:

$ venv .venv
$ source .venv/bin/activate

$ make
$ python setup.py test
============================= test session starts ==============================
platform darwin -- Python 3.4.4, pytest-3.0.6, py-1.4.32, pluggy-0.4.0
...
collected 445 items

tests/test_hooks.py ...
tests/test_lowlevel.py ............
tests/test_requests.py ...........................................................
tests/test_structures.py ....................
tests/test_testserver.py ...........
tests/test_utils.py ..s...........................................................

============== 442 passed, 1 skipped, 2 xpassed in 46.48 seconds ===============

You can also run $ make tests to run against all supported Python versions, using tox/detox.

Runtime Environments

Requests currently supports the following versions of Python:

  • Python 2.6
  • Python 2.7
  • Python 3.3
  • Python 3.4
  • Python 3.5
  • Python 3.6
  • PyPy

Google AppEngine is not officially supported although support is available with the Requests-Toolbelt.