Awesome Elixir Build Status Awesome

A curated list of amazingly awesome Elixir libraries, resources, and shiny things inspired by awesome-php16k 3k .

If you think a package should be added, please add a 👍 (:+1:) at the according issue or create a new one.

There are other sites with curated lists of elixir packages which you can have a look at.

Actors

Libraries and tools for working with actors and such.

  • dflow10 3 - Pipelined flow processing engine.
  • exactor493 29 - Helpers for easier implementation of actors in Elixir.
  • exos39 7 - A Port Wrapper which forwards cast and call to a linked Port.
  • flowex152 3 - Railway Flow-Based Programming with Elixir GenStage.
  • mon_handler - A minimal GenServer that monitors a given GenEvent handler.
  • pool_ring - Create a pool based on a hash ring.
  • poolboy945 247 - A hunky Erlang worker pool factory.
  • pooler245 77 - An OTP Process Pool Application.
  • sbroker67 7 - Sojourn-time based active queue management library.
  • workex60 5 - Backpressure and flow control in EVM processes.

Algorithms and Data structures

Libraries and implementations of algorithms and data structures.

  • array3 0 - An Elixir wrapper library for Erlang's array.
  • aruspex - Aruspex is a configurable constraint solver, written purely in Elixir.
  • bitmap19 7 - Pure Elixir implementation of bitmaps.
  • blocking_queue33 8 - BlockingQueue is a simple queue implemented as a GenServer. It has a fixed maximum length established when it is created.
  • bloomex34 4 - A pure Elixir implementation of Scalable Bloom Filters.
  • clope1 1 - Elixir implementation of CLOPE: A Fast and Effective Clustering Algorithm for Transactional Data.
  • combination7 1 - Elixir library to generate combinations and permutations from Enumerable collection.
  • count_buffer - Buffer a large set of counters and flush periodically.
  • cuckoo16 1 - A pure Elixir implementation of Cuckoo Filters.
  • cuid - Collision-resistant ids optimized for horizontal scaling and sequential lookup performance, written in Elixir.
  • data_morph - Create Elixir structs from data.
  • dataframe11 1 - Package providing functionality similar to Python's Pandas or R's data.frame().
  • datastructures84 11 - A collection of protocols, implementations and wrappers to work with data structures.
  • dlist3 1 - Deque implementations in Elixir.
  • eastar7 3 - A* graph pathfinding in pure Elixir.
  • ecto_materialized_path - Tree structure, hierarchy and ancestry for the ecto models.
  • ecto_state_machine31 10 - 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.
  • erlang-algorithms80 17 - Implementations of popular data structures and algorithms.
  • exconstructor130 11 - An Elixir library for generating struct constructors that handle external data with ease.
  • exfsm - Simple elixir library to define a static FSM.
  • exkad - A kademlia implementation in Elixir.
  • exmatrix48 12 - ExMatrix is a small library for working with matrices, originally developed for testing matrix multiplication in parallel.
  • ezcryptex - Thin layer on top of Cryptex.
  • fnv1 3 - Pure Elixir implementation of Fowler–Noll–Vo hash functions.
  • fsm204 20 - Finite state machine as a functional data structure.
  • fuse270 29 - This application implements a so-called circuit-breaker for Erlang.
  • gen_fsm33 4 - A generic finite state-machine - Elixir wrapper around OTP's gen_fsm.
  • graphmath41 13 - An Elixir library for performing 2D and 3D mathematics.
  • hash_ring_ex4 1 - A consistent hash-ring implementation for Elixir.
  • hypex4 1 - Fast Elixir implementation of HyperLogLog.
  • indifferent - Indifferent access for Elixir maps/list/tuples with custom key conversion.
  • isaac5 2 - Isaac is an elixir module for ISAAC: a fast cryptographic random number generator.
  • key2value - Erlang 2-way Set Associative Map.
  • lfsr2 0 - Elixir implementation of a binary Galois Linear Feedback Shift Register.
  • loom16 0 - A CRDT library with δ-CRDT support.
  • luhn7 5 - Luhn algorithm in Elixir.
  • lz448 27 - LZ4 bindings for Erlang for fast data compressing.
  • memoize28 6 - A memoization macro (defmemo) for elixir using a genserver backing store.
  • merkle_tree30 9 - A Merkle hash tree implementation in Elixir.
  • minmaxlist5 1 - 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.
  • mmath4 10 - A library for performing math on number 'arrays' in binaries.
  • monad22 3 - Haskell inspired monads in Elixir stylish syntax.
  • monadex236 12 - Upgrade your Elixir pipelines with monads.
  • murmur12 2 - A pure Elixir implementation of the non-cryptographic hash Murmur3.
  • 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_stream43 8 - A parallel stream implementation for Elixir.
  • paratize2 1 - Elixir library providing some handy parallel processing (execution) facilities that support configuring number of workers and timeout.
  • parex68 7 - Parallel Execute (Parex) is an Elixir module for executing multiple (slow) processes in parallel.
  • qex - Wraps :queue, with improved API and Inspect, Collectable and Enumerable protocol implementations.
  • ratio7 5 - Adds Rational Numbers and allows them to be used in common arithmatic operations. Also supports conversion between Floats and Rational Numbers.
  • red_black_tree22 10 - Red-Black tree implementation in Elixir.
  • remodel87 8 - 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.
  • sfmt66 15 - SIMD-oriented Fast Mersenne Twister (SFMT) for Erlang.
  • simhash - Simhash implementation using Siphash and N-grams.
  • sorted_set15 5 - 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.
  • tfidf13 1 - An Elixir implementation of term frequency–inverse document frequency.
  • the_fuzz - Fuzzy string-matching algorithm implementations.
  • tinymt22 4 - Tiny Mersenne Twister (TinyMT) for Erlang.
  • trie102 26 - Erlang Trie Implementation.
  • witchcraft56 3 - Common algebraic structures and functions for Elixir.
  • zipper_tree - Variadic arity tree with a zipper for Elixir.

Applications

