UUID generator and utilities for Elixir, supporting RFC 4122 versions 1, 3, 4, and 5 with multiple formatting options.
Elixir UUID is a library for generating and working with Universally Unique Identifiers (UUIDs) in Elixir applications. It implements RFC 4122 standards, providing functions to create UUIDs versions 1, 3, 4, and 5, along with utility functions for parsing, validating, and converting between UUID formats. It solves the need for reliable, standards-compliant unique identifier generation in Elixir projects.
Elixir developers who need to generate unique identifiers for distributed systems, database records, or any application requiring RFC-compliant UUIDs. Particularly useful for projects using Ecto, Phoenix, or any Elixir-based backend system.
Developers choose Elixir UUID because it provides a complete, RFC 4122-compliant implementation with support for all major UUID versions, multiple output formats, and helpful utility functions in an idiomatic Elixir package. It's a reliable alternative to rolling custom UUID solutions.
UUID generator and utilities for Elixir
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements all major UUID versions (v1, v3, v4, v5) strictly following the standard, ensuring interoperability and reliability for distributed systems.
Supports :default, :hex, and :urn output formats via optional parameters, catering to different use cases like database storage or URN prefixes.
Provides info/1 and info!/1 functions to extract version, variant, and other metadata from UUID strings, aiding in validation and debugging.
Allows generation of v3 and v5 UUIDs using standard namespaces (:dns, :url, etc.) or custom UUIDs, enabling reproducible identifiers for names.
Lacks support for UUID v6 and v7, which are newer time-ordered versions not covered by RFC 4122, limiting modern use cases.
Renamed from 'uuid' to 'elixir_uuid' due to conflicts, which can cause issues in migration or dependency management for existing projects.
Implemented entirely in Elixir without NIFs, it may have higher overhead compared to native solutions in high-throughput scenarios.