Utilities

General-purpose utility libraries and helper functions. Packages among the 3,000 most downloaded in the past 90 days.

162 packages
  • A tiny resource-pool implementation

    371
    2.9m last 90 days
  • poolboy 1.5.2

    A hunky Erlang worker pool factory

    1.6k
    1.7m last 90 days
  • Track ownership of resources across processes.

    63
    1.6m last 90 days
  • ctx 0.6.0

    Context carries request scoped values and deadlines

    10
    1.3m last 90 days
  • BEAM friendly spinlocks for Elixir/Erlang

    61
    1.1m last 90 days
  • faker 0.19.0-alpha.1

    Faker is a pure Elixir library for generating fake data.

    1.2k
    977.5k last 90 days
  • uuid 1.1.8

    UUID generator and utilities for Elixir.

    365
    908.2k last 90 days
  • UUID generator and utilities for Elixir.

    365
    750.5k last 90 days
  • retry 0.19.0

    Simple Elixir macros for linear retry, exponential backoff and wait with composable delays.

    453
    701.7k last 90 days
  • Deep (recursive) merging for maps, keyword lists and whatever else you may want via implementing a simple protocol.

    115
    669.2k last 90 days
  • A library for defining structs with a type without writing boilerplate code.

    758
    615.8k last 90 days
  • ex2ms 1.7.0

    Translates Elixir functions to match specifications for use with `ets`.

    202
    596.1k last 90 days
  • Efficient batch loading in Elixir

    495
    507.0k last 90 days
  • Pagination for the Elixir ecosystem

    560
    488.9k last 90 days
  • uniq 0.6.1

    Provides UUID generation, parsing, and formatting. Supports RFC 4122, and the v6 draft extension

    111
    466.6k last 90 days
  • backoff 1.1.6

    Exponential backoffs library

    138
    399.1k last 90 days
  • Map, Calendar, Digits, Decimal, HTTP, Macro, Math, and String helpers for ex_cldr.

    16
    396.6k last 90 days
  • nestru 1.0.1

    A library to serialize between maps and nested structs

    43
    375.0k last 90 days
  • Erlang UUID Implementation

    220
    351.1k last 90 days
  • money 1.14.0

    Elixir library for working with Money safer, easier, and fun, is an interpretation of the Fowler's Money pattern in fun.prog.

    843
    345.0k last 90 days
  • Providers provider.

    9
    206.3k last 90 days
  • uuidv7 1.0.0

    A UUID v7 implementation and Ecto.Type for Elixir

    128
    193.2k last 90 days
  • moar 3.2.0

    A dependency-free utility library containing 100+ useful functions.

    21
    170.1k last 90 days
  • nanoid 2.1.0

    Elixir port of NanoID (https://github.com/ai/nanoid), a tiny, secure URL-friendly unique string ID generator.

    228
    159.4k last 90 days
  • Additional standard library for Erlang

    225
    153.1k last 90 days
  • Elixir fake data generation for testing and development

    197
    151.0k last 90 days
  • morphix 0.8.1

    Morphix is a small package of convenience methods for working with Maps, Tuples, and Lists.

    -
    137.2k last 90 days
  • puid 2.7.0

    Simple, fast, flexible and efficient generation of probably unique identifiers (`puid`, aka random strings) of intuitively specified entropy using pre-defined or custom characters.

    93
    128.9k last 90 days
  • This library fills a bunch of important niches. A Maybe can help you with optional arguments, error handling, and records with optional fields.

    0
    118.0k last 90 days
  • Fast semaphore using ETS.

    759
    113.2k last 90 days
  • erlexec 2.2.1

    OS Process Manager

    572
    110.6k last 90 days
  • Calculates the difference between two (nested) maps, and returns a map representing the patch of changes.

    132
    109.2k last 90 days
  • iterex 0.1.2

    Lazy, external iterators for Elixir.

    18
    106.8k last 90 days
  • Countries is a collection of all sorts of useful information for every country in the [ISO 3166](https://de.wikipedia.org/wiki/ISO_3166) standard.

    156
    95.3k last 90 days
  • An Elixir friendly Enum module generator that can be used by itself or with Ecto.

    20
    81.4k last 90 days
  • Implementation of `blank?` in Elixir. Aims to work in a practically identical fashion to ActiveSupport's #blank? method.

    29
    79.4k last 90 days
  • User agent parser library

    135
    76.4k last 90 days
  • A small utility to convert deep Elixir maps with mixed string/atom keys to atom-only keyed maps

    46
    76.1k last 90 days
  • RedisMutex is a library for creating a Redis lock for a single Redis instance

    13
    72.8k last 90 days
  • p1_utils 1.0.28

    Erlang utility modules from ProcessOne

    19
    65.7k last 90 days
  • Elixir port of Breadcrumble library

    27
    57.4k last 90 days
  • A declarative busy wait

    43
    56.6k last 90 days
  • coerce 1.0.1

    Coerce allows defining coercions, standardized conversions, between data types.

    1
    56.3k last 90 days
  • Deadline is a small library for managing deadlines and deadline propagation.

    24
    55.3k last 90 days
  • browser 0.5.5

    Browser detection library

    107
    52.0k last 90 days
  • ShortUUID - generate concise, unambiguous, URL-safe UUIDs

    51
    47.7k last 90 days
  • bunch 1.6.1

    A bunch of helper functions, intended to make life easier

    21
    40.9k last 90 days
  • Unfold values on-demand from a function

    14
    39.5k last 90 days
  • setup 2.2.1

    Generic setup application for Erlang-based systems

    70
    38.7k last 90 days
  • uuid_v7 0.6.0

    UUID v7 with an 18-bit randomly-seeded counter. (Re: Section 6.2, from the IETF Draft.)

    62
    34.8k last 90 days
  • ex_ulid 0.1.0

    Universally Unique Lexicographically Sortable Identifier (ULID) in Elixir.

    33
    33.7k last 90 days
  • tdiff 0.1.2

    Difference library

    25
    31.4k last 90 days
  • Handy functions for polling, rate limiting, and receiving.

    36
    31.2k last 90 days
  • uxid 2.2.0

    Generates identifiers like: cus_01EPEY1JMKXVBT and txn_01EPEY2P06TR1RTV07XA82ZGJJ. Includes Ecto type.

    34
    30.4k last 90 days
  • pipes 2.0.2

    process pipe library

    11
    27.0k last 90 days
  • uid 1.3.5

    k-ordered unique identity

    6
    26.5k last 90 days
  • Zero dependency platform detection library for gleam

    7
    24.6k last 90 days
  • towel 0.2.2

    A delightfully simple monad library that's written for Elixir.

    99
    23.6k last 90 days
  • Send a message to the BEAM from a shell script

    15
    22.2k last 90 days
  • Collection of Awesome Elixir shortcuts and utilities ⚡

    6
    21.8k last 90 days
  • UUID generator and utilities for Elixir.

    12
    21.3k last 90 days
  • Drill down into a nested map and filter out keys according to user specified values

    35
    20.3k last 90 days
  • mutex 3.0.2

    This package implements a simple mutex as a GenServer. It allows to lock keys and handles locking multiple keys without deadlocks.

    34
    19.5k last 90 days
  • remodel 0.0.4

    Remodel is an Elixir presenter package used to transform data structures. This is especially useful when a desired representation doesn't match the schema defined within the database.

    141
    17.8k last 90 days
  • Colour types, conversions, and other utilities

    17
    17.6k last 90 days
  • pathex 2.6.1

    Functional lenses for nested structures

    359
    17.4k last 90 days
  • Split a stream into a head and tail, without iterating the tail

    37
    17.1k last 90 days
  • fe 0.1.5

    Collection of useful data types brought to Elixir from other functional languages.

    41
    17.0k last 90 days
  • youid 1.5.1

    Generate and parse UUIDs

    22
    17.0k last 90 days
  • ranger 1.4.0

    create ranges over any type

    5
    16.5k last 90 days
  • This small library allows the deep iteration / mapping of Enumerables.

    71
    15.4k last 90 days
  • poolex 1.4.2

    The library for managing pools of workers.

    79
    15.2k last 90 days
  • lens 1.0.0

    A utility for working with nested data structures.

    197
    14.1k last 90 days
  • ulid 0.2.0

    Universally Unique Lexicographically Sortable Identifier

    31
    13.9k last 90 days
  • Elixir Snowflake ID Generator

    73
    13.8k last 90 days
  • tails 0.1.11

    A tailwind utility library for Elixir

    92
    11.9k last 90 days
  • Chained, semantic comparisons for Elixir

    39
    11.5k last 90 days
  • sqids 0.2.1

    Generate YouTube-looking IDs from numbers

    89
    10.9k last 90 days
  • sbroker 1.0.0

    Low level pooling library

    164
    10.8k last 90 days
  • resolve 1.0.0

    Dependency injection and resolution at compile time or runtime

    25
    10.7k last 90 days
  • Fast no copy globals for Elixir & Erlang.

    1.2k
    10.7k last 90 days
  • mapz 2.4.0

    Extensions to the Erlang maps module

    18
    9.8k last 90 days
  • Elixir library for generating random and unique names

    3
    9.6k last 90 days
  • Constants and Enumerated Values for Elixir

    23
    8.6k last 90 days
  • Extensions for Elixir structures.

    29
    8.5k last 90 days
  • An :elixir_uuid compatibility layer for :uniq

    5
    8.5k last 90 days
  • buffer 0.3.12

    Provide read and write buffers for Elixir

    5
    8.4k last 90 days
  • Decentralized, k-ordered ID generation service

    -
    8.2k last 90 days
  • crudry 2.4.0

    Crudry is a library for DRYing CRUD.

    93
    8.2k last 90 days
  • diffy 1.1.2

    Diff, match patch implementation

    10
    8.0k last 90 days
  • maybe 1.0.0

    Nil protection for nested maps and structs

    25
    7.8k last 90 days
  • Numerator does calculate paginations without creating any markup.

    40
    7.7k last 90 days
  • Chameleon is a utility for converting colors from one color model to another. Conversions can be made to/from RGB, CMYK, Hex, HSL, Pantone, and even Keywords. For example: "FFFFFF" -> %{c: 0, m: 0, y: 0, k: 0}

    27
    7.5k last 90 days
  • ksuid 0.1.2

    ksuid is a zero dependency Elixir library for generating KSUIDs.

    111
    7.4k last 90 days
  • Tools to handle three common return values in Elixir: `:ok | {:ok, value} | {:error, reason}`

    84
    7.1k last 90 days
  • Copy and paste from system clipboard

    35
    7.0k last 90 days
  • prng 4.0.1

    A Pure Random Number Generator

    21
    6.9k last 90 days
  • handler 0.5.0

    A helper to run functions that you want to limit by heap size or time

    3
    6.8k last 90 days
  • An Elixir module for generating Gravatar urls.

    24
    6.8k last 90 days
  • Utility function to efficiently merge Tailwind CSS classes in Elixir without style conflicts.

    4
    6.5k last 90 days
  • Generates random strings

    -
    6.3k last 90 days
  • Convert different mappable types to each other in Elixir

    16
    6.3k last 90 days
  • A tool for generating random colours

    0
    6.0k last 90 days
  • useful 1.15.0

    A collection of useful functions for building Elixir apps.

    36
    6.0k last 90 days
  • wild 1.0.1

    A wildcard matching library that implements unix-style blob pattern matching functionality for Elixir binaries. It works on all binary input and defaults to working with codepoint representations of binaries, but other modes are also available.

    4
    5.8k last 90 days
  • miss 0.1.5

    Some functions that I miss in Elixir standard library (and maybe you too). Miss Elixir brings in a non-intrusive way some extra functions that, for different reasons, are not part of the Elixir standard library.

    42
    5.6k last 90 days
  • binary 0.0.5

    Toolkit for handling binaries in Elixir.

    20
    5.5k last 90 days
  • Elixir library providing various ways of waiting for things to happen

    17
    5.4k last 90 days
  • A flexible type mapping system for Elixir struct modules

    12
    5.2k last 90 days
  • Debouncer is a flexible function call debouncer.

    8
    5.1k last 90 days
  • Helpers for waiting on asynchronous events

    12
    5.0k last 90 days
  • Simple functions for coercing Elixir Maps: atomizing, snake_casing, etc.

    7
    4.7k last 90 days
  • tablet 0.3.1

    A tiny tabular table renderer

    4
    4.6k last 90 days
  • Unsurprisingly, MapKeys is a module for manipulation of map keys

    -
    4.6k last 90 days
  • ex_cmd 0.16.0

    Interact with external programs with back-pressure mechanism

    85
    4.4k last 90 days
  • rewire 0.10.0

    Dependency injection for Elixir. Zero code changes required.

    112
    4.3k last 90 days
  • passgen 0.1.1

    Elixir Password Generator

    -
    4.1k last 90 days
  • aja 0.7.4

    Extension of the Elixir standard library focused on data stuctures, data manipulation and performance

    217
    4.0k last 90 days
  • exemvi 0.3.0

    A library to work with EMV QR Code Specification for Payment Systems

    3
    3.9k last 90 days
  • A tool to convert string map keys to atoms or atom map keys to strings.

    0
    3.6k last 90 days
  • Provides simple debounce and throttle functionality

    2
    3.6k last 90 days
  • uelli 0.1.6

    Elixir utilities and custom guards

    1
    3.5k last 90 days
  • aspire 0.1.0

    Each function performs type conversion if it is 100% safe. Else it returns first argument as is.

    0
    3.5k last 90 days
  • Library with otter common functions

    1
    3.2k last 90 days
  • eval 1.0.0

    A Gleam package to help you thread state through a series of steps.

    14
    3.1k last 90 days
  • buffalo 2.1.0

    Buffalo - deduplicated erlang apply

    8
    3.1k last 90 days
  • The Currying library allows you to partially apply (or 'curry') any Elixir function, in a very transparent way. It also optionally implements the infix operator `~>` as a synomym for currying.

    45
    3.0k last 90 days
  • koatuu 1.4.2

    KOATUU Ukrainian Classifier

    3
    3.0k last 90 days
  • ExEssentials is a powerful utility library for Elixir that serves as a true toolbox — bringing together a collection of generic, reusable, and ready-to-use helpers to accelerate Elixir application development.

    0
    2.9k last 90 days
  • Mixins for Elixir namespaces and Misc utility functions

    6
    2.8k last 90 days
  • A type-safe, K-sortable, globally unique identifier inspired by Stripe IDs

    69
    2.8k last 90 days
  • Generate random strings in a few different formats.

    5
    2.7k last 90 days
  • want 1.21.0

    Type conversion library for Erlang and Elixir.

    10
    2.7k last 90 days
  • grid 0.2.1

    Formatter for tabular data

    11
    2.5k last 90 days
  • ravenx 2.0.0

    Notification dispatch library for Elixir applications.

    112
    2.5k last 90 days
  • Client for Confluent Schema Registry

    9
    2.4k last 90 days
  • maptu 1.0.0

    Tiny library to convert from "encoded" maps to Elixir structs.

    29
    2.4k last 90 days
  • uuid5 1.2.0

    UUID v5 type for Ecto.

    9
    2.2k last 90 days
  • A color manipulation library designed to work like chroma-js

    1
    2.2k last 90 days
  • Keep track of revisions, versions, changes to your data. Persistence layer agnostic.

    28
    2.2k last 90 days
  • given 6.0.0

    👇 Ergonomic early returns (lazy guards) for Bool, Result and Option types as well as list membership checks in Gleam!

    36
    2.2k last 90 days
  • Generate color based on the given string

    -
    2.1k last 90 days
  • purl 0.3.0

    Implementation of the purl (package url) specification

    5
    2.1k last 90 days
  • Construct streams of values by specifying composable generator functions. For example list(tuple(like: {atom, string})) will generate a random length keyword list with random keys and values. Constraints can be applied at all levels.

    31
    2.1k last 90 days
  • Elixir utils.

    2
    2.1k last 90 days
  • krug 2.0.34

    A Utilitary package functionalities modules for improve a secure performatic development.

    2
    2.0k last 90 days
  • funx 0.1.6

    Functional programming abstractions for Elixir (Beta release: APIs may change before 1.0)

    34
    2.0k last 90 days
  • Extension of common Elixir modules.

    1
    2.0k last 90 days
  • fab 1.2.2

    Fab is a lightweight Elixir library for generating fake data

    0
    2.0k last 90 days
  • 128-bit, k-ordered, conflict-free IDs Elixir.

    52
    2.0k last 90 days
  • A common pattern to acquire a resource, perform some action on it and then run a finalizer, regardless of the outcome of the action

    8
    1.9k last 90 days
  • Module to discover the CreditCard brand based in the first digits

    3
    1.9k last 90 days
  • Both total and time limited evaluation of expressions

    5
    1.9k last 90 days
  • Creates a client state struct for the Game of Islands.

    0
    1.9k last 90 days
  • A simple ffi library to use twMerge in gleam

    -
    1.8k last 90 days
  • Work with Common Crawl data

    3
    1.8k last 90 days
  • If Atom, BitString, Integer and Float values wanna be a boolean value, they can using to_boolean/1 function.

    6
    1.7k last 90 days
  • TypedStructor is a library for defining structs with types effortlessly.

    19
    1.7k last 90 days
  • A utility library for NLdoc providing various helper functions.

    -
    1.6k last 90 days
  • tabula 2.2.4

    Pretty printer for maps/structs collections

    94
    1.6k last 90 days
  • Dependency injection for Elixir, suitable to use with Mox.

    9
    1.6k last 90 days
  • forgery 0.2.0

    A slim data generator that does not compromise extensibility.

    17
    1.6k last 90 days