Standalone applications.

  • Alher27 3 - Alexander is a rock-solid IRC bot written in Elixir with powerful plugins.
  • bpe83 20 - Business Process Engine in Erlang.
  • Consolex89 5 - Consolex is a tool that allows you to attach a web based console to any mix project.
  • dragonfly_server41 3 - Elixir app to serve Dragonfly images.
  • ExChat157 18 - A Slack-like app by Elixir, Phoenix & React(redux).
  • Exon16 1 - A “mess manager” developed in Elixir and provides a simple API to manage & document your stuff.
  • ExShop141 19 - Digital goods shop & blog created using Phoenix framework.
  • Hydra36 3 - A multi-headed beast: API gateway, request cache, and data transformations.
  • majremind - A self-maintained database of your updated server which tells you which one needs to be updated.
  • medex6 3 - Medical Examination - application for register health check callbacks and represent their state via HTTP.
  • medusa_server - A simple cowboy web server written in Elixir to stack images.
  • n2o355 74 - WebSocket Application Server.
  • Nvjorn - A multi-protocol network services monitor written in Elixir using Poolboy.
  • Phoenix Battleship386 45 - The Good Old game built with Elixir, Phoenix Framework, React and Redux.
  • Phoenix Toggl158 14 - Toggl tribute done in Elixir, Phoenix Framework, React and Redux.
  • Phoenix Trello2k 332 - Trello tribute done in Elixir, Phoenix Framework, React and Redux.
  • poxa640 69 - Open Pusher implementation, compatible with Pusher libraries.
  • Queerlink20 3 - A simple yet efficient URL shortening service written in Elixir.
  • RemoteRetro87 13 - A real-time application for conducting Agile retrospectives at remoteretro.org written in Elixir/Phoenix/React.
  • Sprint Poker146 26 - Online estimation tool for Agile teams, written using Elixir Lang, Phoenix Framework and React.
  • Startup Job17 2 - An umbrella project to search startup jobs scraped from websites written in Elixir/Phoenix and React/Redux.
  • tty2048137 20 - Terminal-based 2048 game written in Elixir.
  • uai_shot5 2 - A multiplayer ship game built with Elixir, Phoenix Framework and Phaser.

Artificial Intelligence

When your code becomes smarter than you.

  • Exnn51 7 - Evolutive Neural Networks framework à la G.Sher written in Elixir.
  • Neat-Ex - An Elixir implementation of the NEAT algorithm.
  • simple_bayes266 13 - A Simple Bayes / Naive Bayes implementation in Elixir.

Audio and Sounds

Libraries working with sounds and tones.

  • erlaudio19 3 - Erlang PortAudio bindings.
  • synthex23 7 - A signal synthesis library.

Authentication

Libraries for implementing authentication schemes.

  • aeacus33 2 - A simple configurable identity/password authentication module (Compatible with Ecto/Phoenix).
  • apache_passwd_md5 - Apache/APR Style Password Hashing.
  • aws_auth40 29 - AWS Signature Version 4 Signing Library for Elixir.
  • basic_auth62 21 - Elixir Plug to easily add HTTP basic authentication to an app.
  • blackbook - All-in-one membership/authentication system for Elixir.
  • coherence626 129 - Coherence is a full featured, configurable authentication system for Phoenix.
  • doorman65 7 - Tools to make Elixir authentication simple and flexible.
  • github_oauth5 3 - A simple github oauth library.
  • goth61 36 - OAuth 2.0 library for server to server applications via Google Cloud APIs.
  • guardian2k 204 - An authentication framework for use with Elixir applications.
  • htpasswd - Apache htpasswd file reader/writer in Elixir.
  • mojoauth7 1 - MojoAuth implementation in Elixir.
  • oauth2374 97 - An OAuth 2.0 client library for Elixir.
  • oauth2_facebook - A Facebook OAuth2 Provider for Elixir.
  • oauth2_github - A GitHub OAuth2 Provider for Elixir.
  • oauth2cli4 3 - Simple OAuth2 client written for Elixir.
  • oauth2ex59 21 - Another OAuth 2.0 client library for Elixir.
  • oauther38 14 - An OAuth 1.0 implementation for Elixir.
  • phauxth88 12 - 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.
  • samly1 1 - SAML SP SSO made easy (Doc).
  • sesamex - Another simple and flexible authentication solution in 5 minutes!.
  • shield118 18 - An OAuth 2.0 provider library and implementation for Phoenix Framework.
  • sigaws - AWS Signature V4 signing and verification library (Doc).
  • ueberauth518 43 - An Elixir Authentication System for Plug-based Web Applications.
  • ueberauth_active_directory5 1 - Uberauth strategy for Active Directory authentication.
  • ueberauth_auth0 - An Ueberauth strategy for using Auth0 to authenticate your users.
  • ueberauth_cas7 2 - Central Authentication Service strategy for Überauth.
  • ueberauth_facebook - Facebook OAuth2 Strategy for Überauth.
  • ueberauth_foursquare - Foursquare OAuth2 Strategy for Überauth.
  • ueberauth_github33 19 - A GitHub strategy for Überauth.
  • ueberauth_google30 28 - A Google strategy for Überauth.
  • ueberauth_identity38 14 - A simple username/password strategy for Überauth.
  • ueberauth_line - LINE Strategy for Überauth.
  • ueberauth_microsoft1 1 - A Microsoft strategy for Überauth.
  • ueberauth_slack8 19 - A Slack strategy for Überauth.
  • ueberauth_twitter21 18 - Twitter Strategy for Überauth.
  • ueberauth_vk11 9 - vk.com Strategy for Überauth.
  • ueberauth_weibo9 2 - Weibo OAuth2 Strategy for Überauth.

Authorization

Libraries for implementing Authorization handling.

  • authorize27 4 - Rule based authorization, for advanced authorization rules.
  • bodyguard112 12 - A flexible authorization library for Phoenix applications.
  • canada109 22 - A simple authorization library that provides a friendly interface using declarative permission rules.
  • canary599 82 - An authorization library for Elixir applications that restricts what resources the current user is allowed to access.

Behaviours and Interfaces

Definitions how something should behave, like Interfaces from OOP-World

  • connection151 19 - Connection behaviour for connection processes. The API is superset of the GenServer API.
  • gen_state_machine73 10 - Elixir wrapper for gen_statem.
  • stockastic - Simple Elixir wrapper for the Stockfighter API.

Benchmarking

Running code to see how long it takes, which is faster and/or if improvements have been made.

  • benchee336 31 - Easy and extensible benchmarking in Elixir!
  • benchfella245 22 - Benchmarking tool for Elixir.
  • bmark57 8 - A benchmarking tool for Elixir.

Bittorrent

Sharing is caring with Elixir

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

BSON

Libraries and implementations working with BSON.

  • BSONMap - Elixir package that applies a function to each document in a BSON file and has a low memory consumption.

Build Tools

Project build and automation tools.

  • active55 16 - Recompilation and Reloading on FileSystem changes.
  • coffee_rotor11 4 - Rotor plugin to compile CoffeeScript files.
  • dismake - Mix compiler running make.
  • etude5 1 - Parallel computation coordination compiler for Erlang/Elixir.
  • ExMake11 0 - A modern, scriptable, dependency-based build tool loosely based on Make principles.
  • Exscript6 2 - Elixir escript library.
  • mad136 47 - Small and Fast Rebar Replacement.
  • pc52 26 - A rebar3 port compiler.
  • reaxt282 29 - React template into your Elixir application for server rendering.
  • rebar3_abnfc_plugin - Rebar3 abnfc compiler.
  • rebar3_asn1_compiler1 1 - Plugin for compiling ASN.1 modules with Rebar3.
  • rebar3_auto4 1 - Rebar3 plugin to auto compile and reload on file change.
  • rebar3_diameter_compiler - Compile diameter .dia files in rebar3 projects.
  • rebar3_eqc13 8 - 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_protobuffs9 3 - rebar3 protobuffs provider using protobuffs from Basho.
  • rebar3_run15 3 - Run a release with one simple command.
  • rebar3_yang_plugin - Rebar3 yang compiler.
  • reltool_util10 3 - Erlang reltool utility functionality application.
  • relx498 171 - A release assembler for Erlang.
  • remix2 0 - Automatic recompilation of Mix code on file change.
  • rotor48 3 - Super-simple build system for Elixir.
  • sass_elixir - A sass plugin for Elixir projects.

