List.community

Awesome Erlang Awesome Analytics

A curated list of amazingly awesome Erlang libraries, resources and shiny thing inspired by awesome-elixir7k 765 .

Package Management

Libraries and tools for package and dependency management.

  • hex.pm - A package manager for the Erlang ecosystem.

Release Management

Libraries and tools for release management.

  • relx498 171 - A release assembler for Erlang.

Configuration Management

Libraries and tools related to configuration management.

  • stillir30 9 - Cache environment variables as Erlang app variables.

Codebase Maintenance

Libraries and tools to maintain a clean codebase.

  • elvis310 79 - Erlang Style Reviewer.

Web Frameworks

Web development frameworks.

  • Axiom195 22 - A micro-framework, inspired by Ruby's Sinatra10k 2k .
  • ChicagoBoss2k 369 - A server framework inspired by Rails and written in Erlang.
  • cowboy5k 1k - A simple HTTP server.
  • Giallo55 6 - A small and flexible web framework on top of Cowboy5k 1k .
  • MochiWeb2k 460 - An Erlang library for building lightweight HTTP servers.
  • N2O355 74 - WebSocket Application Server.
  • Nitrogen877 158 - Framework to build web applications (including front-end) in pure Erlang.
  • Zotonic585 217 - High speed, real-time web framework and content management system.

Web Framework Components

Standalone component from web development frameworks.

  • cb_admin66 34 - An admin interface for Chicago Boss.
  • cb_websocket_controller6 2 - A template for implementing a Websocket controller for ChicagoBoss.
  • giallo_session8 4 - A session management library for the Giallo web framework.
  • simple_bridge99 66 - An abstraction layer providing a unified interface to popular Erlang web servers (Cowboy, Inets, Mochiweb, Webmachine, and Yaws).

HTTP

Libraries for working with HTTP and scraping websites.

  • bullet - Simple, reliable, efficient streaming for Cowboy.
  • gun235 83 - Erlang HTTP client with support for HTTP/1.1, SPDY and Websocket.
  • hackney816 286 - Simple HTTP client in Erlang.
  • ibrowse488 187 - Erlang HTTP client.
  • lhttpc96 86 - A lightweight HTTP/1.1 client implemented in Erlang.
  • shotgun115 31 - For the times you need more than just a gun.

Testing

Libraries for testing codebases and generating test data.

  • PropEr558 130 - A QuickCheck-inspired property-based testing tool for Erlang.
  • tracerl8 5 - Dynamic tracing tests and utilities for Erlang/OTP

Logging

Libraries for generating and working with log files.

Monitoring

Libraries for gathering metrics and monitoring.

  • entop158 33 - A top-like Erlang node monitoring tool.
  • eper413 129 - A loose collection of Erlang Performance related tools.
  • Exometer406 100 - An Erlang instrumentation package.
  • folsom424 121 - An Erlang based metrics system inspired by Coda Hale's metrics111 3 .
  • statsderl82 39 - A statsd Erlang client.
  • vmstats156 31 - Tiny Erlang app that works in conjunction with statsderl in order to generate information on the Erlang VM for graphite logs.

Deployment

Libraries and tools related to deployment of Erlang/OTP applications.

Distributed Systems

Tools for stress/load testing, latency issues, etc. across microservices.

  • Typhoon156 23 - Stress and load testing tool for distributed systems that simulates traffic from a test cluster toward a system-under-test (SUT) and visualizes related latencies.

Code Analysis

Libraries and tools for analysing, parsing and manipulation codebases.

  • Concuerror117 14 - Concuerror is a systematic testing tool for concurrent Erlang programs.
  • eflame104 15 - A Flame Graph profiler for Erlang.

Build Tools

Project build and automation tools.

  • rebar1k 369 - Erlang build tool that makes it easy to compile and test Erlang applications, port drivers and releases.
  • rebar3276 122 - A build tool for Erlang which can manage Erlang packages from Hex.pm. See more at rebar3.org
  • sync415 106 - On-the-fly recompiling for Erlang.

Geolocation

Libraries for geocoding addresses and working with latitudes and longitudes.

  • erl-rstar9 9 - An Erlang implementation of the R*-tree spacial data structure.
  • GeoCouch497 61 - A spatial extension for Couchbase and Apache CouchDB.
  • Teles7 3 - An Erlang network service for manipulating geographic data.

Debugging

