Utilities
General-purpose utility libraries and helper functions. Packages among the 3,000 most downloaded in the past 90 days.
-
3732.1m
-
1.6k1.2m
-
641.2m
-
10934.4k
-
61811.4k
-
1.2k687.1k
-
366635.7k
-
366542.3k
-
retry 0.19.0
Simple Elixir macros for linear retry, exponential backoff and wait with composable delays.
456499.4k last 90 days456499.4k -
typed_struct 0.3.0
A library for defining structs with a type without writing boilerplate code.
760456.0k last 90 days760456.0k -
deep_merge 1.0.0
Deep (recursive) merging for maps, keyword lists and whatever else you may want via implementing a simple protocol.
116451.0k last 90 days116451.0k -
ex2ms 1.7.0
Translates Elixir functions to match specifications for use with `ets`.
201401.3k last 90 days201401.3k -
496379.0k
-
uniq 0.6.2
Provides UUID generation, parsing, and formatting. Supports RFC 4122, and the v6 draft extension
113356.0k last 90 days113356.0k -
559332.8k
-
139305.0k
-
43288.8k
-
221280.7k
-
cldr_utils 2.29.1
Map, Calendar, Digits, Decimal, HTTP, Macro, Math, and String helpers for ex_cldr.
16279.6k last 90 days16279.6k -
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.
845242.1k last 90 days845242.1k -
9149.4k
-
133132.6k
-
nanoid 2.1.0
Elixir port of NanoID (https://github.com/ai/nanoid), a tiny, secure URL-friendly unique string ID generator.
231121.9k last 90 days231121.9k -
moar 4.2.0
A dependency-free utility library containing 100+ useful functions.
22120.2k last 90 days22120.2k -
196110.9k
-
224106.5k
-
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.
93101.6k last 90 days93101.6k -
morphix 0.8.1
Morphix is a small package of convenience methods for working with Maps, Tuples, and Lists.
92.1k last 90 days-92.1k -
map_diff 1.3.4
Calculates the difference between two (nested) maps, and returns a map representing the patch of changes.
13187.3k last 90 days13187.3k -
76186.9k
-
1884.8k
-
ex_maybe 1.1.1
This library fills a bunch of important niches. A Maybe can help you with optional arguments, error handling, and records with optional fields.
074.8k last 90 days074.8k -
countries 1.6.0
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.
15672.8k last 90 days15672.8k -
57871.8k
-
enum_type 1.1.3
An Elixir friendly Enum module generator that can be used by itself or with Ecto.
2059.8k last 90 days2059.8k -
blankable 1.0.0
Implementation of `blank?` in Elixir. Aims to work in a practically identical fashion to ActiveSupport's #blank? method.
2959.6k last 90 days2959.6k -
atomic_map 0.9.3
A small utility to convert deep Elixir maps with mixed string/atom keys to atom-only keyed maps
4659.1k last 90 days4659.1k -
13553.8k
-
4352.3k
-
1949.7k
-
redis_mutex 1.1.0
RedisMutex is a library for creating a Redis lock for a single Redis instance
1342.1k last 90 days1342.1k -
coerce 1.0.2
Coerce allows defining coercions, standardized conversions, between data types.
236.8k last 90 days236.8k -
2735.6k
-
10734.3k
-
deadline 0.7.1
Deadline is a small library for managing deadlines and deadline propagation.
2434.2k last 90 days2434.2k -
5133.3k
-
1532.9k
-
ex_ulid 0.1.0
Universally Unique Lexicographically Sortable Identifier (ULID) in Elixir.
3330.1k last 90 days3330.1k -
7029.7k
-
2527.7k
-
uuid_v7 0.6.0
UUID v7 with an 18-bit randomly-seeded counter. (Re: Section 6.2, from the IETF Draft.)
6826.3k last 90 days6826.3k -
uxid 2.2.0
Generates identifiers like: cus_01EPEY1JMKXVBT and txn_01EPEY2P06TR1RTV07XA82ZGJJ. Includes Ecto type.
3423.8k last 90 days3423.8k -
2123.4k
-
722.0k
-
1120.0k
-
3619.9k
-
619.6k
-
618.4k
-
1517.4k
-
9916.8k
-
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.
3416.3k last 90 days3416.3k -
1216.1k
-
1715.2k
-
2215.0k
-
36014.4k
-
stream_split 0.1.7
Split a stream into a head and tail, without iterating the tail
3713.9k last 90 days3713.9k -
nested_filter 1.2.2
Drill down into a nested map and filter out keys according to user specified values
3513.6k last 90 days3513.6k -
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.
14113.5k last 90 days14113.5k -
8113.3k
-
iteraptor 1.15.0
This small library allows the deep iteration / mapping of Enumerables.
7112.9k last 90 days7112.9k -
512.0k
-
1.2k11.8k
-
19711.1k
-
fe 0.1.5
Collection of useful data types brought to Elixir from other functional languages.
4111.1k last 90 days4111.1k -
7310.8k
-
1648.9k
-
188.6k
-
918.1k
-
928.0k
-
257.9k
-
307.9k
-
107.0k
-
357.0k
-
unique_names_generator 0.2.0
Elixir library for generating random and unique names
36.9k last 90 days36.9k -
236.8k
-
56.7k
-
256.4k
-
406.3k
-
chameleon 2.5.0
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}
286.3k last 90 days286.3k -
326.1k
-
numerator 0.3.0
Numerator does calculate paginations without creating any markup.
406.1k last 90 days406.1k -
56.1k
-
935.9k
-
215.7k
-
255.6k
-
1115.6k
-
365.4k
-
-5.0k
-
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.
45.0k last 90 days45.0k -
-5.0k
-
brex_result 0.4.0
Tools to handle three common return values in Elixir: `:ok | {:ok, value} | {:error, reason}`
844.7k last 90 days844.7k -
204.5k
-
trogon_typeprovider 0.2.2
A flexible type mapping system for Elixir struct modules
124.4k last 90 days124.4k -
handler 0.5.0
A helper to run functions that you want to limit by heap size or time
34.4k last 90 days34.4k -
164.4k
-
84.3k
-
tailwind_merge 0.1.0
Utility function to efficiently merge Tailwind CSS classes in Elixir without style conflicts.
44.3k last 90 days44.3k -
1124.2k
-
wait_for_it 2.1.2
Elixir library providing various ways of waiting for things to happen
174.1k last 90 days174.1k -
874.1k
-
143.9k
-
123.7k
-
aja 0.7.4
Extension of the Elixir standard library focused on data stuctures, data manipulation and performance
2203.7k last 90 days2203.7k -
key_tools 0.4.1
Simple functions for coercing Elixir Maps: atomizing, snake_casing, etc.
73.7k last 90 days73.7k -
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.
423.6k last 90 days423.6k -
43.6k
-
-3.6k
-
exemvi 0.3.0
A library to work with EMV QR Code Specification for Payment Systems
33.3k last 90 days33.3k -
03.2k
-
-3.1k
-
33.1k
-
82.7k
-
krug 2.0.34
A Utilitary package functionalities modules for improve a secure performatic development.
22.5k last 90 days22.5k -
102.5k
-
funx 0.1.7
Functional programming abstractions for Elixir (Beta release: APIs may change before 1.0)
372.4k last 90 days372.4k -
292.4k
-
62.4k
-
92.4k
-
-2.3k
-
-2.0k
-
12.0k
-
atomize_keys 1.2.0
A tool to convert string map keys to atoms or atom map keys to strings.
02.0k last 90 days02.0k -
22.0k
-
lazy_for 1.1.0
Lazy implementation of Kernel.SpecialForms.for/1 based on streams
31.9k last 90 days31.9k -
ex_essentials 0.7.0
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.
01.9k last 90 days01.9k -
given 6.0.0
👇 Ergonomic early returns (lazy guards) for Bool, Result and Option types as well as list membership checks in Gleam!
361.9k last 90 days361.9k -
51.8k
-
digger 3.0.0
A collection of helpers to operate on nested maps. See README for the complete list of helpers. The test suite is also helpful.
61.8k last 90 days61.8k -
currying 1.0.3
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.
451.8k last 90 days451.8k -
-1.8k
-
521.8k
-
islands_client_state 0.1.28
Creates a client state struct for the Game of Islands.
01.8k last 90 days01.8k -
51.7k
-
typeid_elixir 1.1.0
A type-safe, K-sortable, globally unique identifier inspired by Stripe IDs
691.7k last 90 days691.7k -
11.7k
-
31.7k
-
aspire 0.1.0
Each function performs type conversion if it is 100% safe. Else it returns first argument as is.
01.7k last 90 days01.7k -
revisionair 0.13.4
Keep track of revisions, versions, changes to your data. Persistence layer agnostic.
281.6k last 90 days281.6k -
31.5k
-
961.4k
-
11.4k
-
21.4k
-
91.4k
-
resource 1.0.1
A common pattern to acquire a resource, perform some action on it and then run a finalizer, regardless of the outcome of the action
81.4k last 90 days81.4k -
typed_structor 0.5.0
TypedStructor is a library for defining structs with types effortlessly.
191.4k last 90 days191.4k -
51.3k
-
pollution 0.9.2
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.
311.3k last 90 days311.3k -
01.3k
-
flagmojis 1.0.0
An Elixir micro library that provides an easy lookup to country emoji flag information including ISO, Unicode, Emoji and Name.
221.3k last 90 days221.3k