Caching

Libraries for caching data.

  • cachex249 15 - A powerful caching library for Elixir with a wide featureset.
  • con_cache286 38 - ConCache is an ETS based key/value storage.
  • elixir_locker12 3 - Locker is an Elixir wrapper for the locker Erlang library that provides some useful libraries that should make using locker a bit easier.
  • jc17 1 - In-memory, distributable cache with pub/sub, JSON-query and consistency support.
  • locker137 19 - Atomic distributed "check and set" for short-lived keys.
  • lru_cache22 5 - Simple LRU Cache, implemented with ets.
  • stash33 1 - A straightforward, fast, and user-friendly key/value store.

Chatting

Chatting via IRC, Slack, HipChat and other systems using Elixir.

  • alice17 8 - A Slack bot framework for Elixir.
  • chatty34 6 - A basic IRC client that is most useful for writing a bot.
  • cog768 65 - Cog is an open chatops platform that gives you a secure, collaborative command line right in your chat window.
  • ExIrc91 43 - IRC client adapter for Elixir projects.
  • ExMustang26 1 - A simple, clueless slackbot and collection of responders.
  • Guri14 2 - Automate tasks using chat messages.
  • hedwig265 38 - XMPP Client/Bot Framework for Elixir.
  • kaguya56 7 - A small, powerful, and modular IRC bot.
  • slacker81 22 - A bot library for the Slack chat service.
  • yocingo28 7 - Create your own Telegram Bot.

Cloud Infrastructure and Management

Applications, tools and libraries for your own cloud service.

  • aws137 35 - AWS clients for Elixir.
  • Cloudi - CloudI is for back-end server processing tasks that require soft-realtime transaction.
  • discovery209 18 - An OTP application for auto-discovering services with Consul.
  • erlcloud199 134 - Cloud Computing library for Erlang (Amazon EC2, S3, SQS, SimpleDB, Mechanical Turk, ELB).
  • ex_aws425 190 - AWS client, supporting Dynamo, Kinesis, Lambda, SQS, and S3.
  • ex_riak_cs7 6 - Riak CS API client.
  • fleet_api9 2 - 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.
  • IElixir126 13 - Jupyter's kernel for Elixir programming language.
  • Kubex28 6 - Kubernetes client and integration for Elixir, written in pure Elixir.
  • Leaseweb - Elixir Wrapper for Leaseweb infrastructure.
  • libcluster304 21 - Automatic cluster formation/healing for Elixir applications.
  • nodefinder38 6 - Strategies for automatic node discovery in Erlang.
  • nomad50 2 - Create cloud portable Elixir and Phoenix apps. Write once, use everywhere!
  • oceanex8 2 - Digital Ocean API client.
  • sidejob85 20 - Parallel worker and capacity limiting library for Erlang.
  • sidetask50 7 - 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.

Code Analysis

Libraries and tools for code base analysis, parsing, and manipulation.

  • belvedere17 3 - An example of CircleCI integration with Elixir.
  • coverex78 30 - Coverage Reports for Elixir.
  • credo2k 194 - A static code analysis tool with a focus on code consistency and teaching Elixir.
  • dialyxir572 64 - Mix tasks to simplify use of Dialyzer in Elixir projects.
  • dogma443 65 - A code style linter for Elixir, powered by shame.
  • excoveralls324 101 - Coverage report tool for Elixir with coveralls.io integration.
  • exprof70 9 - A simple code profiler for Elixir, using eprof.

Command Line Applications

Anything helpful for building CLI applications.

  • anubis - Command-Line application framework for Elixir.
  • ex_prompt - Helper package to add interactivity to your command line applications as easy as possible.
  • firex5 1 - Firex is a library for automatically generating command line interfaces (CLIs) from an elixir module.
  • getopt143 33 - Command-line options parser for Erlang.
  • loki25 2 - Library for creating interactive command-line application.
  • meld - Create global binaries from mix tasks.
  • optimus17 1 - Command-line option parser for Elixir inspired by clap.rs.
  • phoenix-cli - Command-line interface for Phoenix Framework like Rails commands.
  • progress_bar173 12 - Command-line progress bars and spinners.
  • scribe59 2 - Pretty-print tables of Elixir structs and maps. Inspired by hirb.
  • table_rex59 7 - Generate configurable ASCII style tables for display.
  • tabula - Pretty print list of Ecto query results / maps in ascii tables (GitHub Markdown/OrgMode).

Configuration

Libraries and tools working with configurations

  • confex56 11 - Helper module that provides a nice way to read environment configuration at runtime.
  • configparser_ex12 3 - A simple Elixir parser for the same kind of files that Python's configparser library handles.
  • conform305 59 - Easy release configuration for Elixir apps.
  • dotenv136 25 - A port of dotenv to Elixir.
  • ex_conf20 3 - Simple Elixir Configuration Management.
  • figaro2 0 - Simple Elixir project configuration.
  • figaro_elixir11 3 - Environmental variables manager for Elixir.
  • sweetconfig - Read YAML configuration files from any point at your app.
  • weave61 7 - JIT configuration loader that works with Kubernetes and Docker Swarm.

Cryptography

Encrypting and decrypting data

  • aescmac4 1 - AES CMAC (RFC 4493) in Elixir.
  • cipher26 9 - Elixir crypto library to encrypt/decrypt arbitrary binaries.
  • cloak138 19 - Cloak makes it easy to use encryption with Ecto.
  • comeonin259 22 - Password hashing (argon2, bcrypt, pbkdf2_sha512) library for Elixir.
  • crypto_rsassa_pss - RSASSA-PSS Public Key Cryptographic Signature Algorithm for Erlang.
  • elixir_tea2 1 - TEA implementation in Elixir.
  • ex_bcrypt - Elixir wrapper for the OpenBSD bcrypt password hashing algorithm.
  • ex_crypto39 13 - Elixir wrapper for Erlang crypto and public_key modules. Provides sensible defaults for many crypto functions to make them easier to use.
  • exgpg - Use gpg from Elixir.
  • ntru_elixir - Elixir wrapper for libntru. A post quantum cryptography system.
  • one_time_pass_ecto - One-time password library for Elixir.
  • pot39 7 - Erlang library for generating one time passwords compatible with Google Authenticator.
  • rsa2 0 - public_key cryptography wrapper for Elixir.
  • rsa_ex6 2 - Library for working with RSA keys.
  • siphash-elixir - Elixir implementation of the SipHash hash family.
  • tea_crypto - Tiny Encryption Algorithm implementation.

