Packages

The package manager
for the Erlang ecosystem

Getting Started Publish Packages
Elixir
Using with Elixir

Specify your Mix dependencies as two-item tuples like {:plug, "~> 1.19"} in your dependency list, Elixir will ask if you want to install Hex if you haven't already.

Erlang
Using with Erlang

Download rebar3, put it in your PATH and give it executable permissions. Now you can specify Hex dependencies in your rebar.config like {deps, [hackney]} .

Gleam
Using with Gleam

Add the Hex dependency to your gleam.toml file using the lustre = ">= 5.2.0 and < 6.0.0" format. Or use the gleam add lustre@5 command.

Getting started

Fetch dependencies from Hex without creating an account. Hex is usable out of the box in Elixir with Mix and in Erlang with Rebar3 . Check our FAQ for commonly asked questions.

Publish packages

Create an account and follow the publishing guide . Your package will be immediately available to all Elixir and Erlang users and the documentation will be available on HexDocs .

Private packages

Publish private packages by creating an organization . Private packages cost $7 / user / month after a free 30-day trial and include fast dependency fetching and HexDocs on the same reliable infrastructure that serves millions of packages daily. See our pricing page for more details.

Dependency policies

Keep dependency rules consistent across projects with signed, organization-managed policies. Free organizations can publish public policies for public Hex packages. Paid organizations can also publish private policies covering public and private packages, visible only to organization members. See the policy guide for details.

Most Downloaded

  • jason 1.4.5

    A blazing fast JSON parser and generator in pure Elixir.

    5.8M
  • Dynamic dispatching library for metrics and instrumentations

    5M
  • plug 1.20.3

    Compose web applications with functions

    4.3M
  • Crypto-related functionality for the web

    4.3M
  • mime 2.0.7

    A MIME type module for Elixir

    4.2M
  • ranch 2.2.0

    Socket acceptor pool for TCP protocols.

    4M

New Packages

  • Elixir SDK for Bifrost, the LLM gateway by Maxim

    30 minutes ago
  • Time-series and event analytics for Elixir, stored in SQLite. One file. No server. Full SQL.

    49 minutes ago
  • Emit an OpenAPI 3.1.0 document from atproto lexicons.

    2 hours ago
  • Web Push notifications for Elixir: VAPID (RFC 8292) and aes128gcm payload encryption (RFC 8291/8188)

    3 hours ago
  • Auto-mount compiled Svelte components into Phoenix LiveView via a hook + function component.

    3 hours ago
  • A browser-native atproto OAuth + XRPC client for Gleam: WebCrypto DPoP, PKCE, and async transport...

    5 hours ago

Recently Updated

  • shift 0.2.0

    Animations for Phoenix LiveView, that just work. One <.animated> component, smart defaults, real ...

    17 minutes ago
  • CRM module for PhoenixKit — organization accounts, role-scoped user views, and per-user column ...

    22 minutes ago
  • Elixir SDK for Bifrost, the LLM gateway by Maxim

    30 minutes ago
  • Time-series and event analytics for Elixir, stored in SQLite. One file. No server. Full SQL.

    49 minutes ago
  • Generate Gleam types, JSON codecs, and a typed XRPC client from atproto lexicon files.

    1 hour ago
  • mace 0.2.0

    Per-test config isolation for ExUnit with transparent Application.get_env interception

    1 hour ago
Open Source

hex.pm is
open-source

Hex.pm interface
26 047 packages available
254 027 package versions
3 253 715 downloads yesterday
15 364 165 513 downloads all time