Skip to main content

Generic interface to access HTTP clients

Project description

anyhttp provides a generic layer to use existing http clients.

The primary purpose is to be used by packages which need http, do not need or want to depend on one of the existing clients, and/or want to re-used by applications which already have a dependency on a http clients.

anyhttp supports:

  • requests
  • httplib2
  • urllib3
  • pycurl
  • fido
  • httq
  • async_http
  • webob
  • urlfetch
  • simplefetch
  • httputils
  • tornado
  • ihttp
  • basic_http
  • unirest
  • httpstream
  • http1
  • reqres
  • tinydav
  • ultralite
  • urlgrabber
  • dogbutler
  • pylhttp
  • hyper
  • asynchttp
  • geventhttpclient
  • streaming_httplib2
  • bolacha
  • drest
  • httxlib
  • dugong
  • aiohttp
  • yieldfrom.http.client

Normal use

Normal usage of anyhttp involves simply using either:

anyhttp.get_text(url) anyhttp.get_binary(url)

anyhttp will look for a capable http clients in sys.modules. The sequence will look like:


import httplib2 # must be first

import your_package


import anyhttp


http = Wrapper(httplib2)


anyhttp includes tests that verify the supported clients can perform certain http operations, and that test suite allows basic HTTP conformance testing of HTTP features.

It is easy to add a new client to the test suite. The list of supported clients is in the main anyhttp module, and the test suite automatically applies the tests to new clients added.

The automatic support of additional clients is achieved using python package testscenarios with an unmerged patch. This can be installed from

Project details

Release history Release notifications | RSS feed

This version


Download files

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

Files for anyhttp, version 0.1
Filename, size File type Python version Upload date Hashes
Filename, size anyhttp-0.1-py3-none-any.whl (7.3 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size anyhttp-0.1.tar.gz (25.0 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page