awesome-elixir
A curated list of amazingly awesome Elixir and Erlang libraries, resources and shiny things. Updates:
https://github.com/h4cc/awesome-elixir
Last synced: 1 day ago
JSON representation
-
Data Visualization
-
Date and Time
- block_timer - Macros to use :timer.apply_after and :timer.apply_interval with a block.
- calendar - Calendar is a date and time library for Elixir.
- calendarific - Calendarific is a wrapper for the holiday API Calendarific.
- calixir - Calixir is a port of the Lisp calendar software calendrica-4.0 to Elixir.
- chronos - An Elixir date/time library.
- cocktail - Elixir date recurrence library based on iCalendar events.
- cronex - Cron like system you can mount in your supervision tree.
- emojiclock - An Elixir module for giving you an emoji clock for a given hour.
- ex_ical - ICalendar parser.
- filtrex - A library for performing and validating complex SQL-like filters from a client (e.g. smart filters).
- good_times - Expressive and easy to use datetime functions.
- jalaali - Jalaali calendar implementation for Elixir.
- milliseconds - Simple library to work with milliseconds in Elixir.
- moment - Parse, validate, manipulate, and display dates in Elixir.
- open_hours - Time calculations using business hours.
- quantum - Cron-like job scheduler for Elixir applications.
- repeatex - Natural language parsing for repeating dates.
- timelier - A cron-style scheduler for Elixir.
- timex - Easy to use Date and Time modules for Elixir.
- timex_interval - A date/time interval library for Elixir projects, based on Timex.
- tzdata - The timezone database in Elixir.
- crontab - A Cron Expressions Parser, Composer & Date Candidate Finder.
-
Debugging
- beaker - Statistics and Metrics library for Elixir.
- dbg - Distributed tracing for Elixir.
- eflame - Flame Graph profiler for Erlang.
- eper - Erlang performance and debugging tools.
- ether - Ether provides functionality to hook Elixir into the Erlang debugger.
- ex_debug_toolbar - A toolbar for Phoenix projects to interactively debug code and display useful information about requests: logs, timelines, database queries etc.
- exrun - Distributed tracing for Elixir with rate limiting and simple macro-based interface.
- extrace - Elixir wrapper for Recon Trace.
- git_hooks - Add git hooks to Elixir projects.
- inspector - A simple one-line module that allows a more friendly debugging experience.
- observer_cli - Visualize Elixir & Erlang nodes on the command line, it aims to help developers debug production systems.
- quaff - The Debug module provides a simple helper interface for running Elixir code in the erlang graphical debugger.
- rexbug - An Elixir wrapper for the `redbug` production-friendly Erlang tracing debugger.
- visualixir - A process visualizer for remote BEAM nodes.
- booter - Boot an Elixir application, step by step.
-
Deployment
- Gigalixir - A fully-featured PaaS designed for Elixir. Supports clustering, hot upgrades, and remote console/observer. Free to try without a credit card.
- akd - Capistrano like, Configurable, and easy to set up Elixir Deployment Automation Framework.
- ansible-elixir-stack - 1-command setup & deploys to servers, with first-class support for Phoenix apps.
- bootleg - Simple deployment and server automation for Elixir.
- bottler - Bottler is a collection of tools that aims to help you generate releases, ship them to your servers, install them there, and get them live on production.
- elixir-on-docker - A project template to get started developing clustered Elixir applications for cloud environments.
- exdm - Deploy Elixir applications via mix tasks.
- exreleasy - Dead simple and Mix friendly tool for releasing Elixir applications.
- gatling - Collection of mix tasks to automatically create a exrm release from git and launch/upgrade it on your server.
- heroku-buildpack-elixir - Heroku buildpack to deploy Elixir apps to Heroku.
- edeliver - Deployment for Elixir and Erlang.
-
Documentation
- inch-ci - Documentation badges for Ruby & Elixir.
- blue_bird - 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 - Generate Phoenix API documentation from tests.
- ex_doc - ExDoc is a tool to generate documentation for your Elixir projects.
- ex_doc_dash - Formatter for ExDoc to generate docset documentation for use in Dash.app.
- hexdocset - Convert hex doc to Dash.app's docset format.
- phoenix_api_docs - Generate API Blueprint documentation from controllers and tests in the Phoenix framework.
- phoenix_swagger - Provides swagger integration to the Phoenix framework.
- maru_swagger - Add swagger compliant documentation to your maru API.
- xcribe - Generate API documentation from tests using Swagger (OpenAPI) or API Blueprint specification.
-
Domain-specific language
- Absinthe Graphql - Fully featured GraphQL library.
- absinthe_gen - Scaffold generator for Absithne.
- JSON-LD.ex - An implementation of the [JSON-LD](http://www.w3.org/TR/json-ld/) standard for [RDF.ex](https://github.com/marcelotto/rdf-ex).
- RDF.ex - An implementation of the [RDF](https://www.w3.org/TR/rdf11-primer/) data model in Elixir.
- SPARQL.ex - An implementation of the [SPARQL](http://www.w3.org/TR/sparql11-overview/) standards in Elixir.
-
ECMAScript
- phoenix_gon - Allow you to pass Phoenix environment or controller variables to JavaScript without problems.
- phoenix_routes_js - Phoenix routes helpers in JavaScript code and browser console.
- elixirscript - A transcompiler from Elixir to Javascript.
- estree - A implementation of the SpiderMonkey Parser API in Elixir.
-
Editors
- Alchemist - Elixir Tooling Integration Into Emacs.
- Alchemist-Server - Editor/IDE independent background server to inform about Elixir mix projects.
- Alchemist.vim - Elixir Tooling Integration Into Vim.
- atom-elixir - An Atom package for Elixir.
- atom-iex - Run an IEx session in Atom.
- elixir-ls - A frontend-independent IDE "smartness" server for Elixir. Implements the JSON-based "Language Server Protocol" standard and provides debugger support via VS Code's debugger protocol.
- elixir-tmbundle - A TextMate and SublimeText bundle for Elixir.
- elixir_generator - Vim plugin to generate Elixir module and test files with one command.
- ElixirSublime - Elixir plugin for SublimeText 3 that provides code completion and linting.
- Jetbrains - Elixir for IntelliJ IDEA, RubyMine, WebStorm, PhpStorm, PyCharm, AppCode, Android Studio, 0xDBE.
- mix.nvim - Mix wrapper plugin for Neovim.
- Notepad++ - Elixir syntax highlighting for Notepad++.
- Nova Elixir - Syntax highlighting and code completion for Elixir files (.ex, .exs, .eex) in Nova.
- nvim - Neovim host for writing plugins in Elixir.
- phoenix-snippets - Phoenix Snippets for Atom.
- vim-ex_test - Vim test runner based on Thoughtbots vim-rspec.
- vim-mix-format - Async `mix format` for Vim and Neovim.
- vscode-elixir - Elixir Support for Visual Studio Code.
- vscode-elixir-ls - Elixir language support and debugger for VS Code, powered by ElixirLS.
- Atom - Elixir language support for Atom.
- vim-elixir - Vim configuration files for Elixir.
-
Email
- pop3mail - Pop3 client to download email (including attachments) from the inbox via the commandline or Elixir API.
- burnex - Burner email (temporary address) detector.
- echo - A meta-notification system; Echo checks notification preferences & dispatches notifications.
- ex_postmark - Postmark adapter for sending template emails in Elixir.
- gmail - A simple Gmail REST API client for Elixir.
- mail - An RFC2822 implementation in Elixir, built for composability.
- mailer - A simple SMTP mailer.
- ravenx - Notification dispatch library for Elixir applications.
- smoothie - Smoothie inline styles of your email templates, and generates a plain text version from the HTML.
- swoosh - 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.
- gen_smtp - A generic Erlang SMTP server and client that can be extended via callback modules.
- bamboo - 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.
- mailibex - Library containing Email-related implementations in Elixir: dkim, spf, dmark, mimemail, smtp.
- mailman - Mailman provides a clean way of defining mailers in your Elixir applications.
-
Embedded Systems
- nerves - A framework for writing embedded software in Elixir.
-
Encoding and Compression
-
Errors and Exception Handling
- AppSignal Elixir - The official [AppSignal](https://appsignal.com/) package for Elixir.
- elixir_error_message - Simple error helpers to make errors in your system predictable and easy to render to JSON or in logs.
- exceptional - Helpers for happy-path programming & exception handling.
- happy - Happy path programming, alternative to elixir `with` form.
- OK - Elegant error handling with result monads, featuring a simple & powerful `with` construct and a happy path pipe operator.
- sentry-elixir - The Official Elixir client for [Sentry](https://sentry.io/).
-
Eventhandling
- cizen - Build highly concurrent, monitorable, and extensible applications with a collection of sagas.
- goldrush - Small, Fast event processing and monitoring for Erlang/OTP applications.
- reaxive - Reaxive is a reactive event handling library, inspired by [Elm](http://elm-lang.org) and Reactive Extensions.
- wait_for_it - Provides convenient and easy-to-use facilities for synchronizing concurrent activities.
- event_bus - Simple event bus implementation with topic filtering and built-in event store and event watcher.
-
Examples and funny stuff
- butler_cage - A Butler plugin for showing silly photos of Nick Cage.
- butler_tableflip - Flipping tables with butler.
- changelog.com - CMS that runs changelog.com built with Phoenix 1.4.
- coderplanets.com - GraphQL api for coderplanets.com built with Phoenix 1.4 and Absinthe.
- dice - Roll the dice, in Elixir.
- elixir_koans - [Elixir koans](http://elixirkoans.io/) is a fun, easy way to get started with the elixir programming language.
- ex_chain - Simple Markov Chain that generates funny tweets, built using Elixir.
- feedx - Add social feed functionality to current applications. Exemplify OTP umbrella app, with 3 apps. Thin phoenix controllers.
- harakiri - Help applications kill themselves.
- hello_phoenix - Application template for SPAs with Phoenix, React and Redux.
- hexpm - Source code for the hex package manager site built with Phoenix 1.3.
- kaisuu - Watch Japan's Kanji Usage on Twitter in Realtime.
- koans - Learn Elixir by using elixir-koans.
- lolcat - This is the clone of busyloop/lolcat. But it does not support animation and some features of the original.
- magnetissimo - Web application that indexes all popular torrent sites, and saves it to the local database.
- oop - OOP in Elixir.
- phoenix-chat-example - A step-by-step example/tutorial for building a Chat app in Phoenix for complete beginners. Covers testing, docs and deployment. Phoenix `1.5.3`.
- phoenix-ecto-encryption-example - 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 - An experiment with Phoenix Channels, GenEvents, React and Flux.
- phoenix-liveview-counter-tutorial - complete beginners step-by-step tutorial building a real time counter in Phoenix `1.5.3` and LiveView `0.14.1`.
- phoenix-todo-list-tutorial - A complete beginners step-by-step tutorial for building a Todo List from scratch in Phoenix `1.5.3`.
- portal - A shooting fault-tolerant doors for distributed portal data-transfer application in Elixir.
- real world example app - Elixir / Phoenix implementation of [RealWorld.io](https://realworld.io/) backend specs - a Medium clone.
- rollex - Elixir library using a Pratt Parser algorithm to calculate dice rolls.
- rubix - A very simple (and barely-functioning) Ruby runner for Elixir.
- tilex - Source code for Hashrocket's TIL website built with Phoenix 1.3.
- weather - A command line weather app built using Elixir.
- ex_iss - This package is for interfacing with the Open Notify API to information such as the ISS's current location, crew, and when it will pass over a location.
- stranger - Elixir Phoenix app to chat anonymously with a randomly chosen stranger.
-
Feature Flags and Toggles
- ConfigCat - Elixir SDK for ConfigCat hosted feature flag service.
- flippant - Feature flipping for the Elixir world.
- fun_with_flags - 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 - A feature toggle library using redis or SQL (using Ecto) as a backing service.
-
Feeds
-
Files and Directories
- dir_walker - DirWalker lazily traverses one or more directory trees, depth first, returning successive file names.
- elixgrep - A framework for doing Hadoop style Map/Reduce operations on collections of files.
- ex_guard - ExGuard is a mix command to handle events on file system modifications.
- ex_minimatch - Globbing paths without walking the tree!.
- exfile - File upload handling, persistence, and processing in Elixir and Plug.
- eye_drops - Configurable mix task to watch file changes and run the corresponding command.
- fs - Erlang FileSystem Listener.
- fwatch - A callback-based file watcher based on __fs__.
- ivcu - File Validator, Converter, and Uploader.
- librex - Elixir library to convert office documents to other formats using LibreOffice.
- Radpath - Path library for Elixir, inspired by Python's Enhpath.
- sentix - A cross-platform file watcher for Elixir based on fswatch.
- sizeable - An Elixir library to make file sizes human-readable.
- waffle - Flexible file upload and attachment library for Elixir.
- zarex - Filename sanitization for Elixir.
- fs - Erlang FileSystem Listener.
- format_parser.ex - Elixir library to figure out the type and the format of a file.
- exfswatch - A file change watcher wrapper based on __fs__.
-
Forms
- forms - Erlang Business Documents Generator.
-
Framework Components
- turn_the_page - Fast, simple and lightweight pagination system for your Elixir application.
- absinthe_plug - Plug support for Absinthe.
- access pass - Authentication framework that can be used with or outside of phoenix. Similar to Addict but geared towards API usage.([Docs](https://hexdocs.pm/access_pass/api-reference.html#content)).
- addict - User authentication for Phoenix Framework.
- airbrake_plug - Report errors in your Plug stack or whatever to Airbrake.
- Backpex - Highly customizable administration panel for Phoenix LiveView applications. ([Docs](https://hexdocs.pm/backpex/), [Demo](https://backpex.live/)).
- better_params - Elixir Plug for cleaner request params in web apps.
- blaguth - Basic Access Authentication in Plug applications.
- cors_plug - An Elixir plug that adds CORS headers to requests and responds to preflight requests (OPTIONS).
- corsica - Elixir library for dealing with CORS requests.
- crudex - CRUD utilities for Phoenix and Ecto.
- dayron - A repository _similar_ to `Ecto.Repo` that works with REST API requests instead of a database.
- ex_admin - ExAdmin is an auto administration package for Elixir and the Phoenix Framework.
- exdjango - A few elixir libraries for working with django.
- exrecaptcha - Simple reCaptcha display/verify code for Elixir applications.
- filterable - Simple query params filtering for Phoenix framework inspired by Rails has_scope.
- graphql_parser - An Elixir binding for [libgraphqlparser](https://github.com/graphql/libgraphqlparser).
- http_router - HTTP Router with various macros to assist in developing your application and organizing your code.
- kerosene - Pagination for Ecto and Phoenix.
- mellon - An authentication module for Plug applications.
- multiverse - Plug that allows to add version compatibility layers via API Request/Response Gateways.
- params - Use Ecto to enforce/validate parameters structure, akin to Rails' strong parameters.
- phoenix_ecto - Phoenix and Ecto integration.
- phoenix_haml - Phoenix Template Engine for Haml.
- phoenix_html - Phoenix.HTML functions for working with HTML strings and templates.
- phoenix_html_sanitizer - HTML Sanitizer integration for Phoenix.
Programming Languages
Categories
Third Party APIs
124
ORM and Datamapping
107
Framework Components
89
Algorithms and Data structures
86
Text and Numbers
79
Testing
66
Miscellaneous
62
Authentication
47
HTTP
43
Books
37
Queue
36
Applications
31
Utilities
30
Examples and funny stuff
29
Build Tools
29
Macros
27
Cloud Infrastructure and Management
24
Date and Time
22
Logging
21
Instrumenting / Monitoring
21
Editors
21
Websites
21
Images
21
Networking
20
JSON
19
Geolocation
19
Files and Directories
18
Artificial Intelligence
17
Command Line Applications
16
Cryptography
16
Validations
16
Frameworks
16
Screencasts
16
Configuration
15
Reading
15
Debugging
15
Email
14
XML
13
Release Management
12
Chatting
12
Templating
12
Protocols
12
Caching
11
Deployment
11
REST and API
11
Code Analysis
11
Documentation
10
Static Page Generation
9
Translations and Internationalizations
9
Security
9
Games
8
HTML
8
CSV
7
Other Awesome Lists
7
Errors and Exception Handling
6
Authorization
6
PDF
6
Newsletters
6
Statistics
6
Podcasts
6
Behaviours and Interfaces
6
Community
5
Search
5
Actors
5
Eventhandling
5
Domain-specific language
5
YAML
5
Audio and Sounds
5
Natural Language Processing (NLP)
5
Markdown
5
Feeds
4
Bittorrent
4
Benchmarking
4
Feature Flags and Toggles
4
ECMAScript
4
OTP
4
Styleguides
3
Package Management
3
Native Implemented Functions
3
Lexical analysis
3
Data Visualization
3
BSON
3
Hardware
3
Office
3
Languages
3
Video
2
GUI
2
Cheat Sheets
2
Encoding and Compression
2
WebAssembly
2
SMS
1
Forms
1
QUIC
1
Embedded Systems
1
Version Control
1
Sub Categories
Keywords
elixir
437
elixir-lang
74
phoenix
65
erlang
55
hex
43
ecto
31
elixir-library
26
phoenix-framework
26
plug
21
authentication
14
database
14
http
13
elixir-phoenix
13
testing
11
oauth2
11
json
11
otp
10
ueberauth
10
oauth
10
api
9
package
8
liveview
8
html
8
kubernetes
8
redis
8
slack
8
data-structures
8
macros
7
metrics
7
graphql
7
machine-learning
6
ueberauth-strategies
6
xml
6
exunit
6
functional-programming
6
distributed-systems
6
rest
6
web
6
mix
6
http-client
6
mix-tasks
6
security
6
monitoring
6
redux
5
beam
5
cloud
5
javascript
5
cli
5
configuration
5
websocket
5