A HTTP 1.1 client module supporting asynchronous IO, pipelining and `Expect: 100-continue`. Designed for RESTful protocols.
Project description
The Python Dugong module provides an API for communicating with HTTP
1.1 servers. It is an alternative to the standard library’s
http.client
(formerly httplib) module. In contrast to
http.client
, Dugong:
allows you to send multiple requests right after each other without having to read the responses first.
supports waiting for 100-continue before sending the request body.
raises an exception instead of silently delivering partial data if the connection is closed before all data has been received.
raises one specific exception (
ConnectionClosed
) if the connection has been closed (whilehttp.client
connection may raise any ofBrokenPipeError
,~http.client.BadStatusLine
,ConnectionAbortedError
,ConnectionResetError
,~http.client.IncompleteRead
or simply return '' on read)supports non-blocking, asynchronous operation and is compatible with the asyncio module.
is not compatible with old HTTP 0.9 or 1.0 servers.
All request and response headers are represented as str
, but must be
encodable in latin1. Request and response body must be bytes-like
objects or binary streams.
Dugong requires Python 3.3 or newer.
Installation
As usual: download the tarball from PyPi, extract it, and run
# python3 setup.py install [--user]
To run the self-tests, install py.test and run
# py.test-3 test/
Getting Help
The documentation can be read online and is also included in the doc/html directory of the dugong tarball.
Please report any bugs on the issue tracker. For discussion and questions, please subscribe to the dugong mailing list.
Development Status
The Dugong API is not yet stable and may change from one release to the other.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.