# elixir-tesla/tesla

The flexible HTTP client library for Elixir, with support for middleware and multiple adapters.

Repository: https://github.com/elixir-tesla/tesla
Canonical: https://ross.abutalabs.com/products/tesla
Language: Elixir
License: MIT
License Family: permissive
Topics: elixir, middleware, ibrowse, hackney, http, json, http-client
Last push: 2026-08-23T01:25:52+00:00

## Health v2 (maintenance only)
Score: 99/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 98, longevity 100
- inputs: {"age_days": 4188, "days_push": 11, "days_rel": 14, "gap_med": 12, "n_releases_24m": 24}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2076, forks 365 (observed 2026-08-28T04:06:11.184675+00:00)

## What it is
Tesla is a flexible HTTP client library for Elixir built around a composable middleware stack and pluggable adapters such as Mint, Finch, and Hackney. It lets developers build custom API clients by stacking middleware for concerns like authentication, logging, JSON encoding, and retries.

## Use cases
- make HTTP requests from an Elixir application
- build a custom API client with reusable middleware
- swap HTTP adapters like Mint, Finch, or Hackney
- add retries, logging, or auth headers to HTTP requests
- encode and decode JSON in HTTP requests and responses
- set a base URL for calling a REST API

## When to choose
- you need a composable, middleware-based HTTP client in Elixir
- you want to build reusable API client modules with shared configuration
- you need the flexibility to switch between multiple HTTP adapters

## When to avoid
- you only need simple one-off requests and prefer zero dependencies beyond Erlang's built-in httpc
- you are not working in the Elixir/Erlang ecosystem
- you need a low-level HTTP server rather than a client

## Facets
- artifact type: library
- maturity: stable
- function: http-client, middleware, serialization
- domain: web-development, backend, apis, developer-tools
- platform: elixir, cross-platform
- tags: http-adapter, api-client-builder, finch, mint, hackney, retry-middleware

## Member repositories
- elixir-tesla/tesla (main) score 99

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:11.184675+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:56:11.207618+00:00, confidence not recorded.
  - readme: https://github.com/elixir-tesla/tesla (fetched 2026-08-28T04:06:11.184675+00:00, sha 45b23e138f65)
- Data as of 2026-08-30T08:39:29.467469+00:00.
