An open API service indexing awesome lists of open source software.

awesome-elixir

A curated list of amazingly awesome Elixir and Erlang libraries, resources and shiny things. Updates:
https://github.com/h4cc/awesome-elixir

Last synced: about 17 hours ago
JSON representation

  • Actors

    • alf - Flow-based Application Layer Framework.
    • poolex - Pure elixir pool manager.
    • spawn - Elixir poliglot actors service mesh.
    • bpe - Business Process Engine in Erlang. ([Doc](https://bpe.n2o.dev)).
    • pooler - An OTP Process Pool Application.
  • Algorithms and Data structures

    • data_morph - Create Elixir structs from data.
    • aja - High performance persistent vectors and ordered maps.
    • array - An Elixir wrapper library for Erlang's array.
    • aruspex - Aruspex is a configurable constraint solver, written purely in Elixir.
    • bimap - Pure Elixir implementation of [bidirectional maps](https://en.wikipedia.org/wiki/Bidirectional_map) and multimaps.
    • bitmap - Pure Elixir implementation of [bitmaps](https://en.wikipedia.org/wiki/Bitmap).
    • blocking_queue - BlockingQueue is a simple queue implemented as a GenServer. It has a fixed maximum length established when it is created.
    • bloomex - A pure Elixir implementation of Scalable Bloom Filters.
    • clope - Elixir implementation of CLOPE: A Fast and Effective Clustering Algorithm for Transactional Data.
    • Closure Table - Closure Table for Elixir - a simple solution for storing and manipulating complex hierarchies. It provides in-memory and Ecto adapters.
    • combination - Elixir library to generate combinations and permutations from Enumerable collection.
    • conrex - An Elixir implementation of the CONREC algorithm for topographic or isochrone maps.
    • count_buffer - Buffer a large set of counters and flush periodically.
    • cuckoo - A pure Elixir implementation of [Cuckoo Filters](https://www.cs.cmu.edu/%7Edga/papers/cuckoo-conext2014.pdf).
    • cuid - Collision-resistant ids optimized for horizontal scaling and sequential lookup performance, written in Elixir.
    • dataframe - Package providing functionality similar to Python's Pandas or R's data.frame().
    • datastructures - A collection of protocols, implementations and wrappers to work with data structures.
    • def_memo - A memoization macro (defmemo) for elixir using a genserver backing store.
    • dlist - Deque implementations in Elixir.
    • eastar - A* graph pathfinding in pure Elixir.
    • ecto_materialized_path - Tree structure, hierarchy and ancestry for the ecto models.
    • ecto_state_machine - Finite state machine pattern implemented on Elixir and adopted for Ecto.
    • elistrix - A latency / fault tolerance library to help isolate your applications from an uncertain world of slow or failed services.
    • emel - A simple and functional machine learning library written in elixir.
    • erlang-algorithms - Implementations of popular data structures and algorithms.
    • exconstructor - An Elixir library for generating struct constructors that handle external data with ease.
    • exfsm - Simple elixir library to define a static FSM.
    • exmatrix - ExMatrix is a small library for working with matrices, originally developed for testing matrix multiplication in parallel.
    • exor_filter - Nif for xor_filters. 'Faster and Smaller Than Bloom and Cuckoo Filters'.
    • ezcryptex - Thin layer on top of Cryptex.
    • flow - Computational parallel flows on top of GenStage.
    • fnv - Pure Elixir implementation of Fowler–Noll–Vo hash functions.
    • fsm - Finite state machine as a functional data structure.
    • fuse - This application implements a so-called circuit-breaker for Erlang.
    • gen_fsm - A generic finite state-machine - Elixir wrapper around OTP's gen_fsm.
    • graphex - A library for composing and executing task graphs in elixir.
    • graphmath - An Elixir library for performing 2D and 3D mathematics.
    • hash_ring_ex - A consistent hash-ring implementation for Elixir.
    • hypex - Fast Elixir implementation of HyperLogLog.
    • indifferent - Indifferent access for Elixir maps/list/tuples with custom key conversion.
    • isaac - Isaac is an elixir module for ISAAC: a fast cryptographic random number generator.
    • jumper - Jump consistent hash implementation in Elixir (without NIFs).
    • key2value - Erlang 2-way Set Associative Map.
    • lfsr - Elixir implementation of a binary Galois Linear Feedback Shift Register.
    • loom - A CRDT library with δ-CRDT support.
    • luhn - Luhn algorithm in Elixir.
    • lz4 - LZ4 bindings for Erlang for fast data compressing.
    • machinery - A state machine library for structs in general, it integrates with Phoenix out of the box.
    • mason - Coerce maps into structs. This is helpful e.g. when you interface a REST API and want to create a struct from the response.
    • matrex - A blazing fast matrix library for Elixir/Erlang with C implementation using CBLAS.
    • merkle_tree - A Merkle hash tree implementation in Elixir.
    • minmaxlist - Elixir library extending `Enum.min_by/2`, `Enum.max_by/2` and `Enum.min_max_by/2` to return a list of results instead of just one.
    • mmath - A library for performing math on number 'arrays' in binaries.
    • monadex - Upgrade your Elixir pipelines with monads.
    • murmur - A pure Elixir implementation of the non-cryptographic hash Murmur3.
    • nary_tree - An Elixir implementation of generic n-ary tree data structure.
    • natural_sort - Elixir natural sort implementation for lists of strings.
    • navigation_tree - A navigation tree representation with helpers to generate HTML out of it.
    • parallel_stream - A parallel stream implementation for Elixir.
    • paratize - Elixir library providing some handy parallel processing (execution) facilities that support configuring number of workers and timeout.
    • parex - Parallel Execute (Parex) is an Elixir module for executing multiple (slow) processes in parallel.
    • qcomplex - Elixir library implementing complex numbers and math operations for them.
    • qex - Wraps `:queue`, with improved API and `Inspect`, `Collectable` and `Enumerable` protocol implementations.
    • qrational - Elixir library implementing rational numbers and math operations for them.
    • ratio - Adds Rational Numbers and allows them to be used in common arithmetic operations. Also supports conversion between Floats and Rational Numbers.
    • red_black_tree - Red-Black tree implementation in Elixir.
    • remodel - An Elixir presenter package used to transform map structures.
    • rendezvous - Implementation of the Rendezvous or Highest Random Weight (HRW) hashing algorithm in Elixir.
    • rock - Elixir implementation of ROCK: A Robust Clustering Algorithm for Categorical Attributes.
    • simhash - Simhash implementation using Siphash and N-grams.
    • sleeplocks - BEAM friendly spinlocks for Elixir/Erlang.
    • sorted_set - Sorted Sets for Elixir.
    • spacesaving - stream count distinct element estimation using the "space saving" algorithm.
    • structurez - A playground for data structures in Elixir.
    • supermemo - An Elixir implementation of the [Supermemo 2 algorithm](https://www.supermemo.com/english/ol/sm2.htm).
    • tfidf - An Elixir implementation of term frequency–inverse document frequency.
    • the_fuzz - Fuzzy string-matching algorithm implementations.
    • trie - Erlang Trie Implementation.
    • zipper_tree - Variadic arity tree with a zipper for Elixir.
    • eastar - A* graph pathfinding in pure Elixir.
    • exfsm - Simple elixir library to define a static FSM.
    • red_black_tree - Red-Black tree implementation in Elixir.
    • sfmt - SIMD-oriented Fast Mersenne Twister (SFMT) for Erlang.
    • sorted_set - Sorted Sets for Elixir.
    • tinymt - Tiny Mersenne Twister (TinyMT) for Erlang.
    • witchcraft - Common algebraic structures and functions for Elixir.
  • Applications

    • Lynx - A Fast, Secure and Reliable Terraform Backend, Set up in Minutes.
    • Caddishouse - A web-based document reader that connects to your cloud storage accounts using Phoenix/LiveView.
    • CaptainFact - A collaborative, real-time video fact-checking platform. ([Docs](https://captainfact.io/)).
    • chat - A tiny text chat sample based on N2O.
    • Consolex - Consolex is a tool that allows you to attach a web based console to any mix project.
    • dragonfly_server - Elixir app to serve Dragonfly images.
    • exchat - A Slack-like app by Elixir, Phoenix & React (redux).
    • Exon - A “mess manager” developed in Elixir and provides a simple API to manage & document your stuff. ([Docs](https://hexdocs.pm/exon/readme.html)).
    • ExShop - Digital goods shop & blog created using Phoenix framework.
    • Hydra - A multi-headed beast: API gateway, request cache, and data transformations.
    • Igthorn - Cryptocurrecy trading platform / trading bot with admin panel.
    • majremind - A self-maintained database of your updated server which tells you which one needs to be updated.
    • medex - Medical Examination - application for register health check callbacks and represent their state via HTTP.
    • Nvjorn - A multi-protocol network services monitor written in Elixir using Poolboy.
    • Phoenix Battleship - The Good Old game built with Elixir, Phoenix Framework, React and Redux.
    • Phoenix Toggl - Toggl tribute done in Elixir, Phoenix Framework, React and Redux.
    • Phoenix Trello - Trello tribute done in Elixir, Phoenix Framework, React and Redux.
    • Plural - Deploys your favorite open source applications like airflow and airbyte in your own cloud account with just two commands. Written in Elixir and Phoenix Framework for server side, and React for frontend.
    • poxa - Open Pusher implementation, compatible with Pusher libraries.
    • Queerlink - A simple yet efficient URL shortening service written in Elixir.
    • RemoteRetro - A real-time application for conducting Agile retrospectives at [remoteretro.org](https://remoteretro.org) written in Elixir/Phoenix/React.
    • Sprint Poker - Online estimation tool for Agile teams, written using Elixir Lang, Phoenix Framework and React.
    • Startup Job - An umbrella project to search startup jobs scraped from websites written in Elixir/Phoenix and React/Redux.
    • tty2048 - Terminal-based 2048 game written in Elixir.
    • uai_shot - A multiplayer ship game built with Elixir, Phoenix Framework and Phaser.
    • utils - Website with handy day-to-day utils: to do list, URL shortener, code bin and pie chart. Written in Elixir using Phoenix Framework.
    • workbench - From Idea to Execution - Manage your trading operation across a globally distributed cluster.
    • Harpoon - A webhook receiver/inspector app, made using Phoenix and LiveView, it's basically a simplified version of [webhook.site](htts://webhook.site).
    • Tai - A composable, real time, cryptocurrency market data and trade execution toolkit.
    • ExShop - Digital goods shop & blog created using Phoenix framework.
    • medusa_server - A simple cowboy web server written in Elixir to stack images. ([Docs](https://hexdocs.pm/medusa/0.2.0/api-reference.html)).
  • Artificial Intelligence

    • Runhyve - Runhyve is complete virtual machines manager for bhyve on FreeBSD. It's written in Elixir and uses Phoenix framework.
    • Weaviate - Weaviate client and macros for declaring records. ([Docs](https://hexdocs.pm/noizu_weaviate/api-reference.html)).
    • Axon - Nx-powered Neural Networks.
    • Beaver - Beaver is a LLVM/MLIR Toolkit in Elixir and Zig.
    • ExLLama - LlamaCpp Nif Extensions for Elixir/Erlang. ([Docs](https://hexdocs.pm/ex_llama/ExLLama.html)).
    • Exnn - Evolutive Neural Networks framework à la G.Sher written in Elixir. ([Docs](http://zampino.github.io/exnn/)).
    • GenAI - An extensible Generative AI Completion API Wrapper with basic chat completion with tool use support provided for Gemini, Anthropic, OpenAI, and Mistral models. ([Docs](https://hexdocs.pm/genai/GenAI.html)).
    • m2cgen - A CLI tool to transpile trained classic ML models into a native Elixir code with zero dependencies.
    • Neat-Ex - An Elixir implementation of the NEAT algorithm. ([Docs](https://hexdocs.pm/neat_ex/Neat.html)).
    • Noizu-OpenAi - An Elixir Api for the OpenAI Library. ([Docs](https://hexdocs.pm/noizu_labs_open_ai/api-reference.html)).
    • Nx - Multi-dimensional arrays (tensors) and numerical definitions for Elixir.
    • simple_bayes - A Simple Bayes / Naive Bayes implementation in Elixir.
    • Synapses - A lightweight library for neural networks.
    • AshAI - AI and LLM toolkit for Ash applications. MCP server, MCP dev tools, vector embeddings, chat interfaces, and more.
    • Jido - Autonomous agent framework for Elixir. Built for distributed, autonomous behavior and dynamic workflows.
    • ReqLLM - LLM Client supporting over 100+ LLM Providers and Models
    • Noizu-OpenAi - An Elixir Api for the OpenAI Library. ([Docs](https://hexdocs.pm/noizu_labs_open_ai/api-reference.html)).
  • Audio and Sounds

    • erlaudio - Erlang PortAudio bindings.
    • ex_alsa - Elixir ALSA bindings.
    • ex_jack - Elixir JACK bindings.
    • firmata - This package implements the Firmata protocol.
    • synthex - A signal synthesis library.
  • Authentication

    • ueberauth_auth0 - An Ueberauth strategy for using Auth0 to authenticate your users.
    • aeacus - A simple configurable identity/password authentication module (Compatible with Ecto/Phoenix).
    • apache_passwd_md5 - Apache/APR Style Password Hashing.
    • aws_auth - AWS Signature Version 4 Signing Library for Elixir.
    • basic_auth - Elixir Plug to easily add HTTP basic authentication to an app.
    • coherence - Coherence is a full featured, configurable authentication system for Phoenix. ([Docs](https://hexdocs.pm/coherence/Coherence.html)).
    • doorman - Tools to make Elixir authentication simple and flexible.
    • elixir_auth_google - The simplest way to add Google OAuth authentication ("Sign in with Google") to your Elixir/Phoenix app.
    • ex_aws_msk_iam_auth - AWS Managed Streaming for Apache Kafka (MSK) IAM Authentication plugin for Broadway Kafka.
    • github_oauth - A simple github oauth library.
    • goth - OAuth 2.0 library for server to server applications via Google Cloud APIs.
    • guardian - An authentication framework for use with Elixir applications. ([Docs](https://hexdocs.pm/guardian/Guardian.html)).
    • guardian_db - An extension to Guardian that tracks tokens in your application's database to prevent playback. ([Docs](https://hexdocs.pm/guardian_db/readme.html)).
    • guardian_redis - Redis repository for Guardian DB. ([Docs](https://hexdocs.pm/guardian_redis/readme.html)).
    • htpasswd - Apache htpasswd file reader/writer in Elixir.
    • mojoauth - MojoAuth implementation in Elixir.
    • oauth2_facebook - A Facebook OAuth2 Provider for Elixir.
    • oauth2_github - A GitHub OAuth2 Provider for Elixir.
    • oauth2cli - Simple OAuth2 client written for Elixir.
    • oauth2ex - Another OAuth 2.0 client library for Elixir.
    • oauther - An OAuth 1.0 implementation for Elixir.
    • passwordless_auth - Simple passwordless login or 2-factor / multi-factor authentication for Elixir.
    • phauxth - Authentication library for Phoenix 1.3 and other Plug-based apps.
    • phoenix_client_ssl - Client SSL Authentication Plugs for Phoenix and other Plug-based apps.
    • phx_gen_auth - An authentication system generator for Phoenix 1.5 applications.
    • samly - SAML SP SSO made easy ([Doc](https://hexdocs.pm/samly/readme.html)).
    • sesamex - Another simple and flexible authentication solution in 5 minutes!.
    • sigaws - AWS Signature V4 signing and verification library ([Doc](https://hexdocs.pm/sigaws/Sigaws.html)).
    • ueberauth - An Elixir Authentication System for Plug-based Web Applications.
    • ueberauth_cas - Central Authentication Service strategy for Überauth.
    • ueberauth_facebook - Facebook OAuth2 Strategy for Überauth.
    • ueberauth_foursquare - Foursquare OAuth2 Strategy for Überauth.
    • ueberauth_github - A GitHub strategy for Überauth.
    • ueberauth_google - A Google strategy for Überauth.
    • ueberauth_identity - A simple username/password strategy for Überauth.
    • ueberauth_line - LINE Strategy for Überauth.
    • ueberauth_microsoft - A Microsoft strategy for Überauth.
    • ueberauth_slack - A Slack strategy for Überauth.
    • ueberauth_twitter - Twitter Strategy for Überauth.
    • ueberauth_weibo - [Weibo](https://weibo.com) OAuth2 Strategy for Überauth.
    • zachaeus - An easy to use licensing system, based on asymmetric cryptography.
    • pow - Robust, modular, and extendable user authentication system ([Website](https://powauth.com) - [Doc](https://hex.pm/packages/pow)).
    • oauth2 - An OAuth 2.0 client library for Elixir.
    • apache_passwd_md5 - Apache/APR Style Password Hashing.
    • htpasswd - Apache htpasswd file reader/writer in Elixir.
    • basic_auth - Elixir Plug to easily add HTTP basic authentication to an app.
    • ueberauth_vk - [vk.com](https://vk.com) Strategy for Überauth.
  • Authorization

    • authorize - Rule based authorization, for advanced authorization rules.
    • bodyguard - A flexible authorization library for Phoenix applications.
    • canada - A simple authorization library that provides a friendly interface using declarative permission rules.
    • canary - An authorization library for Elixir applications that restricts what resources the current user is allowed to access. ([Docs](https://hexdocs.pm/canary/api-reference.html)).
    • speakeasy - Middleware based authentication and authorization for Absinthe GraphQL powered by Bodyguard.
    • terminator - Database based authorization (ACL), with custom DSL rules for requiring needed permissions. ([Docs](https://hexdocs.pm/terminator/readme.html)).
  • Behaviours and Interfaces

    • connection - Connection behaviour for connection processes. The API is superset of the GenServer API.
    • gen_state_machine - Elixir wrapper for gen_statem.
    • stockastic - Simple Elixir wrapper for the Stockfighter API.
Categories
Third Party APIs 124 ORM and Datamapping 107 Framework Components 89 Algorithms and Data structures 86 Text and Numbers 79 Testing 66 Miscellaneous 62 Authentication 47 HTTP 43 Books 37 Queue 36 Applications 31 Utilities 30 Examples and funny stuff 29 Build Tools 29 Macros 27 Cloud Infrastructure and Management 24 Date and Time 22 Logging 21 Instrumenting / Monitoring 21 Editors 21 Websites 21 Images 21 Networking 20 JSON 19 Geolocation 19 Files and Directories 18 Artificial Intelligence 17 Command Line Applications 16 Cryptography 16 Validations 16 Frameworks 16 Screencasts 16 Configuration 15 Reading 15 Debugging 15 Email 14 XML 13 Release Management 12 Chatting 12 Templating 12 Protocols 12 Caching 11 Deployment 11 REST and API 11 Code Analysis 11 Documentation 10 Static Page Generation 9 Translations and Internationalizations 9 Security 9 Games 8 HTML 8 CSV 7 Other Awesome Lists 7 Errors and Exception Handling 6 Authorization 6 PDF 6 Newsletters 6 Statistics 6 Podcasts 6 Behaviours and Interfaces 6 Community 5 Search 5 Actors 5 Eventhandling 5 Domain-specific language 5 YAML 5 Audio and Sounds 5 Natural Language Processing (NLP) 5 Markdown 5 Feeds 4 Bittorrent 4 Benchmarking 4 Feature Flags and Toggles 4 ECMAScript 4 OTP 4 Styleguides 3 Package Management 3 Native Implemented Functions 3 Lexical analysis 3 Data Visualization 3 BSON 3 Hardware 3 Office 3 Languages 3 Video 2 GUI 2 Cheat Sheets 2 Encoding and Compression 2 WebAssembly 2 SMS 1 Forms 1 QUIC 1 Embedded Systems 1 Version Control 1
Sub Categories