Contents
Actors
Libraries and tools for working with actors and such.
- bpe β177 π 21 β Business Process Engine in Erlang. (Doc).
- exactor β663 π 386 β Helpers for easier implementation of actors in Elixir.
- 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.
Algorithms and Data structures
Libraries and implementations of algorithms and data structures.
- datastructures β203 π 1430 β A collection of protocols, implementations and wrappers to work with data structures.
- erlang-algorithms β134 π 1037 β Implementations of popular data structures and algorithms.
- exconstructor β226 π 1485 β An Elixir library for generating struct constructors that handle external data with ease.
- 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.
- loom β208 π 1420 β A CRDT library with Ξ΄-CRDT support.
- 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.
- monadex β284 π 1102 β Upgrade your Elixir pipelines with monads.
- remodel β133 π 1343 β An Elixir presenter package used to transform map structures.
- trie β121 π 90 β Erlang Trie Implementation.
- witchcraft β860 π 535 β Common algebraic structures and functions for Elixir.
Applications
Standalone applications.
- CaptainFact β142 π 35 β A collaborative, real-time video fact-checking platform. (Docs).
- Consolex β114 π 1721 β Consolex is a tool that allows you to attach a web based console to any mix project.
- exchat β252 π 1467 β A Slack-like app by Elixir, Phoenix & React (redux).
- ExShop β214 π 1605 β Digital goods shop & blog created using Phoenix framework.
- 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.
- 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.
- Tai β250 π 3 β A composable, real time, cryptocurrency market data and trade execution toolkit.
- tty2048 β151 π 1715 β Terminal-based 2048 game written in Elixir.
Artificial Intelligence
When your code becomes smarter than you.
- simple_bayes β373 π 1306 β A Simple Bayes / Naive Bayes implementation in Elixir.
Authentication
Libraries for implementing authentication schemes.
- 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.
- 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.
- phauxth β418 π 13 β Authentication library for Phoenix 1.3 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).
- ueberauth β1240 π 30 β An Elixir Authentication System for Plug-based Web Applications.
- ueberauth_google β109 π 128 β A Google strategy for Γberauth.
Authorization
Libraries for implementing Authorization handling.
- bodyguard β505 π 8 β A flexible authorization library for Phoenix applications.
- canada β371 π 659 β 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).
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.
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.
Build Tools
Project build and automation tools.
- mad β173 π 20 β Small and Fast Rebar Replacement.
- reaxt β349 π 28 β React template into your Elixir application for server rendering.
- relx β628 π 6 β A release assembler for Erlang.
- remix β136 π 1589 β Automatic recompilation of Mix code on file change.
Caching
Libraries for caching data.
- cachex β963 π 1 β A powerful caching library for Elixir with a wide featureset.
- con_cache β755 π 555 β ConCache is an ETS based key/value storage.
- locker β153 π 1900 β Atomic distributed βcheck and setβ for short-lived keys.
- nebulex β652 π 4 β A fast, flexible and extensible distributed and local caching library for Elixir.
Chatting
Chatting via IRC, Slack, HipChat and other systems using Elixir.
- 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.
- hedwig β606 π 1125 β XMPP Client/Bot Framework for Elixir.(Docs).
Cloud Infrastructure and Management
Applications, tools and libraries for your own cloud service.
- aws β195 π 15 β AWS clients for Elixir.
- Bonny β188 π 257 β 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.
- libcluster β1262 π 3 β Automatic cluster formation/healing for Elixir applications.(Docs).
Code Analysis
Libraries and tools for code base analysis, parsing, and manipulation.
- 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 π 1132 β 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.
- getopt β234 π 9 β Command-line options parser for Erlang.
- 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.
Configuration
Libraries and tools working with configurations
- confex β271 π 98 β Helper module that provides a nice way to read environment configuration at runtime.
- conform β384 π 937 β Easy release configuration for Elixir apps.
- dotenv β171 π 36 β A port of dotenv to Elixir.
Cryptography
Encrypting and decrypting data
- 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).
- pot β194 π 160 β Erlang library for generating one time passwords compatible with Google Authenticator.
CSV
Libraries and implementations working with CSV.
- csv β392 π 166 β CSV Decoding and Encoding 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.
- filtrex β155 π 286 β A library for performing and validating complex SQL-like filters from a client (e.g. smart filters).
- quantum β1706 π 86 β Cron-like job scheduler for Elixir applications.
- 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.
- dbg β153 π 1403 β Distributed tracing for Elixir.
- eflame β344 π 891 β Flame Graph profiler for Erlang.
- 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.
- observer_cli β1050 π 25 β Visualize Elixir & Erlang nodes on the command line, it aims to helpe developers debug production systems.
-
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.
- 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.
- 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.
- gatling β501 π 1460 β 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.
- bureaucrat β275 π 44 β Generate Phoenix API documentation from tests.
- ex_doc β1008 π 1 β ExDoc is a tool to generate documentation for your Elixir projects.
- phoenix_swagger β525 π 33 β Provides swagger integration to the Phoenix framework.
Domain-specific language
Specialized computer languages for a particular application domain.
- Absinthe Graphql β3464 π 15 β Fully featured GraphQL library.
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.
- gen_smtp β579 π 5 β A generic Erlang SMTP server and client that can be extended via callback modules.
- mail β333 π 11 β An RFC2822 implementation in Elixir, built for composability.
- mailman β188 π 147 β Mailman provides a clean way of defining mailers in your Elixir applications.
- ravenx β100 π 1103 β Notification dispatch library for Elixir applications.
- 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.
Errors and Exception Handling
Working with errors and exceptions.
- exceptional β255 π 433 β Helpers for happy-path programming & exception handling.
-
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.
- reaxive β257 π 1101 β 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 β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.
- elixir_koans β1634 π 108 β Elixir koans is a fun, easy way to get started with the elixir programming language.
- 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.
- 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
. - real world example app β758 π 448 β Elixir / Phoenix implementation of RealWorld.io backend specs - a Medium clone.
- tilex β413 π 1 β Source code for Hashrocketβs TIL website built with Phoenix 1.3.
Feature Flags and Toggles
Libraries to manage feature toggles (AKA feature flags): ON/OFF values that can be toggled at runtime through some interface
- 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.
Files and Directories
Libraries and implementations for working with files and directories.
- exfswatch β204 π 24 β A file change watcher wrapper based on fs.
- fs β192 π 20 β Erlang FileSystem Listener.
- waffle β408 π 164 β Flexible file upload and attachment library for Elixir.
Framework Components
Standalone component from web development frameworks.
- absinthe_plug β208 π 20 β Plug support for Absinthe.
- addict β653 π 1388 β User authentication for Phoenix Framework.
- 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 π 87 β Elixir library for dealing with CORS requests.
-
dayron
β148
π
1233
β
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.
- kerosene β205 π 805 β Pagination for Ecto and Phoenix.
- 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_live_reload β204 π 114 β Provides live-reload functionality for Phoenix.
- phoenix_pubsub_redis β140 π 24 β The Redis 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_graphql β125 π 1716 β Phoenix Plug integration for GraphQL Elixir.
- react_phoenix β423 π 109 β Render React.js components in Phoenix views focusing on easy installation and Brunch compatibility.
- 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_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.
Frameworks
Web development frameworks.
- kitto β924 π 80 β A framework for interactive dashboards.
- n2o β1259 π 19 β Distributed Application Server.
- 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.
- 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.
- entice β102 π 1753 β A distributed Entity-Component-System framework, providing its own example MMORPG server.
Geolocation
Libraries for geocoding addresses and working with latitudes and longitudes.
- geo β450 π 96 β A collection of GIS functions for Elixir.
- geolix β150 π 20 β MaxMind GeoIP2 database reader/decoder.
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).
- floki β1434 π 5 β A simple HTML parser that enables searching using CSS like selectors.
- html_sanitize_ex β175 π 222 β HTML sanitizer for Elixir.
- readability β187 π 145 β Readability is for extracting and curating articles.
HTTP
Libraries for working with HTTP and scraping websites.
- Ace β296 π 95 β HTTP web server and client, supports http1 and http2.
- 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.
- 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.
- gun β704 π 13 β HTTP/1.1, HTTP/2 and Websocket client for Erlang/OTP.
- hackney β1122 π 68 β Simple HTTP client written in Erlang.
- httpoison β1893 π 44 β Yet Another HTTP client for Elixir powered by hackney.
- httpotion β723 π 366 β Fancy HTTP client for Elixir, based on ibrowse.
- mint β958 π 4 β Functional HTTP client for Elixir with support for HTTP/1 and HTTP/2.
- mochiweb β1769 π 376 β 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.
- scrape β306 π 370 β Scrape any website, article or RSS/Atom Feed with ease.
- tesla β1387 π 26 β HTTP client library, with support for middleware and multiple adapters.
- 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).
Images
Libraries for working with and manipulating images.
- imagineer β107 π 838 β Image parsing in Elixir.
- mogrify β438 π 27 β An Elixir wrapper for ImageMagick command line.
Instrumenting / Monitoring
Libraries for collecting and exporting metrics.
- elixometer β797 π 5 β A light Elixir wrapper around exometer.
- exometer β508 π 1843 β Basic measurement objects and probe behavior in Erlang.
- instream β173 π 5 β InfluxDB driver for Elixir.
- prometheus β276 π 121 β Prometheus.io monitoring system and time series database client in Erlang.
- prometheus.ex β341 π 4 β Elixir-friendly Prometheus.io monitoring system and time series database client.
- 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.
- ja_serializer β619 π 129 β JSONAPI.org Serialization in Elixir.
- jason β1167 π 63 β A blazing fast JSON parser and generator in pure 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_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.
- poison β1827 π 944 β 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 β1078 π 345 β Compiler allowing to translate Elm programming language code to Elixir.
- Monkey β118 π 1132 β Elixir implementation of an interpreter and REPL for the js-like Monkey programming language.
Logging
Logging infos and messages.
- honeybadger β130 π 0 β Error logging to Honeybadger.
- logster β170 π 131 β Easily parsable, one-line logging for Phoenix and Plug applications, inspired by Lograge.
- rollbax β223 π 420 β Exception tracking and logging to Rollbar.
- 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.
- expat β157 π 926 β Reusable, composable patterns across Elixir libraries.
- opus β298 π 109 β A framework for pluggable business logic components.
- pipes β314 π 900 β Macros for more flexible composition with the Elixir Pipe operator.
-
shorter_maps
β190
π
1163
β
~M sigil for map shorthand.
~M{id name} ~> %{id: id, name: name}
.
Markdown
Libraries and tools working with Markdown and such.
- earmark β662 π 3 β Markdown parser for Elixir.
Miscellaneous
Useful libraries or tools that donβt fit in the categories above.
- 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.
- 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.
- ecto_autoslug_field β127 π 6 β Automatically creates slugs for your Ecto models.
-
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.
- hammer β365 π 784 β A rate-limiter with pluggable storage backends, including Redis.
- porcelain β812 π 127 β Porcelain implements a saner approach to launching and communicating with external OS processes from Elixir.
- spotify_ex β109 π 45 β An Elixir wrapper for the Spotify Web API.
Native Implemented Functions
Tools and libraries working with Erlang NIF.
- Rustler β2662 π 14 β Library for writing NIFs for Erlang or Elixir safely in Rust. No segfaults.
Networking
Libraries and tools for using network related stuff.
- 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.
Office
Libraries for working with office suite documents.
- elixlsx β174 π 73 β A writer for XLSX files.
- 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.
- ecto β4982 π 1 β A database wrapper and language integrated query for Elixir.
- ecto_enum β535 π 128 β Ecto extension to support enums in models.
- ecto_fixtures β161 π 320 β Fixtures for Elixir apps using Ecto.
- ecto_mnesia β223 π 219 β Ecto adapter for Mnesia Erlang term database.
- 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.
- 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.
- eventstore β727 π 28 β A CQRS EventStore using Postgres for persistence, written in Elixir.
- exredis β357 π 774 β Redis client for 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.
- 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_ecto β317 π 804 β MongoDB adapter for Ecto.
- mysql β319 π 136 β MySQL/OTP β MySQL driver for Erlang/OTP.
- paper_trail β375 π 14 β Ecto plugin for tracking and recording all the changes in your database.
- postgrex β804 π 0 β PostgreSQL driver for Elixir.
- redix β812 π 19 β Superfast, pipelined, resilient Redis driver for Elixir.
- rethinkdb β497 π 821 β Rethinkdb client in pure Elixir using JSON protocol.
- riak β192 π 1060 β A Riak client written in Elixir.
- shards β265 π 82 β Transparent and out-of-box Sharding support for Erlang/Elixir ETS tables.
- sql_dust β106 π 1339 β Generate (complex) SQL queries using magical Elixir SQL dust.
- sqlitex β109 π 66 β An Elixir wrapper around esqlite. Allows access to sqlite3 databases.
- 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!
- xandra β239 π 396 β Cassandra driver built natively in Elixir and focused on speed, simplicity, and robustness.
OTP
Libraries for working with OTP related things.
- 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.
Libraries and software for working with PDF files.
- gutenex β228 π 838 β Native PDF generation for Elixir.
- pdf_generator β245 π 23 β A simple wrapper for wkhtmltopdf or puppeteer (HTML to PDF) for use in Elixir projects.
Protocols
Special protocol and format libraries.
- exprotobuf β468 π 590 β Protocol Buffers in Elixir, made easy.
- grpc-elixir β849 π 98 β The Elixir implementation of gRPC.
- msgpax β222 π 20 β MessagePack (de)serializer implementation for Elixir.
- riffed β290 π 252 β Provides idiomatic Elixir bindings for Apache Thrift.
Queue
Libraries for working with event and task queues.
- 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.
- ecto_job β243 π 143 β A transactional job queue built with Ecto, PostgreSQL and GenStage.
- enm β113 π 1196 β enm is an Erlang port driver that wraps the nanomsg C library.
- exq β1215 π 18 β Job processing library for Elixir - compatible with Resque/Sidekiq.
- 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_ex β467 π 10 β Kafka client library for Elixir.
- 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.
- 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.
Release Management
Libraries and tools for release management.
- distillery β2745 π 373 β A pure Elixir implementation of release packaging functionality for the Erlang VM.
- exrm β935 π 1343 β Automatically generate a release for your Elixir project.
- mix_docker β335 π 993 β Put your Elixir app production release inside minimal docker image.
REST and API
Libraries and web tools for developing REST-ful APIs.
- maru β1271 π 583 β Elixir copy of grape for creating REST-like APIs.
Search
Libraries related to search indexing, search algorithms and search clients.
- elasticsearch β314 π 32 β A simple, no-nonsense Elasticsearch library for Elixir.
Security
Libraries and tools regarding security.
- Ockam β385 π 0 β 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 β1081 π 45 β Security-focused static analysis for the Phoenix Framework.
Static Page Generation
Tools and libraries for generating static websites and content.
- 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.
- numerix β157 π 71 β A collection of useful mathematical functions with a slant towards statistics, linear algebra and machine learning.
- 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.
- slime β314 π 372 β An Elixir library for rendering slim-like templates.
- 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.
- blacksmith β167 π 1624 β Data generation framework for Elixir.
- bypass β719 π 65 β Bypass provides a quick way to create a mock HTTP server with a custom plug.
- 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_unit_notifier β107 π 3 β Desktop notifications for ExUnit.
- excheck β310 π 885 β Property-based testing library for Elixir (QuickCheck style).
- 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.
- meck β716 π 6 β A mocking library for Erlang.
- 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.
- 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 π 0 β 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.
- 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.
- decimal β341 π 1 β Arbitrary precision decimal arithmetic for Elixir.
- ex_cldr β166 π 14 β Cldr is an Elixir library for the Unicode Consortiumβs Common Locale Data Repository (CLDR).
- hashids β217 π 785 β Hashids lets you obfuscate numerical identifiers via reversible mapping.
- inflex β314 π 15 β An Inflector library for Elixir.
- 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.
- number β184 π 11 β Number is a pretentiously-named Elixir library which provides functions to convert numbers into a variety of different formats.
- 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.
- uuid β315 π 490 β UUID generator and utilities for Elixir.
- uuid_erl β187 π 90 β Erlang Native UUID Generation.
Third Party APIs
Libraries for accessing third party APIs.
- commerce_billing β168 π 1562 β A payment-processing library for Elixir that supports multiple gateways (e.g. Bogus & Stripe).
- ethereumex β223 π 60 β Elixir JSON-RPC client for the Ethereum blockchain.
- ex_twilio β280 π 16 β Twilio API client for Elixir.
- extwitter β371 π 94 β Twitter client library for Elixir.
- facebook β131 π 426 β Facebook Graph API Wrapper written in Elixir.
- google-cloud β546 π 1 β This repository contains all the client libraries to interact with Google APIs.
- gringotts β393 π 310 β A complete payment library for Elixir and Phoenix Framework similar to ActiveMerchant from the Ruby world.
- mailgun β187 π 1811 β Elixir Mailgun Client.
- nadia β322 π 29 β Telegram Bot API Wrapper written in Elixir.
- pigeon β478 π 45 β HTTP2-compliant wrapper for sending iOS and Android push notifications.
- slack β581 π 98 β Slack real time messaging client in Elixir.
- statix β228 π 303 β Expose app metrics in the StatsD protocol.
- stripity_stripe β593 π 8 β An Elixir Library for Stripe.
- tentacat β389 π 131 β Simple Elixir wrapper for the GitHub API.
Translations and Internationalizations
Libraries providing translations or internationalizations.
- 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.
- 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.
- erlang-history β496 π 1091 β Hacks to add shell history to Erlangβs shell.
- erlware_commons β202 π 51 β Additional standard library for Erlang.
- 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.
Validations
Libraries and implementations for validation of data.
- exop β183 π 16 β A library that allows to encapsulate business logic and validate params with predefined contract.
- skooma β117 π 141 β Simple data validation library for describing and validating data structures.
- vex β499 π 112 β An extensible data validation library for Elixir.
Video
Libraries for working with and manipulating video and multimedia.
- ffmpex β138 π 230 β FFmpeg command line wrapper.
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).
- erlsom β246 π 25 β Erlsom is an Erlang library to parse (and generate) XML documents.
- fast_xml β111 π 16 β Fast Expat based Erlang XML parsing library.
- meeseeks β252 π 113 β A library for parsing and extracting data from HTML and XML with CSS or XPath selectors.
- 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.
YAML
Libraries and implementations working with YAML.
- yamerl β173 π 50 β YAML 1.2 parser in Erlang.
- yaml_elixir β116 π 216 β Yaml parser for Elixir based on native Erlang implementation.