Open Source Elixir Software

Elixir Software

Elixir Clear Filters

Browse free open source Elixir Software and projects below. Use the toggles on the left to filter open source Elixir Software by OS, license, language, programming language, and project status.

  • Ship Agents Faster Icon
    Ship Agents Faster

    Transform your applications and workflows into powerful agentic systems at global scale.

    Gemini Enterprise Agent Platform lets you rapidly build, scale, govern and optimize production-ready agents grounded in your organization's data. The platform enables developers to build custom or pre-built agents for virtually any use case. New customers get $300 in free credits.
    Start Free
  • Fully Managed MySQL, PostgreSQL, and SQL Server Icon
    Fully Managed MySQL, PostgreSQL, and SQL Server

    Automatic backups, patching, replication, and failover. Focus on your app, not your database.

    Cloud SQL handles your database ops end to end, so you can focus on your app.
    Start Free
  • 1
    Livebook

    Livebook

    Interactive and collaborative code notebooks for Elixir

    Livebook is a web application for writing interactive and collaborative code notebooks. Write notebooks in Livebook then securely deploy and share them with your team and company with Livebook Hub/Enterprise. Code notebooks with Markdown support and Code cells where Elixir code is evaluated on demand. Rich code editor through Monaco: with support for autocompletion, inline documentation, code formatting, etc. Interactive results via Kino: display Vega-Lite charts, tables, maps, and more. Automation: use Smart cells to perform high-level tasks and write notebooks faster than ever. Query databases, plot charts, build maps, and more directly from Livebook's UI. Reproducible: Livebook ensures your code runs in a predictable order, all the way down to package management. It also tracks your notebook state, annotating which parts are stale. Collaboration: multiple users can work on the same notebook at once, no additional setup is required.
    Downloads: 57 This Week
    Last Update:
    See Project
  • 2
    Boombox

    Boombox

    Boombox is a simple streaming tool built on top of Membrane

    Boombox is a high-level audio and video streaming tool built on top of the Membrane Framework. It is designed to make media transformations easier across common formats, containers, and streaming protocols. The project gives developers a simpler interface over lower-level multimedia pipelines, which can otherwise be complex to configure manually. Boombox is useful for Elixir projects that need to read, write, stream, transcode, or transform media without directly assembling every Membrane element. It can support applications such as media processing services, streaming tools, recording workflows, and format-conversion utilities. Its main value is making powerful Membrane-based multimedia processing more accessible through a cleaner, higher-level API.
    Downloads: 24 This Week
    Last Update:
    See Project
  • 3
    FarmBot OS

    FarmBot OS

    The operating system and all related software

    The operating system and all related software that runs on FarmBot's Raspberry Pi. The FarmBot OS release page has moved to my.farm.bot/os. Old versions of FarmBot OS can still be found. Get configured over WiFi, mitigating the need to plug in a mouse, keyboard, or screen. Communicate with the web application over WiFi or ethernet so that it can synchronize (download) sequences, regimens, farm designs, events, and more; upload logs and sensor data; and accept real-time commands. Communicate with the Farmduino to send G and F commands and receive sensor and encoder data. Take photos with a USB or Raspberry Pi camera, and upload the photos to the web application. You must use a .img writing tool to write FarmBot OS onto the microSD card. We recommend downloading and installing balenaEtcher for this purpose.
    Downloads: 20 This Week
    Last Update:
    See Project
  • 4
    Oban

    Oban

    Robust job processing in Elixir, backed by modern PostgreSQL

    Oban is a robust and flexible background job processing library for Elixir, built on top of PostgreSQL and Ecto; it focuses on delivering reliability, consistency, observability, and historical insight into job execution, making it well-suited for fault-tolerant, production-grade workloads. Oban is a powerful and flexible library that can handle a wide range of background job use cases, and it is well-suited for systems of any size. It provides a simple and consistent API for scheduling and performing jobs, and it is built to be fault-tolerant and easy to monitor. Oban is fundamentally different from other background job processing tools because it retains job data for historic metrics and inspection. You can leave your application running indefinitely without worrying about jobs being lost or orphaned due to crashes.
    Downloads: 18 This Week
    Last Update:
    See Project
  • Custom VMs From 1 to 96 vCPUs With 99.95% Uptime Icon
    Custom VMs From 1 to 96 vCPUs With 99.95% Uptime

    General-purpose, compute-optimized, or GPU/TPU-accelerated. Built to your exact specs.

    Live migration and automatic failover keep workloads online through maintenance. One free e2-micro VM every month.
    Start Free
  • 5
    observer_cli

    observer_cli

    Visualize Erlang/Elixir Nodes On The Command Line

    Observer CLI is a library to be dropped into any beam nodes, to be used to assist DevOps people to diagnose problems in production nodes. Provide a high-performance tool usable both in development and production settings. Focus on important and detailed information about real-time running systems. Keep minimal consumption. Increments are values that are mostly useful when compared to a previous one to have an idea of what they're doing because otherwise, they'd never stop increasing: bytes in and out of the node, number of garbage collector runs, words of memory that were garbage collected, and the global reductions count for the node. Total scheduler utilization will equal 1.0 when all schedulers have been active all the time between the two refresh intervals. The result being that there is a decent chunk of CPU usage that would be mostly free for scheduling actual Erlang work (assuming the schedulers are busy waiting more than trying to select tasks to run).
    Downloads: 17 This Week
    Last Update:
    See Project
  • 6
    Exq

    Exq

    Job processing library for Elixir - compatible with Resque / Sidekiq

    Exq is a job processing library compatible with Resque / Sidekiq for the Elixir language. Exq uses Redis as a store for background processing jobs. Exq handles concurrency, job persistence, job retries, reliable queueing and tracking so you don't have to. Jobs are persistent so they would survive across node restarts. You can use multiple Erlang nodes to process from the same pool of jobs. Exq uses a format that is Resque/Sidekiq compatible. This means you can use it to integrate with existing Rails / Django projects that also use a background job that's Resque compatible - typically with little or no changes needed to your existing apps. However, you can also use Exq standalone. You can also use the Sidekiq UI to view job statuses, as Exq is compatible with the Sidekiq stats format. You can run both Exq and Toniq in the same app for different workers. Exq supports uncapped amount of jobs running, or also allows a max limit per queue.
    Downloads: 16 This Week
    Last Update:
    See Project
  • 7
    Dagger

    Dagger

    Containerized automation engine for programmable CI/CD workflows

    Dagger is an open source automation engine designed to build, test, and deliver software in a consistent and programmable way. It enables developers to define software delivery workflows using code instead of complex shell scripts or configuration files. Dagger executes tasks inside containers, ensuring that automation runs in identical environments across local machines, CI servers, or cloud infrastructure. Dagger provides a core execution engine and system API that orchestrates containers, filesystems, secrets, repositories, and other resources needed during development pipelines. Developers can write pipelines using SDKs available for multiple programming languages, enabling integration with existing development stacks and tools. It focuses on repeatability and efficiency by running tasks incrementally and caching intermediate results so that only affected operations are re-executed when changes occur.
    Downloads: 15 This Week
    Last Update:
    See Project
  • 8
    Elixir WebRTC

    Elixir WebRTC

    An Elixir implementation of the W3C WebRTC API

    Elixir WebRTC is an Elixir implementation of the W3C WebRTC API for building real-time communication features in Elixir applications. It gives developers a way to create peer connections, exchange media, and work with browser-compatible WebRTC behavior from the BEAM ecosystem. The project is especially useful for applications that need live audio, video, or data communication without leaving Elixir. It can support DataChannels through an optional SCTP dependency, which extends its usefulness beyond media streaming. Because it follows familiar WebRTC concepts, it can integrate with browser clients and other WebRTC-capable systems. Its main value is bringing WebRTC primitives into Elixir so developers can build real-time products with the fault tolerance and concurrency strengths of the BEAM.
    Downloads: 15 This Week
    Last Update:
    See Project
  • 9
    Floki

    Floki

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

    Floki is a simple HTML parser that enables search for nodes using CSS selectors. Floki needs the :leex module in order to compile. Normally this module is installed with Erlang in a complete installation. By default, Floki uses a patched version of mochiweb_html for parsing fragments due to its ease of installation (it's written in Erlang and has no outside dependencies). fast_html is generally faster, according to the benchmarks conducted by its developers.
    Downloads: 12 This Week
    Last Update:
    See Project
  • MongoDB Atlas runs apps anywhere Icon
    MongoDB Atlas runs apps anywhere

    Deploy in 115+ regions with the modern database for every enterprise.

    MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
    Start Free
  • 10
    LiveDebugger

    LiveDebugger

    Tool for debugging LiveView applications

    LiveDebugger is a browser-based debugging tool for Phoenix LiveView applications. It helps Elixir developers inspect LiveView behavior while the application is running in development. The tool can show the LiveComponents tree, view assigns, inspect elements, and trace callback execution. It is designed to make LiveView debugging more visual and easier to understand than relying only on logs or manual inspection. LiveDebugger can be installed as a development dependency and also offers browser DevTools extensions for Chrome and Firefox. Its main value is giving Phoenix LiveView teams a dedicated debugging experience for understanding component state, callbacks, and runtime behavior.
    Downloads: 12 This Week
    Last Update:
    See Project
  • 11
    Nebulex

    Nebulex

    In-memory and distributed caching toolkit for Elixir

    Nebulex provides support for transparently adding caching into an existing Elixir application. Similar to Ecto, the caching abstraction allows consistent use of various caching solutions with minimal impact on the code. Nebulex cache abstraction shields developers from directly dealing with the underlying caching implementations, such as Redis, Memcached, or even other Elixir cache implementations like Cachex. Additionally, it provides totally out-of-box features such as cache usage patterns, declarative annotation-based caching, and distributed cache topologies, among others. For intensive workloads, you may want to use :shards as the backend for the local adapter and having partitioned tables. In such a case, you have to add :shards to the dependency list. For enabling the usage of declarative annotation-based caching via decorators, you have to add :decorator to the dependency list.
    Downloads: 12 This Week
    Last Update:
    See Project
  • 12
    Nerves

    Nerves

    Craft and deploy bulletproof embedded software in Elixir

    Nerves is the open-source platform and infrastructure you need to build, deploy, and securely manage your fleet of IoT devices at speed and scale. Nerves is written in Elixir, but you don’t have to rewrite everything in Elixir to get the advantages of Nerves, simply bring your own code (like C, C++, Python, Rust, and more) and scale up. Nerves use the Erlang runtime system, known for being distributed, fault-tolerant, soft real-time, and highly available. Nerves has the tools you need to manage every stage of your IoT project, the Nerves Project to build and customize, and NervesHub to deploy and manage your fleets of devices. Avoid hidden bugs and vulnerabilities with Nerves' secure opt-in approach to building. Nerves start minimal and guide you towards security best practices. Nerves helps you bring the principles of agile development to your IoT development cycle. Because Nerves runtime is immutable, Nerves also brings agility to long-term maintenance.
    Downloads: 12 This Week
    Last Update:
    See Project
  • 13
    Swoosh

    Swoosh

    Compose, deliver and test your emails easily in Elixir

    We have applied the lessons learned from projects like Plug, Ecto and Phoenix in designing clean and composable APIs, with clear separation of concerns between modules. Swoosh comes with many adapters, including SendGrid, Mandrill, Mailgun, Postmark and SMTP. Compose, deliver, and test your emails easily in Elixir. Swoosh supports the most popular transactional email providers out of the box and also has an SMTP adapter. Adding new adapters is super easy and we are definitely looking for contributions on that front. Get in touch if you want to help! Check the documentation of the adapter you want to use for more specific configurations and instructions. Swoosh does not make any special arrangements for sending emails in a non-blocking manner. Opposite to some stacks, sending emails, talking to third party apps, etc in Elixir do not block or interfere with other requests, so you should resort to async emails only when necessary.
    Downloads: 12 This Week
    Last Update:
    See Project
  • 14
    Tesla

    Tesla

    The flexible HTTP client library for Elixir

    The flexible HTTP client library for Elixir, with support for middleware and multiple adapters. Tesla is an HTTP client loosely based on Faraday. It embraces the concept of middleware when processing the request/response cycle. Define module with use Tesla and choose from a variety of middleware. Tesla is built around the concept of composable middlewares. This is very similar to how Plug Router works. All HTTP functions, such as Tesla.get/3 and Tesla.post/4, can take a dynamic client as the first argument. This allows using convenient syntax for modifying the behavior in runtime. Tesla supports multiple HTTP adapter that do the actual HTTP request processing. Each piece of the stream will be encoded as JSON and sent as a new line (conforming to JSON stream format). You can set the adapter to Tesla.Mock in tests.
    Downloads: 12 This Week
    Last Update:
    See Project
  • 15
    Hex

    Hex

    Package manager for the Erlang ecosystem

    Hex is the official package manager for the Erlang ecosystem, supporting languages like Elixir and Erlang that run on the BEAM virtual machine. It integrates seamlessly with build tools such as Mix and Rebar3, allowing developers to fetch, publish, and manage packages efficiently. Hex provides a centralized repository, ensuring that packages are easily discoverable and maintainable, thereby streamlining the development workflow within the BEAM community.​
    Downloads: 11 This Week
    Last Update:
    See Project
  • 16
    Pinchflat

    Pinchflat

    Your next YouTube media manager

    Pinchflat is a self-hosted YouTube media manager that automates downloading videos from channels or playlists using yt-dlp. It runs as a lightweight, containerized app and is ideal for archiving or feeding media center setups like Plex, Jellyfin, or Kodi.
    Downloads: 10 This Week
    Last Update:
    See Project
  • 17
    Axon

    Axon

    Nx-powered Neural Networks

    Nx-powered Neural Networks for Elixir. Axon consists of the following components. Functional API – A low-level API of numerical definitions (defn) of which all other APIs build on. Model Creation API – A high-level model creation API which manages model initialization and application. Optimization API – An API for creating and using first-order optimization techniques based on the Optax library. Training API – An API for quickly training models, inspired by PyTorch Ignite. Axon provides abstractions that enable easy integration while maintaining a level of separation between each component. You should be able to use any of the APIs without dependencies on others. By decoupling the APIs, Axon gives you full control over each aspect of creating and training a neural network. At the lowest-level, Axon consists of a number of modules with functional implementations of common methods in deep learning.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 18
    gRPC Elixir

    gRPC Elixir

    An Elixir implementation of gRPC

    The Gun library doesn't have a full 2.0 release yet, so we depend on :grcp_gun 2.0.1 for now. This is the same as :gun 2.0.0-rc.2, but Hex doesn't let us depend on RC versions for releases. Generate Elixir code from the proto file as protobuf-elixir shows(especially the gRPC Support section). Implement the server-side code and remember to return the expected message types. You can start the gRPC server as a supervised process. First, add GRPC.Server.Supervisor to your supervision tree.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 19
    Elixir Language Server

    Elixir Language Server

    A frontend-independent IDE "smartness" server for Elixir

    Implementing features such as auto-complete or go-to-definition for a programming language is not trivial. Traditionally, this work had to be repeated for each development tool and it required a mix of expertise in both the targeted programming language and the programming language internally used by the development tool of choice. The Elixir Language Server (ElixirLS) provides a server that runs in the background, providing IDEs, editors, and other tools with information about Elixir Mix projects. It adheres to the LSP, a standard for frontend-independent IDE support. Debugger integration is accomplished through a similar VS Code Debug Protocol. These pages contain all the information needed to configure your favorite text editor or IDE and to work with the ElixirLS. You will also find instructions on how to configure the server to recognize the structure of your projects and to troubleshoot your installation when things do not work as expected.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 20
    ExMachina

    ExMachina

    Create test data for Elixir applications

    ExMachina is part of the thoughtbot Elixir family of projects. ExMachina makes it easy to create test data and associations. It works great with Ecto, but is configurable to work with any persistence library. And start the ExMachina application. For most projects (such as Phoenix apps) this will mean adding :ex_machina to the list of applications in mix.exs. You can skip this step if you are using Elixir 1.4 or later. Add your factory module inside test/support so that it is only compiled in the test environment. build/2 is a function call. As such, it gets evaluated immediately. By default, ExMachina will merge the attributes you pass into build/insert into your factory. But if you want full control of your attributes, you can define your factory as accepting one argument, the attributes being passed into your factory.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 21
    Fishjam

    Fishjam

    General purpose media server. Supports WebRTC, HLS, RTSP, SIP

    Fishjam is a real-time multimedia streaming toolkit for building low-latency video and audio applications. The GitHub repository refers to the original open-source Fishjam media server, which was a general-purpose media server written in Elixir and is no longer actively maintained. The broader Fishjam project has since evolved into a platform for WebRTC-based live video, audio, and messaging infrastructure. It is designed for use cases such as video conferencing, live streaming, classrooms, telehealth, gameplay, collaboration, and interactive media products. Fishjam focuses on reducing the amount of WebRTC infrastructure that teams need to build themselves. Its main value is giving developers a practical foundation for real-time communication products with sub-second media delivery.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 22
    Guardian

    Guardian

    Elixir Authentication

    Guardian is a token based authentication library for use with Elixir applications. Guardian remains a functional system. It integrates with Plug but can be used outside of it. If you're implementing a TCP/UDP protocol directly or want to utilize your authentication via channels in Phoenix, Guardian can work for you. The core currency of authentication in Guardian is the token. By default JSON Web Tokens are supported out of the box but you can use any token that Has the concept of a key-value payload, is tamper-proof, can serialize to a String, or that has a supporting module that implements the Guardian.Token behavior. You can use Guardian tokens to authenticate web endpoints (Plug/Phoenix/X), channels/Sockets (Phoenix - optional), and any other system you can imagine. If you can attach an authentication token you can authenticate it.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 23
    Magnetissimo

    Magnetissimo

    Web application that indexes all popular torrent sites

    Magnetissimo is a self-hosted Elixir-based web application that crawls and indexes multiple popular torrent sites and stores magnet links in a local database—designed to run without JavaScript and optimized for high performance using Elixir’s GenServer and the BEAM VM. No JavaScript frontend—relies entirely on server-rendered content. High performance via Elixir’s GenServer and BEAM concurrency model. Easy integration with tools like Sonarr and Radarr. Readable, maintainable, and lean codebase.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 24
    Plausible Analytics

    Plausible Analytics

    Simple, open-source, lightweight and privacy-friendly web analytics

    Plausible is lightweight and open-source web analytics. No cookies and fully compliant with GDPR, CCPA and PECR. Made and hosted in the EU, powered by European-owned cloud infrastructure. Frustrated with Google Analytics? So are we and that's why we built Plausible Analytics, a simple, lightweight (< 1 KB), open source, and privacy-friendly alternative that doesn't come from the adtech world. Web analytics went from a simple, fun and useful practice for site owners to a data-grabbing machine for surveillance capitalism. Google Analytics is frustrating to use, difficult to understand, slow to load and privacy-invasive too. Plausible Analytics is built for privacy-conscious site owners. You get valuable and actionable stats to help you improve your efforts while your visitors keep having a nice and enjoyable experience. Plausible is simple analytics. It is easy to understand and it cuts through the noise.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 25
    Benchee

    Benchee

    Easy and extensible benchmarking in Elixir

    Library for easy and nice (micro) benchmarking in Elixir. Benchee allows you to compare the performance of different pieces of code at a glance. It is also versatile and extensible, relying only on functions. There are also a bunch of plugins to draw pretty graphs and more! Benchee runs each of your functions for a given amount of time after an initial warmup, it then measures their run time and optionally memory consumption. It then shows different statistical values like average, standard deviation etc. The aforementioned plugins like benchee_html make it possible to generate nice-looking HTML reports, where individual graphs can also be exported as PNG images. first runs the functions for a given warmup time without recording the results, to simulate a "warm"/running system. Plugin/extensible-friendly architecture so you can use different formats to display benchmarking results as HTML, markdown, JSON, and more.
    Downloads: 3 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next