Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elixir
  3. immortal

immortal

MITElixir

Helper modules for building fault-tolerant OTP applications in Elixir, keeping ETS tables and processes alive during failures.

GitHubGitHub
175 stars7 forks0 contributors

What is immortal?

Immortal is a collection of helper modules for Elixir developers building fault-tolerant OTP applications. It provides tools to manage ETS tables and processes during system failures, ensuring resources remain available when processes restart. The library addresses common challenges in creating resilient distributed systems with minimal code.

Target Audience

Elixir developers building OTP applications that require high availability and fault tolerance, particularly those working with supervised processes and ETS tables.

Value Proposition

Developers choose Immortal for its concise, focused approach to solving specific fault-tolerance problems in OTP applications, reducing boilerplate code while maintaining reliability during process failures.

Overview

Helper modules for OTP applications

Use Cases

Best For

  • Keeping ETS tables alive during supervised process restarts
  • Creating processes that persist after target process termination
  • Building fault-tolerant OTP applications with minimal boilerplate
  • Managing process lifecycles in resilient Elixir systems
  • Handling graceful degradation during process failures
  • Simplifying supervision tree resource management

Not Ideal For

  • Projects not built with Elixir and OTP supervision trees
  • Systems requiring a full-featured fault-tolerance framework with built-in monitoring and recovery protocols
  • Applications where minimizing process overhead is critical, as ghost processes can introduce additional runtime costs
  • Teams that prefer comprehensive documentation and community support, as Immortal is a small, focused library

Pros & Cons

Pros

ETS Data Persistence

Immortal.ETSTableManager ensures ETS tables survive process restarts, preventing data loss during supervised failures, as highlighted in the README for simplifying resource management.

Graceful Termination Handling

Immortal.Ghost creates processes that linger after target death, enabling clean-up and event handling, which reduces boilerplate in fault-tolerant OTP applications.

Minimal Code Footprint

The library focuses on concise solutions to common OTP problems, reducing complexity and keeping applications lean, aligning with its philosophy of simplicity.

Easy Integration

Installation via Hex or GitHub is straightforward with clear dependency setup, making it quick to add to Elixir projects without complex configuration.

Cons

Narrow Feature Set

With only two modules, Immortal addresses specific issues like ETS and ghost processes but lacks broader fault-tolerance tools, which may require additional libraries for complex systems.

OTP Expertise Required

Effective use depends on a solid understanding of OTP supervision and process management, posing a barrier for developers new to Elixir's concurrency model.

Limited Ecosystem

As a small library, it has fewer resources, tutorials, and community support compared to larger Elixir frameworks, which can slow down troubleshooting and adoption.

Frequently Asked Questions

Quick Stats

Stars175
Forks7
Contributors0
Open Issues1
Last commit5 years ago
CreatedSince 2015

Tags

#elixir#otp#supervision#fault-tolerance#resilience#otp-applications#ets#erlang#process-management

Built With

E
ETS
E
Elixir
O
OTP

Included in

Elixir13.1k
Auto-fetched 1 day ago

Related Projects

erlexecerlexec

Execute and control OS processes from Erlang/OTP

Stars595
Forks152
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub