Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elixir
  3. erlware_commons

erlware_commons

MITErlangv1.6.0

A collection of reusable Erlang components that extend the standard library for production applications.

Visit WebsiteGitHubGitHub
225 stars102 forks0 contributors

What is erlware_commons?

Erlware Commons is an open-source Erlang library that extends the standard library with reusable components proven useful in production applications. It provides modules for date formatting, parallel list operations, semantic version parsing, file utilities, and dictionary signatures. The project aims to fill gaps in the Erlang distribution with high-quality, well-tested code.

Target Audience

Erlang developers building production applications who need reliable utilities beyond the standard library, such as parallel processing, date handling, or SemVer parsing.

Value Proposition

Developers choose Erlware Commons for its production-ready, well-documented modules that address common gaps in Erlang's stdlib, with a focus on code quality and the potential for future inclusion in the main distribution.

Overview

Erlware Commons is an Erlware project focused on all aspects of reusable Erlang components.

Use Cases

Best For

  • Parallelizing list operations in Erlang for multi-core or distributed systems
  • Parsing and comparing semantic versions in Erlang projects
  • Formatting dates and times with PHP-like formatting rules
  • Implementing dictionary-like data structures with a consistent interface
  • Adding file utility functions not available in the standard library
  • Enhancing command-line interaction in Erlang applications

Not Ideal For

  • Applications requiring timezone-aware date formatting (ec_date lacks timezone support as noted in the README)
  • Simple scripts or prototypes where the overhead of parallel list operations is unnecessary (ec_plists adds complexity for trivial tasks)
  • Teams that strictly adhere to using only the official Erlang/OTP distribution to minimize external dependencies
  • Projects needing a comprehensive, all-in-one utility library with broad coverage beyond the curated modules (e.g., advanced networking or database tools)

Pros & Cons

Pros

Production-Proven Utilities

Modules like ec_date and ec_plists are derived from Erlware's production experience, ensuring they solve real-world problems effectively, as highlighted in the project's introduction.

Parallel List Operations

ec_plists offers a drop-in replacement for the lists module with configurable parallelization for IO-bound, CPU-bound, or distributed scenarios, providing performance gains for suitable workloads.

Comprehensive SemVer Support

ec_semver provides a complete parser and comparator for the Semantic Versioning standard, filling a gap not addressed by Erlang's stdlib, as detailed in the module description.

Dictionary Signature System

The ec_dictionary signature and its implementations (e.g., ec_dict, ec_gb_trees) offer a consistent interface for key-value stores, improving code modularity and reusability, as explained in the signatures section.

Cons

Limited Date Formatting Capabilities

ec_date explicitly does not support timezones or certain PHP date formats, making it unsuitable for international applications that require timezone-aware handling, as admitted in the README.

Configuration Complexity for Parallelism

ec_plists requires careful tuning via 'malt' parameters to avoid overhead and optimize performance, which can be a barrier for developers unfamiliar with parallel computing nuances.

Curated Module Selection

The library focuses on Erlware's specific production needs, so it may lack utilities for other common tasks, such as advanced file operations or command-line parsing beyond basic interactions.

Frequently Asked Questions

Quick Stats

Stars225
Forks102
Contributors0
Open Issues1
Last commit18 days ago
CreatedSince 2011

Tags

#parallel-computing#production-tools#semantic-versioning#data-structures#utility-library#standard-library#erlang#date-formatting

Built With

E
Erlang

Links & Resources

Website

Included in

Elixir13.1k
Auto-fetched 1 day ago

Related Projects

retryretry

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

Stars458
Forks34
Last commit1 year ago
quarkquark

Common combinators for Elixir

Stars318
Forks15
Last commit3 years 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