Contents
Actors
Libraries and tools for working with actors and such.
- bpe β177 π 21 β Business Process Engine in Erlang. (Doc).
- dflow β11 π 1247 β Pipelined flow processing engine.
- exactor β663 π 386 β Helpers for easier implementation of actors in Elixir.
- exos β66 π 125 β A Port Wrapper which forwards cast and call to a linked Port.
- flowex β381 π 236 β Railway Flow-Based Programming with Elixir GenStage.
- poolboy β1359 π 873 β A hunky Erlang worker pool factory.
- pooler β276 π 888 β An OTP Process Pool Application.
- sbroker β149 π 1403 β Sojourn-time based active queue management library.
- workex β71 π 1737 β Backpressure and flow control in EVM processes.
Algorithms and Data structures
Libraries and implementations of algorithms and data structures.
- array β30 π 2343 β An Elixir wrapper library for Erlangβs array.
- aruspex β30 π 1690 β Aruspex is a configurable constraint solver, written purely in Elixir.
- bitmap β28 π 1149 β Pure Elixir implementation of bitmaps.
- blocking_queue β50 π 1604 β BlockingQueue is a simple queue implemented as a GenServer. It has a fixed maximum length established when it is created.
- bloomex β93 π 257 β A pure Elixir implementation of Scalable Bloom Filters.
- clope β16 π 226 β Elixir implementation of CLOPE: A Fast and Effective Clustering Algorithm for Transactional Data.
- combination β21 π 1096 β Elixir library to generate combinations and permutations from Enumerable collection.
- cuckoo β35 π 257 β A pure Elixir implementation of Cuckoo Filters.
- cuid β40 π 2124 β Collision-resistant ids optimized for horizontal scaling and sequential lookup performance, written in Elixir.
- dataframe β58 π 1506 β Package providing functionality similar to Pythonβs Pandas or Rβs data.frame().
- datastructures β203 π 1430 β A collection of protocols, implementations and wrappers to work with data structures.
- def_memo β29 π 1446 β A memoization macro (defmemo) for elixir using a genserver backing store.
- eastar β18 π 542 β A* graph pathfinding in pure Elixir.
- ecto_materialized_path β45 π 1216 β Tree structure, hierarchy and ancestry for the ecto models.
- ecto_state_machine β91 π 1483 β Finite state machine pattern implemented on Elixir and adopted for Ecto.
- elistrix β12 π 2120 β A latency / fault tolerance library to help isolate your applications from an uncertain world of slow or failed services.
- emel β73 π 786 β A simple and functional machine learning library written in elixir.
- erlang-algorithms β134 π 1038 β Implementations of popular data structures and algorithms.
- exconstructor β226 π 1485 β An Elixir library for generating struct constructors that handle external data with ease.
- exmatrix β56 π 1195 β ExMatrix is a small library for working with matrices, originally developed for testing matrix multiplication in parallel.
- exor_filter β19 π 25 β Nif for xor_filters. βFaster and Smaller Than Bloom and Cuckoo Filtersβ.
- flow β1099 π 1 β Computational parallel flows on top of GenStage.
- fsm β345 π 386 β Finite state machine as a functional data structure.
- fuse β413 π 1 β This application implements a so-called circuit-breaker for Erlang.
- gen_fsm β37 π 1741 β A generic finite state-machine - Elixir wrapper around OTPβs gen_fsm.
- graphmath β67 π 577 β An Elixir library for performing 2D and 3D mathematics.
- hash_ring_ex β21 π 1567 β A consistent hash-ring implementation for Elixir.
- hypex β17 π 935 β Fast Elixir implementation of HyperLogLog.
- indifferent β18 π 358 β Indifferent access for Elixir maps/list/tuples with custom key conversion.
- loom β208 π 1420 β A CRDT library with Ξ΄-CRDT support.
- luhn β12 π 51 β Luhn algorithm in Elixir.
- lz4 β59 π 490 β LZ4 bindings for Erlang for fast data compressing.
- machinery β365 π 242 β A state machine library for structs in general, it integrates with Phoenix out of the box.
- matrex β424 π 229 β A blazing fast matrix library for Elixir/Erlang with C implementation using CBLAS.
- merkle_tree β83 π 392 β A Merkle hash tree implementation in Elixir.
- monadex β284 π 1102 β Upgrade your Elixir pipelines with monads.
- murmur β29 π 257 β A pure Elixir implementation of the non-cryptographic hash Murmur3.
- nary_tree β10 π 275 β An Elixir implementation of generic n-ary tree data structure.
- natural_sort β10 π 2111 β Elixir natural sort implementation for lists of strings.
- parallel_stream β79 π 472 β A parallel stream implementation for Elixir.
- paratize β26 π 1096 β Elixir library providing some handy parallel processing (execution) facilities that support configuring number of workers and timeout.
- parex β63 π 2064 β Parallel Execute (Parex) is an Elixir module for executing multiple (slow) processes in parallel.
-
qex
β15
π
134
β
Wraps
:queue
, with improved API andInspect
,Collectable
andEnumerable
protocol implementations. - ratio β26 π 149 β Adds Rational Numbers and allows them to be used in common arithmatic operations. Also supports conversion between Floats and Rational Numbers.
- red_black_tree β33 π 1393 β Red-Black tree implementation in Elixir.
- remodel β133 π 1343 β An Elixir presenter package used to transform map structures.
- simhash β19 π 355 β Simhash implementation using Siphash and N-grams.
- sleeplocks β36 π 29 β BEAM friendly spinlocks for Elixir/Erlang.
- sorted_set β19 π 2056 β Sorted Sets for Elixir.
- structurez β11 π 1996 β A playground for data structures in Elixir.
- supermemo β13 π 386 β An Elixir implementation of the Supermemo 2 algorithm.
- tfidf β16 π 2005 β An Elixir implementation of term frequencyβinverse document frequency.
- the_fuzz β68 π 777 β Fuzzy string-matching algorithm implementations.
- trie β121 π 90 β Erlang Trie Implementation.
- witchcraft β860 π 535 β Common algebraic structures and functions for Elixir.
- zipper_tree β16 π 2205 β Variadic arity tree with a zipper for Elixir.
Applications
Standalone applications.
- CaptainFact β142 π 35 β A collaborative, real-time video fact-checking platform. (Docs).
- chat β16 π 21 β A tiny text chat sample based on N2O.
- Consolex β114 π 1721 β Consolex is a tool that allows you to attach a web based console to any mix project.
- dragonfly_server β40 π 2029 β Elixir app to serve Dragonfly images.
- exchat β252 π 1467 β A Slack-like app by Elixir, Phoenix & React (redux).
- Exon β22 π 1236 β A βmess managerβ developed in Elixir and provides a simple API to manage & document your stuff. (Docs).
- ExShop β214 π 1605 β Digital goods shop & blog created using Phoenix framework.
- Hydra β61 π 1836 β A multi-headed beast: API gateway, request cache, and data transformations.
- Igthorn β65 π 505 β Cryptocurrecy trading platform / trading bot with admin panel.
- Nvjorn β14 π 1194 β A multi-protocol network services monitor written in Elixir using Poolboy.
- Phoenix Battleship β502 π 1622 β The Good Old game built with Elixir, Phoenix Framework, React and Redux.
- Phoenix Toggl β175 π 1800 β Toggl tribute done in Elixir, Phoenix Framework, React and Redux.
- Phoenix Trello β2472 π 1615 β Trello tribute done in Elixir, Phoenix Framework, React and Redux.
- poxa β889 π 2 β Open Pusher implementation, compatible with Pusher libraries.
- Queerlink β34 π 1142 β A simple yet efficient URL shortening service written in Elixir.
- RemoteRetro β472 π 22 β A real-time application for conducting Agile retrospectives at remoteretro.org written in Elixir/Phoenix/React.
- Sprint Poker β173 π 1303 β Online estimation tool for Agile teams, written using Elixir Lang, Phoenix Framework and React.
- Startup Job β91 π 1375 β An umbrella project to search startup jobs scraped from websites written in Elixir/Phoenix and React/Redux.
- Tai β250 π 3 β A composable, real time, cryptocurrency market data and trade execution toolkit.
- tty2048 β151 π 1715 β Terminal-based 2048 game written in Elixir.
- uai_shot β45 π 568 β A multiplayer ship game built with Elixir, Phoenix Framework and Phaser.
- workbench β59 π 2 β From Idea to Execution - Manage your trading operation across a globally distributed cluster.
Artificial Intelligence
When your code becomes smarter than you.
- Exnn β93 π 1510 β Evolutive Neural Networks framework Γ la G.Sher written in Elixir. (Docs).
- simple_bayes β373 π 1306 β A Simple Bayes / Naive Bayes implementation in Elixir.
Audio and Sounds
Libraries working with sounds and tones.
- erlaudio β22 π 2039 β Erlang PortAudio bindings.
- firmata β41 π 161 β This package implements the Firmata protocol.
- synthex β43 π 1674 β A signal synthesis library.
Authentication
Libraries for implementing authentication schemes.
- aeacus β36 π 1935 β A simple configurable identity/password authentication module (Compatible with Ecto/Phoenix).
- aws_auth β64 π 819 β AWS Signature Version 4 Signing Library for Elixir.
- basic_auth β160 π 272 β Elixir Plug to easily add HTTP basic authentication to an app.
- coherence β1206 π 373 β Coherence is a full featured, configurable authentication system for Phoenix. (Docs).
- doorman β113 π 770 β Tools to make Elixir authentication simple and flexible.
- elixir_auth_google β49 π 223 β The simplest way to add Google OAuth authentication (βSign in with Googleβ) to your Elixir/Phoenix app.
- goth β174 π 0 β OAuth 2.0 library for server to server applications via Google Cloud APIs.
- guardian β3002 π 4 β An authentication framework for use with Elixir applications. (Docs).
- oauth2 β613 π 542 β An OAuth 2.0 client library for Elixir.
- oauth2ex β56 π 1211 β Another OAuth 2.0 client library for Elixir.
- oauther β56 π 1122 β An OAuth 1.0 implementation for Elixir.
- passwordless_auth β41 π 191 β Simple passwordless login or 2-factor / multi-factor authentication for Elixir.
- phauxth β418 π 13 β Authentication library for Phoenix 1.3 and other Plug-based apps.
- phoenix_client_ssl β17 π 246 β Client SSL Authentication Plugs for Phoenix and other Plug-based apps.
- phx_gen_auth β675 π 4 β An authentication system generator for Phoenix 1.5 applications.
- pow β1173 π 3 β Robust, modular, and extendable user authentication system (Website - Doc).
- samly β85 π 675 β SAML SP SSO made easy (Doc).
- sesamex β11 π 1288 β Another simple and flexible authentication solution in 5 minutes!.
- ueberauth β1240 π 30 β An Elixir Authentication System for Plug-based Web Applications.
- ueberauth_cas β12 π 52 β Central Authentication Service strategy for Γberauth.
- ueberauth_facebook β66 π 247 β Facebook OAuth2 Strategy for Γberauth.
- ueberauth_github β80 π 267 β A GitHub strategy for Γberauth.
- ueberauth_google β109 π 128 β A Google strategy for Γberauth.
- ueberauth_identity β69 π 175 β A simple username/password strategy for Γberauth.
- ueberauth_microsoft β14 π 134 β A Microsoft strategy for Γberauth.
- ueberauth_slack β22 π 290 β A Slack strategy for Γberauth.
- ueberauth_twitter β31 π 30 β Twitter Strategy for Γberauth.
- ueberauth_vk β16 π 147 β vk.com Strategy for Γberauth.
- ueberauth_weibo β12 π 1750 β Weibo OAuth2 Strategy for Γberauth.
- zachaeus β11 π 409 β An easy to use licensing system, based on asymmetric cryptography.
Authorization
Libraries for implementing Authorization handling.
- authorize β88 π 487 β Rule based authorization, for advanced authorization rules.
- bodyguard β505 π 8 β A flexible authorization library for Phoenix applications.
- canada β371 π 660 β A simple authorization library that provides a friendly interface using declarative permission rules.
- canary β449 π 439 β An authorization library for Elixir applications that restricts what resources the current user is allowed to access. (Docs).
- speakeasy β61 π 288 β Middleware based authentication and authorization for Absinthe GraphQL powered by Bodyguard.
- terminator β45 π 741 β Database based authorization (ACL), with custom DSL rules for requiring needed permissions. (Docs).
Behaviours and Interfaces
Definitions how something should behave, like Interfaces from OOP-World
- connection β231 π 1 β Connection behaviour for connection processes. The API is superset of the GenServer API.
- gen_state_machine β249 π 121 β Elixir wrapper for gen_statem.
- stockastic β17 π 1871 β 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.
- benchee β954 π 15 β Easy and extensible benchmarking in Elixir!
- benchfella β467 π 1303 β Benchmarking tool for Elixir.
- bmark β67 π 1408 β A benchmarking tool for Elixir.
Bittorrent
Sharing is caring with Elixir
- bento β64 π 611 β An incredibly fast, correct, pure-Elixir Bencoding library.
- tracker_request β12 π 2248 β Dealing with bittorrent tracker requests and responses.
- wire β14 π 1880 β Encode and decode bittorrent peer wire protocol messages with Elixir.
Build Tools
Project build and automation tools.
- active β65 π 21 β Recompilation and Reloading on FileSystem changes.
- coffee_rotor β15 π 2346 β Rotor plugin to compile CoffeeScript files.
- etude β10 π 1582 β Parallel computation coordination compiler for Erlang/Elixir.
- ExMake β15 π 2282 β A modern, scriptable, dependency-based build tool loosely based on Make principles.
- mad β173 π 21 β Small and Fast Rebar Replacement.
- pc β50 π 19 β A rebar3 port compiler.
- reaxt β349 π 28 β React template into your Elixir application for server rendering.
- rebar3_auto β43 π 193 β Rebar3 plugin to auto compile and reload on file change.
- rebar3_eqc β14 π 358 β A rebar3 plugin to enable the execution of Erlang QuickCheck properties.
- rebar3_protobuffs β11 π 1908 β rebar3 protobuffs provider using protobuffs from Basho.
- rebar3_run β22 π 154 β Run a release with one simple command.
- reltool_util β23 π 9 β Erlang reltool utility functionality application.
- relx β628 π 6 β A release assembler for Erlang.
- remix β136 π 1589 β Automatic recompilation of Mix code on file change.
- rotor β82 π 2314 β Super-simple build system for Elixir.
Caching
Libraries for caching data.
- cachex β963 π 2 β A powerful caching library for Elixir with a wide featureset.
- con_cache β755 π 556 β ConCache is an ETS based key/value storage.
- elixir_locker β15 π 1918 β 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 β20 π 774 β Caching made fun.
- jc β23 π 548 β In-memory, distributable cache with pub/sub, JSON-query and consistency support.
- locker β153 π 1900 β Atomic distributed βcheck and setβ for short-lived keys.
- lru_cache β31 π 353 β Simple LRU Cache, implemented with ets.
- memoize β97 π 23 β A memoization macro that easily cache function.
- nebulex β652 π 4 β A fast, flexible and extensible distributed and local caching library for Elixir.
- stash β48 π 1281 β A straightforward, fast, and user-friendly key/value store.
Chatting
Chatting via IRC, Slack, HipChat and other systems using Elixir.
- alice β90 π 170 β A Slack bot framework for Elixir.
- chatty β33 π 1629 β A basic IRC client that is most useful for writing a bot.
- cog β910 π 960 β Cog is an open chatops platform that gives you a secure, collaborative command line right in your chat window.
- ExGram β101 π 48 β a library to build Telegram Bots, you can use the low-level methods and models or use the really opinionated framework included. (Docs).
- ExIrc β134 π 195 β IRC client adapter for Elixir projects.
- ExMustang β67 π 140 β A simple, clueless slackbot and collection of responders.
- Guri β20 π 1871 β Automate tasks using chat messages.
- hedwig β606 π 1125 β XMPP Client/Bot Framework for Elixir.(Docs).
- kaguya β71 π 385 β A small, powerful, and modular IRC bot.
- slacker β81 π 1703 β A bot library for the Slack chat service.
- yocingo β38 π 1432 β Create your own Telegram Bot.
Cloud Infrastructure and Management
Applications, tools and libraries for your own cloud service.
- aws β195 π 15 β AWS clients for Elixir.
- Bonny β188 π 258 β Kubernetes Operator Development Framework.
- discovery β242 π 1948 β An OTP application for auto-discovering services with Consul.
- erlcloud β626 π 8 β Cloud Computing library for Erlang (Amazon EC2, S3, SQS, SimpleDB, Mechanical Turk, ELB). (Docs).
- ex_aws β989 π 18 β AWS client, supporting Dynamo, Kinesis, Lambda, SQS, and S3.
- IElixir β312 π 101 β Jupyterβs kernel for Elixir programming language.
- k8s β162 π 75 β Kubernetes Elixir client with CRD support, multi-cluster support, pluggable auth, and configurable middleware.
- Kazan β131 π 314 β Kubernetes client for Elixir, generated from the k8s open API specifications.
- Kubex β38 π 2033 β Kubernetes client and integration for Elixir, written in pure Elixir.
- libcluster β1262 π 3 β Automatic cluster formation/healing for Elixir applications.(Docs).
- nodefinder β53 π 90 β Strategies for automatic node discovery in Erlang.
- nomad β72 π 1637 β Create cloud portable Elixir and Phoenix apps. Write once, use everywhere!
- sidejob β94 π 1744 β Parallel worker and capacity limiting library for Erlang.
- sidetask β71 π 1353 β SideTask is an alternative to Task.Supervisor using Bashoβs sidejob library with parallelism and capacity limiting.
- skycluster β17 π 1333 β 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.
- belvedere β17 π 2051 β An example of CircleCI integration with Elixir.
- coverex β96 π 900 β Coverage Reports for Elixir.
- credo β3762 π 2 β A static code analysis tool with a focus on code consistency and teaching Elixir. (Docs).
- dialyxir β1279 π 6 β Mix tasks to simplify use of Dialyzer in Elixir projects.(Docs).
- dogma β472 π 1133 β A code style linter for Elixir, powered by shame.(Docs).
- excoveralls β598 π 11 β Coverage report tool for Elixir with coveralls.io integration.
- exprof β149 π 70 β A simple code profiler for Elixir, using eprof.
Command Line Applications
Anything helpful for building CLI applications.
- anubis β120 π 1466 β Command-Line application framework for Elixir.
- ex_cli β181 π 669 β User friendly CLI apps for Elixir.
- ex_prompt β23 π 714 β Helper package to add interactivity to your command line applications as easy as possible.
- firex β25 π 1345 β Firex is a library for automatically generating command line interfaces (CLIs) from an elixir module.
- getopt β234 π 9 β Command-line options parser for Erlang.
- loki β71 π 841 β Library for creating interactive command-line application.
- optimus β110 π 93 β Command-line option parser for Elixir inspired by clap.rs.
- progress_bar β281 π 95 β Command-line progress bars and spinners.
- ratatouille β367 π 337 β A TUI (terminal UI) kit for Elixir.
- scribe β227 π 45 β Pretty-print tables of Elixir structs and maps. Inspired by hirb.
- table_rex β160 π 26 β Generate configurable ASCII style tables for display.
- tabula β70 π 1018 β Pretty print list of Ecto query results / maps in ascii tables (GitHub Markdown/OrgMode).
Configuration
Libraries and tools working with configurations
- confex β271 π 98 β Helper module that provides a nice way to read environment configuration at runtime.
- configparser_ex β12 π 765 β A simple Elixir parser for the same kind of files that Pythonβs configparser library handles.
- conform β384 π 937 β Easy release configuration for Elixir apps.
- dotenv β171 π 36 β A port of dotenv to Elixir.
- ex_conf β32 π 2395 β Simple Elixir Configuration Management.
- figaro_elixir β10 π 1590 β Environmental variables manager for Elixir.
Cryptography
Encrypting and decrypting data
- cipher β55 π 590 β Elixir crypto library to encrypt/decrypt arbitrary binaries.
- cloak β407 π 19 β Cloak makes it easy to use encryption with Ecto.(Docs).
- comeonin β1160 π 44 β Password hashing (argon2, bcrypt, pbkdf2_sha512) library for Elixir.(https://hexdocs.pm/comeonin/api-reference.html).
-
ex_crypto
β92
π
378
β
Elixir wrapper for Erlang
crypto
andpublic_key
modules. Provides sensible defaults for many crypto functions to make them easier to use.(Docs). - exgpg β16 π 1939 β Use gpg from Elixir.
- ntru_elixir β13 π 206 β Elixir wrapper for libntru. A post quantum cryptography system.
- one_time_pass_ecto β44 π 117 β One-time password library for Elixir.
- pot β194 π 160 β Erlang library for generating one time passwords compatible with Google Authenticator.
-
rsa
β30
π
462
β
public_key
cryptography wrapper for Elixir. - rsa_ex β34 π 875 β Library for working with RSA keys.
- siphash-elixir β15 π 941 β Elixir implementation of the SipHash hash family.
CSV
Libraries and implementations working with CSV.
- cesso β23 π 2443 β CSV handling library for Elixir.
- csv β392 π 166 β CSV Decoding and Encoding for Elixir.
- csv2sql β19 π 101 β A fast and fully automated CSV to database importer.
- csvlixir β29 π 933 β A CSV reading/writing application for Elixir.
- ex_csv β41 π 1701 β CSV for Elixir.
- nimble_csv β536 π 1 β A simple and fast CSV parsing and dumping library for Elixir.
Date and Time
Libraries for working with dates and times.
- calendar β422 π 547 β Calendar is a date and time library for Elixir.
- chronos β87 π 1058 β An Elixir date/time library.
- cocktail β89 π 95 β Elixir date recurrence library based on iCalendar events.
- cronex β43 π 413 β Cron like system you can mount in your supervision tree.
- crontab β62 π 7 β A Cron Expressions Parser, Composer & Date Candidate Finder.
- ex_ical β21 π 657 β ICalendar parser.
- filtrex β155 π 286 β A library for performing and validating complex SQL-like filters from a client (e.g. smart filters).
- good_times β44 π 524 β Expressive and easy to use datetime functions.
- jalaali β12 π 691 β Jalaali calendar implementation for Elixir.
- moment β29 π 1964 β Parse, validate, manipulate, and display dates in Elixir.
- open_hours β32 π 598 β Time calculations using business hours.
- quantum β1706 π 86 β Cron-like job scheduler for Elixir applications.
- repeatex β47 π 705 β Natural language parsing for repeating dates.
- timelier β11 π 1252 β A cron-style scheduler for Elixir.
- timex β1393 π 59 β Easy to use Date and Time modules for Elixir.
- tzdata β216 π 60 β The timezone database in Elixir.
Debugging
Libraries and tools for debugging code and applications.
- beaker β280 π 1533 β Statistics and Metrics library for Elixir.
- booter β21 π 584 β Boot an Elixir application, step by step.
- dbg β153 π 1403 β Distributed tracing for Elixir.
- eflame β344 π 891 β Flame Graph profiler for Erlang.
- eh β16 π 1972 β A tool to look up Elixir documentation from the command line.
- eper β441 π 965 β Erlang performance and debugging tools.
- ex_debug_toolbar β372 π 1060 β A toolbar for Phoenix projects to interactively debug code and display useful information about requests: logs, timelines, database queries etc.
- exrun β98 π 659 β Distributed tracing for Elixir with rate limiting and simple macro-based interface.
- extrace β23 π 7 β Elixir wrapper for Recon Trace.
- git_hooks β60 π 6 β Add git hooks to Elixir projects.
- observer_cli β1050 π 25 β Visualize Elixir & Erlang nodes on the command line, it aims to helpe developers debug production systems.
- quaff β75 π 1602 β The Debug module provides a simple helper interface for running Elixir code in the erlang graphical debugger.
-
rexbug
β121
π
370
β
An Elixir wrapper for the
redbug
production-friendly Erlang tracing debugger. - visualixir β1164 π 533 β A process visualizer for remote BEAM nodes.
Deployment
Installing and running your code automatically on other machines.
- akd β48 π 177 β Capistrano like, Configurable, and easy to set up Elixir Deployment Automation Framework.
- ansible-elixir-stack β294 π 1698 β 1-command setup & deploys to servers, with first-class support for Phoenix apps.
- bootleg β395 π 114 β Simple deployment and server automation for Elixir.
- bottler β40 π 370 β 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.
- edeliver β1885 π 359 β Deployment for Elixir and Erlang.
- elixir-on-docker β161 π 1121 β A project template to get started developing clustered Elixir applications for cloud environments.
- exdm β11 π 1071 β Deploy Elixir applications via mix tasks.
- exreleasy β12 π 605 β Dead simple and Mix friendly tool for releasing Elixir applications.
- gatling β501 π 1461 β Collection of mix tasks to automatically create a exrm release from git and launch/upgrade it on your server.
- heroku-buildpack-elixir β758 π 25 β Heroku buildpack to deploy Elixir apps to Heroku.
Documentation
Libraries and tools for creating documentation.
- blue_bird β48 π 453 β 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.
- bureaucrat β275 π 44 β Generate Phoenix API documentation from tests.
- ex_doc β1008 π 1 β ExDoc is a tool to generate documentation for your Elixir projects.
- ex_doc_dash β62 π 1671 β Formatter for ExDoc to generate docset documentation for use in Dash.app.
- hexdocset β20 π 1918 β Convert hex doc to Dash.appβs docset format.
- maru_swagger β56 π 708 β Add swagger compliant documentation to your maru API.
- phoenix_api_docs β25 π 904 β Generate API Blueprint documentation from controllers and tests in the Phoenix framework.
- phoenix_swagger β525 π 33 β Provides swagger integration to the Phoenix framework.
- xcribe β41 π 8 β Generate API documentation from tests using Swagger (OpenAPI) or API Blueprint specification.
Domain-specific language
Specialized computer languages for a particular application domain.
- Absinthe Graphql β3464 π 15 β Fully featured GraphQL library.
- absinthe_gen β20 π 92 β Scaffold generator for Absithne.
- JSON-LD.ex β41 π 99 β An implementation of the JSON-LD standard for RDF.ex.
- RDF.ex β62 π 48 β An implementation of the RDF data model in Elixir.
- SPARQL.ex β24 π 99 β An implementation of the SPARQL standards in Elixir.
ECMAScript
Implementations working with JavaScript, JScript or ActionScript.
- estree β86 π 577 β A implementation of the SpiderMonkey Parser API in Elixir.
- phoenix_gon β88 π 183 β Allow you to pass Phoenix environment or controller variables to JavaScript without problems.
- phoenix_routes_js β17 π 373 β Phoenix routes helpers in JavaScript code and browser console.
Working with Email and stuff.
- bamboo β1576 π 2 β 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.
- burnex β48 π 77 β Burner email (temporary address) detector.
- echo β31 π 1828 β A meta-notification system; Echo checks notification preferences & dispatches notifications.
- gen_smtp β579 π 5 β A generic Erlang SMTP server and client that can be extended via callback modules.
- gmail β47 π 1007 β A simple Gmail REST API client for Elixir.
- mail β333 π 11 β An RFC2822 implementation in Elixir, built for composability.
- mailer β40 π 1452 β A simple SMTP mailer.
- mailibex β52 π 71 β Library containing Email-related implementations in Elixir: dkim, spf, dmark, mimemail, smtp.
- mailman β188 π 147 β Mailman provides a clean way of defining mailers in your Elixir applications.
- ravenx β100 π 1103 β Notification dispatch library for Elixir applications.
- smoothie β39 π 1373 β Smoothie inline styles of your email templates, and generates a plain text version from the HTML.
- swoosh β920 π 1 β Compose, deliver and test your Emails (with attachments!) easily in Elixir with adapters for SMTP, Sendgrid, Mandrill, Mailgun, Postmark and lots others, plus Phoenix integration with mailbox preview.
Encoding and Compression
Transforming data in different formats or compressing it.
- ex_rlp β19 π 384 β Elixir implementation of Ethereumβs RLP (Recursive Length Prefix) encoding.
- huffman β19 π 2082 β Huffman encoding and decoding in Elixir.
Errors and Exception Handling
Working with errors and exceptions.
- exceptional β255 π 434 β Helpers for happy-path programming & exception handling.
-
happy
β42
π
1465
β
Happy path programming, alternative to elixir
with
form. -
OK
β512
π
409
β
Elegant error handling with result monads, featuring a simple & powerful
with
construct and a happy path pipe operator. - sentry-elixir β438 π 11 β The Official Elixir client for Sentry.
Eventhandling
Sending/Emitting and receiving/handling Events in Elixir.
- event_bus β554 π 36 β Simple event bus implementation with topic filtering and built-in event store and event watcher.
- goldrush β88 π 996 β Small, Fast event processing and monitoring for Erlang/OTP applications.
- reaxive β257 π 1101 β Reaxive is a reactive event handling library, inspired by Elm and Reactive Extensions.
- wait_for_it β12 π 329 β Provides convenient and easy-to-use facilities for synchronizing concurrent activities.
Examples and funny stuff
Example code and stuff too funny or curious not to mention.
- changelog.com β2193 π 0 β CMS that runs changelog.com built with Phoenix 1.4.
- coderplanets.com β216 π 1 β GraphQL api for coderplanets.com built with Phoenix 1.4 and Absinthe.
- dice β12 π 1534 β Roll the dice, in Elixir.
- elixir_koans β1634 π 108 β Elixir koans is a fun, easy way to get started with the elixir programming language.
- ex_chain β17 π 1743 β Simple Markov Chain that generates funny tweets, built using Elixir.
- harakiri β19 π 1306 β Help applications kill themselves.
- hello_phoenix β128 π 1800 β Application template for SPAs with Phoenix, React and Redux.
- hexpm β791 π 8 β Source code for the hex package manager site built with Phoenix 1.3.
- kaisuu β68 π 1835 β Watch Japanβs Kanji Usage on Twitter in Realtime.
- koans β250 π 1801 β Learn Elixir by using elixir-koans.
- magnetissimo β2493 π 207 β Web application that indexes all popular torrent sites, and saves it to the local database.
- oop β231 π 1012 β OOP in Elixir!
-
phoenix-chat-example
β446
π
29
β
A step-by-step example/tutorial for building a Chat app in Phoenix for complete beginners. Covers testing, docs and deployement. Phoenix
1.5.3
. - phoenix-ecto-encryption-example β164 π 285 β A comprehensive example/tutorial showing people how to use Ecto Types to transparently encrypt/decrypt data in a Phoenix 1.4 app.
- phoenix-flux-react β164 π 2147 β An experiment with Phoenix Channels, GenEvents, React and Flux.
-
phoenix-liveview-counter-tutorial
β111
π
52
β
complete beginners step-by-step tutorial building a real time counter in Phoenix
1.5.3
and LiveView0.14.1
. -
phoenix-todo-list-tutorial
β64
π
136
β
A complete beginners step-by-step tutorial for building a Todo List from scratch in Phoenix
1.5.3
. - portal β44 π 631 β A shooting fault-tolerant doors for distributed portal data-transfer application in Elixir.
- real world example app β758 π 448 β Elixir / Phoenix implementation of RealWorld.io backend specs - a Medium clone.
- stranger β60 π 1831 β Elixir Phoenix app to chat anonymously with a randomly chosen stranger.
- tilex β413 π 1 β Source code for Hashrocketβs TIL website built with Phoenix 1.3.
- weather β67 π 891 β 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
- flippant β73 π 6 β Feature flipping for the Elixir world.
- fun_with_flags β549 π 6 β A feature toggle library using Redis or Ecto for persistence, an ETS cache for speed and PubSub for distributed cache busting. Comes with a management web UI for Phoenix and Plug.
- molasses β73 π 1400 β A feature toggle library using redis or SQL (using Ecto) as a backing service.
Feeds
Libraries working with feeds like RSS or ATOM.
- atomex β27 π 34 β ATOM feed builder with a focus on standards compliance, security and extensibility.
- feeder β37 π 463 β Parse RSS and Atom feeds.
- feeder_ex β62 π 1388 β RSS feed parser. Simple wrapper for feeder.
- feedme β14 π 1490 β RSS/Atom parser built on erlangβs xmerl xml parser.
Files and Directories
Libraries and implementations for working with files and directories.
- dir_walker β34 π 47 β DirWalker lazily traverses one or more directory trees, depth first, returning successive file names.
- elixgrep β26 π 1339 β A framework for doing Hadoop style Map/Reduce operations on collections of files.
- ex_guard β78 π 72 β ExGuard is a mix command to handle events on file system modifications.
- ex_minimatch β10 π 2151 β Globbing paths without walking the tree!.
- exfile β87 π 530 β File upload handling, persistence, and processing in Elixir and Plug.
- exfswatch β204 π 24 β A file change watcher wrapper based on fs.
- eye_drops β50 π 1459 β Configurable mix task to watch file changes and run the corresponding command.
- format_parser.ex β18 π 42 β Elixir library to figure out the type and the format of a file.
- fs β192 π 20 β Erlang FileSystem Listener.
- librex β28 π 232 β Elixir library to convert office documents to other formats using LibreOffice.
- Radpath β20 π 1 β Path library for Elixir, inspired by Pythonβs Enhpath.
- sentix β12 π 1526 β A cross-platform file watcher for Elixir based on fswatch.
- sizeable β26 π 1382 β An Elixir library to make file sizes human-readable.
- waffle β408 π 164 β Flexible file upload and attachment library for Elixir.
- zarex β20 π 232 β Filename sanitization for Elixir.
Formulars
Handling web formulars and similar stuff.
- forms β31 π 21 β Erlang Business Documents Generator.
Framework Components
Standalone component from web development frameworks.
- absinthe_plug β208 π 20 β Plug support for Absinthe.
- access pass β73 π 165 β Authentication framework that can be used with or outside of phoenix. Similar to Addict but geared towards API usage.(Docs).
- addict β653 π 1388 β User authentication for Phoenix Framework.
- better_params β84 π 855 β Elixir Plug for cleaner request params in web apps.
- blaguth β19 π 1015 β Basic Access Authentication in Plug applications.
- commanded β1268 π 21 β Command handling middleware for Command Query Responsibility Segregation (CQRS) applications.
- cors_plug β323 π 19 β An Elixir plug that adds CORS headers to requests and responds to preflight requests (OPTIONS).
- corsica β372 π 88 β Elixir library for dealing with CORS requests.
- crudex β18 π 2172 β CRUD utilities for Phoenix and Ecto.
-
dayron
β148
π
1234
β
A repository similar to
Ecto.Repo
that works with REST API requests instead of a database. - ex_admin β1178 π 1042 β ExAdmin is an auto administration package for Elixir and the Phoenix Framework.
- exdjango β16 π 1409 β A few elixir libraries for working with django.
- filterable β82 π 259 β Simple query params filtering for Phoenix framework inspired by Rails has_scope.
- graphql_parser β15 π 1816 β An Elixir binding for libgraphqlparser.
- http_router β13 π 1478 β HTTP Router with various macros to assist in developing your application and organizing your code.
- kerosene β205 π 805 β Pagination for Ecto and Phoenix.
- mellon β15 π 1784 β An authentication module for Plug applications.
- multiverse β86 π 1097 β Plug that allows to add version compatibility layers via API Request/Response Gateways.
- params β236 π 263 β Use Ecto to enforce/validate parameters structure, akin to Railsβ strong parameters.
- passport β160 π 1366 β Passport provides authentication for Phoenix applications.
- phoenix_ecto β287 π 15 β Phoenix and Ecto integration.
- phoenix_haml β149 π 1436 β Phoenix Template Engine for Haml.
- phoenix_html β233 π 16 β Phoenix.HTML functions for working with HTML strings and templates.
- phoenix_html_sanitizer β22 π 1583 β HTML Sanitizer integration for Phoenix.
- phoenix_html_simplified_helpers β28 π 815 β Some helpers for phoenix html (truncate, time_ago_in_words, number_with_delimiter).
- phoenix_linguist β17 π 381 β A project that integrates Phoenix with Linguist, providing a plug and view helpers. It looks abandoned: its last commit was on 2015 and its CI runs Elixir 1.0.3. Also beware that Linguist seems to be abandoned too, please refer to corresponding item for details.
- phoenix_live_reload β204 π 114 β Provides live-reload functionality for Phoenix.
- phoenix_meta_tags β14 π 607 β Generate meta tags for a website.
- phoenix_pubsub_postgres β26 π 2126 β Postgresql PubSub adapter for Phoenix apps.
- phoenix_pubsub_rabbitmq β42 π 2164 β RabbitMQ adapter for Phoenixβs PubSub layer.
- phoenix_pubsub_redis β140 π 24 β The Redis PubSub adapter for the Phoenix framework.
- phoenix_pubsub_vernemq β24 π 2068 β The VerneMQ MQTT pubsub adapter for the Phoenix framework.
- phoenix_slime β286 π 370 β Slim template support for Phoenix.
- phoenix_token_auth β161 π 1806 β Token authentication solution for Phoenix. Useful for APIs or single page apps.
- plug β2306 π 9 β A specification and conveniences for composable modules in between web applications.
- plug_accesslog β28 π 6 β Plug for writing access logs.
- plug_and_play β13 π 1453 β Set up a Plug application with less boilerplate.
- plug_auth β66 π 1356 β Collection of authentication-related plugs.
- plug_canonical_host β20 π 80 β Plug to ensure all requests are served from a single canonical host.
- plug_checkup β61 π 51 β Plug for adding simple health checks to your app.
- plug_cloudflare β17 π 33 β Inspired by mod_cloudflare, this Elixir plug parses Cloudflares CF-Connecting-IP HTTP request header into Plug.Connβs remote_ip field.
- plug_forward_peer β21 π 1995 β 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_graphql β125 π 1716 β Phoenix Plug integration for GraphQL Elixir.
- plug_heartbeat β26 π 98 β A plug for responding to heartbeat requests.
- plug_jwt β36 π 2016 β Plug for JWT authentication.
- plug_password β10 π 1143 β Plug for adding simple cookie-based authentication.
- plug_rails_cookie_session_store β87 π 771 β Rails compatible Plug session store.
- plug_require_header β26 π 1713 β Require and extract HTTP headers and handle missing ones.
- plug_response_header β11 π 1998 β easy manipulation of HTTP response headers.
- plug_ribbon β21 π 2058 β Injects a ribbon to your web application in the development environment.
- plug_secex β20 π 111 β Plug that adds various HTTP Headers to make Phoenix/Elixir app more secure.
- plug_session_memcached β14 π 434 β A very simple memcached session store for Elixirβs plug.
- plug_statsd β47 π 741 β A plug for automatically sending timing and count metrics to statsd.
- plugs β18 π 1743 β Collection of Plug middleware for web applications.
- plugsnag β61 π 92 β Bugsnag notifier for Elixirβs plug.
- raygun β18 π 265 β Capture bugs and send them to Raygun.
- react_phoenix β423 π 109 β Render React.js components in Phoenix views focusing on easy installation and Brunch compatibility.
- recaptcha β92 π 499 β A simple reCaptcha 2 library for Elixir applications.
- rummage_ecto β190 π 230 β A configurable framework to search, sort and paginate Ecto Queries.
- rummage_phoenix β143 π 230 β A support framework for searching, sorting and paginating models in Phoenix, with HTML support.
- scrivener β497 π 127 β Paginate your Ecto queries.
- scrivener_headers β41 π 209 β Helpers for paginating API responses with Scrivener and HTTP headers.
- scrivener_html β112 π 624 β Helpers built to work with Scrivenerβs page struct to easily build HTML output for various CSS frameworks.
- sentinel β109 π 1284 β An authentication framework for Phoenix extending guardian with routing and other basic functionality.
- surface β1104 π 0 β A server-side rendering component library for Phoenix.
- torch β617 π 42 β Torch is a rapid admin generator for Phoenix apps. It uses generators rather than DSLs to ensure that the code remains maintainable.
- trailing_format_plug β24 π 1431 β An Elixir plug to support legacy APIs that use a rails-like trailing format.
- webassembly β69 π 1315 β Web DSL for Elixir.
Frameworks
Web development frameworks.
- exelli β14 π 2273 β An Elli Elixir wrapper with some sugar syntax goodies.
- kitto β924 π 80 β A framework for interactive dashboards.
- n2o β1259 π 19 β Distributed Application Server.
- nitro β34 π 21 β Nitrogen-compatible Web Framework.
- phoenix β16338 π 1 β Elixir Web Framework targeting full-featured, fault tolerant applications with realtime functionality.
- placid β176 π 1492 β A REST toolkit for building highly-scalable and fault-tolerant HTTP APIs with Elixir.
- rackla β252 π 1614 β API Gateways in Elixir.
- relax β121 π 1830 β Simple Elixir implementation of a jsonapi.org server.
- rest β71 π 21 β Micro-REST framework with typed JSON.
- RIG β458 π 20 β Create low-latency, interactive user experiences for stateless microservices.
- sugar β410 π 1479 β Modular web framework for Elixir.
- trot β382 π 535 β An Elixir web micro-framework.
Games
Libraries for and implementations of games.
- Binbo β58 π 8 β A chess representation written in Erlang using Bitboards, ready for use on game servers.
- entice β102 π 1753 β A distributed Entity-Component-System framework, providing its own example MMORPG server.
- mines β41 π 1392 β A minesweeper clone in the terminal.
- vim_snake β10 π 51 β A classical multiplayer snake game with Vim-style keybinding built with Phoenix framework.
Geolocation
Libraries for geocoding addresses and working with latitudes and longitudes.
- distance_api_matrix β29 π 1787 β Provide distance and heading calculations via Google distance matrix api.
- geo β450 π 96 β A collection of GIS functions for Elixir.
- geocalc β94 π 136 β Calculate distance, bearing and more between latitude/longitude points.
- geocoder β87 π 65 β A simple, efficient geocoder/reverse geocoder with a built-in cache.
- geohash β19 π 342 β Geohash encode/decode library.
-
geoip
β76
π
510
β
Find geolocation for a given IP, hostname or
Plug.Conn
. - geolix β150 π 20 β MaxMind GeoIP2 database reader/decoder.
- geonames β14 π 1059 β A simple Elixir wrapper around the GeoNames API.
- ip2location β15 π 1255 β An Elixir library for IP2Location database.
- topo β91 π 466 β A Geometry library for Elixir that calculates spatial relationships between two geometries.
GUI
Libraries for writing Graphical User Interfaces.
- scenic β1600 π 112 β Portable 2D UI framework.
Hardware
Hardware related things like I/O interfaces and such.
- elixir_ale β336 π 765 β Elixir access to hardware I/O interfaces such as GPIO, I2C, and SPI.
- nerves β1623 π 1 β Framework for building firmware for platforms like Raspberry Pi and BeagleBone Black.
HTML
Libraries and implementations working with HTML (for xml tools please go to the XML section).
- exquery β31 π 1437 β A library for parsing HTML and querying elements within.
- floki β1434 π 5 β A simple HTML parser that enables searching using CSS like selectors.
- html_sanitize_ex β175 π 222 β HTML sanitizer for Elixir.
- modest_ex β30 π 389 β A library to do pipeable transformations on html strings with CSS selectors, e.g. find(), prepend(), append(), replace() etc.
- myhtmlex β14 π 850 β Elixir/Erlang bindings for lexborisovβs myhtml.
- readability β187 π 145 β Readability is for extracting and curating articles.
- texas β50 π 1017 β Texas is a powerful abstraction over updating your clients using server-side rendering and server-side Virtual DOM diff/patching.
HTTP
Libraries for working with HTTP and scraping websites.
- Ace β296 π 95 β HTTP web server and client, supports http1 and http2.
- bolt β32 π 1856 β Simple and fast http proxy.
- cauldron β73 π 1384 β An HTTP/SPDY server as a library.
- Crawler β779 π 286 β A high performance web crawler in Elixir.
- Crawly β434 π 19 β high-level web crawling & scraping framework for Elixir.
- elli β673 π 1094 β Elli is a webserver you can run inside your Erlang application to expose an HTTP API.
- etag_plug β17 π 144 β A simple to use shallow ETag plug.
- explode β37 π 559 β An easy utility for responding with standard HTTP/JSON error payloads in Plug- and Phoenix-based applications.
- exvcr β550 π 89 β HTTP request/response recording library for Elixir, inspired by VCR.
- finch β597 π 4 β An HTTP client with a focus on performance, built on top of Mint and NimblePool.
- fuzzyurl β18 π 1064 β An Elixir library for parsing, constructing, and wildcard-matching URLs. Also available for Ruby and JavaScript.
- gun β704 π 13 β HTTP/1.1, HTTP/2 and Websocket client for Erlang/OTP.
- hackney β1122 π 68 β Simple HTTP client written in Erlang.
- http β11 π 2208 β HTTP server for Elixir.
- http_proxy β52 π 113 β Multi port HTTP Proxy.
- httpoison β1893 π 44 β Yet Another HTTP client for Elixir powered by hackney.
- httpotion β723 π 366 β Fancy HTTP client for Elixir, based on ibrowse.
- ivar β14 π 1239 β A lightweight wrapper around HTTPoison that provides a fluent and composable way to build http requests.
- mint β958 π 4 β Functional HTTP client for Elixir with support for HTTP/1 and HTTP/2.
- mochiweb β1769 π 377 β MochiWeb is an Erlang library for building lightweight HTTP servers.
- neuron β240 π 90 β A GraphQL client for Elixir.
- raxx β377 π 112 β Interface for HTTP webservers, frameworks and clients.
- river β77 π 802 β An HTTP/2 client that is lightweight and lightning fast.
- scrape β306 π 370 β Scrape any website, article or RSS/Atom Feed with ease.
- sparql_client β17 π 82 β A SPARQL protocol client for Elixir.
- spell β63 π 1345 β Spell is a Web Application Messaging Protocol (WAMP) client implementation in Elixir.
- tesla β1387 π 26 β HTTP client library, with support for middleware and multiple adapters.
- uri_template β15 π 1030 β RFC6570 compliant URI template processor for Elixir.
- web_socket β60 π 1322 β An exploration into a stand-alone library for Plug applications to easily adopt WebSockets.
- webdriver β110 π 1855 β This is an implementation of the WebDriver protocol client. It currently supports PhantomJS, FireFox, ChromeDriver and remote webdriver servers (e.g. Selenium).
- yuri β10 π 1905 β Simple struct for representing URIs.
Images
Libraries for working with and manipulating images.
- alchemic_avatar β48 π 1182 β Elixir library for generating letter avatar from string.
- artifact β43 π 1783 β File upload and on-the-fly processing for Elixir.
- chunky_svg β26 π 1601 β A library for drawing things with SVG.
- cloudex β84 π 357 β Cloudex is an Elixir library that can upload image files or urls to Cloudinary.
- elixir_exif β12 π 358 β Parse exif tags and thumbnail data from jpeg files.
- ex_image_info β49 π 821 β An Elixir library to parse images (binaries) and get the dimensions, detected mime-type and overall validity for a set of image formats.
- exexif β38 π 210 β Pure Elixir library to extract TIFF and EFIX metadata from jpeg files.
- identicon β22 π 2076 β An Elixir library for generating 5x5 identicons.
- imagineer β107 π 838 β Image parsing in Elixir.
- imgex β30 π 398 β Unofficial client library for generating imgix URLs in Elixir.
- mogrify β438 π 27 β An Elixir wrapper for ImageMagick command line.
- png β37 π 266 β 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.
- thumbnex β43 π 231 β Create thumbnails from images and video screenshots.
Instrumenting / Monitoring
Libraries for collecting and exporting metrics.
- elixometer β797 π 5 β A light Elixir wrapper around exometer.
- erlang-metrics β66 π 897 β A generic interface to different metrics systems in Erlang.
- exometer β508 π 1843 β Basic measurement objects and probe behavior in Erlang.
- instream β173 π 5 β InfluxDB driver for Elixir.
- newrelic.ex β64 π 555 β Collects metrics from your Elixir/Phoenix application and sends them to NewRelic.
- prometheus β276 π 121 β Prometheus.io monitoring system and time series database client in Erlang.
- prometheus-ecto β67 π 45 β Ecto instrumenter for prometheus.ex.
- prometheus-phoenix β65 π 579 β Phoenix instrumenter for prometheus.ex.
- prometheus-plugs β51 π 45 β Plugs instrumenters/exporter for prometheus.ex.
- prometheus.ex β341 π 4 β Elixir-friendly Prometheus.io monitoring system and time series database client.
- prometheus_process_collector β43 π 286 β Prometheus collector which exports the current state of process metrics including cpu, memory, file descriptor usage and native threads count as well as the process start and up times.
- spandex β241 π 32 β Platform agnostic tracing library originally developed for Datadog APM.
- telemetry β639 π 8 β Dynamic dispatching library for metrics and instrumentations.
- wobserver β898 π 1309 β Web based metrics, monitoring, and observer.
JSON
Libraries and implementations working with JSON.
- exjson β72 π 1647 β JSON parser and generator in Elixir.
- ja_serializer β619 π 129 β JSONAPI.org Serialization in Elixir.
- jason β1167 π 63 β A blazing fast JSON parser and generator in pure Elixir.
- jazz β60 π 960 β Yet another library to handle JSON in Elixir.
- joken β578 π 23 β Encodes and decodes JSON Web Tokens.
- jose β231 π 23 β JSON Object Signing and Encryption (JOSE) for Erlang and Elixir.
- json β217 π 56 β Native JSON library for Elixir.
- json_pointer β10 π 502 β Implementation of RFC 6901 which defines a string syntax for identifying a specific value within a JSON document.
- json_web_token_ex β138 π 1326 β An Elixir implementation of the JSON Web Token (JWT) Standards Track (RFC 7519).
- jsonapi β389 π 21 β A project that will render your data models into JSONAPI Documents.
- jsx β639 π 163 β An Erlang application for consuming, producing, and manipulating json.
- jsxn β27 π 1975 β jsx but with maps.
- poison β1827 π 944 β Poison is a new JSON library for Elixir focusing on wicked-fast speed without sacrificing simplicity, completeness, or correctness.
- tiny β46 π 748 β Tiny, fast and fully compliant JSON parser for Elixir.
Languages
Languages built on top of Elixir.
- Elchemy β1078 π 345 β Compiler allowing to translate Elm programming language code to Elixir.
- lighthouse_scheme β38 π 1500 β A small Lisp-like language and interactive REPL, built in Elixir.
- Monkey β118 π 1132 β 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.
- abnf_parsec β31 π 2 β ABNF in and parser out.
- ex_abnf β53 π 1494 β Parser for ABNF Grammars in Elixir.
- lex_luthor β26 π 28 β LexLuthor is a Lexer in Elixir which uses macros to generate a reusable lexers.
Logging
Logging infos and messages.
- bunyan β92 π 750 β Bunyan: An Elixir Logger.
- exlager β65 π 1379 β Elixir binding for lager.
- exsentry β23 π 524 β Error logging to Sentry.
- gelf_logger β27 π 217 β A Logger backend that will generate Graylog Extended Log Format (GELF) messages.
- honeybadger β130 π 0 β Error logging to Honeybadger.
- json_logger β23 π 325 β JSON Logger is a logger backend that outputs elixir logs in JSON format.
- lager β35 π 1604 β A logging framework for Erlang/OTP by basho.com.
- lager_logger β25 π 1057 β A lager backend that forwards all log messages to Elixirβs Logger.
- logfmt β19 π 496 β Logfmt is a module for encoding and decoding logfmt-style log lines.
- logger_logstash_backend β66 π 1209 β A backend for the Elixir Logger that will send logs to the Logstash UDP input.
- logglix β10 π 1221 β A logger backend for posting errors to Loggly.
- logster β170 π 131 β Easily parsable, one-line logging for Phoenix and Plug applications, inspired by Lograge.
- metrix β49 π 875 β Log custom app metrics to stdout for use by Librato and other downstream processors.
- mstore β11 π 1246 β MStore is a experimental metric store build in erlang, the primary functions are open, new, get and put.
- rollbax β223 π 420 β Exception tracking and logging to Rollbar.
- slack_logger_backend β31 π 1296 β A logger backend for posting errors to Slack.
- syslog β83 π 302 β Erlang port driver for interacting with syslog via syslog(3).
- timber β226 π 651 β Structured logging platform; turns raw text logs into rich structured events.
Macros
Macros for faster and easier development. Sugar for your code.
- anaphora β16 π 1828 β 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.
- apix β11 π 512 β Simple convention and DSL for transformation of elixir functions to an API for later documentation and or validation.
- crudry β46 π 163 β Crudry is an elixir library for DRYing CRUD of Phoenix Contexts and Absinthe Resolvers.
- eventsourced β99 π 1381 β Build functional, event-sourced domain models.
- expat β157 π 926 β Reusable, composable patterns across Elixir libraries.
- guardsafe β23 π 1713 β Macros expanding into code that can be safely used in guard clauses.
- mdef β46 π 354 β Easily define multiple function heads in Elixir.
- named_args β28 π 1121 β Allows named arg style arguments in Elixir.
-
ok_jose
β91
π
1205
β
Pipe elixir functions that match
{:ok,_}
,{:error,_}
tuples or custom patterns. - opus β298 π 109 β A framework for pluggable business logic components.
- pathex β27 π 41 β Zero-dependency, blazing fast functional lenses.
- pattern_tap β56 π 1329 β Macro for tapping into a pattern match while using the pipe operator.
- pipe_here β28 π 1465 β Easily pipe values into any argument position.
- pipe_to β71 π 187 β The enhanced pipe operator which can specify the target position.
- pipes β314 π 900 β Macros for more flexible composition with the Elixir Pipe operator.
- pit β24 π 358 β Transform values as they flow inside a pipe.
- rulex β11 π 580 β Simple rule handler using Elixir pattern matching.
-
shorter_maps
β190
π
1163
β
~M sigil for map shorthand.
~M{id name} ~> %{id: id, name: name}
. - unsafe β11 π 2 β Generate easy unsafe (!) bindings for Elixir functions.
Markdown
Libraries and tools working with Markdown and such.
- cmark β74 π 6 β Elixir NIF for CommonMark (in C), a parser following the CommonMark spec.
- discount β20 π 1975 β Elixir NIF for discount, a Markdown parser.
- earmark β662 π 3 β Markdown parser for Elixir.
- Markdown β83 π 1451 β Implemented entirely as a NIF binding to the Hoedown library.
- Pandex β52 π 636 β 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 β20 π 7 β Library for parsing US Addresses into their individual parts.
- AlloyCI β273 π 212 β AlloyCI is a Continuous Integration, Deployment, and Delivery coordinator, written in Elixir, that takes advantage of the GitLab CI Runner, and its capabilities as executor, to prepare and run your pipelines.
- Apex β265 π 933 β Awesome Print for Elixir.
- AtomVM β825 π 1 β AtomVM allows to run Elixir/Erlang code on embedded devices such as ESP32 and STM32 microcontrollers.
- bupe β65 π 180 β EPUB Generator and Parser.
- codec-beam β152 π 584 β Generate Erlang VM byte code from Haskell.
- Countries β107 π 49 β Countries is a collection of all sorts of useful information for every country in the ISO 3166 standard.
- countriex β22 π 1507 β A pure elixir country data provider containing various information for every country in ISO 3166.
- dye β16 π 1708 β A library for dyeing your terminal output.
- ecto_autoslug_field β127 π 6 β Automatically creates slugs for your Ecto models.
- elixir-browser β70 π 173 β Browser detection for Elixir.
- erlang_term β26 π 90 β Provide the in-memory size of Erlang terms, ignoring where these are stored.
-
ex2ms
β132
π
440
β
Translates Elixir functions to match specifications for use with
ets
. - ex_phone_number β133 π 155 β Format, normalize, and validate phone numbers.
- ex_rated β326 π 44 β Simple and flexible rate-limiting for APIβs or anything.
- exldap β51 π 1052 β A module for working with LDAP from Elixir.
- exlibris β10 π 2306 β A collection of random library functions.
- expool β24 π 1794 β A small process pooling library for parallel tasks in Elixir.
- exprint β33 π 1485 β A printf / sprintf library for Elixir, works as a wrapper for :io.format.
- expyplot β20 π 183 β Elixir interface for Plotting/Graphing library using matplotlib.pyplot.
- exquisite β74 π 436 β LINQ-like match_spec generation for Elixir.
- exsync β96 π 260 β Yet another Elixir reloader.
- funnel β32 π 1703 β Streaming Elixir API built upon ElasticSearchβs percolation.
- gen_task β21 π 1275 β Generic Task behavior that helps to encapsulate worker errors and recover from them in classic GenStageβs.
- hammer β365 π 784 β A rate-limiter with pluggable storage backends, including Redis.
- html_entities β68 π 6 β Elixir module for decoding HTML entities in a string.
- huex β56 π 807 β Elixir client for Philips Hue connected light bulbs.
- Jisho-Elixir β18 π 354 β An API wrapper for Jisho.org, an online Japanese dictionary. Allows users to search by word, symbol, and or tags (refer to docs).
- licensir β43 π 75 β A mix task that lists the license(s) of all installed packages in your project.
- mixgraph β12 π 1790 β An interactive dependency plotter for your Hex Package.
- mixstar β12 π 1973 β MixStar starred GitHub repository that depends on your project.
- pact β71 π 898 β Better dependency injection in Elixir for cleaner code and testing.
- phone β93 π 57 β A parser to get useful info from telephone numbers.
- porcelain β812 π 127 β Porcelain implements a saner approach to launching and communicating with external OS processes from Elixir.
- presentex β11 π 1907 β Elixir to HTML/JavaScript based presentation framework.
- ratekeeper β15 π 957 β Rate limiter and rate-limited actions scheduler.
- ratx β19 π 1240 β Rate limiter and overload protection for erlang application.
- reprise β40 π 332 β Simplified module reloader for Elixir.
- spotify_ex β109 π 45 β An Elixir wrapper for the Spotify Web API.
- std_json_io β26 π 1644 β Application for managing and communicating with IO servers via JSON.
- vessel β18 π 2 β Elixir MapReduce interfaces with Hadoop Streaming integration.
Native Implemented Functions
Tools and libraries working with Erlang NIF.
- hsnif β24 π 2812 β Tool that allows to write Erlang NIF libraries in Haskell.
- nifty β27 π 1966 β Helper script for setting up the boilerplate required when writing a NIF.
- Rustler β2662 π 15 β Library for writing NIFs for Erlang or Elixir safely in Rust. No segfaults.
Natural Language Processing (NLP)
Tools and libraries that work with human (natural) languages.
- gibran β61 π 1403 β Gibran is an Elixir port of WordsCounted, a natural language processor that extracts useful statistics from text.
- Paasaa β86 π 233 β Natural language detection for Elixir.
- Petrovich β33 π 6 β Elixir library to inflect Russian first, last, and middle names.
- Tongue β12 π 15 β Elixir port of Nakatani Shuyoβs natural language detector.
- Woolly β41 π 358 β Woolly is an ambitious Text Mining and Natural Language Processing API for Elixir.
Networking
Libraries and tools for using network related stuff.
- chatter β26 π 1727 β Secure message broadcasting based on a mixture of UDP multicast and TCP.
- download β27 π 1324 β Download files from the internet easily.
- eio β12 π 1979 β Elixir server of engine.io.
- ExPcap β23 π 757 β PCAP parser written in Elixir.
- hades β18 π 337 β A wrapper for NMAP written in Elixir.
- reagent β90 π 1330 β reagent is a socket acceptor pool for Elixir.
- socket β642 π 436 β Socket wrapping for Elixir.
- sshex β135 π 81 β Simple SSH helpers for Elixir.
- sshkit β108 π 64 β An Elixir toolkit for performing tasks on one or more servers, built on top of Erlangβs SSH application.
- tunnerl β14 π 180 β SOCKS4 and SOCKS5 proxy server.
- wifi β32 π 2081 β Various utility functions for working with the local Wifi network in Elixir.
Office
Libraries for working with office suite documents.
- elixlsx β174 π 73 β A writer for XLSX files.
- excellent β22 π 779 β An OpenXL (Excel 2000) Parser for Elixir.
- xlsxir β164 π 2 β Xlsx file parser with support for ISO 8601 date formats. Data is extracted to an Erlang Term Storage (ETS) table and is accessed through various functions.
ORM and Datamapping
Libraries that implement object-relational mapping or datamapping techniques.
- amnesia β629 π 436 β Mnesia wrapper for Elixir.
- arbor β181 π 266 β Ecto adjacency list and tree traversal.
- arc_ecto β242 π 442 β Arc.Ecto provides an integration with Arc and Ecto.
- atlas β213 π 2383 β Object Relational Mapper for Elixir.
- Bolt.Sips β200 π 166 β Neo4j driver for Elixir using the Bolt protocol.
- boltun β122 π 1370 β Transforms notifications from the Postgres LISTEN/NOTIFY mechanism into callback execution.
- caylir β18 π 5 β Cayley driver for Elixir.
- comeonin_ecto_password β32 π 489 β Ecto custom type for storing encrypted password using Comeonin.
- couchdb_connector β93 π 836 β A connector for CouchDB, the Erlang-based, JSON document database.
- datomex β40 π 1845 β Elixir driver for the Datomic REST API.
- defql β99 π 929 β Create elixir functions with SQL as a body.
- diver β46 π 1682 β A HBase driver for Erlang/Elixir using Jinterface and the Asynchbase Java client to query the database.
- ecto β4982 π 1 β A database wrapper and language integrated query for Elixir.
- ecto_cassandra β81 π 845 β Cassandra DB Adapter for Ecto.
- ecto_enum β535 π 128 β Ecto extension to support enums in models.
- ecto_facade β66 π 1086 β Ecto facade that allows to separate writes and reads to different databases.
- ecto_fixtures β161 π 320 β Fixtures for Elixir apps using Ecto.
- ecto_migrate β32 π 1620 β Ecto auto migration library. It allows to generate and run migrations for initial and update migrations.
- ecto_mnesia β223 π 219 β Ecto adapter for Mnesia Erlang term database.
- ecto_ordered β33 π 1570 β Ecto extension for ordered models.
- ecto_paging β13 π 1271 β Cursor-based pagination for Ecto.
- ecto_psql_extras β186 π 9 β Ecto PostgreSQL database performance insights.
- ecto_rut β112 π 924 β Simple and Powerful Ecto Shortcuts to simplify and speed up development.
- ecto_shortcuts β28 π 1610 β Shortcuts for common operations in ecto.
- ecto_shortuuid β15 π 370 β Ecto type which adds support for ShortUUIDs.
- ecto_validation_case β10 π 2002 β Simplify your Ecto model validation tests. Loosely inspired by shoulda matchers, but simpler.
- ectophile β40 π 1845 β Ecto extension to instantly support file uploads in models.
- elastic β60 π 278 β A thin-veneer over HTTPotion to help you talk to Elastic Search.
- elastix β230 π 35 β A simple Elastic REST client written in Elixir.
- eredis β595 π 759 β Erlang Redis client.
- erlastic_search β151 π 371 β An Erlang app for communicating with Elastic Searchβs rest interface.
- esqlite β86 π 119 β Erlang NIF for sqlite.
- eternal β63 π 28 β Keep your ETS tables alive forever, safely and easily.
- eventstore β727 π 28 β A CQRS EventStore using Postgres for persistence, written in Elixir.
- ex_bitcask β10 π 2175 β Elixir wrapper of Bashoβs Bitcask Key/Value store.
- exleveldb β39 π 883 β Elixir wrapper around Bashoβs eleveldb module for LevelDB.
- exnumerator β63 π 363 β Elixir enumerable type definition in a simple way to be used with any database.
- exredis β357 π 774 β Redis client for Elixir.
- exseed β15 π 1302 β An Elixir library that provides a simple DSL for seeding databases through Ecto.
- exsolr β20 π 1357 β A Solr wrapper written in Elixir.
- extreme β110 π 604 β An Elixir library using Eventstore for persistence of events generated by aggregates (CQRS).
- github_ecto β116 π 1429 β Ecto adapter for GitHub API.
- gremlex β62 π 735 β Apache Tinkerpop Gremlin Elixir Client.
- hstore β10 π 2038 β Hstore support for Postgrex.
- inquisitor β160 π 236 β Composable query builder for Ecto.
- kalecto β138 π 924 β Glue between Kalends and Ecto for saving dates, times and datetimes.
- kvs β159 π 21 β Erlang Abstract Term Database.
- mariaex β257 π 805 β MariaDB/MySQL driver for Elixir.
- memento β593 π 192 β Simple Mnesia Interface in Elixir.
- moebius β531 π 596 β A functional query tool for Elixir and PostgreSQL.
- mongo β102 π 1912 β MongoDB driver for Elixir.
- mongodb β461 π 114 β MongoDB driver for Elixir.
- mongodb_driver β63 π 22 β Alternative driver for MongoDB with support for recent versions of MongoDB and comprehensive feature list.
- mongodb_ecto β317 π 804 β MongoDB adapter for Ecto.
- mysql β319 π 136 β MySQL/OTP β MySQL driver for Erlang/OTP.
- neo4j_sips β78 π 1369 β Neo4j driver for Elixir.
- panoramix β21 π 6 β Apache Druid client for Elixir.
- paper_trail β375 π 14 β Ecto plugin for tracking and recording all the changes in your database.
- pillar β24 π 65 β Clickhouse HTTP based client.
- postgrex β804 π 1 β PostgreSQL driver for Elixir.
- red β14 π 1297 β Persist relationships between objects in Redis, in a graph-like way.
- rediscl β11 π 307 β A minimal redis client with connection pooling and pipe query builder.
- redix β812 π 19 β Superfast, pipelined, resilient Redis driver for Elixir.
- redo β18 π 769 β Herokuβs pipelining redis client for erlang.
- rethinkdb β497 π 821 β Rethinkdb client in pure Elixir using JSON protocol.
- riak β192 π 1060 β A Riak client written in Elixir.
- riak_ecto β30 π 1714 β Riak adapter for Ecto.
- shards β265 π 82 β Transparent and out-of-box Sharding support for Erlang/Elixir ETS tables.
- sql_dust β106 π 1340 β Generate (complex) SQL queries using magical Elixir SQL dust.
- sqlite_ecto β73 π 1859 β SQLite3 adapter for Ecto.
- sqlitex β109 π 66 β An Elixir wrapper around esqlite. Allows access to sqlite3 databases.
- tds β84 π 84 β MSSQL / TDS Database driver for Elixir.
- tds_ecto β58 π 362 β MSSQL / TDS Adapter for Ecto.
- timex_ecto β154 π 604 β An adapter for using Timex DateTimes with Ecto.
- tirexs β421 π 370 β An Elixir flavored DSL for building JSON based requests to Elasticsearch engine.
- triplex β255 π 69 β Database multitenancy with postgres schemas for Elixir applications!
- triton β67 π 434 β Pure Elixir Cassandra ORM built on top of Xandra.
- xandra β239 π 396 β Cassandra driver built natively in Elixir and focused on speed, simplicity, and robustness.
OTP
Libraries for working with OTP related things.
- core β42 π 2355 β Library for selective receive OTP processes.
- erlexec β420 π 46 β Execute and control OS processes from Erlang/OTP.
- immortal β160 π 11 β Immortal is a small collection of helper modules intended to make it easier to build a fault-tolerant OTP application.
Package Management
Libraries and tools for package and dependency management.
- rebar3_hex β70 π 21 β Hex.pm plugin for rebar3.
Libraries and software for working with PDF files.
- chromic_pdf β67 π 17 β A client for Chromeβs DevTools API to generate PDFs (HTML to PDF).
- gutenex β228 π 838 β Native PDF generation for Elixir.
- pdf2htmlex β73 π 1870 β Convert PDF docs to beautiful HTML files without losing text or format.
- pdf_generator β245 π 23 β A simple wrapper for wkhtmltopdf or puppeteer (HTML to PDF) for use in Elixir projects.
- puppeteer_pdf β79 π 554 β Another wrapper around puppeteer (HTML to PDF) for use in Elixir projects.
Protocols
Special protocol and format libraries.
- elixir_radius β10 π 483 β RADIUS Protocol on Elixir.
- ex_hl7 β31 π 421 β Health Level 7 (HL7) is a protocol designed to model and transfer health-related data electronically.
- ex_marshal β35 π 848 β Ruby Marshal format implemented in Elixir.
- exprotobuf β468 π 590 β Protocol Buffers in Elixir, made easy.
- grpc-elixir β849 π 98 β The Elixir implementation of gRPC.
- message_pack β70 π 2073 β MessagePack Implementation for Elixir.
- msgpax β222 π 20 β MessagePack (de)serializer implementation for Elixir.
- protox β97 π 5 β Elixir implementation for Protocol Buffers.
- riffed β290 π 252 β Provides idiomatic Elixir bindings for Apache Thrift.
- Sippet β48 π 99 β An Elixir library designed to be used as SIP protocol middleware.
- SMPPEX β63 π 74 β SMPP 3.4 protocol and framework implementation in Elixir.
Queue
Libraries for working with event and task queues.
- adap β14 π 1375 β Create a data stream across your information systems to query, augment and transform data according to Elixir matching rules.
- amqp β532 π 0 β Simple Elixir wrapper for the Erlang RabbitMQ client, based on Langohr.
- broadway β1272 π 1 β Concurrent and multi-stage data ingestion and data processing with Elixir.
- conduit β114 π 209 β A framework for working with message queues, with adapters for SQS and AMQP, and plugs for reusable messaging patterns.
- cspex β21 π 973 β Simple, OTP compliant, Elixir implementation of CSP channels.
- ecto_job β243 π 143 β A transactional job queue built with Ecto, PostgreSQL and GenStage.
- elixir_nsq β75 π 448 β NSQ client library for Elixir.
- elixir_talk β19 π 1364 β An Elixir client for beanstalkd.
- enm β113 π 1196 β enm is an Erlang port driver that wraps the nanomsg C library.
- exdisque β15 π 828 β Elixir client for Disque, an in-memory, distributed job queue.
- exq β1215 π 18 β Job processing library for Elixir - compatible with Resque/Sidekiq.
- exrabbit β47 π 2327 β RabbitMQ bindings and DSL for Elixir.
- flume β30 π 314 β A blazing fast job processing system backed by GenStage & Redis.
- gen_rmq β146 π 40 β Set of behaviours meant to be used to create RabbitMQ consumers and publishers.
- honeydew β669 π 186 β Honeydew is a worker pool library for Elixir.
- hulaaki β115 π 248 β An MQTT 3.1.1 client library written in Elixir.
- kafka_consumer β25 π 1346 β Consumer for Kafka using kafka_ex.
- kafka_ex β467 π 10 β Kafka client library for Elixir.
- mqs β27 π 1984 β RabbitMQ client library, routing keys, RPC over MQ and other stuff.
- oban β1550 π 1 β Robust asynchronous job processor powered by Elixir and modern PostgreSQL.
- opq β178 π 41 β A simple, in-memory queue with worker pooling and rate limiting in Elixir.
- pqueue β151 π 90 β Erlang Priority Queue Implementation.
- que β611 π 553 β Simple Background Job Processing with Mnesia.
- queuex β10 π 1507 β Priority Queue with multiple backends.
- RBMQ β19 π 1009 β Simple API for spawning RabbitMQ Producers and Consumers.
- Rihanna β397 π 63 β High performance postgres-backed job queue for Elixir.
- task_bunny β193 π 841 β background processing application written in Elixir and uses RabbitMQ as a messaging backend.
- toniq β339 π 1106 β Simple and reliable background job library for Elixir.
- verk β662 π 248 β Verk is a job processing system backed by Redis. It uses the same job definition of Sidekiq/Resque.
- work_queue β38 π 354 β Simple implementation of the hungry-consumer model in Elixir.
Release Management
Libraries and tools for release management.
- changex β38 π 608 β Automated changelog generation from GIT logs.
- distillery β2745 π 373 β A pure Elixir implementation of release packaging functionality for the Erlang VM.
- eliver β48 π 471 β Interactive semantic versioning for Elixir packages.
- exrm β935 π 1343 β Automatically generate a release for your Elixir project.
- exrm_deb β75 π 1296 β Create a deb for your Elixir release with ease.
- exrm_heroku β45 π 2192 β Publish your Elixir releases to Heroku with ease.
- exrm_rpm β38 π 1717 β Create a RPM for your Elixir release with ease.
- mix_docker β335 π 994 β Put your Elixir app production release inside minimal docker image.
- relex β59 π 2502 β Erlang/Elixir Release Assembler.
- renew β33 π 1241 β Mix task to create mix projects that builds into Docker containers.
REST and API
Libraries and web tools for developing REST-ful APIs.
- accent β24 π 6 β Plug for handling the conversion of JSON API keys to different cases.
- detergent β61 π 2939 β An emulsifying Erlang SOAP library.
- detergentex β62 π 994 β Elixir binding to Detergent erlang library used to call WSDL/SOAP Services.
- maru β1271 π 583 β Elixir copy of grape for creating REST-like APIs.
- mazurka β15 π 1132 β Hypermedia API toolkit.
- plug_rest β44 π 396 β REST behaviour and Plug router for hypermedia web applications.
- signaturex β21 π 1236 β Simple key/secret based authentication for APIs.
- SOAP client β91 π 97 β Hex-documented SOAP client based on HTTPoison.
- urna β94 π 1381 β Urna is a simple DSL around cauldron to implement REST services.
- versionary β28 π 0 β API versioning for Elixir Plug and Phoenix.
Search
Libraries related to search indexing, search algorithms and search clients.
- elasticsearch β314 π 32 β A simple, no-nonsense Elasticsearch library for Elixir.
- giza_sphinxsearch β16 π 187 β Client for Sphinx Search compatible with Manticore.
Security
Libraries and tools regarding security.
- Ockam β385 π 1 β A suite of tools, programming libraries and infrastructure that make it easy to build devices that communicate securely, privately and trustfully with cloud services and other devices. Docs .
- pwned β15 π 330 β Check if your password has been pwned.
- safetybox β17 π 1951 β Security oriented helper functions for Elixir.
- sobelow β1081 π 45 β Security-focused static analysis for the Phoenix Framework.
- ssl_verify_fun β77 π 77 β Collection of ssl verification functions for Erlang.
Static Page Generation
Tools and libraries for generating static websites and content.
- blogit β31 π 346 β An OTP application for generating blogs from git repositories containing markdown files.
- coil β63 π 2523 β Minimalistic static content engine.
- glayu β69 π 1280 β A static site generator for mid-sized sites.
- obelisk β365 π 1465 β Static blog and website generator.
- serum β244 π 54 β A simple static website generator written in Elixir.
Statistics
Libraries around the topic statistics.
- mtx β16 π 2133 β MTX supports front-end API for tracking Histogram, Meter, Counter, Gauge, Timing keys.
- numerix β157 π 71 β A collection of useful mathematical functions with a slant towards statistics, linear algebra and machine learning.
- simple_stat_ex β13 π 559 β Ecto compatible library for simple stat keeping by time period.
- statistics β101 π 336 β Some basic statistical functions for Elixir.
Templating
Libraries parsing and helping with templates
- bbmustache β137 π 114 β Binary pattern match Based Mustache template engine for Erlang/OTP.
- calliope β183 π 1423 β An Elixir HAML parser.
- eml β111 π 220 β Library for writing and manipulating (HTML) markup in Elixir.
- exgen β27 π 405 β A templating library for quickly generating Elixir projects.
- expug β74 π 1218 β Pug templates for Elixir.
- mustache β40 π 1148 β Mustache templates for Elixir.
- mustachex β16 π 881 β Mustache for Elixir - Logic-less templates.
- slime β314 π 372 β An Elixir library for rendering slim-like templates.
- taggart β32 π 1046 β HTML as code in Elixir.
- temple β271 π 35 β An HTML DSL for Elixir and Phoenix.
Testing
Libraries for testing codebases and generating test data.
- amrita β201 π 1329 β A polite, well mannered and thoroughly upstanding testing framework for Elixir.
- apocryphal β15 π 1592 β Swagger based document driven development for ExUnit.
- blacksmith β167 π 1624 β Data generation framework for Elixir.
- blitzy β80 π 1950 β A simple HTTP load tester in Elixir.
- bypass β719 π 65 β Bypass provides a quick way to create a mock HTTP server with a custom plug.
- chaperon β87 π 321 β An HTTP service performance & load testing framework written in Elixir.
-
cobertura_cover
β10
π
2170
β
Writes a coverage.xml from
mix test --cover
file compatible with Jenkinsβ Cobertura plugin. - definject β35 π 110 β Unobtrusive dependency injector for Elixir.
- double β40 π 50 β Create stub dependencies for testing without overwriting global modules.
- efrisby β17 π 1481 β A REST API testing framework for erlang.
- espec β724 π 101 β BDD test framework for Elixir inspired by RSpec.
- espec_phoenix β123 π 663 β ESpec for Phoenix web framework.
- ex_machina β1567 π 13 β Flexible test factories for Elixir. Works out of the box with Ecto and Ecto associations.
- ex_parameterized β22 π 102 β Simple macro for parameterized testing.
- ex_spec β94 π 995 β BDD-like syntax for ExUnit.
- ex_unit_fixtures β11 π 643 β A library for defining modular dependencies for ExUnit tests.
- ex_unit_notifier β107 π 3 β Desktop notifications for ExUnit.
- excheck β310 π 885 β Property-based testing library for Elixir (QuickCheck style).
- exkorpion β29 π 1024 β A BDD library for Elixir developers.
- factory_girl_elixir β40 π 2095 β Minimal implementation of Rubyβs factory_girl in Elixir.
- fake_server β64 π 475 β FakeServer is an HTTP server that simulates response and makes testing external APIs easier.
- faker β665 π 3 β Faker is a pure Elixir library for generating fake data.
- faker_elixir β145 π 1300 β FakerElixir is an Elixir package that generates fake data for you.
- hound β1274 π 141 β Elixir library for writing integration tests and browser automation.
- hypermock β24 π 2037 β HTTP request stubbing and expectation Elixir library.
-
ignorant
β12
π
1645
β
Partial
Map
comparison that ensures fields are present while ignoring their values. - katt β68 π 522 β KATT (Klarna API Testing Tool) is an HTTP-based API testing tool for Erlang.
- meck β716 π 6 β A mocking library for Erlang.
- mecks_unit β42 π 312 β A package to elegantly mock module functions within (asynchronous) ExUnit tests using meck.
- mix_erlang_tasks β18 π 2168 β Common tasks for Erlang projects that use Mix.
- mix_eunit β12 π 1478 β A Mix task to execute eunit tests.
- mix_test_interactive β10 π 4 β Interactive test runner for mix test with watch mode.
- mix_test_watch β713 π 5 β Automatically run your Elixir projectβs tests each time you save a file.
- mock β511 π 106 β Mocking library for the Elixir language.
- mockery β76 π 146 β Simple mocking library for asynchronous testing.
- mox β847 π 1 β Mocks and explicit contracts for Elixir.
- pavlov β129 π 1848 β BDD framework for your Elixir projects.
- ponos β144 π 1921 β Ponos is an Erlang application that exposes a flexible load generator API.
- power_assert β200 π 53 β Power Assert in Elixir. Shows evaluation results each expression.
- proper β794 π 1 β PropEr (PROPerty-based testing tool for ERlang) is a QuickCheck-inspired open-source property-based testing tool for Erlang.
- shouldi β136 π 1690 β Elixir testing libraries with nested contexts, superior readability, and ease of use.
- test_selector β11 π 352 β A set of test helpers that make sure you always select the right elements in your Phoenix app.
- tuco_tuco β60 π 1892 β TucoTuco helps you test your web application by running a web browser and simulating user interaction with your application.
- Walkman β46 π 483 β Isolate tests from the real world, inspired by Rubyβs VCR.
- wallaby β1128 π 3 β Wallaby helps test your web applications by simulating user interactions concurrently and manages browsers.
- white_bread β198 π 113 β Story based BDD in Elixir using the gherkin syntax.
Text and Numbers
Libraries for parsing and manipulating text and numbers.
- abacus β40 π 996 β Evaluate math terms in Elixir.
- base58 β14 π 80 β Base58 encoding/decoding for Elixir.
- base58check β14 π 717 β Base58Check encoding/decoding for Bitcoin.
- base62 β17 π 87 β Base62 encoder/decoder in pure Elixir.
- bencode β15 π 1460 β A Bencode encoder and decoder for Elixir. The decoder will return the checksum value of the info dictionary, if an info dictionary was found in the input.
- bitcoinex β14 π 44 β Bitcoin utilities in Elixir.
- brcpfcnpj β44 π 24 β Number format and Validation for Brazilian documents (CPF/CNPJ).
- chinese_translation β86 π 1206 β Translate between traditional chinese and simplified chinese based on wikipedia data, and translate chinese words/characters to pinyin (or slug with or without tone).
- cidr β28 π 169 β Classless Inter-Domain Routing (CIDR) for Elixir.
- convertat β12 π 1877 β An Elixir library for converting from and to arbitrary bases.
- curtail β28 π 62 β HTML tag-safe string truncation.
- custom_base β17 π 30 β Allow you to make custom base conversion in Elixir.
- decimal β341 π 1 β Arbitrary precision decimal arithmetic for Elixir.
- eden β19 π 116 β EDN encoder/decoder for Elixir.
- erldn β27 π 818 β EDN format parser for the Erlang platform.
- ex_cldr β166 π 14 β Cldr is an Elixir library for the Unicode Consortiumβs Common Locale Data Repository (CLDR).
- ex_rfc3986 β10 π 1494 β RFC3986 URI/URL parser.
- ex_uc β18 π 1124 β Extensible Units Converter for Elixir.
- exmoji β78 π 252 β Emoji encoding Swiss Army knife for Elixir/Erlang.
- expletive β24 π 1408 β Profanity filter library for Elixir.
- expr β10 π 1729 β An Elixir library for parsing and evaluating mathematical expressions.
- faust β24 π 1801 β Markov Text Generator for Elixir.
- haikunator β24 π 1648 β Generate Heroku-like memorable random names to use in your apps or anywhere else.
- hashids β217 π 785 β Hashids lets you obfuscate numerical identifiers via reversible mapping.
- hexate β24 π 175 β Simple module for Hex encoding / decoding in Elixir.
- inet_cidr β31 π 3 β Classless Inter-Domain Routing (CIDR) for Elixir that is compatible with :inet and supports both IPv4 and IPv6.
- inflex β314 π 15 β An Inflector library for Elixir.
- kitsune β11 π 2256 β An Elixir library for transforming the representation of data.
- ltsvex β10 π 1992 β LTSV parser implementation in Elixir.
- mbcs β23 π 90 β Wrapper for erlang-mbcs. This module provides functions for character encoding conversion.
- monetized β46 π 1219 β A lightweight solution for handling and storing money.
- money β516 π 1 β Working with Money safer, easier, and fun, interpretation of the Fowlerβs Money pattern.
- nanoid β137 π 35 β Elixir port of NanoID, a secure and URL-friendly unique ID generator.
- neotomex β63 π 377 β A PEG implementation with a pleasant Elixir DSL.
- number β184 π 11 β Number is a pretentiously-named Elixir library which provides functions to convert numbers into a variety of different formats.
- pinyin β16 π 1386 β Chinese Pinyin lib for Elixir.
- quickrand β36 π 54 β Quick Random Number Generation.
- ref_inspector β11 π 16 β Referer parser library in Elixir. Fetching info from URLs.
- secure_random β94 π 1495 β Convenience library for random base64 strings modeled after my love for Rubyβs SecureRandom.
- sentient β33 π 1933 β Simple sentiment analysis based on the AFINN-111 wordlist.
- shortuuid β26 π 306 β Generate concise, unambiguous, URL-safe UUIDs.
- simetric β60 π 1120 β String similarity metrics for Elixir.
- slugger β149 π 989 β Slugger can generate slugs from given strings that can be used in URLs or file names.
- stemmer β134 π 1306 β An English (Porter2) stemming implementation in Elixir.
- tomlex β32 π 946 β A TOML parser for Elixir.
-
ua_inspector
β82
π
1
β
User agent parser library like
piwik/device-detector
. - unit_fun β19 π 897 β Attempt to add units to numbers in elixir to give some added type safety when dealing with numeric quantities.
- uuid β315 π 490 β UUID generator and utilities for Elixir.
- uuid_erl β187 π 90 β Erlang Native UUID Generation.
- veritaserum β67 π 380 β Sentiment analysis based on afinn-165, emojis and some enhancements.
Third Party APIs
Libraries for accessing third party APIs.
- airbrake β24 π 518 β An Elixir notifier for the Airbrake.
- airbrakex β26 π 147 β Elixir client for the Airbrake service.
- amazon_product_advertising_client β33 π 911 β Amazon Product Advertising API client for Elixir.
- apns β69 π 1375 β Apple Push Notifications Service client library for elixir.
- balalaika_bear β11 π 1034 β Simple VK API client for Elixir.
- bitpay β30 π 1982 β Elixir core library for connecting to bitpay.com.
- cashier β37 π 1099 β Payment gateway offering a common interface into multiple payment providers.
- commerce_billing β168 π 1562 β A payment-processing library for Elixir that supports multiple gateways (e.g. Bogus & Stripe).
- conekta β14 π 158 β Elixir wrapper for Conekta API.
- correios_cep β35 π 215 β Find Brazilian addresses by zip code, directly from Correios database. No HTML parsers.
- darkskyx β13 π 318 β A Darksky.com (formerly forecast.io) API client for Elixir.
- digitalocean β12 π 1665 β Elixir wrapper for the Digital Ocean API v2.
- digoc β12 π 2205 β Digital Ocean API v2 Elixir Client.
- diplomat β86 π 250 β A Google Cloud Datastore client.
- dnsimple β43 π 44 β Elixir client for the DNSimple API v2.
- docker β15 π 2025 β Elixir client for the Docker Remote API.
- dockerex β19 π 1298 β Lightweight Docker Remote API Client with SSL/TLS login/connection support.
- dogstatsd β37 π 1408 β An Elixir client for DogStatsd.
- dropbox β12 π 2359 β Dropbox Core API client for Elixir.
- elixir_ipfs_api β37 π 1043 β IPFS (InterPlanetary File System) API client for Elixir.
- elixtagram β80 π 408 β Instagram API client for Elixir.
- ethereumex β223 π 60 β Elixir JSON-RPC client for the Ethereum blockchain.
- everex β10 π 981 β Evernote API client for Elixir.
- ex_statsd β97 π 1050 β A statsd client implementation for Elixir.
- ex_twilio β280 π 16 β Twilio API client for Elixir.
- ex_twiml β33 π 16 β Generate TwiML for your Twilio integration, right inside Elixir.
- exfacebook β18 π 1310 β Facebook API, written in Elixir using similar methods like Ruby koala gem.
- exgravatar β17 π 384 β An Elixir module for generating Gravatar URLs.
- explay β16 π 1363 β Unofficial Google Play API in Elixir.
- exstagram β12 π 1841 β Elixir library for Instagram v1 API.
- extwitter β371 π 94 β Twitter client library for Elixir.
- facebook β131 π 426 β Facebook Graph API Wrapper written in Elixir.
- forcex β50 π 497 β Elixir library for the Force.com REST API.
- google-cloud β546 π 1 β This repository contains all the client libraries to interact with Google APIs.
- google_sheets β36 π 827 β Elixir library for fetching and polling Google spreadsheet data in CSV format.
- gringotts β393 π 310 β A complete payment library for Elixir and Phoenix Framework similar to ActiveMerchant from the Ruby world.
- kane β78 π 342 β A Google Cloud Pub/Sub client.
- keenex β27 π 853 β A Keen.io API Client.
- mailchimp β40 π 49 β A basic Elixir wrapper for version 3 of the MailChimp API.
- mailgun β187 π 1811 β Elixir Mailgun Client.
- mandrill β50 π 1777 β A Mandrill wrapper for Elixir.
- nadia β322 π 29 β Telegram Bot API Wrapper written in Elixir.
- pay β26 π 1251 β An Elixir Lib to deal with Paypal and other payment solutions.
- pay_pal β30 π 805 β Elixir library for working with the PayPal REST API.
- pigeon β478 π 45 β HTTP2-compliant wrapper for sending iOS and Android push notifications.
- pusher β15 π 507 β Elixir library to access the Pusher REST API.
- qiniu β60 π 428 β Qiniu SDK for Elixir.
- riemann β55 π 918 β A Riemann client for Elixir.
- sendgrid β76 π 109 β Send composable, transactional emails with SendGrid.
- shopify β86 π 443 β Easily access the Shopify API.
- sift_ex β14 π 1589 β A Siftscience API Library for Elixir.
- slack β581 π 98 β Slack real time messaging client in Elixir.
- sparkpost β43 π 848 β An Elixir library for sending email using SparkPost.
- statix β228 π 303 β Expose app metrics in the StatsD protocol.
- stripe β20 π 2272 β An Elixir Library wrapping Stripeβs API.
- stripity_stripe β593 π 8 β An Elixir Library for Stripe.
- telegex β31 π 62 β Telegram bot library for Elixir.
- telephonist β38 π 1775 β Elixir state machines for Twilio calls.
- tentacat β389 π 131 β Simple Elixir wrapper for the GitHub API.
- tg_client β11 π 1619 β An Elixir wrapper which communicates with the Telegram-CLI.
- unsplash-elixir β13 π 466 β An Elixir library for Unsplash.
- xe β21 π 1790 β Real time conversion for currencies.
Translations and Internationalizations
Libraries providing translations or internationalizations.
- exkanji β10 π 1019 β A Elixir library for translating between hiragana, katakana, romaji and kanji. It uses Mecab.
- gettext β286 π 8 β Internationalization and localization support for Elixir.
- linguist β162 π 10 β Elixir Internationalization library. Beware that it looks abandoned: its tests fail on Elixir >= 1.7 and its last commit was on 2015.
- trans β170 π 159 β A Elixir library to manage embedded translations into models leveraging PostgreSQL JSONB datatype.
Utilities
Utilities libraries.
- ar2ecto β12 π 2090 β Ar2ecto is a set of mix tasks to help you migrate from ActiveRecord to Ecto.
- async_with β136 π 105 β A modifier for Elixirβs βwithβ to execute all its clauses in parallel.
- crutches β125 π 1251 β Utility library for Elixir, designed to complement the standard library bundled with the language.
- dress β55 π 1171 β Cli app that makes your stdout fancy.
- erlang-history β496 π 1091 β Hacks to add shell history to Erlangβs shell.
- erlsh β58 π 1416 β Family of functions and ports involving interacting with the system shell, paths and external programs.
- erlware_commons β202 π 51 β Additional standard library for Erlang.
- mnemonix β33 π 1138 β A unified interface to key/value stores.
- plasm β80 π 260 β Plasm is Ectoβs composable query multitool, containing higher-level functions such as .count, .random, .first, .last, .find, .inserted_before, .inserted_after, etc.
- pubsub β58 π 59 β A Publish-Subscribe utility library that implements a pub-sub mechanism to ease the burden of communication on the business logic processes.
- quark β279 π 598 β A library for common functional programming idioms: combinators, currying, and partial application.
- retry β309 π 134 β Simple Elixir macros for linear retry, exponential backoff and wait with composable delays.
- sips_downloader β14 π 1552 β Elixir module for downloading the ElixirSips episodes and all other files.
- sitemap β93 π 815 β Sitemap is the easiest way to generate Sitemaps in Elixir.
- uef-lib β10 π 284 β Useful Erlang Functions Library that provides modules for manipulating lists, binaries, maps, numbers, date and time. It contains some functions optimized for performance in specific cases (e.g. for file I/O operations or binary transformations).
- vert.x β14 π 710 β Elixir event bus bridge to Vert.x services using TCP socket.
Validations
Libraries and implementations for validation of data.
- bankster β24 π 566 β A IBAN account number and BIC validation library for Elixir.
- exop β183 π 16 β A library that allows to encapsulate business logic and validate params with predefined contract.
- form β31 π 21 β Document forms and validation library.
- is β16 π 978 β Fast, extensible and easy to use data structure validation for elixir with nested structures support.
- jeaux β12 π 1477 β A light and easy schema validator.
- optimal β35 π 358 β A schema based keyword list option validator.
- skooma β117 π 141 β Simple data validation library for describing and validating data structures.
- uk_postcode β10 π 3 β UK postcode parsing and validation library.
- vex β499 π 112 β An extensible data validation library for Elixir.
- voorhees β42 π 2121 β A library for validating JSON responses.
Version Control
Working with version control like git, mercury, subversion β¦
- gitex β55 π 163 β Elixir implementation of the Git object storage, but with the goal to implement the same semantic with other storage and topics.
Video
Libraries for working with and manipulating video and multimedia.
- ffmpex β138 π 230 β FFmpeg command line wrapper.
- silent_video β10 π 231 β Convert GIFs and videos to silent videos, optimized for mobile playback.
WebAssembly
Libraries for running WebAssembly (WASM) in Elixir or running Elixir on WebAssembly.
- lumen β2378 π 47 β An alternative BEAM implementation, designed for WebAssembly.
XML
Libraries and implementations working with XML (for html tools please go to the HTML section).
- elixir-xml-to-map β29 π 56 β Creates an Elixir Map data structure from an XML string.
- erlsom β246 π 25 β Erlsom is an Erlang library to parse (and generate) XML documents.
- exmerl β11 π 1494 β Elixir wrapper for xmerl.
- exml β21 π 729 β Most simple Elixir wrapper for xmerl xpath.
- fast_xml β111 π 16 β Fast Expat based Erlang XML parsing library.
- meeseeks β252 π 114 β A library for parsing and extracting data from HTML and XML with CSS or XPath selectors.
- quinn β43 π 762 β XML parser for Elixir.
- saxy β191 π 51 β Saxy is an XML parser and encoder in Elixir that focuses on speed and standard compliance.
- sweet_xml β276 π 22 β Query XML simply and effectively.
- xml_builder β131 π 23 β Elixir library for generating xml.
- xmlrpc β35 π 540 β Library for encoding and decoding XML-RPC for clients and servers.
YAML
Libraries and implementations working with YAML.
- fast_yaml β40 π 29 β Fast YAML is an Erlang wrapper for libyaml βCβ library.
- yamerl β173 π 50 β YAML 1.2 parser in Erlang.
- yaml_elixir β116 π 217 β Yaml parser for Elixir based on native Erlang implementation.