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 23 hours ago
JSON representation

  • 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.
  • Benchmarking

    • beamchmark - A Tool for measuring EVM performance.
    • benchfella - Benchmarking tool for Elixir.
    • bmark - A benchmarking tool for Elixir.
    • benchee - Easy and extensible benchmarking in Elixir.
  • Bittorrent

    • bento - An incredibly fast, correct, pure-Elixir Bencoding library.
    • wire - Encode and decode bittorrent peer wire protocol messages with Elixir.
    • tracker_request - Dealing with bittorrent tracker requests and responses.
    • wire - Encode and decode bittorrent peer wire protocol messages with Elixir.
  • Books

    • Adopting Elixir - Bring Elixir into your company, with real-life strategies from the people who built Elixir and use it successfully at scale. This book has all the information you need to take your application from concept to production (2017).
    • Craft GraphQL APIs in Elixir with Absinthe - Upgrade your web API to GraphQL, leveraging its flexible queries to empower your users, and its declarative structure to simplify your code (2017).
    • Elixir do zero à concorrência - (Portuguese) The book provides introduction to functional and concurrent programming with Elixir by Tiago Davi (2014).
    • Elixir in Action - A brief intro to the language followed by a more detailed look at building production-ready systems in Elixir by Saša Jurić (2015).
    • Elixir in Action, Second Edition - Revised and updated for Elixir 1.7, Elixir in Action, Second Edition teaches you how to apply Elixir to practical problems associated with scalability, fault tolerance, and high availability (2019).
    • Elixir in Action, Third Edition - Fully updated to Elixir 1.14, this authoritative bestseller reveals how Elixir tackles problems of scalability, fault tolerance, and high availability (2023).
    • Elixir Succinctly - A short book to learn the basic of Elixir and its ecosystem.
    • Erlang and Elixir for Imperative Programmers - Introduction to Erlang and Elixir in the context of functional concepts by Wolfgang Loder (2016).
    • Erlang in Anger - This book intends to be a little guide about how to be the Erlang medic in a time of war by Fred Hebert (2014).
    • Functional Web Development with Elixir, OTP, and Phoenix - Open doors to powerful new techniques that will get you thinking about web development in fundamentally new ways (2017).
    • Hands-on Elixir & OTP: Cryptocurrency trading bot - Want to learn Elixir & OTP by creating a real-world project? With Hands-on *Elixir & OTP: Cryptocurrency trading bot* you will gain hands-on experience by working on an interesting software project. We will explore all the key abstractions and essential principles through iterative implementation improvements. (2021).
    • Introducing Elixir - A gentle introduction to the language, with lots of code examples and exercises by Simon St. Laurent and J. David Eisenberg (2013).
    • Learn Functional Programming with Elixir - Don’t board the Elixir train with an imperative mindset! To get the most out of functional languages, you need to think functionally (2017).
    • Metaprogramming Elixir: Write Less Code, Get More Done (and Have Fun!) - Thorough explanation on how to exploit Elixir's metaprogramming capabilities to improve your Elixir coding by Chris McCord (2015).
    • Phoenix for Rails Developers - This book shows how Rails developers can benefit from their existing knowledge to learn Phoenix. By Elvio Vicosa (2017).
    • Phoenix in Action - builds on your existing web dev skills, teaching you the unique benefits of Phoenix along with just enough Elixir to get the job done. By Geoffrey Lessel (2017).
    • Phoenix Inside Out - The goal of this series is to enable you as a Confident Phoenix developer. There are 3 different editions to address varied needs of devs jumping into Phoenix.
    • Programming Elixir 1.6 - The book provides introduction to functional and concurrent programming with Elixir by Dave Thomas (2014).
    • Programming Phoenix 1.4 - Definitive guide to build web applications with the Phoenix framework by Chris McCord, José Valim and Bruce Tate (2015).
    • The Beam Book - A description of the Erlang Runtime System ERTS and the virtual Machine BEAM.
    • The Little Elixir & OTP Guidebook - A book for learning Elixir and OTP through small to medium-sized projects by Benjamin Tan Wei Hao (2014).
    • Études for Elixir - A collection of exercises to program in Elixir by J. David Eisenberg (2013) ([Github Repo](https://github.com/oreillymedia/etudes-for-elixir)).
    • Engineering Elixir Applications - _(currently in Beta)_ As the subtitle suggests, this book explores the technologies and skills that support navigating each stage of software delivery with confidence.
    • The Phoenix LiveView Cookbook - A Phoenix LiveView e-book containing tried and tested recipes for solving common problems.
    • Elixir Cookbook - This book is a set of recipes grouped by topic by Paulo A Pereira (2015).
    • Async Elixir - Dive into Elixir's world of concurrency and processes with this interactive Livebook.
    • Getting Started - Elixir - PDF, MOBI, and EPUB documents for Elixir's Getting Started tutorial (2016).
    • Phoenix for Rails Developers - This book shows how Rails developers can benefit from their existing knowledge to learn Phoenix. By Elvio Vicosa (2017).
    • Introducing Elixir - A gentle introduction to the language, with lots of code examples and exercises by Simon St. Laurent and J. David Eisenberg (2013).
    • Elixir Cookbook - This book is a set of recipes grouped by topic by Paulo A Pereira (2015).
    • Adopting Elixir - Bring Elixir into your company, with real-life strategies from the people who built Elixir and use it successfully at scale. This book has all the information you need to take your application from concept to production (2017).
    • Craft GraphQL APIs in Elixir with Absinthe - Upgrade your web API to GraphQL, leveraging its flexible queries to empower your users, and its declarative structure to simplify your code (2017).
    • Functional Web Development with Elixir, OTP, and Phoenix - Open doors to powerful new techniques that will get you thinking about web development in fundamentally new ways (2017).
    • Learn Functional Programming with Elixir - Don’t board the Elixir train with an imperative mindset! To get the most out of functional languages, you need to think functionally (2017).
    • Metaprogramming Elixir: Write Less Code, Get More Done (and Have Fun!) - Thorough explanation on how to exploit Elixir's metaprogramming capabilities to improve your Elixir coding by Chris McCord (2015).
    • Phoenix in Action - builds on your existing web dev skills, teaching you the unique benefits of Phoenix along with just enough Elixir to get the job done. By Geoffrey Lessel (2017).
    • The Beam Book - A description of the Erlang Runtime System ERTS and the virtual Machine BEAM.
  • BSON

    • BSONMap - Elixir package that applies a function to each document in a BSON file and has a low memory consumption.
    • cyanide - An Elixir BSON encoding/decoding library.
    • cyanide - An Elixir BSON encoding/decoding library.
  • Build Tools

    • active - Recompilation and Reloading on FileSystem changes.
    • coffee_rotor - Rotor plugin to compile CoffeeScript files.
    • dismake - Mix compiler running make.
    • etude - Parallel computation coordination compiler for Erlang/Elixir.
    • ExMake - A modern, scriptable, dependency-based build tool loosely based on Make principles.
    • Exscript - Elixir escript library.
    • mad - Small and Fast Rebar Replacement.
    • pc - A rebar3 port compiler.
    • reaxt - React template into your Elixir application for server rendering.
    • rebar3_abnfc_plugin - Rebar3 abnfc compiler.
    • rebar3_asn1_compiler - Plugin for compiling ASN.1 modules with Rebar3.
    • rebar3_auto - Rebar3 plugin to auto compile and reload on file change.
    • rebar3_diameter_compiler - Compile diameter .dia files in rebar3 projects.
    • rebar3_eqc - A rebar3 plugin to enable the execution of Erlang QuickCheck properties.
    • rebar3_exunit - A plugin to run Elixir ExUnit tests from rebar3 build tool.
    • rebar3_idl_compiler - This is a plugin for compiling Erlang IDL files using Rebar3.
    • rebar3_live - Rebar3 live plugin.
    • rebar3_neotoma_plugin - Rebar3 neotoma (Parser Expression Grammar) compiler.
    • rebar3_protobuffs - rebar3 protobuffs provider using protobuffs from Basho.
    • rebar3_run - Run a release with one simple command.
    • rebar3_yang_plugin - Rebar3 yang compiler.
    • reltool_util - Erlang reltool utility functionality application.
    • relx - A release assembler for Erlang.
    • remix - Automatic recompilation of Mix code on file change.
    • rotor - Super-simple build system for Elixir.
    • sass_elixir - A sass plugin for Elixir projects.
    • active - Recompilation and Reloading on FileSystem changes.
    • reaxt - React template into your Elixir application for server rendering.
    • rebar3_neotoma_plugin - Rebar3 neotoma (Parser Expression Grammar) compiler.
  • Caching

    • cachex - A powerful caching library for Elixir with a wide featureset.
    • con_cache - ConCache is an ETS based key/value storage.
    • elixir_locker - Locker is an Elixir wrapper for the locker Erlang library that provides some useful libraries that should make using locker a bit easier.
    • gen_spoxy - Caching made fun.
    • jc - In-memory, distributable cache with pub/sub, JSON-query and consistency support.
    • locker - Atomic distributed "check and set" for short-lived keys.
    • lru_cache - Simple LRU Cache, implemented with ets.
    • memoize - A memoization macro that easily cache function.
    • request_cache_plug - Easy to use caching for requests in either Phoenix Controllers or GraphQL resolvers. Bypasses JSON encoding/decoding for a large speedup.
    • stash - A straightforward, fast, and user-friendly key/value store.
    • nebulex - A fast, flexible and extensible distributed and local caching library for Elixir.
  • Chatting

    • alice - A Slack bot framework for Elixir.
    • chatty - A basic IRC client that is most useful for writing a bot.
    • cog - Cog is an open chatops platform that gives you a secure, collaborative command line right in your chat window.
    • ExGram - a library to build Telegram Bots, you can use the low-level methods and models or use the really opinionated framework included. ([Docs](https://hexdocs.pm/ex_gram/readme.html)).
    • ExIrc - IRC client adapter for Elixir projects.
    • ExMustang - A simple, clueless slackbot and collection of responders.
    • Guri - Automate tasks using chat messages.
    • hedwig - XMPP Client/Bot Framework for Elixir.([Docs](https://hexdocs.pm/hedwig/readme.html)).
    • hipchat_elixir - HipChat client library for Elixir, based on httpc.
    • kaguya - A small, powerful, and modular IRC bot.
    • slacker - A bot library for the Slack chat service.
    • yocingo - Create your own Telegram Bot.
  • Cheat Sheets

  • Cloud Infrastructure and Management

    • Cloudi - CloudI is for back-end server processing tasks that require soft-realtime transaction.
    • aws - AWS clients for Elixir.
    • Bonny - Kubernetes Operator Development Framework.
    • discovery - An OTP application for auto-discovering services with Consul.
    • erlcloud - Cloud Computing library for Erlang (Amazon EC2, S3, SQS, SimpleDB, Mechanical Turk, ELB). ([Docs](https://hexdocs.pm/erlcloud/)).
    • ex_riak_cs - Riak CS API client.
    • fleet_api - A simple wrapper for the Fleet (CoreOS) API. Can be used with etcd tokens or via direct node URLs.
    • Gandi - Gandi Wrapper for Leaseweb infrastructure.
    • IElixir - Jupyter's kernel for Elixir programming language.
    • k8s - Kubernetes Elixir client with CRD support, multi-cluster support, pluggable auth, and configurable middleware.
    • Kazan - Kubernetes client for Elixir, generated from the k8s open API specifications.
    • Kubex - Kubernetes client and integration for Elixir, written in pure Elixir.
    • Leaseweb - Elixir Wrapper for Leaseweb infrastructure.
    • libcluster - Automatic cluster formation/healing for Elixir applications.([Docs](https://hexdocs.pm/libcluster/readme.html)).
    • nodefinder - Strategies for automatic node discovery in Erlang.
    • nomad - Create cloud portable Elixir and Phoenix apps. Write once, use everywhere.
    • sidejob - Parallel worker and capacity limiting library for Erlang.
    • sidetask - SideTask is an alternative to Task.Supervisor using Basho's sidejob library with parallelism and capacity limiting.
    • skycluster - Automatic Erlang cluster formation, messaging and management for Elixir/Erlang applications. Integrated with Kubernetes.
    • vercel - An Elixir wrapper for Vercel's API.
    • Batteries Included - A self hostable platform for automation/UI driven Kubernetes; built in Elixir and Golang the entire UI is built with Phoenix Live View.
    • Cloudi - CloudI is for back-end server processing tasks that require soft-realtime transaction.
    • Kubereq - Kubernetes Client for Elixir based on Req.
    • ex_aws - AWS client, supporting Dynamo, Kinesis, Lambda, SQS, and S3.
  • Code Analysis

    • DepViz - A visual tool to help developers understand Elixir recompilation in their projects. ([Code](https://github.com/axelson/dep_viz/)).
    • belvedere - An example of CircleCI integration with Elixir.
    • coverex - Coverage Reports for Elixir.
    • credo - A static code analysis tool with a focus on code consistency and teaching Elixir. ([Docs](https://hexdocs.pm/credo/Credo.html)).
    • dialyxir - Mix tasks to simplify use of Dialyzer in Elixir projects.([Docs](https://hexdocs.pm/dialyzex/Mix.Tasks.Dialyzer.html)).
    • dogma - A code style linter for Elixir, powered by shame.([Docs](https://hexdocs.pm/dogma/api-reference.html)).
    • ex_check - One task to efficiently run all code analysis & testing tools in an Elixir project.
    • excellent_migrations - Detecting potentially dangerous operations in database migrations.
    • excoveralls - Coverage report tool for Elixir with coveralls.io integration.
    • exprof - A simple code profiler for Elixir, using eprof.
    • int_set - A time- and memory-efficient unordered data structure for positive integers.
  • Command Line Applications

    • phoenix-cli - Command-line interface for Phoenix Framework like Rails commands.
    • anubis - Command-Line application framework for Elixir.
    • elementtui - Library to help create terminal user interfaces (TUI).
    • firex - Firex is a library for automatically generating command line interfaces (CLIs) from an elixir module.
    • getopt - Command-line options parser for Erlang.
    • loki - Library for creating interactive command-line application.
    • optimus - Command-line option parser for Elixir inspired by [clap.rs](https://clap.rs/).
    • owl - Owl is a toolkit for writing command-line user interfaces in Elixir.
    • progress_bar - Command-line progress bars and spinners.
    • ratatouille - A TUI (terminal UI) kit for Elixir.
    • scribe - Pretty-print tables of Elixir structs and maps. Inspired by hirb.
    • table_rex - Generate configurable ASCII style tables for display.
    • tabula - Pretty print list of Ecto query results / maps in ascii tables (GitHub Markdown/OrgMode).
    • prompt - Toolkit for building command line applications in Elixir.
    • ex_cli - User friendly CLI apps for Elixir.
    • ex_prompt - Helper package to add interactivity to your command line applications as easy as possible.
  • Community

    • #elixir-lang - The IRC Channel #elixir-lang on Freenode.
    • Elixir Forum - Community run discussion forums for all things Elixir.
    • elixir-lang-core - Mailinglist for Elixir Core development, use "talk" for questions and general discussions.
    • elixir-lang-talk - Official Elixir Mailinglist for questions and discussions.
    • #elixir-lang - The IRC Channel #elixir-lang on Freenode.
  • Configuration

    • confex - Helper module that provides a nice way to read environment configuration at runtime.
    • configparser_ex - A simple Elixir parser for the same kind of files that Python's configparser library handles.
    • conform - Easy release configuration for Elixir apps.
    • dotenv - A port of dotenv to Elixir.
    • enux - utility package for loading, validating and documenting your app's configuration variables from env, json and jsonc files at runtime and injecting them into your environment.
    • ex_conf - Simple Elixir Configuration Management.
    • figaro - Simple Elixir project configuration.
    • figaro_elixir - Environmental variables manager for Elixir.
    • hush - Read and inject configuration at runtime, and in release mode with support for multiple providers.
    • hush_aws_secrets_manager - AWS Secrets Manager provider for hush.
    • hush_gcp_secret_manager - Google Secret Manager provider for hush.
    • mahaul - Supercharge your environment variables in Elixir. Parse and validate with compile time access guarantees, defaults, fallbacks and app pre-boot validations.
    • skogsra - Library to manage OS environment variables and application configuration options with ease.
    • sweetconfig - Read YAML configuration files from any point at your app.
    • weave - JIT configuration loader that works with Kubernetes and Docker Swarm.
  • Cryptography

    • aescmac - AES CMAC ([RFC 4493](https://tools.ietf.org/html/rfc4493)) in Elixir.
    • cipher - Elixir crypto library to encrypt/decrypt arbitrary binaries.
    • cloak - Cloak makes it easy to use encryption with Ecto.([Docs](https://hexdocs.pm/cloak/readme.html)).
    • comeonin - Password hashing (argon2, bcrypt, pbkdf2_sha512) library for Elixir.([https://hexdocs.pm/comeonin/api-reference.html](https://hexdocs.pm/comeonin/api-reference.html)).
    • crypto_rsassa_pss - RSASSA-PSS Public Key Cryptographic Signature Algorithm for Erlang.
    • elixir_tea - TEA implementation in Elixir.
    • ex_bcrypt - Elixir wrapper for the OpenBSD bcrypt password hashing algorithm.
    • ex_crypto - Elixir wrapper for Erlang `crypto` and `public_key` modules. Provides sensible defaults for many crypto functions to make them easier to use.([Docs](https://hexdocs.pm/ex_crypto/readme.html)).
    • exgpg - Use gpg from Elixir.
    • nimble_totp - Allows implementation of Time-based One-Time Passwords (TOTP) for 2FA.
    • ntru_elixir - Elixir wrapper for libntru. A post quantum cryptography system.
    • pot - Erlang library for generating one time passwords compatible with Google Authenticator.
    • rsa - `public_key` cryptography wrapper for Elixir.
    • rsa_ex - Library for working with RSA keys.
    • siphash-elixir - Elixir implementation of the SipHash hash family.
    • tea_crypto - Tiny Encryption Algorithm implementation.
  • CSV

    • cesso - CSV handling library for Elixir.
    • csv - CSV Decoding and Encoding for Elixir.
    • csv2sql - A fast and fully automated CSV to database importer.
    • csvlixir - A CSV reading/writing application for Elixir.
    • ecsv - Fast libcsv-based stream parser for Elixir.
    • ex_csv - CSV for Elixir.
    • nimble_csv - A simple and fast CSV parsing and dumping library for Elixir.
  • Data Visualization

    • plox - Server-side rendered SVG graphing components for Phoenix and LiveView.
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