A curated list of amazingly awesome Elixir libraries, resources and shiny thing inspired by awesome-php.
- Awesome Elixir
- Actors
- Algorithms and Datastructures
- Authentication
- Build Tools
- Caching
- Code Analysis
- Configuration
- CSV
- Date and Time
- Debugging
- Files and Directories
- Framework Components
- Frameworks
- Geolocation
- Hardware
- HTTP
- Images
- JSON
- Markdown
- Miscellaneous
- Networking
- ORM and Datamapping
- OTP
- Package Management
- Protocols
- Queue
- Release Management
- REST and API
- Static Page Generation
- Statistics
- Testing
- Text and Numbers
- Third Party APIs
- Translations and Internationalizations
- Validations
- XML
- Resources
- Contributing
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.
Libraries and implementations of algorithms and datastructures.
- array - An Elixir wrapper library for Erlang's array.
- hash_ring_ex - A consistent hash ring implemention for Elixir.
- lfsr - Elixir implementation of a binary Galois Linear Feedback Shift Register.
- fsm - Finite state machine as a functional data structure.
Libraries for implementing authentications schemes.
- oauther - An OAuth 1.0 implementation for Elixir.
Project build and automation tools.
- ExMake - A modern, scriptable, dependency-based build tool loosely based on Make principles.
- rotor - Super-simple build system for Elixir.
- coffee_rotor - Rotor plugin to compile CoffeeScript files.
Libraries for caching data.
- con_cache - ConCache is an ETS based key/value storage.
Libraries and tools for analysing, parsing and manipulation codebases.
- coverex - Coverage Reports for Elixir.
- excoveralls - Coverage report tool for Elixir with coveralls.io integration.
- exprof - A simple code profiler for Elixir using eprof.
- dialyxir - Mix tasks to simplify use of Dialyzer in Elixir projects.
Libraries and tools working with configurations
- figaro - Simple Elixir project configuration.
- conform - Easy release configuration for Elixir apps.
- ex_conf - Simple Elixir Configuration Management.
Libraries and implementations working with CSV.
- cesso - CSV handling library for Elixir.
- csvlixir - A CSV reading/writing application for Elixir.
- ex_csv - CSV for Elixir.
Libraries for working with dates and times.
- chronos - An elixir date/time library.
- timex - Easy to use Date and Time modules for Elixir.
- timex_interval - A date/time interval library for Elixir projects, based on Timex.
- moment - Parse, validate, manipulate, and display dates in Elixir.
Libraries and tools for debugging code and applications.
Libraries and implementations for working with files and directories.
- dir_walker - DirWalker lazily traverses one or more directory trees, depth first, returning successive file names.
- radpath - A path library for Elixir inspired by Python path libraries.
Standalone component from web development frameworks.
- flinch - Resource layer for Phoenix and Ecto projects for auto-generated RESTful CRUD APIs.
- plug - A specification and conveniences for composable modules in between web applications.
- webassembly - Web DSL for Elixir.
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.
- placid - A REST toolkit for building highly-scalable and fault-tolerant HTTP APIs with Elixir.
- sugar - Modular web framework for Elixir.
- weber - Web framework for Elixir inspired by Rails.
Libraries for geocoding addresses and working with latitudes and longitudes.
- geo - A collection of GIS functions for Elixir.
Hardware related things like I/O interfaces and such.
- elixir_ale - Elixir access to hardware I/O interfaces such as GPIO, I2C, and SPI.
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 working with and manipulating images.
- exexif - Pure elixir library to extract tiff and exif metadata from jpeg files.
Libraries and implementations working with JSON.
- exjson - JSON parser and genarator in Elixir.
- jazz - Yet another library to handle JSON in Elixir.
- joken - Encodes and decodes JSON Web Tokens.
- jsex - json for elixir.
- jsx - an erlang application for consuming, producing and manipulating json.
- jsxn - jsx but with maps.
Libraries and tools working with Markdown and such.
Useful libraries or tools that don't fit in the categories above.
- Apex - Awesome Print for Elixir.
- ex2ms - Translates Elixir functions to match specifications for use with
ets
. - exprint - A printf / sprintf library for Elixir. It works as a wrapper for :io.format.
- exquisite - LINQ-like match_spec generation for Elixir.
- ex_rated - Simple and flexible rate-limiting for API's or anything.
- funnel - Streaming Elixir API built upon ElasticSearch's percolation.
- mdef - Easily define multiple function heads in elixir.
- porcelain - Porcelain implements a saner approach to launching and communicating with external OS processes from Elixir.
- reprise - Simplified module reloader for Elixir.
- spawndir - Spawns processes from the file system.
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.
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.
- exredis - Redis client for Elixir.
- exts - Elixir Terms Storage, ets wrapper.
- postgrex - PostgreSQL driver for Elixir.
- ssdb_elixir - ssdb client for Elixir with focus on performance.
Libraries for working with OTP related things.
- core - Library for selective receive OTP processes.
- libex_config - Helpers for accessing OTP application configuration.
Libraries and tools for package and dependency management.
- Hex - A package manager for the Erlang ecosystem.
Special protocol and format libraries.
- message_pack - MessagePack Implementation for Elixir.
- exprotobuf - Protocol Buffers in Elixir made easy.
Libraries for working with event and task queues.
- exrabbit - RabbitMQ bindings and DSL for Elixir.
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.
Libraries and web tools for developing REST-ful APIs.
- lazymaru - Elixir copy of grape for creating REST-like APIs.
- signaturex - Simple key/secret based authentication for APIs.
- urna - Urna is a simple DSL around cauldron to implement REST services.
Tools and libraries for generating static websites and content.
- coil - Minimalistic static content engine.
Libraries around the topic statistics.
- statistics - Some basic statistical functions for Elixir.
- descriptive_statistics - Descriptive Statistics for Elixir.
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.
- hound - Elixir library for writing integration tests and browser automation.
Libraries for parsing and manipulating text and numbers.
- calliope - An elixir haml parser.
- cldr - cldr is a library to use information from CLDR data.
- colorful - Elixir macros to decorate characters on CUI.
- colors - Colors util written in Elixir.
- decimal - Arbitrary precision decimal arithmetic for Elixir.
- event_source_encoder - Encode data into EventSource compliant data.
- inflex - An Inflector library for Elixir.
- pinyin - chinese pinyin lib for elixir.
- saltie - Saltie is a pseudo-encryption library primarily used for obfuscating numerical identifiers to opaque strings.
- uuid - UUID generator and utilities for Elixir.
- exmoji - Emoji encoding swiss army knife for Elixir/Erlang.
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.
- ex_omegle - A minimal Omegle chat client library for Elixir.
- facebook - Facebook Graph API Wrapper written in Elixir.
- parsex - ParsEx is an Elixir HTTP Client for communicating with Parse.com's Restful API.
- parse_client - Elixir client for the parse.com REST API.
- reap - Reap is a simple Elixir library for working with the refheap API.
- simplex - An Elixir library for interacting with the Amazon SimpleDB API.
Libraries providing translations or internationalizations.
- linguist - Elixir Internationalization library.
Libraries and implementations for validation of data.
- vex - An extensible data validation library for Elixir.
Libraries and implementations working with XML.
- quinn - XML parser for Elixir.
- xml_builder - Elixir library for generating xml.
- exmerl - Elixir wrapper for xmerl.
Various resources, such as books, websites and articles, for improving your Elixir development skills and knowledge.
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).
- Elixir for the functional Rubyist - Not yet released. By Johnny Winn.
- Erlang in Anger - This book intends to be a little guide about how to be the Erlang medic in a time of war by Fred Hebert (2014).
Other amazingly awesome lists can be found at jnv/lists.
- Awesome Erlang - A curated list of awesome Erlang libraries, resources and shiny things.
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.
Useful web and Elixir-related websites and newsletters.
- Elixir Github Repository - The project repository.
- Elixir Github Wiki - The projects wiki, containing many usefull information.
- How i start - Elixir - Explanation and intro to Elixir by José Valim.
- Elixir Quiz - Weekly programming problems to help you learn Elixir.
Please see CONTRIBUTING for details.