Open Source Elixir Software - Page 5

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.

  • 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
  • $300 Free Credits to Build on Google Cloud Icon
    $300 Free Credits to Build on Google Cloud

    New customers can spin up VMs, build with AI, and query data at no cost.

    Put your $300 in credit toward real workloads, then keep building with free monthly usage for 20+ products. No commitment and no charge until you upgrade.
    Start Free
  • 1
    Poxa

    Poxa

    Pusher server implementation compatible with Pusher client libraries

    Pusher server implementation is compatible with Pusher client libraries. Open Pusher implementation compatible with Pusher libraries. It's designed to be used as a single registered app with id, secret, and key defined on start. Poxa is a standalone elixir server implementation of the Pusher protocol. Docker images are automatically built by Docker Hub. They are available at Docker Hub. One can generate it using: docker build -t local/poxa. Poxa uses gproc extensively to register websocket connections as channels. So, when a client subscribes for channel 'example-channel', the websocket connection (which is a elixir process) is "tagged" as {pusher, example-channel}. When a pusher event is triggered on the 'example-channel', every websocket matching the tag receives the event.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 2
    Quantum

    Quantum

    Cron-like job scheduler for Elixir

    Cron-like job scheduler for Elixir. To use Quantum in your project, edit the mix.exs file and add Quantum to the list of dependencies. To see more transparently what quantum is doing, configure the logger to display :debug messages. If you encounter any problems with quantum, please search if there is already an open issue addressing the problem. Configure your cronjobs in your config/config.exs. Persistent storage can be used to track jobs and last execution times over restarts. If storage is present, the jobs from the configuration will not be loaded to prevent conflicts. Storage implementations must implement the Quantum.Storage behavior. The default job settings can be configured as shown in the example below. So if you have a lot of jobs and do not want to override the default setting in every job, you can set them globally.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 3
    Scenic

    Scenic

    Core Scenic library

    Scenic is a UI framework built directly on Elixir/Erlang/OTP for creating polished, fault-tolerant client applications. It targets both embedded/IoT and desktop scenarios, leveraging OpenGL for 2D rendering and embracing the OTP ecosystem for concurrency and reliability.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 4
    Semaphore

    Semaphore

    Semaphore is an open source CI/CD platform

    Semaphore is a continuous integration and delivery platform that streamlines building, testing, and deploying software with an emphasis on speed and developer experience. Pipelines are defined declaratively and support parallel jobs, dependency fan-outs, and matrix builds to exercise many environments at once. First-class Docker and Kubernetes workflows, along with layer caching and artifacts, help keep containerized builds fast and reproducible. Secrets management, environment promotion, and approvals enable robust delivery gates from pull request to production. The system integrates with popular VCS providers and chat tools, surfacing real-time status, logs, and insights so teams can diagnose failures quickly. With autoscaling workers and flexible resource types, Semaphore adapts to small projects and large monorepos alike, turning CI/CD into a reliable, low-friction part of everyday development.
    Downloads: 0 This Week
    Last Update:
    See Project
  • PRTG Catches Network Issues Before They Cause Downtime Icon
    PRTG Catches Network Issues Before They Cause Downtime

    Threshold-based alerts flag problems early, so your team can act before users notice, not after.

    Reactive troubleshooting usually means hearing about a problem from frustrated users, not your monitoring tool. PRTG sets threshold-based alerts across devices, servers and applications, notifying your team by email, SMS or push the moment a metric crosses a set limit. That means catching a failing disk or overloaded server before it becomes an outage and getting time back from firefighting. Start a free trial and set your first alerts today.
    Download 30-Day Trial
  • 5
    Sobelow

    Sobelow

    Security-focused static analysis for the Phoenix Framework

    Sobelow is a security-focused static analysis tool for the Phoenix framework. For security researchers, it is a useful tool for getting a quick view of points-of-interest. For project maintainers, it can be used to prevent the introduction of a number of common vulnerabilities. Potential vulnerabilities are flagged in different colors according to confidence in their insecurity. High confidence is red, medium confidence is yellow, and low confidence is green. A finding is typically marked "low confidence" if it looks like a function could be used insecurely, but it cannot reliably be determined if the function accepts user-supplied input. That is to say, if a finding is marked green, it may be critically insecure, but it will require greater manual validation. This project is in constant development, and additional vulnerabilities will be flagged as time goes on. If you encounter a bug, or would like to request additional features or security checks, please open an issue!
    Downloads: 0 This Week
    Last Update:
    See Project
  • 6
    Standard Webhooks

    Standard Webhooks

    The Standard Webhooks specification

    Standard Webhooks is a community-driven specification and set of open-source tools designed to make webhooks consistent, secure, and interoperable across providers. The project defines strict guidelines covering aspects like signature formats, headers, timestamps, replay protection, and forward compatibility. It includes reference implementations for signature verification and signing across multiple languages such as Python, JavaScript/TypeScript, Go, Rust, Ruby, PHP, C#, Java, and Elixir, along with additional community SDKs. The initiative is guided by a technical steering committee with members from companies like Zapier, Twilio, Mux, ngrok, Supabase, Svix, and Kong. Standard Webhooks matters because it eliminates the fragmentation of webhook implementations, reducing consumer effort and enabling seamless verification in apps or even directly in API gateways. By unifying best practices, it improves developer experience, enhances security, and enables new ecosystem tools.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 7
    Surface

    Surface

    A server-side rendering component library for Phoenix

    Surface is a component-based UI library for Phoenix LiveView that brings a declarative, template-driven approach to building interactive interfaces. Inspired by frameworks like React, it introduces components with typed properties, slots, and macros to simplify complex UIs. Developers can create reusable, encapsulated components that integrate seamlessly with LiveView’s server-rendered real-time model. Surface emphasizes readability, making templates feel closer to HTML while retaining Elixir’s functional power. It also provides form helpers, event bindings, and a growing ecosystem of ready-to-use UI components. By combining the productivity of declarative components with LiveView’s real-time updates, Surface enables rich, interactive apps without requiring a separate frontend framework like React or Vue.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 8
    Swarm

    Swarm

    Easy clustering, registration, and distribution of worker processes

    Swarm is a distributed process registry for Elixir/Erlang that lets you register and discover processes across a cluster as if they were on a single node. It focuses on automatic distribution and rebalancing, so when nodes join or leave, Swarm can move work and hand off state to keep the system stable. The library offers a global name registry, conflict resolution for name ownership, and hooks for reacting to membership changes. Its design embraces OTP principles, using supervised processes and fault-tolerant messaging to keep the registry resilient under failures. Developers can co-locate Swarm with their existing supervision trees to scale workers horizontally without writing custom clustering code. Typical use cases include globally unique workers, sharded consumers, and presence-like coordination where node churn is expected. By turning registry and handoff into configuration and callbacks, Swarm reduces the complexity of multi-node deployments.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 9
    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: 0 This Week
    Last Update:
    See Project
  • Demo Series - Small Business Backup By Veeam Icon
    Demo Series - Small Business Backup By Veeam

    Learn how to protect your Microsoft 365 data, with simple, actionable tips today.

    Watch this on-demand demo series and learn how to protect your Microsoft 365 data with clear, simple, actionable steps that are easy to implement for businesses of all sizes.
    Watch Demo Series
  • 10
    Tableau

    Tableau

    Static Site Generator

    Static Site Generator for Elixir.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 11
    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: 0 This Week
    Last Update:
    See Project
  • 12
    The Elixir Style Guide

    The Elixir Style Guide

    A community driven style guide for Elixir

    This is community style guide for the Elixir programming language. Please feel free to make pull requests and suggestions, and be a part of Elixir's vibrant community. If you're looking for other projects to contribute to please see the Hex package manager site. Elixir v1.6 introduced a Code Formatter and Mix format task. The formatter should be preferred for all new projects and source code. The rules in this section are applied automatically by the code formatter, but are provided here as examples of the preferred style. Use Unix-style line endings (*BSD/Solaris/Linux/OSX users are covered by default, Windows users have to be extra careful). Use spaces around operators, after commas, colons and semicolons. Do not put spaces around matched pairs like brackets, parentheses, etc. Whitespace might be (mostly) irrelevant to the Elixir runtime, but its proper use is the key to writing easily readable code.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 13
    Timex

    Timex

    A complete date/time library for Elixir projects

    Timex is a rich, comprehensive Date/Time library for Elixir projects, with full timezone support via the :tzdata package. If you need to manipulate dates, times, datetimes, timestamps, etc., then Timex is for you! It is very easy to use Timex types in place of default Erlang types, as well as Ecto types via the timex_ecto package. If you are coming from an earlier version of Timex, it is recommended that you evaluate whether or not the functionality provided by the standard library Calendar API is sufficient for your needs, as you may be able to avoid the dependency entirely. Timex now delegates to the standard library where possible, and provides backward compatibility to Elixir 1.8 for APIs which are used. This is to avoid duplicating effort, and to ease the maintenance of this library in the future. Take a look at the documentation to see what APIs are available and how to use them.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 14
    Wallaby

    Wallaby

    Concurrent browser tests for your Elixir web apps

    Wallaby helps you test your web applications by simulating realistic user interactions. By default, it runs each test case concurrently and manages browsers for you. Here's an example test for a simple Todo application. Because Wallaby manages multiple browsers for you, it's possible to test several users interacting with a page simultaneously. Read on to see what else Wallaby can do or check out the Official Documentation. Wallaby also requires bash to be installed. Generally, bash is widely available, but it does not come pre-installed on Alpine Linux. If you're testing a Phoenix application with Ecto and a database that supports sandbox mode, you can enable concurrent testing by adding the Phoenix.Ecto.SQL.Sandbox plug to your Endpoint. It's important that this is at the top of endpoint.ex before any other plugs.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 15
    Witchcraft

    Witchcraft

    Monads and other dark magic for Elixir

    Witchcraft brings algebraic and category-theoretic abstractions—like semigroups, monoids, functors, applicatives, and monads—to Elixir in a pragmatic, protocol-driven way. It introduces a set of typeclass-style protocols and laws so data types can declare the operations they support and have those behaviors verified. The library encourages composability and pure transformations, letting you build pipelines where effects are modeled explicitly rather than hidden in ad-hoc helpers. Because the implementation leans on Elixir protocols, you can extend Witchcraft’s abstractions to your own structs without invasive inheritance hierarchies. It promotes predictable, law-abiding behavior through property-based testing helpers and a focus on algebraic reasoning. Teams reach for Witchcraft when they want to structure business logic with reusable, mathematically grounded patterns that remain idiomatic to the BEAM.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 16
    Wobserver

    Wobserver

    Web based metrics, monitoring, and observer

    Web based metrics, monitoring, and observer. Drop-in monitoring though web interface. Metrics endpoint (/metrics) for system monitoring. (Default: Prometheus) Monitoring automation through JSON API. Node management and discovery behind firewalls and load balancers. Easy to extend. Add custom metrics and pages for your project, just by adding them in the config. Just 3 lines of code to add pages/metrics for your library when users have :wobserver installed. Wobserver does not support being included directly from GitHub. The required assets are not included in the repo in build form and can therefore not be used. It is possible to build locally and use the generated package. (See Build manually for more information.) To view the web interface just enter http://<host>[:<port>]/ in the browser and it should show the :wobserver interface. The default port is 4001, but the port can be changed in the configuration.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 17
    bors-ng

    bors-ng

    A merge bot for GitHub Pull Requests

    bors-ng is a GitHub merge bot that enforces an “evergreen” main branch by queueing approved pull requests, testing them together on a staging branch, and only advancing main with the exact, passing commit set. Instead of maintainers repeatedly rebasing and merging one PR at a time, bors-ng batches r+-ed PRs, triggers your existing CI (e.g., GitHub Actions), and merges automatically when the batch is green. If a batch fails, it bisects the batch into smaller runs to isolate the culprit, landing the good PRs and kicking only the failing one(s) back for fixes. The bot is implemented as a GitHub App and works alongside—rather than replacing—your CI by reporting commit statuses/checks and acting on PR comments like bors r+ or bors try. It provides a dashboard to watch queue progress, uses separate staging/trying branches for merge/test cycles, and supports both public GitHub and GitHub Enterprise endpoints.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 18
    crawly

    crawly

    High-level web crawling and scraping framework for Elixir apps

    Crawly is a high-level application framework for crawling websites and extracting structured data using the Elixir programming language. It provides a complete environment for building web crawlers that systematically visit pages, collect information, and transform that data into structured formats for further processing. Crawly is designed for tasks such as data mining, information processing, and building historical archives of web content. Crawly follows the Elixir and OTP architecture model, enabling concurrent and fault-tolerant crawling processes that can handle many requests efficiently. Developers define specialized components called spiders to control how pages are visited and how information is extracted from them. It also supports extensibility through middlewares, pipelines, and fetchers that allow customization of request handling, data processing, and crawling behavior.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 19
    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: 0 This Week
    Last Update:
    See Project
  • 20
    lanyard

    lanyard

    Expose your Discord presence and activities to a RESTful API

    Lanyard is a service that exposes live Discord presence and activity data through a REST API and WebSocket connection. It lets users display their Discord status, current activities, Spotify listening data, and related profile information on websites or external apps. The public service can be used quickly by joining the Lanyard Discord server, but the project also supports self-hosting. It includes a real-time key-value store that can be updated through the bot or API and emitted through presence updates. Developers can subscribe to one user, multiple users, or all monitored users through its socket protocol. Lanyard is especially useful for personal websites, GitHub profile widgets, dashboards, and real-time presence visualizations.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 21
    libcluster

    libcluster

    Automatic cluster formation/healing for Elixir applications

    libcluster provides automatic cluster formation and node discovery for Erlang/Elixir applications, removing the manual steps typically required to connect distributed nodes. It ships with multiple pluggable strategies—such as DNS polling, Kubernetes integration, EC2 metadata/tag discovery, UDP gossip, and EPMD helpers—so you can adapt clustering to your runtime environment. The library supervises a topology process that continually discovers peers and joins or prunes nodes as they become available or disappear. Its design embraces OTP principles: strategies implement a behavior, can be composed, and run under supervision for resilience. libcluster also emits events on nodeup/nodedown, allowing applications to react (for example, rebalance work or update registries) when membership changes. Because it relies on the BEAM’s native distribution, it integrates cleanly with Phoenix PubSub, Horde, Oban, or any other distributed Elixir tooling.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 22

    mcodes_prep

    Convert ICD-10 XML files To PG tables, and Search in Terminal

    Convert - Transform Every new ICD-10-CM and ICD-10-PCS XML files to postgresql Tables. Searching is possible from a Linux terminal but not with the Browser. Developed with Elixir without Phoenix
    Downloads: 0 This Week
    Last Update:
    See Project
  • 23
    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: 0 This Week
    Last Update:
    See Project
  • 24
    Überauth

    Überauth

    An Elixir Authentication System for Plug-based Web Applications

    Ueberauth is a two-phase authentication framework that provides a clear API, allowing for many strategies to be created and shared within the community. It is heavily inspired by Omniauth. You could call it a port but it is significantly different in operation, but almost the same concept. Huge hat tip to Intridea. Ueberauth provides only the initial authentication challenge, (initial OAuth flow, collecting the information from a login form, etc). It does not authenticate each request, that's up to your application. You could issue a token or put the result into a session for the needs of your application. Libraries like Guardian can help you with that aspect of authentication. Strategies implement the two phases and then may allow the request to flow through to your downstream plugs. Implementing the request and callback phases is optional depending on the strategies requirements. If a strategy does not redirect, the request will be decorated with Ueberauth information.
    Downloads: 0 This Week
    Last Update:
    See Project