Elixir Erlang

Open-source Elixir projects categorized as Erlang

Top 23 Elixir Erlang Projects

  • floki

    Floki is a simple HTML parser that enables search for nodes using CSS selectors.

  • supavisor

    A cloud-native, multi-tenant Postgres connection pooler.

  • Project mention: PostgreSQL Is Enough | news.ycombinator.com | 2024-02-06

    WalEx instead of pub/sub (listen/subscribe): https://github.com/cpursley/walex

    Supavisor connection pooler: https://github.com/supabase/supavisor

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • desktop

    Building native-like Elixir apps for Windows, MacOS, Linux, iOS and Android using Phoenix LiveView! (by elixir-desktop)

  • fastglobal

    Fast no copy globals for Elixir & Erlang.

  • Project mention: Show HN: I rewrote the 1990's LambdaMOO server from scratch | news.ycombinator.com | 2023-09-23

    > State has to be owned by a process - who owns the state of the world? ... Keep in mind, when data is passed "between" processes it is deep copied.

    The Erlang runtime has other stateful things besides processes, and manipulating data within these and/or getting a handle on data in these places doesn't necessarily involve copying.

    • ETS tables, which hold state privately to themselves (with copying in/out) in a similar way to how processes do. If you manipulate data inside ETS tables by "sending compute to data" (think Redis INCR) rather than by "sending data to compute", then no copying happens.

    • "Globals" in the form of data compiled into read-only versioned modules loaded into the modules table and available to be referenced from any/all active processes, only copied if the module gets unloaded before the process dies. (Originally this was just a design pattern — https://github.com/discord/fastglobal — but it eventually became its own runtime feature in Erlang 22, https://www.erlang.org/doc/man/persistent_term).

    • Large binaries (anything over 64 bytes) aren't allocated in an actor's memory arena, but instead are allocated in a special global-per-node binaries heap, and then ref-counted, where each actor-process holds one reference to each large-binary it's using, and then each read-only slice of that binary, in turn holds a reference to the per-actor reference handle for the binary. One clever technique for sharing a large "database" of data between many actors, is to store the data encoded in a large binary in an encoding that is efficient to partwise-decode; and have the "lookup" operation just parse+decode the appropriate data out of the binary. (This is how erlang:module_info/2 used to work — the global modules-table itself holding a set of references to the loaded modules' binaries, which module_info would then parse metadata out of on demand.)

  • Wobserver

    Web based metrics, monitoring, and observer

  • graphql

    GraphQL Elixir (by graphql-elixir)

  • Crawly

    Crawly, a high-level web crawling & scraping framework for Elixir.

  • Project mention: Crawly – Elixir web scraping framework | news.ycombinator.com | 2023-08-26
  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • memento

    Simple + Powerful interface to the Mnesia Distributed Database 💾

  • kafka_ex

    Kafka client library for Elixir

  • ex_hash_ring

    A fast consistent hash ring implementation in Elixir.

  • Project mention: Work Distribution with Jump Consistent Hashing [Elixir] | news.ycombinator.com | 2023-06-08

    Worth noting Discord's consistent hash ring implementation in pure Elixir. It's very easy to use and maintained by Discord (yay): https://github.com/discord/ex_hash_ring/

  • matrex

    A blazing fast matrix library for Elixir/Erlang with C implementation using CBLAS.

  • Bonny

    The Elixir based Kubernetes Development Framework

  • Ace

    HTTP web server and client, supports http1 and http2 (by CrowdHailer)

  • ecto_mnesia

    Ecto adapter for Mnesia Erlang term database.

  • rexbug

    A thin Elixir wrapper for the redbug Erlang tracing debugger.

  • extreme

    Elixir Adapter for EventStore

  • matcha

    🍵 First-class Elixir match specifications. (by christhekeele)

  • website

    Erlang Ecosystem Foundation Website (by erlef)

  • wireguardex

    Configure WireGuard® interfaces in Elixir using Rust NIFs.

  • iex_history2

    An improved history for the Elixir IEx shell

  • re

    Elixir library for writing readable regexes in functional style

  • panoramix

    Apache Druid client for Elixir (by GameAnalytics)

  • allydb

    An in-memory database similar to Redis, built using Elixir.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Elixir Erlang related posts

Index

What are some of the best open-source Erlang projects in Elixir? This list will help you:

Project Stars
1 floki 1,995
2 supavisor 1,576
3 desktop 1,410
4 fastglobal 1,126
5 Wobserver 927
6 graphql 861
7 Crawly 840
8 memento 710
9 kafka_ex 590
10 ex_hash_ring 493
11 matrex 477
12 Bonny 358
13 Ace 304
14 ecto_mnesia 242
15 rexbug 239
16 extreme 127
17 matcha 87
18 website 78
19 wireguardex 63
20 iex_history2 51
21 re 43
22 panoramix 39
23 allydb 32

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com