CSV

Libraries and implementations working with CSV.

  • cesso7 5 - CSV handling library for Elixir.
  • csv206 48 - CSV Decoding and Encoding for Elixir.
  • csvlixir25 5 - A CSV reading/writing application for Elixir.
  • ex_csv3 0 - CSV for Elixir.
  • nimble_csv186 15 - A simple and fast CSV parsing and dumping library for Elixir.

Date and Time

Libraries for working with dates and times.

  • block_timer4 0 - Macros to use :timer.apply_after and :timer.apply_interval with a block.
  • calendar249 37 - Calendar is a date and time library for Elixir.
  • chronos90 24 - An Elixir date/time library.
  • cronex - Cron like system you can mount in your supervision tree.
  • crontab6 2 - A Cron Expressions Parser, Composer & Date Candidate Finder.
  • ex_ical16 4 - ICalendar parser.
  • filtrex32 4 - A library for performing and validating complex SQL-like filters from a client (e.g. smart filters).
  • good_times39 2 - Expressive and easy to use datetime functions.
  • jalaali6 1 - Jalaali calendar implementation for Elixir.
  • milliseconds - Simple library to work with milliseconds in Elixir.
  • moment6 0 - Parse, validate, manipulate, and display dates in Elixir.
  • quantum866 85 - Cron-like job scheduler for Elixir applications.
  • repeatex26 4 - Natural language parsing for repeating dates.
  • timelier11 1 - A cron-style scheduler for Elixir.
  • timex833 229 - Easy to use Date and Time modules for Elixir.
  • timex_interval8 6 - A date/time interval library for Elixir projects, based on Timex.
  • tzdata63 25 - The timezone database in Elixir.

Debugging

Libraries and tools for debugging code and applications.

  • beaker289 26 - Statistics and Metrics library for Elixir.
  • booter5 1 - Boot an Elixir application, step by step.
  • dbg111 14 - Distributed tracing for Elixir.
  • eflame104 15 - Flame Graph profiler for Erlang.
  • eh16 2 - A tool to look up Elixir documentation from the command line.
  • eper413 129 - Erlang performance and debugging tools.
  • ether4 1 - Ether provides functionality to hook Elixir into the Erlang debugger.
  • ex_debug_toolbar290 9 - A toolbar for Phoenix projects to interactively debug code and display useful information about requests: logs, timelines, database queries etc.
  • exrun66 8 - Distributed tracing for Elixir with rate limiting and simple macro-based interface.
  • observer_cli362 29 - Visualize Elixir & Erlang nodes on the command line, it aims to helpe developers debug production systems.
  • quaff5 2 - The Debug module provides a simple helper interface for running Elixir code in the erlang graphical debugger.
  • rexbug4 1 - An Elixir wrapper for the redbug production-friendly Erlang tracing debugger.
  • visualixir640 23 - A process visualizer for remote BEAM nodes.

Deployment

Installing and running your code automatically on other machines.

  • akd - Capistrano like, Configurable, and easy to set up Elixir Deployment Automation Framework.
  • ansible-elixir-stack253 52 - 1-command setup & deploys to servers, with first-class support for Phoenix apps.
  • bootleg166 6 - Simple deployment and server automation for Elixir.
  • bottler20 5 - Bottler is a collection of tools that aims to help you generate releases, ship them to your servers, install them there, and get them live on production.
  • edeliver1k 114 - Deployment for Elixir and Erlang.
  • elixir-on-docker - A project template to get started developing clustered Elixir applications for cloud environments.
  • exdm11 1 - Deploy Elixir applications via mix tasks.
  • exreleasy2 1 - Dead simple and Mix friendly tool for releasing Elixir applications.
  • gatling328 18 - Collection of mix tasks to automatically create a exrm release from git and launch/upgrade it on your server.
  • Gigalixir - A fully-featured PaaS designed for Elixir. Supports clustering, hot upgrades, and remote console/observer. Free to try without a credit card.
  • heroku-buildpack-elixir557 216 - Heroku buildpack to deploy Elixir apps to Heroku.
  • Nanobox1k 57 - A micro-PaaS (μPaaS) for creating consistent, isolated, development environments deployable anywhere https://nanobox.io.

Documentation

Libraries and tools for creating documentation.

  • blue_bird5 2 - BlueBird is a library written in the Elixir programming language for the Phoenix framework. It lets you generate API documentation in the API Blueprint format from annotations in controllers and automated tests.
  • bureaucrat126 19 - Generate Phoenix API documentation from tests.
  • ex_doc583 153 - ExDoc is a tool to generate documentation for your Elixir projects.
  • ex_doc_dash68 7 - Formatter for ExDoc to generate docset documentation for use in Dash.app.
  • hexdocset - Convert hex doc to Dash.app's docset format.
  • inch-ci - Documentation badges for Ruby & Elixir.
  • maru_swagger33 11 - Add swagger compliant documentation to your maru API.
  • phoenix_api_docs16 6 - Generate API Blueprint documentation from controllers and tests in the Phoenix framework.
  • phoenix_swagger250 63 - Provides swagger integration to the Phoenix framework.

Domain-specific language

Specialized computer languages for a particular application domain.

ECMAScript

Implementations working with JavaScript, JScript or ActionScript.

  • estree61 8 - A implementation of the SpiderMonkey Parser API in Elixir.
  • phoenix_gon1 1 - Allow you to pass Phoenix environment or controller variables to JavaScript without problems.
  • phoenix_routes_js4 3 - Phoenix routes helpers in JavaScript code and browser console.

Email

Working with Email and stuff.

  • bamboo730 125 - Composable, testable and adapter based email library. Out of the box support for rendering with Phoenix and a plug for previewing sent emails in dev.
  • burnex6 1 - Burner email (temporary address) detector.
  • echo29 3 - A meta-notification system; Echo checks notification preferences & dispatches notifications.
  • ex_postmark1 2 - Postmark adapter for sending template emails in Elixir.
  • gen_smtp445 176 - A generic Erlang SMTP server and client that can be extended via callback modules.
  • gmail35 11 - A simple Gmail REST API client for Elixir.
  • mail264 28 - An RFC2822 implementation in Elixir, built for composability.
  • mailer3 0 - A simple SMTP mailer.
  • mailibex5 0 - Library containing Email-related implementations in Elixir: dkim, spf, dmark, mimemail, smtp.
  • mailman161 62 - Mailman provides a clean way of defining mailers in your Elixir applications.
  • pop3mail - Pop3 client to download email (including attachments) from the inbox via the commandline or Elixir API.
  • ravenx - Notification dispatch library for Elixir applications.
  • smoothie14 4 - Smoothie inline styles of your email templates, and generates a plain text version from the HTML.
  • swoosh420 75 - Compose, deliver and test your Emails easily in Elixir with adapters for SMTP, Sendgrid, Mandrill, Mailgun, Postmark and Phoenix integration with mailbox preview.

