Skip to main content

Fido

https://travis-ci.org/Yelp/fido.svg?branch=master https://coveralls.io/repos/Yelp/fido/badge.svg PyPi version

Introduction

Fido is a simple, asynchronous HTTP client built on top of Crochet and Twisted with an implementation inspired by the book “Twisted Network Programming Essentials”. It is intended to be used in environments where there is no event loop, and where you cannot afford to spin up lots of threads (otherwise you could just use a ThreadPoolExecutor).

Here is an example of using Fido:

future = fido.fetch('http://www.foo.bar')
# Work happens in a background thread...
response = future.result(timeout=2)
print(response.body)

Frequently Asked Questions

Do you support SSL?

Yes, although this has not been vetted by security professionals. One should use this functionality at their own risk. In more detail: Fido uses the Twisted defaults, which delegate to pyOpenSSL and service_identity for the actual SSL work.

Is the API stable?

Probably not. However, it is currently very simple, so it shouldn’t be hard to upgrade code if there’s a non backwards-compatible change.

Do I need to initialize Crochet?

No, crochet.setup is automatically invoked by fido.fetch.

How do I use an http_proxy?

Just set the http_proxy (all lowercase) environment variable to the URL of the http proxy before starting your python process.

Example:

$ export http_proxy="http://localhost:8000"
$ python -c 'import fido; print(fido.fetch("http://www.yelp.com").result().body)'

Installation

Fido can be installed using pip install, like so:

$ pip install --upgrade fido

License

Copyright (c) 2015, Yelp, Inc. All rights reserved. Apache v2

Metadata

Release files for fido 4.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fido 4.1.0
File Size Uploaded
fido-4.1.0.tar.gz 6.5 kB Details

Release files / fido-4.1.0.tar.gz

Download URL fido-4.1.0.tar.gz
Size 6.5 kB
Tags Source
SHA-256 checksum
How to use checksums
1580e198549bdc2d887caf1cd514995da79c195f78df70541ca03b565b53a6ee
BLAKE2b-256 checksum
How to use checksums
39e12bc16f86b35cb224b1272534bdbca5e579ef3e654096277a88f9c531a026
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

4.2.2

1 release file

4.2.1

1 release file

4.2.0

1 release file

This release

4.1.0 This release

1 release file

3.2.0

1 release file

3.0.0

2 release files

2.1.4

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.1.4

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.0.1

1 release file

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page