Libraries and tools for debugging code and applications.

  • tx41 1 - An HTML Erlang term viewer, starts own webserver and displays any term you give it from your Erlang node.

Actors

Libraries and tools for working with actors and such.

  • poolboy945 247 - A hunky Erlang worker pool factory.

Date and Time

Libraries for working with dates and times.

  • erlang_localtime27 20 - Erlang library for conversion from one local time to another.
  • qdate191 58 - Erlang date, time, and timezone management: formatting, conversion, and date arithmetic.

ORM and Datamapping

Libraries that implement object-relational mapping or datamapping techniques.

  • boss_db79 58 - A sharded, caching, pooling, evented ORM for Erlang.
  • epgsql217 101 - PostgreSQL Driver for Erlang.
  • mysql-otp203 74 - MySQL/OTP – MySQL driver for Erlang/OTP.
  • pgsql_migration12 6 – PostgreSQL migrations for Erlang.

Queue

Libraries for working with event and task queues.

  • dq22 1 - Distributed Fault Tolerant Queue library.
  • ebqueue - Tiny simple blocking queue in erlang.
  • pqueue89 15 - Erlang Priority Queues.
  • tinymq105 40 - A diminutive, in-memory message queue for Erlang.

Authentication

Libraries for implementing authentications schemes.

  • oauth2201 62 - Erlang Oauth2 implementation.

Text and Numbers

Libraries for parsing and manipulating text and numbers.

  • eql47 3 - Erlang with SQL or not.
  • jiffy672 247 - JSON NIFs for Erlang.
  • jsonrec8 4 - JSON encoder/decoder with the ability to map to records.
  • jsx575 180 - An erlang application for consuming, producing and manipulating json.
  • qsp12 2 - Enhanced query string parser for Erlang.

REST and API

Libraries and web tools for developing REST-ful APIs.

  • leptus161 18 - Leptus is an Erlang REST framework that runs on top of cowboy.

Caching

Libraries for caching data.

  • cache80 23 - In-memory Segmented Cache

Third Party APIs

Libraries for accessing third party APIs.

  • restc68 36 - An Erlang REST client
  • oauth2c58 27 - An Erlang oAuth 2 client (uses restc)

Networking

Libraries and tools for using network related stuff.

  • barrel_tcp - barrel_tcp is a generic TCP acceptor pool with low latency in Erlang.
  • gen_rpc132 19 - A scalable RPC library for Erlang-VM based languages.
  • gen_tcp_server7 7 - A library that takes the concept of gen_server and introduces the same mechanics for operating a TCP server.
  • gossiperl37 4 - Language agnostic gossip middleware and message bus written in Erlang.
  • nat_upnp27 4 - Erlang library to map your internal port to an external using UNP IGD.
  • ranch743 267 - Socket acceptor pool for TCP protocols.

Internet of Things

Libraries and tools for interacting with the physical world.

  • lemma_erlang - A lemma for IDEO's Noam internet-of-things prototyping platform.

Algorithms and Datastructures

Libraries and implementations of algorithms and datastructures.

  • erlando - A set of syntax extensions like currying and monads for Erlang.
  • statebox243 19 - Erlang state "monad" with merge/conflict-resolution capabilities.
  • riak_dt224 52 - Erlang library of state based CRDTs.

Translations and Internationalizations

Libraries providing translations or internationalizations.

Miscellaneous

Useful libraries or tools that don't fit in the categories above.

  • erlang-history442 31 - Hacks to add shell history to Erlang's shell.
  • erld136 30 - erld is a small program designed to solve the problem of running Erlang programs as a UNIX daemon.

Resources

Various resources, such as books, websites and articles, for improving your Erlang development skills and knowledge.

Websites

Useful web and Erlang-related websites and newsletters.

  • Erlang Bookmarks484 105 - All about erlang programming language [powerd by community].
  • Erlang Central - An awesome collections of erlang resource along with live community chat for discussing and seeking help.
  • Planet Erlang - Planet site/RSS feed of blog posts covering topics across the Erlang ecosystem.
  • Spawned Shelter - Erlang Spawned Shelter. A collection of the best articles, videos and presentations related to Erlang.

Books

Fantastic books and e-books.

Web Reading

General web-development-related reading materials.

Erlang Reading

Erlang-releated reading materials.

Screencasts

Cool video tutorials.

Contributing

Please see CONTRIBUTING for details.