Embedded Systems

Embedded systems development.

  • bake57 8 - Configure, compile and share systems, toolchains and linux firmware.
  • nerves - A framework for writing embedded software in Elixir.

Encoding and Compression

Transforming data in different formats or compressing it.

  • ex_rlp3 1 - Elixir implementation of Ethereum's RLP (Recursive Length Prefix) encoding.
  • huffman13 1 - Huffman encoding and decoding in Elixir.

Errors and Exception Handling

Working with errors and exceptions.

  • exceptional71 3 - Helpers for happy-path programming & exception handling.
  • happy26 4 - Happy path programming, alternative to elixir with form.
  • OK196 11 - Elegant error handling with result monads, featuring a simple & powerful with construct and a happy path pipe operator.
  • ok_jose - Pipe elixir functions that match {:ok,_}, {:error,_} tuples or custom patterns.
  • sentry-elixir143 56 - The Official Elixir client for Sentry.

Eventhandling

Sending/Emitting and receiving/handling Events in Elixir.

  • event_bus35 4 - Simple event bus implementation with topic filtering and built-in event store and event watcher.
  • goldrush62 41 - Small, Fast event processing and monitoring for Erlang/OTP applications.
  • reaxive138 7 - Reaxive is a reactive event handling library, inspired by Elm and Reactive Extensions.

Examples and funny stuff

Example code and stuff too funny or curious not to mention.

  • butler_cage - A Butler plugin for showing silly photos of Nick Cage.
  • butler_tableflip - Flipping tables with butler.
  • dice12 1 - Roll the dice, in Elixir.
  • elixir_koans554 166 - Elixir koans is a fun, easy way to get started with the elixir programming language.
  • ex_chain12 1 - Simple Markov Chain that generates funny tweets, built using Elixir.
  • ex_iss - This package is for interfacing with the Open Notify API to information such as the ISS's current location, crew, and when it will pass over a location.
  • harakiri13 4 - Help applications kill themselves.
  • hello_phoenix119 19 - Application template for SPAs with Phoenix, React and Redux.
  • kaisuu63 2 - Watch Japan's Kanji Usage on Twitter in Realtime.
  • koans20 10 - Learn Elixir by using elixir-koans.
  • lolcat - This is the clone of busyloop/lolcat. But it does not support animation and some features of the original.
  • magnetissimo2k 138 - Web application that indexes all popular torrent sites, and saves it to the local database.
  • oop115 7 - OOP in Elixir!
  • phoenix-flux-react188 22 - An experiment with Phoenix Channels, GenEvents, React and Flux.
  • portal15 5 - A shooting fault-tolerant doors for distributed portal data-transfer application in Elixir.
  • real world example app121 5 - Elixir / Phoenix implementation of RealWorld.io backend specs - a Medium clone.
  • rollex - Elixir library using a Pratt Parser algorithm to calculate dice rolls.
  • rubix - A very simple (and barely-functioning) Ruby runner for Elixir.
  • stranger50 2 - Elixir Phoenix app to chat anonymously with a randomly chosen stranger.
  • weather64 9 - A command line weather app built using Elixir.

Feature Flags and Toggles

Libraries to manage feature toggles (AKA feature flags): ON/OFF values that can be toggled at runtime through some interface

  • flippant16 2 - Feature flipping for the Elixir world.
  • fun_with_flags50 6 - A feature toggle library using Redis or Ecto for persistance, an ETS cache for speed and PubSub for distributed cache busting. Comes with a management web UI for Phoenix and Plug.
  • molasses50 3 - A feature toggle library using redis or SQL (using Ecto) as a backing service.

Feeds

Libraries working with feeds like RSS or ATOM.

  • atomex - ATOM feed builder with a focus on standards compliance, security and extensibility.
  • feeder26 12 - Parse RSS and Atom feeds.
  • feeder_ex41 14 - RSS feed parser. Simple wrapper for feeder.
  • feedme9 9 - RSS/Atom parser built on erlang's xmerl xml parser.

Files and Directories

Libraries and implementations for working with files and directories.

  • arc605 146 - Flexible file upload and attachment library for Elixir.
  • cassius3 0 - Monitor Linux file system events.
  • dir_walker9 2 - DirWalker lazily traverses one or more directory trees, depth first, returning successive file names.
  • elixgrep28 4 - A framework for doing Hadoop style Map/Reduce operations on collections of files.
  • ex_guard29 2 - ExGuard is a mix command to handle events on file system modifications.
  • ex_minimatch10 2 - Globbing paths without walking the tree!.
  • exfile61 11 - File upload handling, persistence, and processing in Elixir and Plug.
  • exfswatch39 24 - A file change watcher wrapper based on fs.
  • eye_drops34 5 - Configurable mix task to watch file changes and run the corresponding command.
  • fs138 49 - Erlang FileSystem Listener.
  • fwatch - A callback-based file watcher based on fs.
  • librex - Elixir library to convert office documents to other formats using LibreOffice.
  • Radpath18 6 - Path library for Elixir, inspired by Python's Enhpath.
  • sentix6 1 - A cross-platform file watcher for Elixir based on fswatch.
  • sizeable14 2 - An Elixir library to make file sizes human-readable.
  • zarex - Filename sanitization for Elixir.

Formulars

Handling web formulars and similar stuff.

  • forms19 6 - Erlang Business Documents Generator.

Framework Components

