A curated list of amazingly awesome Elixir libraries, resources and shiny thing inspired by awesome-php.
- Awesome Elixir
- Package Management
- Release Management
- Framework Components
- Code Analysis
- Build Tools
- Date and Time
- ORM and Datamapping
- Text and Numbers
- REST and API
- Third Party APIs
- Algorithms and Datastructures
- Translations and Internationalizations
- Other Awesome Lists
Libraries and tools for package and dependency management.
- Hex - A package manager for the Erlang ecosystem.
Libraries and tools for release management.
- exrm - Automatically generate a release for your Elixir project.
- exrm_rpm - Create a rpm for your elixir release with ease.
Web development frameworks.
- dynamo - Dynamo is an experimental web framework that runs on Elixir.
- phoenix - Elixir Web Framework targeting full-featured, fault tolerant applications with realtime functionality.
- sugar - Modular web framework for Elixir.
- weber - Web framework for Elixir inspired by Rails.
Standalone component from web development frameworks.
- plug - A specification and conveniences for composable modules in between web applications.
Libraries for working with HTTP and scraping websites.
- cauldron - An HTTP/SPDY server as a library.
- exvcr - HTTP request/response recording library for elixir, inspired by VCR.
- httpoison - Yet Another HTTP client for Elixir powered by hackney.
- httpotion - Fancy HTTP client for Elixir, based on ibrowse.
- httprot - HTTP client library.
Libraries for testing codebases and generating test data.
- amrita - A polite, well mannered and thoroughly upstanding testing framework for Elixir.
- excheck - Property-based testing library for Elixir (QuickCheck style).
- faker - Faker is pure Elixir library for generating fake data.
Libraries and tools for analysing, parsing and manipulation codebases.
- coverex - Coverage Reports for Elixir.
- excoveralls - Coverage report tool for Elixir with coveralls.io integration.
- dialyxir - Mix tasks to simplify use of Dialyzer in Elixir projects.
Project build and automation tools.
- rotor - Super-simple build system for Elixir.
- coffee_rotor - Rotor plugin to compile CoffeeScript files.
Libraries for geocoding addresses and working with latitudes and longitudes.
- geo - A collection of GIS functions for Elixir.
Libraries and tools for debugging code and applications.
- dbg - Distributed tracing for Elixir.
Libraries and tools for working with actors and such.
- exactor - Helpers for easier implementation of actors in Elixir.
- poolboy - A hunky Erlang worker pool factory.
- workex - Backpressure and flow control in EVM processes.
Date and Time
Libraries for working with dates and times.
ORM and Datamapping
Libraries that implement object-relational mapping or datamapping techniques.
- atlas - Object Relational Mapper for Elixir.
- dexts - Disk Elixir Terms Storage, dest wrapper.
- ecto - A database wrapper and language integrated query for Elixir.
- exts - Elixir Terms Storage, ets wrapper.
- postgrex - ostgreSQL driver for Elixir.
- ssdb_elixir - ssdb client for Elixir with focus on performance.
Libraries for working with event and task queues.
- exrabbit - RabbitMQ bindings and DSL for Elixir.
Libraries for implementing authentications schemes.
- oauther - An OAuth 1.0 implementation for Elixir.
Text and Numbers
Libraries for parsing and manipulating text and numbers.
- calliope - An elixir haml parser.
- cesso - CSV handling library for Elixir.
- cldr - cldr is a library to use information from CLDR data.
- colors - Colors util written in Elixir.
- decimal - Arbitrary precision decimal arithmetic for Elixir.
- descriptive_statistics - Descriptive Statistics for Elixir.
- discount - Elixir NIF for discount, a Markdown parser.
- exjson - JSON parser and genarator in Elixir.
- exmerl - Elixir wrapper for xmerl.
- inflex - An Inflector library for Elixir.
- jazz - Yet another library to handle JSON in Elixir.
- jsex - json for elixir.
- jsx - an erlang application for consuming, producing and manipulating json.
- jsxn - jsx but with maps.
- saltie - Saltie is a pseudo-encryption library primarily used for obfuscating numerical identifiers to opaque strings.
- statistics - Some basic statistical functions for Elixir.
- uuid - UUID generator and utilities for Elixir.
REST and API
Libraries and web tools for developing REST-ful APIs.
- urna - Urna is a simple DSL around cauldron to implement REST services.
Libraries for caching data.
- con_cache - ConCache is an ETS based key/value storage.
Third Party APIs
Libraries for accessing third party APIs.
- balanced - Balanced Api Client for Elixir.
- currently - A tool to display cards currently assigns on Trello.
- dpd_client - An API client for the DPD service.
- dropbox - Dropbox Core API client for Elixir.
- exgravatar - An Elixir module for generating Gravatar urls.
- extwitter - Twitter client library for elixir.
- facebook - Facebook Graph API Wrapper written in Elixir.
- reap - Reap is a simple Elixir library for working with the refheap API.
Libraries and tools for using network related stuff.
- chatty - A basic IRC client that is most useful for writing a bot.
- ExIrc - IRC client adapter for Elixir projects.
- reagent - reagent is a socket acceptor pool for Elixir.
- socket - Socket wrapping for Elixir.
- wpa_supplicant - Elixir interface to the wpa_supplicant.
Algorithms and Datastructures
Libraries and implementations of algorithms and datastructures.
- hash_ring_ex - A consistent hash ring implemention for Elixir.
Translations and Internationalizations
Libraries providing translations or internationalizations.
- linguist - Elixir Internationalization library.
Useful libraries or tools that don't fit in the categories above.
- Apex - Awesome Print for Elixir.
- conform - Easy release configuration for Elixir apps.
- core - Library for selective receive OTP processes.
- elixir_ale - Elixir access to hardware I/O interfaces such as GPIO, I2C, and SPI.
- ex2ms - Translates Elixir functions to match specifications for use with
- ex_conf - Simple Elixir Configuration Management.
- exprint - A printf / sprintf library for Elixir. It works as a wrapper for :io.format.
- exprotobuf - Protocol Buffers in Elixir made easy.
- exquisite - LINQ-like match_spec generation for Elixir.
- figaro - Simple Elixir project configuration.
- fsm - Finite state machine as a functional data structure.
- libex_config - Helpers for accessing OTP application configuration.
- message_pack - MessagePack Implementation for Elixir.
- porcelain - Porcelain implements a saner approach to launching and communicating with external OS processes from Elixir.
- radpath - A path library for Elixir inspired by Python path libraries.
- signaturex - Simple key/secret based authentication for APIs.
- spawndir - Spawns processes from the file system.
Various resources, such as books, websites and articles, for improving your Elixir development skills and knowledge.
Useful web and Elixir-related websites and newsletters.
- Elixir Github Repository - The project repository.
- Elixir Github Wiki - The projects wiki, containing many usefull information.
Fantastic books and e-books.
- Programming Elixir - The book provides introduction to functional and concurrent programming with Elixir by Dave Thomas (2014).
- Elixir in Action - A brief intro to the language followed by a more detailed look at building production-ready systems in Elixir by Saša Jurić (2014).
- The Little Elixir & OTP Guidebook - A book for learning Elixir and OTP through small to medium-sized projects by Benjamin Tan Wei Hao (2014).
- Études for Elixir - A collection of exercises to program in Elixir by J. David Eisenberg (2013).
- Introducing Elixir - A gentle introduction to the language, with lots of code examples and exercises by Simon St. Laurent and J. David Eisenberg (2013).
General web-development-related reading materials.
Elixir-releated reading materials.
- Elixir Cheat-Sheet - A Elixir cheat sheet by Andy Hunt & Dave Thomas.
Cool video tutorials.
- Elixir Sips - Tiny screencasts for learning Elixir.
Other Awesome Lists
Other amazingly awesome lists can be found in the awesome-awesomeness list.
Please see CONTRIBUTING for details.