massive documentation update

This commit is contained in:
Kenneth Reitz
2011-08-14 22:07:15 -04:00
parent 3bc9a181a1
commit d50742f059
6 changed files with 123 additions and 67 deletions
+37
View File
@@ -0,0 +1,37 @@
.. _support:
Support
=======
If you have a questions or issues about Requests, there are serveral options:
Send a Tweet
------------
If your question is less than 140 characters, feel free to send a tweet to
`@kennethreitz <http://twitter.com/kennethreitz>`_.
File an Issue
-------------
If you notice some unexpected behavior in Requests, or want to see support
for a new feature,
`file an issue on GitHub <https://github.com/kennethreitz/requests/issues>`_.
E-mail
------
I'm more than happy to answer any personal or in-depth questions about
Requests. Feel free to email
`requests@kennethreitz.com <mailto:requests@kennethreitz.com>`_.
IRC
---
The official Freenode channel for Requests is
`#python-requests <irc://irc.freenode.net/python-requests>`_
I'm also available as **kennethreitz** on Freenode.
+31
View File
@@ -0,0 +1,31 @@
.. _updates:
Updates
=======
If you'd like to stay up to date on the community and development of Requests,
there are serveral options:
GitHub
------
The best way to track the development of Requests is through
`the GitHub repo <https://github.com/kennethreitz/requests>`_.
Twitter
-------
I often tweet about new features and releases of Requests.
Follow `@kennethreitz <https://twitter.com/kennethreitz>`_ for updates.
Mailing List
------------
There's a low-volume mailing list for Requests. To subscribe to the
mailing list, send an email to
`requests@librelist.org <mailto:requests@librelist.org>`_.
+5
View File
@@ -0,0 +1,5 @@
Authors
=======
.. include:: ../../AUTHORS
+15 -2
View File
@@ -69,11 +69,23 @@ instructions for getting the most out of Requests.
user/intro
user/install
user/faq
.. user/quickstart
user/quickstart
user/advanced
Community Guide
-----------------
This part of the documentation, which is mostly prose, details the
Requests ecosystem and community.
.. toctree::
:maxdepth: 2
community/faq
community/support
community/updates
API Documentation
-----------------
@@ -97,3 +109,4 @@ you.
dev/internals
dev/todo
dev/authors
+35 -65
View File
@@ -1,84 +1,54 @@
Feature Overview
================
Requests is designed to solve a 90% use case — making simple requests. While most
HTTP libraries are extremely extensible, they often attempt to support the entire HTTP Spec.
This often leads to extremely messy and cumbersome APIs, as is the case with urllib2. Requests abandons support for edge-cases, and focuses on the essentials.
.. _features:
Requests Can:
-------------
- Make **GET**, **POST**, **PUT**, **DELETE**, and **HEAD** requests.
- Handle HTTP and HTTPS Requests
- Add Request headers (with a simple dictionary)
- URLEncode your Form Data (with a simple dictionary)
- Add Multi-part File Uploads (with a simple dictionary)
- Handle CookieJars (with a single parameter)
- Add HTTP Authentication (with a single parameter)
- Handle redirects (with history)
- Automatically decompress GZip'd responses
- Support Unicode URLs
- Gracefully timeout
- Interface with Eventlet & Gevent
Requests Can't:
---------------
- Handle Caching
- Handle Keep-Alives
.. _quickstart:
Quickstart
==========
.. module:: requests
GET Request
-----------
Eager to get started? This page gives a good introduction in how to get started with Requests. This assumes you already have Tablib installed. If you do not, head over to the :ref:`Installation <install>` section.
First, make sure that:
* Tablib is :ref:`installed <install>`
* Tablib is :ref:`up-to-date <updates>`
Adding Parameters
-----------------
Lets gets started with some simple use cases and examples.
Adding Headers
--------------
HTTP Basic Auth
---------------
Tracking Redirects
Make a GET Request
------------------
Making a standard request with Requests is very simple.
Let's get GitHub's public timeline ::
r = requests.get('https://github.com/timeline.json')
Now, we have a :class:`Response` object. We can get all the information
we need from this.
Response Content
----------------
We can read the content of the server's response::
>>> r.content
'[{"repository":{"open_issues":0,"url":"https://github.com/...
HTTP POST (Form Data)
Response Status Codes
---------------------
We can check the response status code::
HTTP POST (Binary Data)
-----------------------
>>> r.status_code
200
Requests also comes with a built-in status code lookup object for easy
reference::
HTTP POST (Multipart Files)
---------------------------
HTTP PUT
--------
HTTP DELETE
-----------
HTTP HEAD
---------
>>> r.status_code == requests.codes.ok
True