Standalone component from web development frameworks.

  • absinthe_plug80 76 - Plug support for Absinthe.
  • addict620 131 - User authentication for Phoenix Framework.
  • airbrake_plug9 1 - Report errors in your Plug stack or whatever to Airbrake.
  • ashes75 8 - A code generation tool for the Phoenix web framework.
  • better_params20 1 - Elixir Plug for cleaner request params in web apps.
  • blaguth17 4 - Basic Access Authentication in Plug applications.
  • commanded282 37 - Command handling middleware for Command Query Responsibility Segregation (CQRS) applications.
  • cors_plug132 42 - An Elixir plug that adds CORS headers to requests and responds to preflight requests (OPTIONS).
  • corsica186 27 - Elixir library for dealing with CORS requests.
  • crudex - CRUD utilities for Phoenix and Ecto.
  • dayron124 19 - A repository similar to Ecto.Repo that works with REST API requests instead of a database.
  • ex_admin753 184 - ExAdmin is an auto administration package for Elixir and the Phoenix Framework.
  • exdjango9 2 - A few elixir libraries for working with django.
  • exrecaptcha2 0 - Simple reCaptcha display/verify code for Elixir applications.
  • filterable - Simple query params filtering for Phoenix framework inspired by Rails has_scope.
  • graphql_parser5 1 - An Elixir binding for libgraphqlparser408 63 .
  • http_router4 2 - HTTP Router with various macros to assist in developing your application and organizing your code.
  • kerosene9 1 - Pagination for Ecto and Phoenix.
  • mellon10 3 - An authentication module for Plug applications.
  • multiverse28 4 - Plug that allows to add version compatibility layers via API Request/Response Gateways.
  • params62 12 - Use Ecto to enforce/validate parameters structure, akin to Rails' strong parameters.
  • passport160 39 - Passport provides authentication for Phoenix applications.
  • phoenix_ecto127 65 - Phoenix and Ecto integration.
  • phoenix_haml127 56 - Phoenix Template Engine for Haml.
  • phoenix_html108 129 - Phoenix.HTML functions for working with HTML strings and templates.
  • phoenix_html_sanitizer13 1 - HTML Sanitizer integration for Phoenix.
  • phoenix_html_simplified_helpers12 5 - Some helpers for phoenix html (truncate, time_ago_in_words, number_with_delimiter).
  • phoenix_linguist - A project that integrates Phoenix with Linguist, providing a plug and view helpers.
  • phoenix_live_reload90 42 - Provides live-reload functionality for Phoenix.
  • phoenix_pubsub_postgres26 5 - Postgresql PubSub adapter for Phoenix apps.
  • phoenix_pubsub_rabbitmq33 14 - RabbitMQ adapter for Phoenix's PubSub layer.
  • phoenix_pubsub_redis66 27 - The Redis PubSub adapter for the Phoenix framework.
  • phoenix_pubsub_vernemq31 4 - The VerneMQ MQTT pubsub adapter for the Phoenix framework.
  • phoenix_slime105 26 - Slim template support for Phoenix.
  • phoenix_token_auth182 61 - Token authentication solution for Phoenix. Useful for APIs or single page apps.
  • plug2k 361 - A specification and conveniences for composable modules in between web applications.
  • plug_accesslog16 5 - Plug for writing access logs.
  • plug_and_play7 2 - Set up a Plug application with less boilerplate.
  • plug_auth36 6 - Collection of authentication-related plugs.
  • plug_checkup27 2 - Plug for adding simple health checks to your app.
  • plug_cloudflare11 1 - Inspired by mod_cloudflare, this Elixir plug parses Cloudflares CF-Connecting-IP HTTP request header into Plug.Conn's remote_ip field.
  • plug_forward_peer14 3 - Very simple plug which reads X-Forwarded-For or Forwarded header according to RFC7239 and fill conn.remote_ip with the root client ip.
  • plug_fprof - A Plug that adds fprof tracing to requests, to allow for easy profiling.
  • plug_graphql66 7 - Phoenix Plug integration for GraphQL Elixir.
  • plug_heartbeat26 2 - A plug for responding to heartbeat requests.
  • plug_jwt36 7 - Plug for JWT authentication.
  • plug_password - Plug for adding simple cookie-based authentication.
  • plug_rails_cookie_session_store5 0 - Rails compatible Plug session store.
  • plug_redirect_https6 3 - Plug to redirect http requests to https requests behind a reverse proxy.
  • plug_require_header23 2 - Require and extract HTTP headers and handle missing ones.
  • plug_response_header10 2 - easy manipulation of HTTP response headers.
  • plug_ribbon23 2 - Injects a ribbon to your web application in the development environment.
  • plug_secex - Plug that adds various HTTP Headers to make Phoenix/Elixir app more secure.
  • plug_session_memcached9 8 - A very simple memcached session store for Elixir's plug.
  • plug_sigaws - AWS Signature V4 authentication protection for Phoenix/Plug Routes (Docs).
  • plug_statsd49 13 - A plug for automatically sending timing and count metrics to statsd.
  • plugs16 3 - Collection of Plug middleware for web applications.
  • plugsnag38 22 - Bugsnag notifier for Elixir's plug.
  • raygun - Capture bugs and send them to Raygun.
  • react_phoenix212 9 - Render React.js components in Phoenix views focusing on easy installation and Brunch compatibility.
  • resin - Resin is a plug that will add a configurable delay to every request that's passing through it, unless run in production.
  • revision_plate_ex - Plug application and middleware that serves endpoint returns application's REVISION.
  • rummage_ecto - A configurable framework to search, sort and paginate Ecto Queries.
  • rummage_phoenix21 1 - A support framework for searching, sorting and paginating models in Phoenix, with HTML support.
  • scaffold - A mix task for creating new projects based on templates fetched from a Git-repo.
  • scrivener345 65 - Paginate your Ecto queries.
  • scrivener_headers30 4 - Helpers for paginating API responses with Scrivener and HTTP headers.
  • scrivener_html56 65 - Helpers built to work with Scrivener's page struct to easily build HTML output for various CSS frameworks.
  • sentinel76 21 - An authentication framework for Phoenix extending guardian with routing and other basic functionality.
  • trailing_format_plug15 15 - An Elixir plug to support legacy APIs that use a rails-like trailing format.
  • turn_the_page - Fast, simple and lightweight pagination system for your Elixir application.
  • webassembly37 6 - Web DSL for Elixir.
  • weebo - An XML-RPC parser/formatter for Elixir, with full support for datatype mapping.

Frameworks

Web development frameworks.

  • exelli17 2 - An Elli Elixir wrapper with some sugar syntax goodies.
  • kitto618 38 - A framework for interactive dashboards.
  • phoenix12k 2k - Elixir Web Framework targeting full-featured, fault tolerant applications with realtime functionality.
  • placid149 12 - A REST toolkit for building highly-scalable and fault-tolerant HTTP APIs with Elixir.
  • rackla199 30 - API Gateways in Elixir.
  • relax132 15 - Simple Elixir implementation of a jsonapi.org server.
  • rest51 14 - Micro-REST framework with typed JSON.
  • sugar361 37 - Modular web framework for Elixir.
  • trot209 23 - An Elixir web micro-framework.

Games

Libraries for and implementations of games.

  • entice54 7 - A distributed Entity-Component-System framework, providing its own example MMORPG server.
  • mines - A minesweeper clone in the terminal.

Geolocation

Libraries for geocoding addresses and working with latitudes and longitudes.

  • distance_api_matrix25 7 - Provide distance and heading calculations via Google distance matrix api.
  • geo278 50 - A collection of GIS functions for Elixir.
  • geocalc68 10 - Calculate distance, bearing and more between latitude/longitude points.
  • geocoder32 22 - A simple, efficient geocoder/reverse geocoder with a built-in cache.
  • geohash9 2 - Geohash encode/decode library.
  • geohax3 1 - Geohash encoding and decoding with neighbors finder.
  • geoip17 2 - Find geolocation for a given IP, hostname or Plug.Conn.
  • geolix50 5 - MaxMind GeoIP2 database reader/decoder.
  • geonames6 4 - A simple Elixir wrapper around the GeoNames API.
  • ip2location - An Elixir library for IP2Location database.
  • ipgeobase - Find Russian and Ukraine city by IP address and find country for other country.
  • proj3 3 - Elixir coordinate conversion library using OSGeo's PROJ.4.
  • segseg - Segment-segment intersection classifier and calculator.
  • topo6 1 - A Geometry library for Elixir that calculates spatial relationships between two geometries.

