lostisland/faraday

Simple, but flexible HTTP client library, with support for multiple backends.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 5 minutes ago
Added to GitGenius on September 11th, 2026
Created on December 10th, 2009
Open Issues & Pull Requests: 82 (+0)
GitHub issues: Enabled
Number of forks: 1,027
Total Stargazers: 5,951 (+0)
Total Subscribers: 87 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 1.8 hours
Mean response time: 6.5 days
90th percentile: 6.1 days
Tracked items: 41

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 57% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. Only 5% of issues opened in the past year have been closed. Three people close 74% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 23
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 493 days
Stale 30+ days: 22
Stale 90+ days: 20

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • unconfirmed (5)
  • help wanted (3)
  • bug (1)
  • feature (1)
  • info (1)
  • v1.0 (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Faraday is an HTTP client library abstraction layer that provides a common interface over many adapters and embraces Rack middleware concepts when processing the request/response cycle.

Faraday solves the problem of building HTTP clients that need to work with different underlying HTTP libraries or require sophisticated request/response manipulation. Rather than locking you into a single HTTP backend, it abstracts away the details of how HTTP requests are made by providing a unified interface across multiple adapters such as Net::HTTP, Typhoeus, Patron, Excon, and HTTPClient. The middleware approach allows you to compose request and response processing logic in a declarative way, similar to how Rack middleware works in web frameworks.

Faraday suits projects that need to build API clients or web service libraries with customizable request/response handling. It is particularly valuable when you want to decouple your application logic from the underlying HTTP implementation, allowing you to switch adapters without changing your client code. The tool comes with built-in support for persistent connections, parallel requests, automatic response parsing for JSON and XML, file uploads, and response streaming. If you are building a library that other developers will use, Faraday lets you avoid forcing a specific HTTP backend on your users.

The project maintains active engagement with contributors through a help-wanted label system for issues and provides a formal contributing guide to set expectations for participation. The library is tested against currently supported Ruby versions and explicitly tracks Ruby EOL dates, dropping support for versions as they reach end-of-life even without major releases. The maintainers invite contributors to volunteer for supporting additional Ruby implementations, with the understanding that they will be responsible for ensuring tests pass and providing timely patches when issues arise on their implementation.