Contributing to HTTPie ###################### Bug reports and code and documentation patches are greatly appreciated. You can also help by using the development version of HTTPie and reporting any bugs you might encounter. Bug Reports =========== **It's important that you provide the full command argument list as well as the output of the failing command.** Use the ``--debug`` flag and copy&paste both the command and its output to your bug report, e.g.: .. code-block:: bash $ http --debug [arguments that trigger the error] [complete output] Contributing Code and Documentation =================================== Before working on a new feature or a bug, please browse `existing issues`_ to see whether it has been previously discussed. If the change in question is a bigger one, it's always good to discuss before your starting working on it. Development Environment ----------------------- .. code-block:: bash git clone https://github.com//httpie cd httpie git checkout -b my_topical_branch # (Recommended: create a new virtualenv) # Install dev. requirements and also HTTPie (in editable mode # so that the `http' command will point to your working copy): make Making Changes -------------- Please make sure your changes conform to `Style Guide for Python Code`_ (PEP8). Tests ----- Before opening a pull requests, please make sure the `test suite`_ passes in all of the `supported Python environments`_. You should also **add tests for any new features and bug fixes**. HTTPie uses `pytest`_ and `Tox`_. .. code-block:: bash ### Running all tests: # Current Python make test # Current Python with coverage make test-cover # All the supported and available Pythons via Tox make test-tox ### Running specific tests: # Current Python pytest tests/test_uploads.py # All Pythons tox -- tests/test_uploads.py --verbose Don't forget to add yourself to `AUTHORS.rst`_. .. _Tox: http://tox.testrun.org .. _supported Python environments: https://github.com/jkbrzt/httpie/blob/master/tox.ini .. _existing issues: https://github.com/jkbrzt/httpie/issues?state=open .. _AUTHORS.rst: https://github.com/jkbrzt/httpie/blob/master/AUTHORS.rst .. _pytest: http://pytest.org/ .. _Style Guide for Python Code: http://python.org/dev/peps/pep-0008/ .. _test suite: https://github.com/jkbrzt/httpie/tree/master/tests