Hardware

Hardware related things like I/O interfaces and such.

  • elixir_ale218 50 - Elixir access to hardware I/O interfaces such as GPIO, I2C, and SPI.
  • nerves693 72 - Framework for building firmware for platforms like Raspberry Pi and BeagleBone Black.

HTTP

Libraries for working with HTTP and scraping websites.

  • Ace144 19 - HTTP web server and client, supports http1 and http2.
  • bolt36 2 - Simple and fast http proxy.
  • cauldron45 4 - An HTTP/SPDY server as a library.
  • Crawler134 6 - A high performance web crawler in Elixir.
  • elli703 99 - Elli is a webserver you can run inside your Erlang application to expose an HTTP API.
  • explode4 1 - An easy utility for responding with standard HTTP/JSON error payloads in Plug- and Phoenix-based applications.
  • exvcr347 90 - HTTP request/response recording library for Elixir, inspired by VCR.
  • fuzzyurl - An Elixir library for parsing, constructing, and wildcard-matching URLs. Also available for Ruby and JavaScript3 2 .
  • gun235 83 - HTTP/1.1, HTTP/2 and Websocket client for Erlang/OTP.
  • hackney816 286 - Simple HTTP client written in Erlang.
  • http13 1 - HTTP server for Elixir.
  • http_digex - A module to create basic digest HTTP auth header.
  • http_proxy51 8 - Multi port HTTP Proxy.
  • httpoison1k 250 - Yet Another HTTP client for Elixir powered by hackney.
  • httpotion617 110 - Fancy HTTP client for Elixir, based on ibrowse.
  • ivar10 2 - A lightweight wrapper around HTTPoison that provides a fluent and composable way to build http requests.
  • lhttpc2 6 - A lightweight HTTP/1.1 client implemented in Erlang.
  • mnemonic_slugs - A memorable, mnemonic slug generator in Elixir.
  • mochiweb2k 460 - MochiWeb is an Erlang library for building lightweight HTTP servers.
  • neuron3 1 - A GraphQL client for Elixir.
  • plug_wait11 1 - Plug adapter for the wait1 protocol.
  • raxx86 7 - Interface for HTTP webservers, frameworks and clients.
  • river64 3 - An HTTP/2 client that is lightweight and lightning fast.
  • scrape159 22 - Scrape any website, article or RSS/Atom Feed with ease.
  • spell52 11 - Spell is a Web Application Messaging Protocol (WAMP) client implementation in Elixir.
  • tesla453 67 - HTTP client library, with support for middleware and multiple adapters.
  • Tube6 2 - Pure Elixir WebSocket client library.
  • uri_query4 2 - URI encode nested GET parameters and array values in Elixir.
  • uri_template15 2 - RFC6570 compliant URI template processor for Elixir.
  • web_socket46 13 - An exploration into a stand-alone library for Plug applications to easily adopt WebSockets.
  • webdriver79 23 - This is an implementation of the WebDriver protocol client. It currently supports PhantomJS, FireFox, ChromeDriver and remote webdriver servers (e.g. Selenium).
  • yuri7 1 - Simple struct for representing URIs.

Images

Libraries for working with and manipulating images.

  • alchemic_avatar30 3 - Elixir library for generating letter avatar from string.
  • artifact36 3 - File upload and on-the-fly processing for Elixir.
  • bump3 1 - A BMP file writer in pure Elixir.
  • chunky_svg19 3 - A library for drawing things with SVG.
  • cloudex23 9 - Cloudex is an Elixir library that can upload image files or urls to Cloudinary.
  • eikon - An Elixir library providing a read-only interface for image files.
  • elixir_exif10 4 - Parse exif tags and thumbnail data from jpeg files.
  • ex_image_info - An Elixir library to parse images (binaries) and get the dimensions, detected mime-type and overall validity for a set of image formats.
  • exexif8 3 - Pure Elixir library to extract TIFF and EFIX metadata from jpeg files.
  • exfavicon - An Elixir library for discovering favicons.
  • identicon12 2 - An Elixir library for generating 5x5 identicons.
  • image64 - A tool for working with base64 encoded images.
  • imagineer76 10 - Image parsing in Elixir.
  • imgex16 4 - Unofficial client library for generating imgix URLs in Elixir.
  • mogrify205 40 - An Elixir wrapper for ImageMagick command line.
  • png9 1 - A pure Erlang library for creating PNG images. It can currently create 8 and 16 bit RGB, RGB with alpha, indexed, grayscale and grayscale with alpha images.
  • thumbnex11 2 - Create thumbnails from images and video screenshots.

Instrumenting / Monitoring

Libraries for collecting and exporting metrics.

JSON

Libraries and implementations working with JSON.

  • exjson74 15 - JSON parser and generator in Elixir.
  • exjsx165 38 - JSON for Elixir, based on jsx.
  • ja_serializer375 104 - JSONAPI.org Serialization in Elixir.
  • jason318 15 - A blazing fast JSON parser and generator in pure Elixir.
  • jazz57 17 - Yet another library to handle JSON in Elixir.
  • joken317 63 - Encodes and decodes JSON Web Tokens.
  • jose107 18 - JSON Object Signing and Encryption (JOSE) for Erlang and Elixir.
  • json183 41 - Native JSON library for Elixir.
  • json_pointer7 1 - Implementation of RFC 6901 which defines a string syntax for identifying a specific value within a JSON document.
  • json_web_token_ex105 16 - An Elixir implementation of the JSON Web Token (JWT) Standards Track (RFC 7519).
  • jsonapi211 26 - A project that will render your data models into JSONAPI Documents.
  • jsx575 180 - An Erlang application for consuming, producing, and manipulating json.
  • jsxn39 13 - jsx but with maps.
  • jwalk - Helper module for working with Erlang representations of JSON.
  • jwtex - A library to encode and decode JWT tokens.
  • poison1k 145 - Poison is a new JSON library for Elixir focusing on wicked-fast speed without sacrificing simplicity, completeness, or correctness.
  • tiny31 1 - Tiny, fast and fully compliant JSON parser for Elixir.
  • world_json - topojson country and state/province collections for elixir/erlang.

Languages

Languages built on top of Elixir.

  • lighthouse_scheme - A small Lisp-like language and interactive REPL, built in Elixir.
  • Monkey66 1 - Elixir implementation of an interpreter and REPL for the js-like Monkey programming language.

Lexical analysis

All about lexical analyser, lexer, scanner, tokenizer or compiler.

  • elixir_script840 43 - The goal is to convert a subset (or full set) of Elixir code to JavaScript.
  • ex_abnf23 4 - Parser for ABNF Grammars in Elixir.
  • lex_luthor13 3 - LexLuthor is a Lexer in Elixir which uses macros to generate a reusable lexers.

Logging

