Utilities

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

157 packages
  • A tiny resource-pool implementation

    379
    1.9m last 90 days
  • Track ownership of resources across processes.

    65
    1.1m last 90 days
  • poolboy 1.5.2

    A hunky Erlang worker pool factory

    1.6k
    1.0m last 90 days
  • ctx 0.6.0

    Context carries request scoped values and deadlines

    10
    888.9k last 90 days
  • BEAM friendly spinlocks for Elixir/Erlang

    61
    750.5k last 90 days
  • faker 0.18.0

    Faker is a pure Elixir library for generating fake data.

    1.2k
    602.5k last 90 days
  • uuid 1.1.8

    UUID generator and utilities for Elixir.

    367
    517.7k last 90 days
  • UUID generator and utilities for Elixir.

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

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

    116
    403.1k last 90 days
  • retry 0.19.0

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

    459
    383.0k last 90 days
  • uniq 0.6.2

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

    119
    359.7k last 90 days
  • Efficient batch loading in Elixir

    496
    330.7k last 90 days
  • backoff 1.1.6

    Exponential backoffs library

    139
    301.7k last 90 days
  • Erlang UUID Implementation

    221
    280.5k last 90 days
  • ex2ms 1.7.0

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

    201
    262.9k last 90 days
  • Pagination for the Elixir ecosystem

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

    16
    246.9k 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.

    848
    187.3k last 90 days
  • Providers provider.

    9
    122.0k last 90 days
  • moar 4.2.0

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

    22
    120.6k last 90 days
  • uuidv7 1.0.0

    A UUID v7 implementation and Ecto.Type for Elixir

    134
    117.7k last 90 days
  • nestru 1.0.1

    A library to serialize between maps and nested structs

    43
    109.8k last 90 days
  • Elixir fake data generation for testing and development

    196
    106.7k last 90 days
  • iterex 0.1.2

    Lazy, external iterators for Elixir.

    18
    103.9k 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.

    231
    96.8k last 90 days
  • aja 0.7.4

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

    225
    96.5k last 90 days
  • puid 2.7.1

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

    98
    95.6k last 90 days
  • morphix 0.8.1

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

    88.8k last 90 days
  • Additional standard library for Erlang

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

    131
    79.2k last 90 days
  • Elixir utils.

    2
    77.5k last 90 days
  • ami 0.3.9

    Package containing all AMI Models shared between micro-services.

    73.6k last 90 days
  • erlexec 2.2.2

    OS Process Manager

    584
    71.8k last 90 days
  • Fast semaphore using ETS.

    764
    71.6k 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
    71.4k 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
    64.4k last 90 days
  • Unfold values on-demand from a function

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

    46
    54.3k last 90 days
  • User agent parser library

    137
    52.9k last 90 days
  • p1_utils 1.0.28

    Erlang utility modules from ProcessOne

    18
    50.1k last 90 days
  • A declarative busy wait

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

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

    29
    44.2k last 90 days
  • Basic utilities for typical leet code exercises (such as Advent of Code)

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

    7
    32.6k last 90 days
  • ShortUUID - generate concise, unambiguous, URL-safe UUIDs

    51
    32.2k 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.)

    72
    32.0k last 90 days
  • RedisMutex is a library for creating a Redis lock for a single Redis instance

    13
    29.7k last 90 days
  • browser 0.5.5

    Browser detection library

    108
    28.6k last 90 days
  • Handy functions for polling, rate limiting, and receiving.

    36
    27.6k last 90 days
  • coerce 1.0.2

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

    2
    27.0k last 90 days
  • Elixir port of Breadcrumble library

    27
    26.1k last 90 days
  • Colour types, conversions, and other utilities

    20
    25.8k last 90 days
  • ex_ulid 0.1.0

    Universally Unique Lexicographically Sortable Identifier (ULID) in Elixir.

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

    24
    24.3k last 90 days
  • bunch 1.6.1

    A bunch of helper functions, intended to make life easier

    21
    23.0k last 90 days
  • ranger 1.4.0

    create ranges over any type

    5
    22.5k last 90 days
  • setup 2.2.1

    Generic setup application for Erlang-based systems

    70
    21.0k last 90 days
  • Package to allow you to get input for all advent of code puzzles, rather than pasting them in manually.

    8
    20.7k last 90 days
  • prng 5.1.0

    A Pure Random Number Generator

    28
    19.9k last 90 days
  • youid 1.5.1

    Generate and parse UUIDs

    29
    18.6k last 90 days
  • mutex 3.0.3

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

    34
    18.6k last 90 days
  • tdiff 0.1.2

    Difference library

    25
    18.2k last 90 days
  • Aliyun Core modules.

    1
    17.7k last 90 days
  • alfred 0.3.1

    Library for integrating with Alfred: http://www.alfredapp.com

    4
    17.7k last 90 days
  • uxid 2.3.0

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

    38
    17.3k last 90 days
  • towel 0.2.2

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

    99
    16.6k last 90 days
  • pipes 2.0.2

    process pipe library

    11
    16.6k last 90 days
  • Collection of Awesome Elixir shortcuts and utilities ⚡

    6
    16.3k last 90 days
  • uid 1.3.5

    k-ordered unique identity

    6
    16.2k last 90 days
  • purl 0.3.0

    Implementation of the purl (package url) specification

    5
    16.2k last 90 days
  • poolex 1.5.0

    The library for managing pools of workers.

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

    37
    13.9k 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
    13.4k last 90 days
  • Send a message to the BEAM from a shell script

    15
    13.1k last 90 days
  • pathex 2.6.1

    Functional lenses for nested structures

    360
    13.0k last 90 days
  • Elixir Snowflake ID Generator

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

    71
    12.3k last 90 days
  • agente 0.1.2

    Gerador de CPFs

    11.8k last 90 days
  • Provides some helper methods to build manager and admin applications quicker

    35
    11.8k last 90 days
  • A collection of common utility functions for various situations.

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

    4
    11.4k last 90 days
  • anybar 0.4.0

    Elixir interface to AnyBar app

    0
    11.4k last 90 days
  • Fast no copy globals for Elixir & Erlang.

    1.2k
    10.5k last 90 days
  • sbroker 1.0.0

    Low level pooling library

    164
    10.5k last 90 days
  • Resuable utilities for projects generated with oas_generator for Open API Spec, JSON schema and MCP client or server.

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

    35
    9.1k last 90 days
  • Create Heroku-like names.

    2
    8.9k last 90 days
  • alambic 1.1.0

    A collection of small elixir utilities (Semaphore, CountDown).

    0
    8.9k last 90 days
  • UUID generator and utilities for Elixir.

    12
    8.8k last 90 days
  • altstd 0.1.1

    Altstd

    8.8k last 90 days
  • ark 0.9.0

    Ark is a collection of small utilities useful for prototyping, testing, and working with Elixir common patterns.

    0
    8.0k last 90 days
  • Numerator does calculate paginations without creating any markup.

    40
    7.9k last 90 days
  • sqids 0.2.1

    Generate YouTube-looking IDs from numbers

    92
    7.7k last 90 days
  • lens 1.0.0

    A utility for working with nested data structures.

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

    17
    7.4k 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}

    28
    7.1k last 90 days
  • fe 0.1.5

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

    41
    6.9k last 90 days
  • tails 0.1.11

    A tailwind utility library for Elixir

    92
    6.9k last 90 days
  • "A message" struct w/ four required keys: from, to, subject, body

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

    85
    6.8k last 90 days
  • resolve 1.0.0

    Dependency injection and resolution at compile time or runtime

    26
    6.7k last 90 days
  • Extensions for Elixir structures.

    31
    6.7k last 90 days
  • diffy 1.1.2

    Diff, match patch implementation

    11
    6.6k last 90 days
  • any 0.3.2

    Convert any type into an atom, binary, boolean, float, integer or list

    2
    6.6k last 90 days
  • crudry 2.4.0

    Crudry is a library for DRYing CRUD.

    93
    6.4k last 90 days
  • Run interactive shell commands on the BEAM

    1
    6.3k last 90 days
  • Decentralized, k-ordered ID generation service

    6.3k last 90 days
  • Create singleton values accessible anywhere in your application.

    4
    6.2k last 90 days
  • ex_cmd 0.18.0

    Interact with external programs with back-pressure mechanism

    106
    6.2k last 90 days
  • Constants and Enumerated Values for Elixir

    23
    6.1k last 90 days
  • ksuid 0.1.2

    ksuid is a zero dependency Elixir library for generating KSUIDs.

    111
    6.0k last 90 days
  • Access Log Parser

    1
    6.0k last 90 days
  • again 0.1.1

    A library for retrying work again... and again... and again...

    0
    5.9k last 90 days
  • Elixir utils.

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

    0
    5.7k last 90 days
  • Copy and paste from system clipboard

    36
    5.4k last 90 days
  • eval 1.0.0

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

    14
    5.4k last 90 days
  • tablet 0.3.1

    A tiny tabular table renderer

    5
    5.3k last 90 days
  • useful 1.15.0

    A collection of useful functions for building Elixir apps.

    36
    5.2k last 90 days
  • mapz 2.4.0

    Extensions to the Erlang maps module

    18
    5.2k last 90 days
  • An :elixir_uuid compatibility layer for :uniq

    5
    5.1k last 90 days
  • maybe 1.0.0

    Nil protection for nested maps and structs

    25
    5.0k last 90 days
  • Debouncer is a flexible function call debouncer.

    8
    5.0k last 90 days
  • want 2.0.0

    Type conversion library for Erlang and Elixir.

    10
    4.8k last 90 days
  • An Elixir module for generating Gravatar urls.

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

    7
    4.7k last 90 days
  • buffer 0.3.12

    Provide read and write buffers for Elixir

    5
    4.7k last 90 days
  • Chained, semantic comparisons for Elixir

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

    4.6k 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
    4.4k last 90 days
  • Mixins for Elixir namespaces and Misc utility functions

    6
    4.4k last 90 days
  • High-quality UUID generation for Erlang with distributed entropy powered by ALARA.

    0
    4.3k last 90 days
  • ulid 0.2.0

    Universally Unique Lexicographically Sortable Identifier

    32
    4.2k last 90 days
  • handler 0.5.0

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

    3
    3.9k last 90 days
  • krug 2.0.34

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

    2
    3.9k last 90 days
  • Convert different mappable types to each other in Elixir

    16
    3.7k last 90 days
  • Client for Confluent Schema Registry

    9
    3.4k last 90 days
  • Elixir library for generating random and unique names

    3
    3.3k last 90 days
  • 128-bit, k-ordered, conflict-free IDs Elixir.

    52
    3.2k last 90 days
  • rewire 0.10.0

    Dependency injection for Elixir. Zero code changes required.

    113
    3.1k last 90 days
  • buffalo 2.1.0

    Buffalo - deduplicated erlang apply

    8
    3.1k 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.

    43
    3.1k last 90 days
  • Accessor is an Elixir data structure manipulator wrapper

    3.0k last 90 days
  • adept 0.1.0

    A collection of light and simple utility functions for Elixir

    3
    3.0k last 90 days
  • adap 0.0.1

    Create a data stream across your information systems to query, augment and transform data according to Elixir matching rules.

    3.0k last 90 days
  • allen 0.1.0

    A read-only module constant pool

    1
    3.0k last 90 days
  • Amortization Schedule generator for periodic payments or installments. Using this table can show you how much will go toward the principal and how much will go toward the interest for each month.

    4
    3.0k last 90 days
  • Useful library functions

    0
    2.9k last 90 days
  • An assortment of input-humanizing utility functions.

    1
    2.9k last 90 days
  • anvil 0.1.0

    Anvil is toolkit to use Witchcraft and Reather more easily.

    0
    2.9k last 90 days
  • Generates random strings

    2.9k last 90 days
  • binary 0.0.5

    Toolkit for handling binaries in Elixir.

    21
    2.8k last 90 days
  • maptu 1.0.0

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

    29
    2.5k last 90 days
  • Helpers for waiting on asynchronous events

    12
    2.5k last 90 days
  • A flexible type mapping system for Elixir struct modules

    12
    2.4k last 90 days