h4cc / awesome-elixir

A curated list of amazingly awesome Elixir and Erlang libraries, resources and shiny things. Updates:
https://twitter.com/AwesomeElixir
MIT License
12.66k stars 1.17k forks source link

Awesome Elixir CI Badge Awesome

A curated list of amazingly awesome Elixir libraries, resources, and shiny things inspired by awesome-php.

If you think a package should be added, please add a :+1: (:+1:) at the according issue or create a new one.

There are other sites with curated lists of elixir packages which you can have a look at.

Actors

Libraries and tools for working with actors and such.

Algorithms and Data structures

Libraries and implementations of algorithms and data structures.

Applications

Standalone applications.

Artificial Intelligence

When your code becomes smarter than you.

Audio and Sounds

Libraries working with sounds and tones.

Authentication

Libraries for implementing authentication schemes.

Authorization

Libraries for implementing Authorization handling.

Behaviours and Interfaces

Definitions how something should behave, like Interfaces from OOP-World

Benchmarking

Running code to see how long it takes, which is faster and/or if improvements have been made.

Bittorrent

Sharing is caring with Elixir

BSON

Libraries and implementations working with BSON.

Build Tools

Project build and automation tools.

Caching

Libraries for caching data.

Chatting

Chatting via IRC, Slack, HipChat and other systems using Elixir.

Cloud Infrastructure and Management

Applications, tools and libraries for your own cloud service.

Code Analysis

Libraries and tools for code base analysis, parsing, and manipulation.

Command Line Applications

Anything helpful for building CLI applications.

Configuration

Libraries and tools working with configurations

Cryptography

Encrypting and decrypting data

CSV

Libraries and implementations working with CSV.

Data Visualization

Libraries for creating visualizations with data.

Date and Time

Libraries for working with dates and times.

Debugging

Libraries and tools for debugging code and applications.

Deployment

Installing and running your code automatically on other machines.

Documentation

Libraries and tools for creating documentation.

Domain-specific language

Specialized computer languages for a particular application domain.

ECMAScript

Implementations working with JavaScript, JScript or ActionScript.

Email

Working with Email and stuff.

Embedded Systems

Embedded systems development.

Encoding and Compression

Transforming data in different formats or compressing it.

Errors and Exception Handling

Working with errors and exceptions.

Eventhandling

Sending/Emitting and receiving/handling Events in Elixir.

Examples and funny stuff

Example code and stuff too funny or curious not to mention.

Feature Flags and Toggles

Libraries to manage feature toggles (AKA feature flags): ON/OFF values that can be toggled at runtime through some interface

Feeds

Libraries working with feeds like RSS or ATOM.

Files and Directories

Libraries and implementations for working with files and directories.

Forms

Handling web forms and similar stuff.

Framework Components

Standalone component from web development frameworks.

Frameworks

Web development frameworks.

Games

Libraries for and implementations of games.

Geolocation

Libraries for geocoding addresses and working with latitudes and longitudes.

GUI

Libraries for writing Graphical User Interfaces.

Hardware

Hardware related things like I/O interfaces and such.

HTML

Libraries and implementations working with HTML (for xml tools please go to the XML section).

HTTP

Libraries for working with HTTP and scraping websites.

Images

Libraries for working with and manipulating images.

Instrumenting / Monitoring

Libraries for collecting and exporting metrics.

JSON

Libraries and implementations working with JSON.

Languages

Languages built on top of Elixir.

Lexical analysis

All about lexical analyser, lexer, scanner, tokenizer or compiler.

Logging

Logging infos and messages.

Macros

Macros for faster and easier development. Sugar for your code.

Markdown

Libraries and tools working with Markdown and such.

Miscellaneous

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

Native Implemented Functions

Tools and libraries working with Erlang NIF.

Natural Language Processing (NLP)

Tools and libraries that work with human (natural) languages.

Networking

Libraries and tools for using network related stuff.

Office

Libraries for working with office suite documents.

ORM and Datamapping

Libraries that implement object-relational mapping or datamapping techniques.

OTP

Libraries for working with OTP related things.

Package Management

Libraries and tools for package and dependency management.

PDF

Libraries and software for working with PDF files.

Protocols

Special protocol and format libraries.

Queue

Libraries for working with event and task queues.

QUIC

Libraries and tools for QUIC transport layer network protocol.

Release Management

Libraries and tools for release management.

REST and API

Libraries and web tools for developing REST-ful APIs.

Search

Libraries related to search indexing, search algorithms and search clients.

Security

Libraries and tools regarding security.

SMS

SMS related libraries and tools.

Static Page Generation

Tools and libraries for generating static websites and content.

Statistics

Libraries around the topic statistics.

Templating

Libraries parsing and helping with templates

Testing

Libraries for testing codebases and generating test data.

Text and Numbers

Libraries for parsing and manipulating text and numbers.

Third Party APIs

Libraries for accessing third party APIs.

Translations and Internationalizations

Libraries and tools providing translations or internationalizations.

Utilities

Utilities libraries.

Validations

Libraries and implementations for validation of data.

Version Control

Working with version control like git, mercury, subversion ...

Video

Libraries for working with and manipulating video and multimedia.

WebAssembly

Libraries for running WebAssembly (WASM) in Elixir or running Elixir on WebAssembly.

XML

Libraries and implementations working with XML (for html tools please go to the HTML section).

YAML

Libraries and implementations working with YAML.

Resources

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

Books

Fantastic books and e-books.

Cheat Sheets

Useful Elixir-related cheat sheets.

Community

Getting in contact with the community via chat or mailinglist.

Editors

Editors and IDEs useable for Elixir/Erlang

Newsletters

Useful Elixir-related newsletters.

Other Awesome Lists

Other amazingly awesome lists can be found at jnv/lists or bayandin/awesome-awesomeness.

Podcasts

Podcasts discussing the Elixir language and community.

Reading

Elixir-related reading materials.

Screencasts

Cool video tutorials.

Styleguides

Styleguides for ensuring consistency while coding.

Websites

Useful Elixir-related websites.

Contributing

Please see CONTRIBUTING for details.