Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge. Learn more →
Top 23 Elixir Erlang Projects
-
-
desktop
Elixir library to write Windows, macOS, Linux, Android apps with OTP24 & Phoenix.LiveView (by elixir-desktop)
-
InfluxDB
Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.
-
If you are interested in exploring Supavisor's potential or want to implement its scalability in your upcoming project, check out the GitHub repository to know more.
-
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.)
-
-
-
-
Mergify
Updating dependencies is time-consuming.. Solutions like Dependabot or Renovate update but don't merge dependencies. You need to do it manually while it could be fully automated! Add a Merge Queue to your workflow and stop caring about PR management & merging. Try Mergify for free.
-
-
-
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/
-
-
Project mention: Show HN: Bonny – Develop Kubernetes Operators in Elixir | news.ycombinator.com | 2022-11-28
-
-
-
-
-
-
-
-
Project mention: re: Elixir library for writing readable regexes in functional style | /r/coolgithubprojects | 2023-02-21
-
-
-
spider_man
SpiderMan,a base-on Broadway fast high-level web crawling & scraping framework for Elixir.
-
SonarQube
Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
Elixir Erlang related posts
- Crawly – Elixir web scraping framework
- Firefly – A new compiler and runtime for BEAM languages
- An Introduction to Mocking Tools for Elixir
- Elixir and Rust is a good mix
- Distributed² Machine Learning Notebooks with Elixir and Livebook
- Supabase Logs: open source logging server
- Supavisor - Postgres connection pooler written in Elixir
-
A note from our sponsor - InfluxDB
www.influxdata.com | 25 Sep 2023
Index
What are some of the best open-source Erlang projects in Elixir? This list will help you:
Project | Stars | |
---|---|---|
1 | floki | 1,917 |
2 | desktop | 1,281 |
3 | supavisor | 1,129 |
4 | fastglobal | 1,097 |
5 | midarr-server | 1,077 |
6 | Wobserver | 926 |
7 | Crawly | 761 |
8 | memento | 700 |
9 | kafka_ex | 576 |
10 | ex_hash_ring | 475 |
11 | matrex | 472 |
12 | Bonny | 320 |
13 | Ace | 305 |
14 | ecto_mnesia | 240 |
15 | rexbug | 232 |
16 | extreme | 125 |
17 | website | 79 |
18 | matcha | 74 |
19 | wireguardex | 58 |
20 | re | 42 |
21 | history | 38 |
22 | panoramix | 35 |
23 | spider_man | 15 |