Contents
Actors
Libraries and tools for working with actors and such.
- alf β132 π 1008 β Flow-based Application Layer Framework.
- bpe β241 π 991 β Business Process Engine in Erlang. (Doc).
- exactor β670 π 2134 β Helpers for easier implementation of actors in Elixir.
- exos β75 π 1502 β A Port Wrapper which forwards cast and call to a linked Port.
- poolboy β1489 π 2621 β A hunky Erlang worker pool factory.
- pooler β283 π 963 β An OTP Process Pool Application.
- sbroker β158 π 3151 β Sojourn-time based active queue management library.
- workex β78 π 3486 β Backpressure and flow control in EVM processes.
Algorithms and Data structures
Libraries and implementations of algorithms and data structures.
- aja β121 π 1005 β High performance persistent vectors and ordered maps.
- blocking_queue β53 π 3352 β BlockingQueue is a simple queue implemented as a GenServer. It has a fixed maximum length established when it is created.
- bloomex β111 π 1645 β A pure Elixir implementation of Scalable Bloom Filters.
- conrex β54 π 1427 β An Elixir implementation of the CONREC algorithm for topographic or isochrone maps.
- cuid β52 π 3872 β Collision-resistant ids optimized for horizontal scaling and sequential lookup performance, written in Elixir.
- dataframe β61 π 3254 β Package providing functionality similar to Pythonβs Pandas or Rβs data.frame().
- datastructures β210 π 3179 β A collection of protocols, implementations and wrappers to work with data structures.
- ecto_materialized_path β57 π 2964 β Tree structure, hierarchy and ancestry for the ecto models.
- ecto_state_machine β92 π 3231 β Finite state machine pattern implemented on Elixir and adopted for Ecto.
- emel β94 π 1222 β A simple and functional machine learning library written in elixir.
- erlang-algorithms β146 π 2786 β Implementations of popular data structures and algorithms.
- exconstructor β267 π 1012 β An Elixir library for generating struct constructors that handle external data with ease.
- exmatrix β56 π 975 β ExMatrix is a small library for working with matrices, originally developed for testing matrix multiplication in parallel.
- flow β1389 π 994 β Computational parallel flows on top of GenStage.
- fsm β352 π 2134 β Finite state machine as a functional data structure.
- fuse β478 π 1622 β This application implements a so-called circuit-breaker for Erlang.
- graphmath β74 π 1258 β An Elixir library for performing 2D and 3D mathematics.
- loom β219 π 3168 β A CRDT library with Ξ΄-CRDT support.
- lz4 β61 π 2238 β LZ4 bindings for Erlang for fast data compressing.
- machinery β477 π 980 β A state machine library for structs in general, it integrates with Phoenix out of the box.
- matrex β472 π 1978 β A blazing fast matrix library for Elixir/Erlang with C implementation using CBLAS.
- merkle_tree β96 π 2140 β A Merkle hash tree implementation in Elixir.
- monadex β299 π 2850 β Upgrade your Elixir pipelines with monads.
- parallel_stream β93 π 1179 β A parallel stream implementation for Elixir.
- parex β61 π 3813 β Parallel Execute (Parex) is an Elixir module for executing multiple (slow) processes in parallel.
- remodel β139 π 3091 β An Elixir presenter package used to transform map structures.
- sleeplocks β52 π 1119 β BEAM friendly spinlocks for Elixir/Erlang.
- the_fuzz β71 π 2526 β Fuzzy string-matching algorithm implementations.
- trie β129 π 1154 β Erlang Trie Implementation.
- witchcraft β1149 π 1404 β Common algebraic structures and functions for Elixir.
Applications
Standalone applications.
- CaptainFact β176 π 1066 β A collaborative, real-time video fact-checking platform. (Docs).
- Consolex β117 π 3469 β Consolex is a tool that allows you to attach a web based console to any mix project.
- exchat β257 π 3215 β A Slack-like app by Elixir, Phoenix & React (redux).
- ExShop β219 π 3353 β Digital goods shop & blog created using Phoenix framework.
- Hydra β62 π 3584 β A multi-headed beast: API gateway, request cache, and data transformations.
- Igthorn β91 π 2253 β Cryptocurrecy trading platform / trading bot with admin panel.
- Phoenix Battleship β520 π 3370 β The Good Old game built with Elixir, Phoenix Framework, React and Redux.
- Phoenix Toggl β171 π 3548 β Toggl tribute done in Elixir, Phoenix Framework, React and Redux.
- Phoenix Trello β2496 π 3363 β Trello tribute done in Elixir, Phoenix Framework, React and Redux.
- Plural β1019 π 962 β Deploys your favorite open source applications like airflow and airbyte in your own cloud account with just two commands. Written in Elixir and Phoenix Framework for server side, and React for frontend.
- poxa β999 π 1284 β Open Pusher implementation, compatible with Pusher libraries.
- RemoteRetro β543 π 1056 β A real-time application for conducting Agile retrospectives at remoteretro.org written in Elixir/Phoenix/React.
- Sprint Poker β175 π 3051 β Online estimation tool for Agile teams, written using Elixir Lang, Phoenix Framework and React.
- Startup Job β95 π 3123 β An umbrella project to search startup jobs scraped from websites written in Elixir/Phoenix and React/Redux.
- Tai β421 π 1162 β A composable, real time, cryptocurrency market data and trade execution toolkit.
- tty2048 β155 π 3463 β Terminal-based 2048 game written in Elixir.
- uai_shot β55 π 2316 β A multiplayer ship game built with Elixir, Phoenix Framework and Phaser.
- workbench β99 π 1282 β From Idea to Execution - Manage your trading operation across a globally distributed cluster.
Artificial Intelligence
When your code becomes smarter than you.
- Axon β1255 π 966 β Nx-powered Neural Networks
- Exnn β97 π 3258 β Evolutive Neural Networks framework Γ la G.Sher written in Elixir. (Docs).
- m2cgen β2499 π 1161 β A CLI tool to transpile trained classic ML models into a native Elixir code with zero dependencies.
- Nx β2166 π 961 β Multi-dimensional arrays (tensors) and numerical definitions for Elixir.
- simple_bayes β387 π 3054 β A Simple Bayes / Naive Bayes implementation in Elixir.
Authentication
Libraries for implementing authentication schemes.
- aws_auth β64 π 2567 β AWS Signature Version 4 Signing Library for Elixir.
- basic_auth β164 π 2020 β Elixir Plug to easily add HTTP basic authentication to an app.
- coherence β1238 π 1643 β Coherence is a full featured, configurable authentication system for Phoenix. (Docs).
- doorman β119 π 2518 β Tools to make Elixir authentication simple and flexible.
- elixir_auth_google β155 π 983 β The simplest way to add Google OAuth authentication (βSign in with Googleβ) to your Elixir/Phoenix app.
- goth β257 π 992 β OAuth 2.0 library for server to server applications via Google Cloud APIs.
- guardian β3312 π 1111 β An authentication framework for use with Elixir applications. (Docs).
- guardian_db β343 π 1428 β An extension to Guardian that tracks tokens in your applicationβs database to prevent playback. (Docs).
- oauth2 β698 π 1044 β An OAuth 2.0 client library for Elixir.
- oauth2ex β56 π 2959 β Another OAuth 2.0 client library for Elixir.
- oauther β64 π 1529 β An OAuth 1.0 implementation for Elixir.
- phauxth β414 π 1419 β Authentication library for Phoenix 1.3 and other Plug-based apps.
- phx_gen_auth β787 π 1571 β An authentication system generator for Phoenix 1.5 applications.
- pow β1470 π 985 β Robust, modular, and extendable user authentication system (Website - Doc).
- samly β117 π 2424 β SAML SP SSO made easy (Doc).
- ueberauth β1471 π 1005 β An Elixir Authentication System for Plug-based Web Applications.
- ueberauth_facebook β75 π 1314 β Facebook OAuth2 Strategy for Γberauth.
- ueberauth_github β97 π 1015 β A GitHub strategy for Γberauth.
- ueberauth_google β149 π 1121 β A Google strategy for Γberauth.
- ueberauth_identity β78 π 1250 β A simple username/password strategy for Γberauth.
Authorization
Libraries for implementing Authorization handling.
- authorize β98 π 2235 β Rule based authorization, for advanced authorization rules.
- bodyguard β673 π 1467 β A flexible authorization library for Phoenix applications.
- canada β431 π 1693 β A simple authorization library that provides a friendly interface using declarative permission rules.
- canary β464 π 1587 β An authorization library for Elixir applications that restricts what resources the current user is allowed to access. (Docs).
- speakeasy β76 π 1586 β Middleware based authentication and authorization for Absinthe GraphQL powered by Bodyguard.
- terminator β59 π 2489 β 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 β260 π 1031 β Connection behaviour for connection processes. The API is superset of the GenServer API.
- gen_state_machine β283 π 1869 β Elixir wrapper for gen_statem.
Benchmarking
Running code to see how long it takes, which is faster and/or if improvements have been made.
- beamchmark β76 π 1043 β A Tool for measuring EVM performance.
- benchee β1259 π 1080 β Easy and extensible benchmarking in Elixir!
- benchfella β504 π 1678 β Benchmarking tool for Elixir.
- bmark β69 π 3156 β A benchmarking tool for Elixir.
Bittorrent
Sharing is caring with Elixir
- bento β78 π 1011 β An incredibly fast, correct, pure-Elixir Bencoding library.
Build Tools
Project build and automation tools.
- active β65 π 1492 β Recompilation and Reloading on FileSystem changes.
- mad β172 π 1341 β Small and Fast Rebar Replacement.
- pc β61 π 1437 β A rebar3 port compiler.
- reaxt β365 π 1285 β React template into your Elixir application for server rendering.
- relx β676 π 977 β A release assembler for Erlang.
- remix β147 π 3337 β Automatic recompilation of Mix code on file change.
- rotor β82 π 4062 β Super-simple build system for Elixir.
Caching
Libraries for caching data.
- cachex β1335 π 967 β A powerful caching library for Elixir with a wide featureset.
- con_cache β862 π 1057 β ConCache is an ETS based key/value storage.
- locker β153 π 3648 β Atomic distributed βcheck and setβ for short-lived keys.
- memoize β167 π 1192 β A memoization macro that easily cache function.
- nebulex β1034 π 1045 β A fast, flexible and extensible distributed and local caching library for Elixir.
- stash β51 π 3029 β A straightforward, fast, and user-friendly key/value store.
Chatting
Chatting via IRC, Slack, HipChat and other systems using Elixir.
- alice β104 π 1546 β A Slack bot framework for Elixir.
- cog β921 π 1553 β Cog is an open chatops platform that gives you a secure, collaborative command line right in your chat window.
- ExGram β156 π 963 β a library to build Telegram Bots, you can use the low-level methods and models or use the really opinionated framework included. (Docs).
- ExIrc β147 π 1376 β IRC client adapter for Elixir projects.
- ExMustang β69 π 1888 β A simple, clueless slackbot and collection of responders.
- hedwig β648 π 2874 β XMPP Client/Bot Framework for Elixir.(Docs).
- kaguya β72 π 2133 β A small, powerful, and modular IRC bot.
- slacker β82 π 3452 β A bot library for the Slack chat service.
Cloud Infrastructure and Management
Applications, tools and libraries for your own cloud service.
- aws β445 π 962 β AWS clients for Elixir.
- Bonny β295 π 961 β Kubernetes Operator Development Framework.
- discovery β249 π 3696 β An OTP application for auto-discovering services with Consul.
- erlcloud β651 π 980 β Cloud Computing library for Erlang (Amazon EC2, S3, SQS, SimpleDB, Mechanical Turk, ELB). (Docs).
- ex_aws β1191 π 972 β AWS client, supporting Dynamo, Kinesis, Lambda, SQS, and S3.
- IElixir β343 π 1725 β Jupyterβs kernel for Elixir programming language.
- k8s β269 π 962 β Kubernetes Elixir client with CRD support, multi-cluster support, pluggable auth, and configurable middleware.
- Kazan β136 π 1132 β Kubernetes client for Elixir, generated from the k8s open API specifications.
- libcluster β1727 π 1048 β Automatic cluster formation/healing for Elixir applications.(Docs).
- nodefinder β59 π 1154 β Strategies for automatic node discovery in Erlang.
- nomad β78 π 3385 β Create cloud portable Elixir and Phoenix apps. Write once, use everywhere!
- sidejob β102 π 1084 β Parallel worker and capacity limiting library for Erlang.
- sidetask β70 π 3102 β SideTask is an alternative to Task.Supervisor using Bashoβs sidejob library with parallelism and capacity limiting.
Code Analysis
Libraries and tools for code base analysis, parsing, and manipulation.
- coverex β99 π 2648 β Coverage Reports for Elixir.
- credo β4596 π 991 β A static code analysis tool with a focus on code consistency and teaching Elixir. (Docs).
- dialyxir β1542 π 963 β Mix tasks to simplify use of Dialyzer in Elixir projects.(Docs).
- dogma β471 π 2881 β A code style linter for Elixir, powered by shame.(Docs).
- excellent_migrations β152 π 1115 β Detecting potentially dangerous operations in database migrations.
- excoveralls β766 π 988 β Coverage report tool for Elixir with coveralls.io integration.
- exprof β172 π 1818 β A simple code profiler for Elixir, using eprof.
- ex_check β284 π 1100 β One task to efficiently run all code analysis & testing tools in an Elixir project.
Command Line Applications
Anything helpful for building CLI applications.
- anubis β130 π 3214 β Command-Line application framework for Elixir.
- ex_cli β211 π 2417 β User friendly CLI apps for Elixir.
- getopt β244 π 999 β Command-line options parser for Erlang.
- loki β81 π 1153 β Library for creating interactive command-line application.
- owl β350 π 991 β Owl is a toolkit for writing command-line user interfaces in Elixir.
- progress_bar β314 π 1611 β Command-line progress bars and spinners.
- ratatouille β633 π 1514 β A TUI (terminal UI) kit for Elixir.
- scribe β275 π 1435 β Pretty-print tables of Elixir structs and maps. Inspired by hirb.
- table_rex β195 π 1774 β Generate configurable ASCII style tables for display.
- tabula β87 π 1366 β Pretty print list of Ecto query results / maps in ascii tables (GitHub Markdown/OrgMode).
Configuration
Libraries and tools working with configurations
- confex β296 π 1846 β Helper module that provides a nice way to read environment configuration at runtime.
- conform β379 π 2686 β Easy release configuration for Elixir apps.
- dotenv β213 π 1643 β A port of dotenv to Elixir.
- hush β121 π 1089 β Read and inject configuration at runtime, and in release mode with support for multiple providers.
- skogsra β97 π 1311 β Library to manage OS environment variables and application configuration options with ease
Cryptography
Encrypting and decrypting data
- cipher β59 π 1649 β Elixir crypto library to encrypt/decrypt arbitrary binaries.
- cloak β520 π 1069 β Cloak makes it easy to use encryption with Ecto.(Docs).
- comeonin β1250 π 1009 β Password hashing (argon2, bcrypt, pbkdf2_sha512) library for Elixir.(https://hexdocs.pm/comeonin/api-reference.html).
-
ex_crypto
β131
π
1406
β
Elixir wrapper for Erlang
cryptoandpublic_keymodules. Provides sensible defaults for many crypto functions to make them easier to use.(Docs). - nimble_totp β321 π 989 β Allows implementation of Time-based One-Time Passwords (TOTP) for 2FA.
- pot β229 π 1585 β Erlang library for generating one time passwords compatible with Google Authenticator.
CSV
Libraries and implementations working with CSV.
- csv β456 π 1102 β CSV Decoding and Encoding for Elixir.
- nimble_csv β692 π 1041 β A simple and fast CSV parsing and dumping library for Elixir.
Date and Time
Libraries for working with dates and times.
- calendar β454 π 2296 β Calendar is a date and time library for Elixir.
- chronos β90 π 2806 β An Elixir date/time library.
- cocktail β140 π 1069 β Elixir date recurrence library based on iCalendar events.
- crontab β82 π 1041 β A Cron Expressions Parser, Composer & Date Candidate Finder.
- filtrex β188 π 2034 β A library for performing and validating complex SQL-like filters from a client (e.g. smart filters).
- quantum β2112 π 979 β Cron-like job scheduler for Elixir applications.
- repeatex β51 π 2454 β Natural language parsing for repeating dates.
- timex β1674 π 991 β Easy to use Date and Time modules for Elixir.
- tzdata β264 π 1360 β The timezone database in Elixir.
Debugging
Libraries and tools for debugging code and applications.
- beaker β282 π 1431 β Statistics and Metrics library for Elixir.
- dbg β161 π 3151 β Distributed tracing for Elixir.
- eflame β411 π 2639 β Flame Graph profiler for Erlang.
- eper β436 π 2713 β Erlang performance and debugging tools.
- ex_debug_toolbar β401 π 2808 β A toolbar for Phoenix projects to interactively debug code and display useful information about requests: logs, timelines, database queries etc.
- exrun β116 π 1251 β Distributed tracing for Elixir with rate limiting and simple macro-based interface.
- git_hooks β139 π 985 β Add git hooks to Elixir projects.
- observer_cli β1253 π 1112 β Visualize Elixir & Erlang nodes on the command line, it aims to helpe developers debug production systems.
- quaff β80 π 3351 β The Debug module provides a simple helper interface for running Elixir code in the erlang graphical debugger.
-
rexbug
β224
π
990
β
An Elixir wrapper for the
redbugproduction-friendly Erlang tracing debugger. - visualixir β1268 π 2282 β A process visualizer for remote BEAM nodes.
Deployment
Installing and running your code automatically on other machines.
- akd β51 π 1925 β Capistrano like, Configurable, and easy to set up Elixir Deployment Automation Framework.
- ansible-elixir-stack β293 π 3446 β 1-command setup & deploys to servers, with first-class support for Phoenix apps.
- bootleg β394 π 1862 β Simple deployment and server automation for Elixir.
- edeliver β1955 π 1251 β Deployment for Elixir and Erlang.
- elixir-on-docker β168 π 2870 β A project template to get started developing clustered Elixir applications for cloud environments.
- gatling β500 π 3209 β Collection of mix tasks to automatically create a exrm release from git and launch/upgrade it on your server.
- heroku-buildpack-elixir β798 π 1211 β Heroku buildpack to deploy Elixir apps to Heroku.
Documentation
Libraries and tools for creating documentation.
- blue_bird β54 π 2201 β 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 β336 π 1008 β Generate Phoenix API documentation from tests.
- ex_doc β1297 π 961 β ExDoc is a tool to generate documentation for your Elixir projects.
- ex_doc_dash β64 π 3420 β Formatter for ExDoc to generate docset documentation for use in Dash.app.
- maru_swagger β57 π 2456 β Add swagger compliant documentation to your maru API.
- phoenix_swagger β633 π 1166 β Provides swagger integration to the Phoenix framework.
- xcribe β57 π 1434 β 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 β4102 π 987 β Fully featured GraphQL library.
- JSON-LD.ex β58 π 1051 β An implementation of the JSON-LD standard for RDF.ex.
- RDF.ex β85 π 984 β An implementation of the RDF data model in Elixir.
ECMAScript
Implementations working with JavaScript, JScript or ActionScript.
- estree β98 π 2325 β A implementation of the SpiderMonkey Parser API in Elixir.
- phoenix_gon β96 π 996 β Allow you to pass Phoenix environment or controller variables to JavaScript without problems.
Working with Email and stuff.
- bamboo β1856 π 1068 β 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 β64 π 1648 β Burner email (temporary address) detector.
- gen_smtp β642 π 966 β A generic Erlang SMTP server and client that can be extended via callback modules.
- mail β369 π 1295 β An RFC2822 implementation in Elixir, built for composability.
- mailibex β59 π 1442 β Library containing Email-related implementations in Elixir: dkim, spf, dmark, mimemail, smtp.
- mailman β195 π 1182 β Mailman provides a clean way of defining mailers in your Elixir applications.
- ravenx β107 π 2852 β Notification dispatch library for Elixir applications.
- swoosh β1277 π 962 β 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.
Errors and Exception Handling
Working with errors and exceptions.
- exceptional β279 π 2182 β Helpers for happy-path programming & exception handling.
-
OK
β589
π
2157
β
Elegant error handling with result monads, featuring a simple & powerful
withconstruct and a happy path pipe operator. - sentry-elixir β554 π 1041 β The Official Elixir client for Sentry.
- AppSignal Elixir β246 π 966 β The official AppSignal package for Elixir.
Eventhandling
Sending/Emitting and receiving/handling Events in Elixir.
- event_bus β664 π 1382 β Simple event bus implementation with topic filtering and built-in event store and event watcher.
- goldrush β88 π 2744 β Small, Fast event processing and monitoring for Erlang/OTP applications.
- reaxive β277 π 2849 β Reaxive is a reactive event handling library, inspired by Elm and Reactive Extensions.
Examples and funny stuff
Example code and stuff too funny or curious not to mention.
- changelog.com β2535 π 963 β CMS that runs changelog.com built with Phoenix 1.4.
- coderplanets.com β221 π 1142 β GraphQL api for coderplanets.com built with Phoenix 1.4 and Absinthe.
- elixir_koans β1960 π 1013 β Elixir koans is a fun, easy way to get started with the elixir programming language.
- hello_phoenix β130 π 3548 β Application template for SPAs with Phoenix, React and Redux.
- hexpm β983 π 972 β Source code for the hex package manager site built with Phoenix 1.3.
- kaisuu β68 π 3583 β Watch Japanβs Kanji Usage on Twitter in Realtime.
- koans β246 π 3549 β Learn Elixir by using elixir-koans.
- magnetissimo β2777 π 969 β Web application that indexes all popular torrent sites, and saves it to the local database.
- oop β292 π 1631 β OOP in Elixir!
-
phoenix-chat-example
β664
π
967
β
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 β248 π 967 β 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 β160 π 3895 β An experiment with Phoenix Channels, GenEvents, React and Flux.
-
phoenix-liveview-counter-tutorial
β277
π
967
β
complete beginners step-by-step tutorial building a real time counter in Phoenix
1.5.3and LiveView0.14.1. -
phoenix-todo-list-tutorial
β135
π
967
β
A complete beginners step-by-step tutorial for building a Todo List from scratch in Phoenix
1.5.3. - real world example app β879 π 2196 β Elixir / Phoenix implementation of RealWorld.io backend specs - a Medium clone.
- stranger β65 π 3579 β Elixir Phoenix app to chat anonymously with a randomly chosen stranger.
- tilex β477 π 984 β Source code for Hashrocketβs TIL website built with Phoenix 1.3.
- weather β68 π 2639 β 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 β89 π 964 β Feature flipping for the Elixir world.
- fun_with_flags β855 π 1134 β 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 β74 π 3148 β A feature toggle library using redis or SQL (using Ecto) as a backing service.
Feeds
Libraries working with feeds like RSS or ATOM.
- feeder_ex β69 π 1576 β RSS feed parser. Simple wrapper for feeder.
Files and Directories
Libraries and implementations for working with files and directories.
- ex_guard β80 π 994 β ExGuard is a mix command to handle events on file system modifications.
- exfile β88 π 2278 β File upload handling, persistence, and processing in Elixir and Plug.
- exfswatch β236 π 1193 β A file change watcher wrapper based on fs.
- eye_drops β51 π 3207 β Configurable mix task to watch file changes and run the corresponding command.
- fs β223 π 1263 β Erlang FileSystem Listener.
- waffle β630 π 1001 β Flexible file upload and attachment library for Elixir.
Framework Components
Standalone component from web development frameworks.
- absinthe_plug β249 π 986 β Plug support for Absinthe.
- access pass β71 π 1914 β Authentication framework that can be used with or outside of phoenix. Similar to Addict but geared towards API usage.(Docs).
- addict β648 π 3136 β User authentication for Phoenix Framework.
- better_params β94 π 2603 β Elixir Plug for cleaner request params in web apps.
- commanded β1687 π 1005 β Command handling middleware for Command Query Responsibility Segregation (CQRS) applications.
- cors_plug β386 π 1323 β An Elixir plug that adds CORS headers to requests and responds to preflight requests (OPTIONS).
- corsica β469 π 1055 β Elixir library for dealing with CORS requests.
-
dayron
β158
π
2982
β
A repository similar to
Ecto.Repothat works with REST API requests instead of a database. - ex_admin β1192 π 2791 β ExAdmin is an auto administration package for Elixir and the Phoenix Framework.
- filterable β100 π 1038 β Simple query params filtering for Phoenix framework inspired by Rails has_scope.
- kerosene β225 π 2553 β Pagination for Ecto and Phoenix.
- multiverse β90 π 2845 β Plug that allows to add version compatibility layers via API Request/Response Gateways.
- params β319 π 1338 β Use Ecto to enforce/validate parameters structure, akin to Railsβ strong parameters.
- passport β160 π 3114 β Passport provides authentication for Phoenix applications.
- phoenix_ecto β395 π 1051 β Phoenix and Ecto integration.
- phoenix_haml β157 π 3184 β Phoenix Template Engine for Haml.
- phoenix_html β341 π 985 β Phoenix.HTML functions for working with HTML strings and templates.
- phoenix_live_reload β257 π 983 β Provides live-reload functionality for Phoenix.
- phoenix_pubsub_redis β169 π 1639 β The Redis PubSub adapter for the Phoenix framework.
- phoenix_slime β305 π 1009 β Slim template support for Phoenix.
- phoenix_token_auth β164 π 3554 β Token authentication solution for Phoenix. Useful for APIs or single page apps.
- phx_component_helpers β118 π 1061 β Extensible live_components, without boilerplate.
- plug β2640 π 968 β A specification and conveniences for composable modules in between web applications.
- plug_auth β66 π 3104 β Collection of authentication-related plugs.
- plug_checkup β70 π 1799 β Plug for adding simple health checks to your app.
- plug_graphql β126 π 3464 β Phoenix Plug integration for GraphQL Elixir.
- plug_rails_cookie_session_store β95 π 1661 β Rails compatible Plug session store.
- plugsnag β67 π 1133 β Bugsnag notifier for Elixirβs plug.
- react_phoenix β486 π 1147 β Render React.js components in Phoenix views focusing on easy installation and Brunch compatibility.
- recaptcha β107 π 1536 β A simple reCaptcha 2 library for Elixir applications.
- rummage_ecto β209 π 1250 β A configurable framework to search, sort and paginate Ecto Queries.
- rummage_phoenix β149 π 1250 β A support framework for searching, sorting and paginating models in Phoenix, with HTML support.
- scrivener β550 π 1623 β Paginate your Ecto queries.
- scrivener_html β121 π 1308 β Helpers built to work with Scrivenerβs page struct to easily build HTML output for various CSS frameworks.
- sentinel β107 π 3032 β An authentication framework for Phoenix extending guardian with routing and other basic functionality.
- surface β1841 π 966 β A server-side rendering component library for Phoenix.
- torch β926 π 979 β Torch is a rapid admin generator for Phoenix apps. It uses generators rather than DSLs to ensure that the code remains maintainable.
- webassembly β73 π 1426 β Web DSL for Elixir.
Frameworks
Web development frameworks.
- kitto β952 π 1829 β A framework for interactive dashboards.
- n2o β1318 π 991 β Distributed Application Server.
- nitro β51 π 1007 β Nitrogen-compatible Web Framework.
- phoenix β19422 π 966 β Elixir Web Framework targeting full-featured, fault tolerant applications with realtime functionality.
- placid β188 π 3240 β A REST toolkit for building highly-scalable and fault-tolerant HTTP APIs with Elixir.
- rackla β264 π 3362 β API Gateways in Elixir.
- relax β123 π 3578 β Simple Elixir implementation of a jsonapi.org server.
- rest β79 π 1492 β Micro-REST framework with typed JSON.
- RIG β557 π 1215 β Create low-latency, interactive user experiences for stateless microservices.
- sugar β419 π 3227 β Modular web framework for Elixir.
- trot β410 π 2283 β An Elixir web micro-framework.
Games
Libraries for and implementations of games.
- Binbo β105 π 1051 β A chess representation written in Erlang using Bitboards, ready for use on game servers.
- entice β114 π 3502 β A distributed Entity-Component-System framework, providing its own example MMORPG server.
Geolocation
Libraries for geocoding addresses and working with latitudes and longitudes.
- geo β571 π 1329 β A collection of GIS functions for Elixir.
- geocalc β125 π 1152 β Calculate distance, bearing and more between latitude/longitude points.
- geocoder β109 π 962 β A simple, efficient geocoder/reverse geocoder with a built-in cache.
-
geoip
β100
π
982
β
Find geolocation for a given IP, hostname or
Plug.Conn. - geolix β174 π 1252 β MaxMind GeoIP2 database reader/decoder.
- topo β134 π 1058 β A Geometry library for Elixir that calculates spatial relationships between two geometries.
GUI
Libraries for writing Graphical User Interfaces.
- scenic β1838 π 994 β Portable 2D UI framework.
Hardware
Hardware related things like I/O interfaces and such.
- elixir_ale β338 π 2513 β Elixir access to hardware I/O interfaces such as GPIO, I2C, and SPI.
- nerves β2012 π 973 β 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).
- floki β1864 π 985 β A simple HTML parser that enables searching using CSS like selectors.
- html_sanitize_ex β228 π 1048 β HTML sanitizer for Elixir.
- meseeks β290 π 988 β A library for parsing and extracting data from HTML and XML with CSS or XPath selectors.
- readability β199 π 1144 β Readability is for extracting and curating articles.
HTTP
Libraries for working with HTTP and scraping websites.
- Ace β306 π 1844 β HTTP web server and client, supports http1 and http2.
- cauldron β73 π 3132 β An HTTP/SPDY server as a library.
- Crawler β875 π 1517 β A high performance web crawler in Elixir.
- Crawly β691 π 973 β high-level web crawling & scraping framework for Elixir.
- elli β666 π 2842 β Elli is a webserver you can run inside your Erlang application to expose an HTTP API.
- exvcr β647 π 961 β HTTP request/response recording library for Elixir, inspired by VCR.
- finch β1048 π 971 β An HTTP client with a focus on performance, built on top of Mint and NimblePool.
- gun β837 π 986 β HTTP/1.1, HTTP/2 and Websocket client for Erlang/OTP.
- hackney β1272 π 991 β Simple HTTP client written in Erlang.
- http_proxy β58 π 1105 β Multi port HTTP Proxy.
- httpoison β2141 π 983 β Yet Another HTTP client for Elixir powered by hackney.
- httpotion β729 π 1225 β Fancy HTTP client for Elixir, based on ibrowse.
- mint β1227 π 964 β Functional HTTP client for Elixir with support for HTTP/1 and HTTP/2.
- mochiweb β1837 π 964 β MochiWeb is an Erlang library for building lightweight HTTP servers.
- neuron β311 π 1021 β A GraphQL client for Elixir.
- raxx β396 π 1860 β Interface for HTTP webservers, frameworks and clients.
- river β81 π 2551 β An HTTP/2 client that is lightweight and lightning fast.
- scrape β323 π 2118 β Scrape any website, article or RSS/Atom Feed with ease.
- spell β64 π 1054 β Spell is a Web Application Messaging Protocol (WAMP) client implementation in Elixir.
- tesla β1820 π 982 β HTTP client library, with support for middleware and multiple adapters.
- web_socket β62 π 3070 β An exploration into a stand-alone library for Plug applications to easily adopt WebSockets.
- webdriver β119 π 3603 β This is an implementation of the WebDriver protocol client. It currently supports PhantomJS, FireFox, ChromeDriver and remote webdriver servers (e.g. Selenium).
Images
Libraries for working with and manipulating images.
- alchemic_avatar β50 π 2930 β Elixir library for generating letter avatar from string.
- cloudex β98 π 2105 β Cloudex is an Elixir library that can upload image files or urls to Cloudinary.
- ex_image_info β89 π 1327 β An Elixir library to parse images (binaries) and get the dimensions, detected mime-type and overall validity for a set of image formats.
- imagineer β118 π 2587 β Image parsing in Elixir.
- mogrify β533 π 1205 β An Elixir wrapper for ImageMagick command line.
- png β52 π 2015 β 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 β62 π 1049 β Create thumbnails from images and video screenshots.
Instrumenting / Monitoring
Libraries for collecting and exporting metrics.
- elixometer β818 π 1357 β A light Elixir wrapper around exometer.
- erlang-metrics β69 π 2645 β A generic interface to different metrics systems in Erlang.
- exometer β520 π 3591 β Basic measurement objects and probe behavior in Erlang.
- instream β213 π 961 β InfluxDB driver for Elixir.
- newrelic.ex β62 π 2303 β Collects metrics from your Elixir/Phoenix application and sends them to NewRelic.
- prometheus β329 π 1062 β Prometheus.io monitoring system and time series database client in Erlang.
- prometheus-ecto β74 π 1793 β Ecto instrumenter for prometheus.ex.
- prometheus-phoenix β66 π 2328 β Phoenix instrumenter for prometheus.ex.
- prometheus-plugs β52 π 1793 β Plugs instrumenters/exporter for prometheus.ex.
- prometheus.ex β396 π 1752 β Elixir-friendly Prometheus.io monitoring system and time series database client.
- prom_ex β496 π 964 β Prometheus metrics and Grafana dashboards for all of your favorite Elixir libraries.
- spandex β314 π 1145 β Platform agnostic tracing library originally developed for Datadog APM.
- telemetry β811 π 985 β Dynamic dispatching library for metrics and instrumentations.
- wobserver β927 π 3057 β Web based metrics, monitoring, and observer.
JSON
Libraries and implementations working with JSON.
- exjson β71 π 3395 β JSON parser and generator in Elixir.
- ja_serializer β633 π 964 β JSONAPI.org Serialization in Elixir.
- jason β1439 π 1150 β A blazing fast JSON parser and generator in pure Elixir.
- jazz β62 π 2709 β Yet another library to handle JSON in Elixir.
- joken β704 π 1044 β Encodes and decodes JSON Web Tokens.
- jose β274 π 1089 β JSON Object Signing and Encryption (JOSE) for Erlang and Elixir.
- json β219 π 1805 β Native JSON library for Elixir.
- json_web_token_ex β140 π 3074 β An Elixir implementation of the JSON Web Token (JWT) Standards Track (RFC 7519).
- jsonapi β461 π 967 β A project that will render your data models into JSONAPI Documents.
- jsx β678 π 1447 β An Erlang application for consuming, producing, and manipulating json.
- poison β1972 π 1473 β Poison is a new JSON library for Elixir focusing on wicked-fast speed without sacrificing simplicity, completeness, or correctness.
Languages
Languages built on top of Elixir.
- Elchemy β1140 π 2093 β Compiler allowing to translate Elm programming language code to Elixir.
- Monkey β126 π 1041 β 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.
- ex_abnf β56 π 3243 β Parser for ABNF Grammars in Elixir.
Logging
Logging infos and messages.
- bunyan β92 π 2498 β Bunyan: An Elixir Logger.
- ecto_dev_logger β130 π 1031 β An alternative logger for Ecto queries that helps in debugging.
- exlager β66 π 3128 β Elixir binding for lager.
- honeybadger β171 π 965 β Error logging to Honeybadger.
- logger_logstash_backend β72 π 2957 β A backend for the Elixir Logger that will send logs to the Logstash UDP input.
- logster β190 π 1093 β Easily parsable, one-line logging for Phoenix and Plug applications, inspired by Lograge.
- metrix β50 π 2623 β Log custom app metrics to stdout for use by Librato and other downstream processors.
- rollbax β242 π 1671 β Exception tracking and logging to Rollbar.
- syslog β86 π 2050 β Erlang port driver for interacting with syslog via syslog(3).
- timber β217 π 2399 β Structured logging platform; turns raw text logs into rich structured events.
Macros
Macros for faster and easier development. Sugar for your code.
- crudry β79 π 1411 β Crudry is an elixir library for DRYing CRUD of Phoenix Contexts and Absinthe Resolvers.
- eventsourced β101 π 3130 β Build functional, event-sourced domain models.
- expat β175 π 2674 β Reusable, composable patterns across Elixir libraries.
-
matcha
β68
π
975
β
First-class match specifications for Elixir
:etsquerying and function call tracing. -
ok_jose
β96
π
2953
β
Pipe elixir functions that match
{:ok,_},{:error,_}tuples or custom patterns. - opus β342 π 1383 β A framework for pluggable business logic components.
- pathex β275 π 973 β Zero-dependency, blazing fast functional lenses.
- pattern_tap β57 π 3077 β Macro for tapping into a pattern match while using the pipe operator.
- pipe_to β84 π 1547 β The enhanced pipe operator which can specify the target position.
- pipes β326 π 2648 β Macros for more flexible composition with the Elixir Pipe operator.
-
shorter_maps
β218
π
2912
β
~M sigil for map shorthand.
~M{id name} ~> %{id: id, name: name}. - typed_struct β664 π 1393 β An Elixir library for defining structs with a type without writing boilerplate code.
Markdown
Libraries and tools working with Markdown and such.
- cmark β90 π 986 β Elixir NIF for CommonMark (in C), a parser following the CommonMark spec.
- earmark β782 π 1010 β Markdown parser for Elixir.
- Markdown β86 π 3199 β Implemented entirely as a NIF binding to the Hoedown library.
- Pandex β56 π 2385 β 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.
- AlloyCI β290 π 1631 β 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 β275 π 2681 β Awesome Print for Elixir.
- AtomVM β1147 π 960 β AtomVM allows to run Elixir/Erlang code on embedded devices such as ESP32 and STM32 microcontrollers.
- bupe β76 π 1375 β EPUB Generator and Parser.
- codec-beam β169 π 1743 β Generate Erlang VM byte code from Haskell.
- Countries β138 π 1677 β Countries is a collection of all sorts of useful information for every country in the ISO 3166 standard.
- cubdb β429 π 971 β CubDB is an embedded key-value database, written in the Elixir language. It runs locally, it is schema-less, and backed by a single file.
- ecto_autoslug_field β143 π 971 β Automatically creates slugs for your Ecto models.
- elixir-browser β94 π 1323 β Browser detection for Elixir.
-
ex2ms
β171
π
1453
β
Translates Elixir functions to match specifications for use with
ets. - ex_phone_number β216 π 966 β Format, normalize, and validate phone numbers.
- ex_rated β425 π 1314 β Simple and flexible rate-limiting for APIβs or anything.
- exldap β57 π 1545 β A module for working with LDAP from Elixir.
- exquisite β78 π 2184 β LINQ-like match_spec generation for Elixir.
- exsync β122 π 1410 β Yet another Elixir reloader.
- hammer β534 π 960 β A rate-limiter with pluggable storage backends, including Redis.
- html_entities β80 π 1755 β Elixir module for decoding HTML entities in a string.
- huex β62 π 2555 β Elixir client for Philips Hue connected light bulbs.
- licensir β73 π 1591 β A mix task that lists the license(s) of all installed packages in your project.
- pact β76 π 2647 β Better dependency injection in Elixir for cleaner code and testing.
- phone β103 π 1119 β A parser to get useful info from telephone numbers.
- porcelain β904 π 1875 β Porcelain implements a saner approach to launching and communicating with external OS processes from Elixir.
- spotify_ex β144 π 1051 β An Elixir wrapper for the Spotify Web API.
Native Implemented Functions
Tools and libraries working with Erlang NIF.
- Rustler β3714 π 965 β 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 β64 π 3152 β Gibran is an Elixir port of WordsCounted, a natural language processor that extracts useful statistics from text.
- Paasaa β108 π 964 β Natural language detection for Elixir.
Networking
Libraries and tools for using network related stuff.
- Firezone β4044 π 962 β Open-source VPN server and egress firewall for Linux built on WireGuard. Firezone is easy to set up (all dependencies are bundled thanks to Chef Omnibus), secure, performant, and self hostable.
- reagent β92 π 3078 β reagent is a socket acceptor pool for Elixir.
- socket β677 π 2184 β Socket wrapping for Elixir.
- sshex β150 π 1829 β Simple SSH helpers for Elixir.
- sshkit β127 π 1063 β An Elixir toolkit for performing tasks on one or more servers, built on top of Erlangβs SSH application.
Office
Libraries for working with office suite documents.
- elixlsx β236 π 1293 β A writer for XLSX files.
- xlsxir β195 π 1056 β 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 β678 π 2184 β Mnesia wrapper for Elixir.
- arbor β222 π 1200 β Ecto adjacency list and tree traversal.
- arc_ecto β251 π 2190 β Arc.Ecto provides an integration with Arc and Ecto.
- atlas β213 π 4131 β Object Relational Mapper for Elixir.
- Bolt.Sips β242 π 1144 β Neo4j driver for Elixir using the Bolt protocol.
- boltun β133 π 3119 β Transforms notifications from the Postgres LISTEN/NOTIFY mechanism into callback execution.
- couchdb_connector β94 π 2584 β A connector for CouchDB, the Erlang-based, JSON document database.
- defql β102 π 2677 β Create elixir functions with SQL as a body.
- ecto β5729 π 964 β A database wrapper and language integrated query for Elixir.
- ecto_cassandra β89 π 2593 β Cassandra DB Adapter for Ecto.
- ecto_enum β558 π 1876 β Ecto extension to support enums in models.
- ecto_facade β71 π 2835 β Ecto facade that allows to separate writes and reads to different databases.
- ecto_fixtures β168 π 2068 β Fixtures for Elixir apps using Ecto.
- ecto_mnesia β239 π 1967 β Ecto adapter for Mnesia Erlang term database.
- ecto_psql_extras β327 π 965 β Ecto PostgreSQL database performance insights.
- ecto_rut β112 π 2672 β Simple and Powerful Ecto Shortcuts to simplify and speed up development.
- elastic β65 π 1662 β A thin-veneer over HTTPotion to help you talk to Elastic Search.
- elastix β251 π 1663 β A simple Elastic REST client written in Elixir.
- eredis β617 π 2507 β Erlang Redis client.
- erlastic_search β158 π 2119 β An Erlang app for communicating with Elastic Searchβs rest interface.
- esqlite β116 π 1018 β Erlang NIF for sqlite.
- eternal β82 π 1777 β Keep your ETS tables alive forever, safely and easily.
- eventstore β940 π 1005 β A CQRS EventStore using Postgres for persistence, written in Elixir.
- exnumerator β64 π 2112 β Elixir enumerable type definition in a simple way to be used with any database.
- exredis β357 π 2522 β Redis client for Elixir.
- extreme β124 π 2352 β An Elixir library using Eventstore for persistence of events generated by aggregates (CQRS).
- github_ecto β121 π 3177 β Ecto adapter for GitHub API.
- gremlex β67 π 2483 β Apache Tinkerpop Gremlin Elixir Client.
- inquisitor β168 π 1984 β Composable query builder for Ecto.
- kalecto β142 π 2672 β Glue between Kalends and Ecto for saving dates, times and datetimes.
- kvs β170 π 991 β Erlang Abstract Term Database.
- mariaex β259 π 2553 β MariaDB/MySQL driver for Elixir.
- memento β692 π 1381 β Simple Mnesia Interface in Elixir.
- moebius β553 π 1168 β A functional query tool for Elixir and PostgreSQL.
- mongo β100 π 3661 β MongoDB driver for Elixir.
- mongodb β545 π 992 β MongoDB driver for Elixir.
- mongodb_driver β181 π 967 β Alternative driver for MongoDB with support for recent versions of MongoDB and comprehensive feature list.
- mongodb_ecto β350 π 992 β MongoDB adapter for Ecto.
- mysql β348 π 1336 β MySQL/OTP β MySQL driver for Erlang/OTP.
- neo4j_sips β79 π 3117 β Neo4j driver for Elixir.
- paper_trail β513 π 1085 β Ecto plugin for tracking and recording all the changes in your database.
- pillar β62 π 972 β Clickhouse HTTP based client.
- postgrex β987 π 971 β PostgreSQL driver for Elixir.
- redix β999 π 964 β Superfast, pipelined, resilient Redis driver for Elixir.
- rethinkdb β498 π 2569 β Rethinkdb client in pure Elixir using JSON protocol.
- riak β197 π 2808 β A Riak client written in Elixir.
- shards β285 π 989 β Transparent and out-of-box Sharding support for Erlang/Elixir ETS tables.
- sql_dust β115 π 1652 β Generate (complex) SQL queries using magical Elixir SQL dust.
- sqlite_ecto β76 π 3607 β SQLite3 adapter for Ecto.
- sqlitex β118 π 1727 β An Elixir wrapper around esqlite. Allows access to sqlite3 databases.
- tds β101 π 1092 β MSSQL / TDS Database driver for Elixir.
- tds_ecto β56 π 2110 β MSSQL / TDS Adapter for Ecto.
- timex_ecto β160 π 2353 β An adapter for using Timex DateTimes with Ecto.
- tirexs β427 π 2118 β An Elixir flavored DSL for building JSON based requests to Elasticsearch engine.
- triplex β390 π 1583 β Database multitenancy with postgres schemas for Elixir applications!
- triton β76 π 2183 β Pure Elixir Cassandra ORM built on top of Xandra.
- walex β88 π 976 β PostgreSQL Change Data Capture (CDC) events listener in Elixir.
- xandra β332 π 969 β Cassandra driver built natively in Elixir and focused on speed, simplicity, and robustness.
OTP
Libraries for working with OTP related things.
- erlexec β475 π 1022 β Execute and control OS processes from Erlang/OTP.
- immortal β171 π 1759 β Immortal is a small collection of helper modules intended to make it easier to build a fault-tolerant OTP application.
- matcha β68 π 975 β First-class match specifications for Elixir.
Package Management
Libraries and tools for package and dependency management.
- rebar3_hex β91 π 1003 β Hex.pm plugin for rebar3.
Libraries and software for working with PDF files.
- chromic_pdf β236 π 964 β A client for Chromeβs DevTools API to generate PDFs (HTML to PDF).
- gutenex β240 π 2587 β Native PDF generation for Elixir.
- pdf2htmlex β83 π 3618 β Convert PDF docs to beautiful HTML files without losing text or format.
- pdf_generator β301 π 1182 β A simple wrapper for wkhtmltopdf or puppeteer (HTML to PDF) for use in Elixir projects.
- puppeteer_pdf β89 π 2303 β Another wrapper around puppeteer (HTML to PDF) for use in Elixir projects.
Protocols
Special protocol and format libraries.
- exprotobuf β477 π 2338 β Protocol Buffers in Elixir, made easy.
- grpc-elixir β1217 π 1001 β The Elixir implementation of gRPC.
- message_pack β70 π 3821 β MessagePack Implementation for Elixir.
- msgpax β260 π 1056 β MessagePack (de)serializer implementation for Elixir.
- protox β235 π 974 β Elixir implementation for Protocol Buffers.
- riffed β300 π 2000 β Provides idiomatic Elixir bindings for Apache Thrift.
- Sippet β64 π 1420 β An Elixir library designed to be used as SIP protocol middleware.
Queue
Libraries for working with event and task queues.
- amqp β638 π 1141 β Simple Elixir wrapper for the Erlang RabbitMQ client, based on Langohr.
- broadway β2069 π 962 β Concurrent and multi-stage data ingestion and data processing with Elixir.
- conduit β124 π 1626 β A framework for working with message queues, with adapters for SQS and AMQP, and plugs for reusable messaging patterns.
- ecto_job β267 π 1446 β A transactional job queue built with Ecto, PostgreSQL and GenStage.
- elixir_nsq β83 π 1163 β NSQ client library for Elixir.
- enm β120 π 2945 β enm is an Erlang port driver that wraps the nanomsg C library.
- exq β1414 π 1048 β Job processing library for Elixir - compatible with Resque/Sidekiq.
- gen_rmq β178 π 1027 β Set of behaviours meant to be used to create RabbitMQ consumers and publishers.
- honeydew β708 π 1664 β Honeydew is a worker pool library for Elixir.
- hulaaki β114 π 1996 β An MQTT 3.1.1 client library written in Elixir.
- kaffe β142 π 1327 β Kafka client library for Elixir.
- oban β2564 π 964 β Robust asynchronous job processor powered by Elixir and modern PostgreSQL.
- opq β225 π 1128 β A simple, in-memory queue with worker pooling and rate limiting in Elixir.
- pqueue β168 π 1154 β Erlang Priority Queue Implementation.
- que β644 π 1381 β Simple Background Job Processing with Mnesia.
- Rihanna β425 π 1501 β High performance postgres-backed job queue for Elixir.
- task_bunny β200 π 2589 β background processing application written in Elixir and uses RabbitMQ as a messaging backend.
- toniq β340 π 2854 β Simple and reliable background job library for Elixir.
- verk β710 π 1547 β Verk is a job processing system backed by Redis. It uses the same job definition of Sidekiq/Resque.
QUIC
*Libraries and tools for QUIC transport layer network protocol
- quicer β162 π 998 β QUIC protocol erlang library.
Release Management
Libraries and tools for release management.
- distillery β2942 π 963 β A pure Elixir implementation of release packaging functionality for the Erlang VM.
- eliver β54 π 2219 β Interactive semantic versioning for Elixir packages.
- exrm β926 π 3092 β Automatically generate a release for your Elixir project.
- exrm_deb β75 π 3044 β Create a deb for your Elixir release with ease.
- mix_docker β335 π 2742 β Put your Elixir app production release inside minimal docker image.
- relex β59 π 4250 β Erlang/Elixir Release Assembler.
REST and API
Libraries and web tools for developing REST-ful APIs.
- detergent β63 π 4687 β An emulsifying Erlang SOAP library.
- detergentex β62 π 2743 β Elixir binding to Detergent erlang library used to call WSDL/SOAP Services.
- maru β1312 π 2331 β Elixir copy of grape for creating REST-like APIs.
- plug_rest β53 π 2144 β REST behaviour and Plug router for hypermedia web applications.
- SOAP client β119 π 1336 β Hex-documented SOAP client based on HTTPoison.
- urna β95 π 3129 β Urna is a simple DSL around cauldron to implement REST services.
Search
Libraries related to search indexing, search algorithms and search clients.
- elasticsearch β401 π 1165 β A simple, no-nonsense Elasticsearch library for Elixir.
- elasticlunr β172 π 1374 β A small, full-text search library for use in the Elixir environment.
Security
Libraries and tools regarding security.
- Ockam β3069 π 962 β 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 .
- sobelow β1449 π 982 β Security-focused static analysis for the Phoenix Framework.
- ssl_verify_fun β88 π 1825 β Collection of ssl verification functions for Erlang.
Static Page Generation
Tools and libraries for generating static websites and content.
- coil β66 π 4272 β Minimalistic static content engine.
- glayu β75 π 3028 β A static site generator for mid-sized sites.
- NimblePublisher β355 π 981 β Minimal filesystem-based publisher with markdown and syntax highlighting.
- pardall_markdown β104 π 980 β Reactive publishing framework, filesystem-based with support for Markdown, nested hierarchies, and instant content rebuilding.
- obelisk β388 π 3213 β Static blog and website generator.
- serum β298 π 1192 β A simple static website generator written in Elixir.
Statistics
Libraries around the topic statistics.
- numerix β179 π 1653 β A collection of useful mathematical functions with a slant towards statistics, linear algebra and machine learning.
- statistics β130 π 1475 β Some basic statistical functions for Elixir.
Templating
Libraries parsing and helping with templates
- bbmustache β168 π 1215 β Binary pattern match Based Mustache template engine for Erlang/OTP.
- calliope β192 π 3172 β An Elixir HAML parser.
- eml β115 π 1126 β Library for writing and manipulating (HTML) markup in Elixir.
- expug β78 π 2966 β Pug templates for Elixir.
- mustache β52 π 1440 β Mustache templates for Elixir.
- slime β346 π 1468 β An Elixir library for rendering slim-like templates.
- temple β416 π 1053 β An HTML DSL for Elixir and Phoenix.
Testing
Libraries for testing codebases and generating test data.
- amrita β199 π 3077 β A polite, well mannered and thoroughly upstanding testing framework for Elixir.
- blacksmith β189 π 1063 β Data generation framework for Elixir.
- blitzy β82 π 3698 β A simple HTTP load tester in Elixir.
- bypass β884 π 1813 β Bypass provides a quick way to create a mock HTTP server with a custom plug.
- chaperon β107 π 1336 β An HTTP service performance & load testing framework written in Elixir.
- definject β52 π 1100 β Unobtrusive dependency injector for Elixir.
- espec β792 π 1054 β BDD test framework for Elixir inspired by RSpec.
- espec_phoenix β134 π 1293 β ESpec for Phoenix web framework.
- ex_machina β1808 π 1140 β Flexible test factories for Elixir. Works out of the box with Ecto and Ecto associations.
- ex_spec β98 π 2743 β BDD-like syntax for ExUnit.
- ex_unit_notifier β116 π 1604 β Desktop notifications for ExUnit.
- excheck β317 π 2633 β Property-based testing library for Elixir (QuickCheck style).
- fake_server β71 π 2223 β FakeServer is an HTTP server that simulates response and makes testing external APIs easier.
- faker β947 π 1121 β Faker is a pure Elixir library for generating fake data.
- faker_elixir β149 π 1297 β FakerElixir is an Elixir package that generates fake data for you.
- hound β1325 π 1889 β Elixir library for writing integration tests and browser automation.
- katt β116 π 996 β KATT (Klarna API Testing Tool) is an HTTP-based API testing tool for Erlang.
- meck β784 π 986 β A mocking library for Erlang.
- mecks_unit β54 π 2060 β A package to elegantly mock module functions within (asynchronous) ExUnit tests using meck.
- mix_test_interactive β55 π 1120 β Interactive test runner for mix test with watch mode.
- mix_test_watch β850 π 1099 β Automatically run your Elixir projectβs tests each time you save a file.
- mock β594 π 1386 β Mocking library for the Elixir language.
- mockery β88 π 1165 β Simple mocking library for asynchronous testing.
- mox β1180 π 1023 β Mocks and explicit contracts for Elixir.
- patch β129 π 1014 β Ergonomic Mocking for Elixir.
- pavlov β128 π 3596 β BDD framework for your Elixir projects.
- ponos β154 π 1502 β Ponos is an Erlang application that exposes a flexible load generator API.
- power_assert β208 π 1070 β Power Assert in Elixir. Shows evaluation results each expression.
- propcheck β336 π 1204 β Property based testing for Elixir.
- proper β851 π 979 β PropEr (PROPerty-based testing tool for ERlang) is a QuickCheck-inspired open-source property-based testing tool for Erlang.
- shouldi β135 π 3438 β Elixir testing libraries with nested contexts, superior readability, and ease of use.
- tuco_tuco β58 π 3641 β TucoTuco helps you test your web application by running a web browser and simulating user interaction with your application.
- Walkman β52 π 2231 β Isolate tests from the real world, inspired by Rubyβs VCR.
- wallaby β1466 π 980 β Wallaby helps test your web applications by simulating user interactions concurrently and manages browsers.
- white_bread β216 π 1861 β Story based BDD in Elixir using the gherkin syntax.
Text and Numbers
Libraries for parsing and manipulating text and numbers.
- abacus β73 π 1317 β Evaluate math terms in Elixir.
- brcpfcnpj β65 π 1456 β Number format and Validation for Brazilian documents (CPF/CNPJ).
- chinese_translation β88 π 2954 β Translate between traditional chinese and simplified chinese based on wikipedia data, and translate chinese words/characters to pinyin (or slug with or without tone).
- decimal β420 π 1115 β Arbitrary precision decimal arithmetic for Elixir.
- exmoji β92 π 1409 β Emoji encoding Swiss Army knife for Elixir/Erlang.
- hashids β263 π 1047 β Hashids lets you obfuscate numerical identifiers via reversible mapping.
- inflex β369 π 1335 β An Inflector library for Elixir.
- money β722 π 978 β Working with Money safer, easier, and fun, interpretation of the Fowlerβs Money pattern.
- nanoid β189 π 1783 β Elixir port of NanoID, a secure and URL-friendly unique ID generator.
- neotomex β67 π 2125 β A PEG implementation with a pleasant Elixir DSL.
- number β207 π 969 β Number is a pretentiously-named Elixir library which provides functions to convert numbers into a variety of different formats.
- secure_random β95 π 3244 β Convenience library for random base64 strings modeled after my love for Rubyβs SecureRandom.
- simetric β59 π 2868 β String similarity metrics for Elixir.
- slugger β156 π 2737 β Slugger can generate slugs from given strings that can be used in URLs or file names.
- stemmer β145 π 1430 β An English (Porter2) stemming implementation in Elixir.
-
ua_inspector
β104
π
979
β
User agent parser library like
piwik/device-detector. - uuid β346 π 2238 β UUID generator and utilities for Elixir.
- uuid_erl β207 π 1034 β Erlang Native UUID Generation.
- veritaserum β83 π 1055 β Sentiment analysis based on afinn-165, emojis and some enhancements.
Third Party APIs
Libraries for accessing third party APIs.
- apns β70 π 3123 β Apple Push Notifications Service client library for elixir.
- commerce_billing β177 π 3310 β A payment-processing library for Elixir that supports multiple gateways (e.g. Bogus & Stripe).
- diplomat β93 π 1726 β A Google Cloud Datastore client.
- elixtagram β81 π 2156 β Instagram API client for Elixir.
- ethereumex β349 π 994 β Elixir JSON-RPC client for the Ethereum blockchain.
- ex_statsd β94 π 2798 β A statsd client implementation for Elixir.
- ex_twilio β317 π 1645 β Twilio API client for Elixir.
- extwitter β401 π 1138 β Twitter client library for Elixir.
- facebook β133 π 2174 β Facebook Graph API Wrapper written in Elixir.
- forcex β51 π 2245 β Elixir library for the Force.com REST API.
- google-cloud β696 π 1070 β This repository contains all the client libraries to interact with Google APIs.
- gringotts β448 π 988 β A complete payment library for Elixir and Phoenix Framework similar to ActiveMerchant from the Ruby world.
- kane β96 π 1071 β A Google Cloud Pub/Sub client.
- mailgun β190 π 3560 β Elixir Mailgun Client.
- mandrill β50 π 3525 β A Mandrill wrapper for Elixir.
- nadia β363 π 1488 β Telegram Bot API Wrapper written in Elixir.
- pigeon β563 π 1024 β HTTP2-compliant wrapper for sending iOS and Android push notifications.
- qiniu β60 π 2176 β Qiniu SDK for Elixir.
- riemann β56 π 2666 β A Riemann client for Elixir.
- sendgrid β85 π 1858 β Send composable, transactional emails with SendGrid.
- shopify β93 π 2192 β Easily access the Shopify API.
- slack β650 π 1219 β Slack real time messaging client in Elixir.
- statix β252 π 2051 β Expose app metrics in the StatsD protocol.
- stripity_stripe β808 π 962 β An Elixir Library for Stripe.
- telegex β64 π 970 β Telegram bot library for Elixir.
- tentacat β424 π 1583 β Simple Elixir wrapper for the GitHub API.
Translations and Internationalizations
Libraries and tools providing translations or internationalizations.
- gettext β401 π 1001 β Internationalization and localization support for Elixir.
- linguist β173 π 1581 β Elixir Internationalization library.
- trans β211 π 1026 β A Elixir library to manage embedded translations into models leveraging PostgreSQL JSONB datatype.
Utilities
Utilities libraries.
- async_with β152 π 1681 β A modifier for Elixirβs βwithβ to execute all its clauses in parallel.
- crutches β124 π 2999 β Utility library for Elixir, designed to complement the standard library bundled with the language.
- dress β62 π 1188 β Cli app that makes your stdout fancy.
- erlang-history β496 π 2839 β Hacks to add shell history to Erlangβs shell.
- erlsh β61 π 3164 β Family of functions and ports involving interacting with the system shell, paths and external programs.
- erlware_commons β215 π 1450 β Additional standard library for Erlang.
- plasm β86 π 2009 β Plasm is Ectoβs composable query multitool, containing higher-level functions such as .count, .random, .first, .last, .find, .inserted_before, .inserted_after, etc.
- pubsub β65 π 1102 β A Publish-Subscribe utility library that implements a pub-sub mechanism to ease the burden of communication on the business logic processes.
- quark β319 π 1410 β A library for common functional programming idioms: combinators, currying, and partial application.
- retry β415 π 972 β Simple Elixir macros for linear retry, exponential backoff and wait with composable delays.
- sitemap β97 π 2563 β Sitemap is the easiest way to generate Sitemaps in Elixir.
Validations
Libraries and implementations for validation of data.
- exop β208 π 1640 β A library that allows to encapsulate business logic and validate params with predefined contract.
- skooma β136 π 1163 β Simple data validation library for describing and validating data structures.
- vex β563 π 1616 β An extensible data validation library for Elixir.
Version Control
Working with version control like git, mercury, subversion β¦
- gitex β60 π 1502 β 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 β195 π 1275 β FFmpeg command line wrapper.
WebAssembly
Libraries for running WebAssembly (WASM) in Elixir or running Elixir on WebAssembly.
- lumen β3381 π 997 β An alternative BEAM implementation, designed for WebAssembly.
XML
Libraries and implementations working with XML (for html tools please go to the HTML section).
- erlsom β261 π 1078 β Erlsom is an Erlang library to parse (and generate) XML documents.
- fast_xml β123 π 1317 β Fast Expat based Erlang XML parsing library.
- meeseeks β290 π 988 β A library for parsing and extracting data from HTML and XML with CSS or XPath selectors.
- saxy β243 π 1125 β Saxy is an XML parser and encoder in Elixir that focuses on speed and standard compliance.
- sweet_xml β334 π 1338 β Query XML simply and effectively.
- xml_builder β158 π 1334 β Elixir library for generating xml.
YAML
Libraries and implementations working with YAML.
- yamerl β194 π 1375 β YAML 1.2 parser in Erlang.
- yaml_elixir β154 π 1301 β Yaml parser for Elixir based on native Erlang implementation.