An open API service indexing awesome lists of open source software.

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: 2 days ago
JSON representation

  • ORM and Datamapping

    • ecto - A database wrapper and language integrated query for Elixir.
    • ecto_anon - Simple way to handle data anonymization directly in your Ecto schemas.
    • ecto_cassandra - Cassandra DB Adapter for Ecto.
    • ecto_enum - Ecto extension to support enums in models.
    • ecto_facade - Ecto facade that allows to separate writes and reads to different databases.
    • ecto_fixtures - Fixtures for Elixir apps using Ecto.
    • ecto_lazy_float - Ecto.LazyFloat - An Ecto.Float that accepts binary and integers.
    • ecto_list - Simple ordered model management with Ecto.
    • ecto_migrate - Ecto auto migration library. It allows to generate and run migrations for initial and update migrations.
    • ecto_mnesia - Ecto adapter for Mnesia Erlang term database.
    • ecto_ordered - Ecto extension for ordered models.
    • ecto_paging - Cursor-based pagination for Ecto.
    • ecto_psql_extras - Ecto PostgreSQL database performance insights.
    • ecto_rut - Simple and Powerful Ecto Shortcuts to simplify and speed up development.
    • ecto_shortcuts - Shortcuts for common operations in ecto.
    • ecto_shortuuid - Ecto type which adds support for [ShortUUIDs](https://github.com/gpedic/ex_shortuuid).
    • ecto_validation_case - Simplify your Ecto model validation tests. Loosely inspired by shoulda matchers, but simpler.
    • ectophile - Ecto extension to instantly support file uploads in models.
    • elastic - A thin-veneer over HTTPotion to help you talk to Elastic Search.
    • elastix - A simple Elastic REST client written in Elixir.
    • eredis - Erlang Redis client.
    • erlastic_search - An Erlang app for communicating with Elastic Search's rest interface.
    • esqlite - Erlang NIF for sqlite.
    • eternal - Keep your ETS tables alive forever, safely and easily.
    • ets_map - An Elixir package that provides a Map-like interface (Map/Access/Enumerable/Collectable) backed by an ETS table.
    • ex_bitcask - Elixir wrapper of Basho's Bitcask Key/Value store.
    • ex_sider - Elixir Map/List/Set interfaces for Redis data structures (uses Redix, but that is configurable).
    • exleveldb - Elixir wrapper around Basho's eleveldb module for LevelDB.
    • exnumerator - Elixir enumerable type definition in a simple way to be used with any database.
    • exseed - An Elixir library that provides a simple DSL for seeding databases through Ecto.
    • exsolr - A Solr wrapper written in Elixir.
    • extreme - An Elixir library using [Eventstore](https://geteventstore.com) for persistence of events generated by aggregates (CQRS).
    • exts - Elixir Terms Storage, ets wrapper.
    • github_ecto - Ecto adapter for GitHub API.
    • gremlex - Apache Tinkerpop Gremlin Elixir Client.
    • inquisitor - Composable query builder for Ecto.
    • isn - Ecto types for the postgreSQL isn extension.
    • kalecto - Glue between Kalends and Ecto for saving dates, times and datetimes.
    • kvs - Erlang Abstract Term Database.
    • level - Level for Elixir implements various helper functions and data types for working with Googles Level data store.
    • mariaex - MariaDB/MySQL driver for Elixir.
    • memento - Simple Mnesia Interface in Elixir.
    • moebius - A functional query tool for Elixir and PostgreSQL.
    • mongo - MongoDB driver for Elixir.
    • mongodb_driver - Alternative driver for MongoDB with support for recent versions of MongoDB and comprehensive feature list.
    • mysql - MySQL/OTP – MySQL driver for Erlang/OTP.
    • mysqlex - An Ecto-compatible wrapper around the mysql-otp library.
    • neo4j_sips - Neo4j driver for Elixir.
    • neo4j_sips_models - Minimalistic Model support for the Neo4j.Sips Elixir driver.
    • panoramix - Apache Druid client for Elixir.
    • paper_trail - Ecto plugin for tracking and recording all the changes in your database.
    • postgrex - PostgreSQL driver for Elixir.
    • ravix - RavenDB Driver for Elixir.
    • ravix-ecto - RavenDB Ravix Driver adapter for Ecto.
    • red - Persist relationships between objects in Redis, in a graph-like way.
    • rediscl - A minimal redis client with connection pooling and pipe query builder.
    • redix - Superfast, pipelined, resilient Redis driver for Elixir.
    • redo - Heroku's pipelining redis client for erlang.
    • rethinkdb - Rethinkdb client in pure Elixir using JSON protocol.
    • riak - A Riak client written in Elixir.
    • riak_ecto - Riak adapter for Ecto.
    • shards - Transparent and out-of-box Sharding support for Erlang/Elixir ETS tables.
    • sql_dust - Generate (complex) SQL queries using magical Elixir SQL dust.
    • sqlite_ecto - SQLite3 adapter for Ecto.
    • sqlitex - An Elixir wrapper around esqlite. Allows access to sqlite3 databases.
    • ssdb_elixir - ssdb client for Elixir, with focus on performance.
    • tds - MSSQL / TDS Database driver for Elixir.
    • tds_ecto - MSSQL / TDS Adapter for Ecto.
    • timex_ecto - An adapter for using Timex DateTimes with Ecto.
    • tirexs - An Elixir flavored DSL for building JSON based requests to Elasticsearch engine.
    • triplex - Database multitenancy with postgres schemas for Elixir applications.
    • triton - Pure Elixir Cassandra ORM built on top of Xandra.
    • udpflux - An opinionated InfluxDB UDP only client.
    • walex - PostgreSQL Change Data Capture (CDC) events listener in Elixir.
    • yar - Yet another Redis client for Elixir.
    • ecto_watch - Allows you to easily get notifications about database changes directly from PostgreSQL.
    • eredis - Erlang Redis client.
    • libsqlex - Libsql driver for Elixir.
    • couchdb_connector - A connector for CouchDB, the Erlang-based, JSON document database.
    • ets_map - An Elixir package that provides a Map-like interface (Map/Access/Enumerable/Collectable) backed by an ETS table.
    • mongodb - MongoDB driver for Elixir.
    • mongodb_ecto - MongoDB adapter for Ecto.
    • pillar - Clickhouse HTTP based client.
    • ssdb_elixir - ssdb client for Elixir, with focus on performance.
    • tds - MSSQL / TDS Database driver for Elixir.
    • xandra - Cassandra driver built natively in Elixir and focused on speed, simplicity, and robustness.
    • eventstore - A CQRS EventStore using Postgres for persistence, written in Elixir.
    • exredis - Redis client for Elixir.
  • Other Awesome Lists

  • OTP

    • core - Library for selective receive OTP processes.
    • erlexec - Execute and control OS processes from Erlang/OTP.
    • immortal - Immortal is a small collection of helper modules intended to make it easier to build a fault-tolerant OTP application.
    • libex_config - Helpers for accessing OTP application configuration.
  • Package Management

    • Hex - A package manager for the Erlang ecosystem.
    • rebar3_hex - Hex.pm plugin for rebar3.
    • rebar3_hex - Hex.pm plugin for rebar3.
  • PDF

    • chromic_pdf - A client for Chrome's DevTools API to generate PDFs (HTML to PDF).
    • gutenex - Native PDF generation for Elixir.
    • pdf2htmlex - Convert PDF docs to beautiful HTML files without losing text or format.
    • pdf_generator - A simple wrapper for wkhtmltopdf or puppeteer (HTML to PDF) for use in Elixir projects.
    • puppeteer_pdf - Another wrapper around puppeteer (HTML to PDF) for use in Elixir projects.
    • gutenex - Native PDF generation for Elixir.
  • Podcasts

  • Protocols

    • borsh - Elixir implementation of the [BORSH](https://borsh.io) binary serializer.
    • elixir_radius - RADIUS Protocol on Elixir.
    • ex_hl7 - Health Level 7 (HL7) is a protocol designed to model and transfer health-related data electronically.
    • ex_marshal - Ruby Marshal format implemented in Elixir.
    • exprotobuf - Protocol Buffers in Elixir, made easy.
    • message_pack - MessagePack Implementation for Elixir.
    • msgpax - MessagePack (de)serializer implementation for Elixir.
    • protox - Elixir implementation for Protocol Buffers.
    • riffed - Provides idiomatic Elixir bindings for Apache Thrift.
    • Sippet - An Elixir library designed to be used as SIP protocol middleware.
    • SMPPEX - SMPP 3.4 protocol and framework implementation in Elixir.
    • grpc-elixir - The Elixir implementation of gRPC.
  • Queue

    • stream_weaver - Library for working with streams.
    • adap - Create a data stream across your information systems to query, augment and transform data according to Elixir matching rules.
    • amqp - Simple Elixir wrapper for the Erlang RabbitMQ client, based on Langohr.
    • broadway - Concurrent and multi-stage data ingestion and data processing with Elixir.
    • conduit - A framework for working with message queues, with adapters for SQS and AMQP, and plugs for reusable messaging patterns.
    • cspex - Simple, OTP compliant, Elixir implementation of CSP channels.
    • dbus - A dumb message bus for sharing data between microservices decoupled using Redis.
    • ecto_job - A transactional job queue built with Ecto, PostgreSQL and GenStage.
    • elixir_nsq - NSQ client library for Elixir.
    • elixir_talk - An Elixir client for beanstalkd.
    • enm - enm is an Erlang port driver that wraps the nanomsg C library.
    • exdisque - Elixir client for [Disque](https://github.com/antirez/disque), an in-memory, distributed job queue.
    • exq - Job processing library for Elixir - compatible with Resque/Sidekiq.
    • exrabbit - RabbitMQ bindings and DSL for Elixir.
    • faktory_worker - An Elixir library for working with [Faktory](https://contribsys.com/faktory/), a polyglot job processing system made by the author of Sidekiq.
    • flume - A blazing fast job processing system backed by GenStage & Redis.
    • gen_rmq - Set of behaviours meant to be used to create RabbitMQ consumers and publishers.
    • heapq - A Heap-based Priority Queue Implementation in Elixir.
    • honeycomb - Another scheduling system, focusing on the collection of results for one-time tasks.
    • honeydew - Honeydew is a worker pool library for Elixir.
    • hulaaki - An MQTT 3.1.1 client library written in Elixir.
    • kaffe - Kafka client library for Elixir.
    • mqs - RabbitMQ client library, routing keys, RPC over MQ and other stuff.
    • opq - A simple, in-memory queue with worker pooling and rate limiting in Elixir.
    • pqueue - Erlang Priority Queue Implementation.
    • que - Simple Background Job Processing with Mnesia.
    • queuex - Priority Queue with multiple backends.
    • RBMQ - Simple API for spawning RabbitMQ Producers and Consumers.
    • task_bunny - background processing application written in Elixir and uses RabbitMQ as a messaging backend.
    • toniq - Simple and reliable background job library for Elixir.
    • verk - Verk is a job processing system backed by Redis. It uses the same job definition of Sidekiq/Resque.
    • work_queue - Simple implementation of the hungry-consumer model in Elixir.
    • oban - Robust asynchronous job processor powered by Elixir and modern PostgreSQL.
    • adap - Create a data stream across your information systems to query, augment and transform data according to Elixir matching rules.
    • mqs - RabbitMQ client library, routing keys, RPC over MQ and other stuff.
    • Rihanna - High performance postgres-backed job queue for Elixir.
  • QUIC

    • quicer - QUIC protocol erlang library.
  • Reading

  • Release Management

    • changex - Automated changelog generation from GIT logs.
    • distillery - A pure Elixir implementation of release packaging functionality for the Erlang VM.
    • eliver - Interactive semantic versioning for Elixir packages.
    • expublish - Automates semantic release versioning and best practices for elixir packages.
    • exrm - Automatically generate a release for your Elixir project.
    • exrm_deb - Create a deb for your Elixir release with ease.
    • exrm_heroku - Publish your Elixir releases to Heroku with ease.
    • exrm_rpm - Create a RPM for your Elixir release with ease.
    • mix_docker - Put your Elixir app production release inside minimal docker image.
    • relex - Erlang/Elixir Release Assembler.
    • renew - Mix task to create mix projects that builds into Docker containers.
    • versioce - An extensible version bumping and changelog generation for your mix project.
  • REST and API

    • accent - Plug for handling the conversion of JSON API keys to different cases.
    • detergent - An emulsifying Erlang SOAP library.
    • detergentex - Elixir binding to Detergent erlang library used to call WSDL/SOAP Services.
    • mazurka - Hypermedia API toolkit.
    • plug_rest - REST behaviour and Plug router for hypermedia web applications.
    • signaturex - Simple key/secret based authentication for APIs.
    • SOAP client - Hex-documented SOAP client based on HTTPoison.
    • urna - Urna is a simple DSL around cauldron to implement REST services.
    • versionary - API versioning for Elixir Plug and Phoenix.
    • accent - Plug for handling the conversion of JSON API keys to different cases.
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