Logging infos and messages.

  • exlager54 32 - Elixir binding for lager.
  • exsentry28 18 - Error logging to Sentry.
  • gelf_logger16 20 - A Logger backend that will generate Graylog Extended Log Format (GELF) messages.
  • honeybadger54 27 - Error logging to Honeybadger.
  • json_logger17 10 - JSON Logger is a logger backend that outputs elixir logs in JSON format.
  • lager834 374 - A logging framework for Erlang/OTP by basho.com.
  • lager_logger20 12 - A lager backend that forwards all log messages to Elixir's Logger.
  • logfmt12 3 - Logfmt is a module for encoding and decoding logfmt-style log lines.
  • logger_logstash_backend37 26 - A backend for the Elixir Logger that will send logs to the Logstash UDP input.
  • logglix7 2 - A logger backend for posting errors to Loggly.
  • logster68 9 - Easily parsable, one-line logging for Phoenix and Plug applications, inspired by Lograge.
  • metrix37 14 - Log custom app metrics to stdout for use by Librato and other downstream processors.
  • mstore9 3 - MStore is a experimental metric store build in erlang, the primary functions are open, new, get and put.
  • raven6 0 - Elixir client for Sentry.
  • rogger13 1 - Elixir logger to publish log messages in RabbitMQ.
  • rollbax131 33 - Exception tracking and logging to Rollbar.
  • slack_logger_backend24 6 - A logger backend for posting errors to Slack.
  • syslog74 46 - Erlang port driver for interacting with syslog via syslog(3).
  • timber54 10 - Structured logging platform; turns raw text logs into rich structured events.

Macros

Macros for faster and easier development. Sugar for your code.

  • anaphora13 2 - Anaphora is the anaphoric macro collection for Elixir. An anaphoric macro is one that deliberately captures a variable (typically it) from forms supplied to the macro.
  • apix10 3 - Simple convention and DSL for transformation of elixir functions to an API for later documentation and or validation.
  • backports - Use new functions in Elixir 1.1 and 1.2.
  • eventsourced63 5 - Build functional, event-sourced domain models.
  • exceptional71 3 - Helpers for happy-path programming & exception handling.
  • expat43 3 - Reusable, composable patterns across Elixir libraries.
  • guardsafe - Macros expanding into code that can be safely used in guard clauses.
  • happy26 4 - Happy path programming, alternative to elixir with form.
  • kwfuns2 1 - Macros to create functions with syntax based keyword parameters with default values.
  • lineo - parse transform for accurate line numbers.
  • mdef9 3 - Easily define multiple function heads in Elixir.
  • named_args9 1 - Allows named arg style arguments in Elixir.
  • OK196 11 - Macros for elegant happy path coding, maximizing power and readability.
  • ok_jose - Pipe elixir functions that match {:ok,_}, {:error,_} tuples or custom patterns.
  • pattern_tap2 0 - Macro for tapping into a pattern match while using the pipe operator.
  • pipe_here24 2 - Easily pipe values into any argument position.
  • pipe_to - The enhanced pipe operator which can specify the target position.
  • pipes62 8 - Macros for more flexible composition with the Elixir Pipe operator.
  • pit - Transform values as they flow inside a pipe.
  • rebind - rebind parse transform for Erlang.
  • rulex2 1 - Simple rule handler using Elixir pattern matching.
  • shorter_maps41 2 - ~M sigil for map shorthand. ~M{id name} ~> %{id: id, name: name}.
  • unsafe - Generate easy unsafe (!) bindings for Elixir functions.

Markdown

Libraries and tools working with Markdown and such.

  • cmark38 9 - Elixir NIF for CommonMark (in C), a parser following the CommonMark spec.
  • discount22 5 - Elixir NIF for discount, a Markdown parser.
  • earmark352 97 - Markdown parser for Elixir.
  • Markdown19 6 - Implemented entirely as a NIF binding to the Hoedown library.
  • Pandex - Lightweight Elixir wrapper for Pandoc. Converts Markdown, CommonMark, HTML, Latex, HTML, HTML5, opendocument, rtf, texttile, asciidoc to each other.

Miscellaneous

Useful libraries or tools that don't fit in the categories above.

  • address_us - Library for parsing US Addresses into their individual parts.
  • Apex - Awesome Print for Elixir.
  • bupe37 1 - EPUB Generator and Parser.
  • charm - Use ANSI terminal characters to write colors and cursor positions.
  • Countries52 26 - Countries is a collection of all sorts of useful information for every country in the ISO 3166 standard.
  • countriex - A pure elixir country data provider containing various information for every country in ISO 3166.
  • dye15 2 - A library for dyeing your terminal output.
  • dynamic_compile - Compile and load Erlang modules from string input.
  • ecto_autoslug_field35 8 - Automatically creates slugs for your Ecto models.
  • egaugex - Client to fetch and parse realtime data from egauge devices.
  • elixir-browser19 6 - Browser detection for Elixir.
  • erlang_term15 2 - Provide the in-memory size of Erlang terms, ignoring where these are stored.
  • ex2ms65 18 - Translates Elixir functions to match specifications for use with ets.
  • ex_phone_number15 9 - Format, normalize, and validate phone numbers.
  • ex_rated103 16 - Simple and flexible rate-limiting for API's or anything.
  • exfcm - Simple wrapper for posting Firebase Cloud Messages.
  • exldap20 7 - A module for working with LDAP from Elixir.
  • exlibris4 0 - A collection of random library functions.
  • expool17 2 - A small process pooling library for parallel tasks in Elixir.
  • exprint21 10 - A printf / sprintf library for Elixir, works as a wrapper for :io.format.
  • exquisite18 3 - LINQ-like match_spec generation for Elixir.
  • exsync37 13 - Yet another Elixir reloader.
  • funnel34 3 - Streaming Elixir API built upon ElasticSearch's percolation.
  • gen_task - Generic Task behavior that helps to encapsulate worker errors and recover from them in classic GenStage's.
  • gimei_ex7 3 - Elixir port of gimei library.
  • growl - Simple wrapper for growl, the notification system for OSX.
  • html_entities28 7 - Elixir module for decoding HTML entities in a string.
  • huex21 7 - Elixir client for Philips Hue connected light bulbs.
  • japan_municipality_key - Elixir Library for Japan municipality key converting.
  • keys1value - Erlang set associative map for key lists.
  • licensir - A mix task that lists the license(s) of all installed packages in your project.
  • mixgraph9 1 - An interactive dependency plotter for your Hex Package.
  • mixstar16 1 - MixStar starred GitHub repository that depends on your project.
  • netrc - Reads netrc files implemented in Elixir.
  • notifier - A pluggable architecture for desktop notifications.
  • onetime - An onetime key-value store for Elixir.
  • pact41 6 - Better dependency injection in Elixir for cleaner code and testing.
  • phone36 9 - A parser to get useful info from telephone numbers.
  • porcelain480 26 - Porcelain implements a saner approach to launching and communicating with external OS processes from Elixir.
  • presentex9 2 - Elixir to HTML/JavaScript based presentation framework.
  • ratx18 4 - Rate limiter and overload protection for erlang application.
  • reprise41 14