Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elixir
  3. atlas

atlas

MITElixir

An Object Relational Mapper for Elixir with a Postgres adapter, validations, and a composable query builder.

GitHubGitHub
216 stars18 forks0 contributors

What is atlas?

Atlas is an Object Relational Mapper (ORM) for the Elixir programming language, designed to provide a structured and flexible way to interact with databases. It follows the Repository pattern to decouple persistence logic from business logic, enabling robust data management and validation workflows. It currently supports PostgreSQL and includes features like schema definitions, a composable query builder, and built-in validations.

Target Audience

Elixir developers building applications that require structured database interactions with a focus on separation of concerns and data integrity. It is particularly suited for projects that benefit from the Repository pattern to manage multiple database connections and complex validation workflows.

Value Proposition

Developers choose Atlas for its strict adherence to the Repository pattern, which cleanly separates persistence from business logic, and its flexible validation system with custom callback support. Its composable query builder and automatic generation of field accessors and finders reduce boilerplate code while maintaining clarity.

Overview

Object Relational Mapper for Elixir

Use Cases

Best For

  • Elixir applications requiring a clean separation between database logic and business logic using the Repository pattern.
  • Projects that need built-in and custom validation callbacks to enforce complex data integrity rules.
  • Teams building PostgreSQL-backed Elixir applications with a need for composable, chainable query interfaces.
  • Developers looking for an ORM that automatically generates field accessors and 'with_[field]' finder functions to reduce manual coding.
  • Applications that plan to support multiple database adapters in the future, as indicated by the roadmap.
  • Scenarios where data models require declarative schema definitions with explicit primary key and field typing.

Not Ideal For

  • Projects requiring immediate support for SQL joins or model relationships (e.g., has_many, belongs_to).
  • Applications that need to connect to databases other than PostgreSQL.
  • Production systems where API stability is critical due to expected breaking changes.

Pros & Cons

Pros

Repository Pattern Implementation

Cleanly separates persistence logic from business logic, enabling multiple database connections and validation workflows, as demonstrated in the persistence examples with different validator modules.

Flexible Validation System

Supports built-in validators and custom callbacks, allowing complex data integrity checks like the Manager validator that enforces age restrictions beyond base model rules.

Composable Query Builder

Provides a chainable interface for building queries, shown in examples where conditions and ordering can be combined, making code readable and reusable.

Auto-generated Accessors and Finders

Automatically creates field accessors and `with_[field]` finder functions, reducing boilerplate, with the ability to override for custom behavior as in the email upcasing example.

Cons

Incomplete Feature Set

Lacks essential ORM features like joins, relationships, and migrations, which are only on the roadmap, limiting its usefulness for advanced database operations.

Breaking Changes Expected

Explicitly labeled as a work in progress, so API changes are likely, posing maintenance risks for projects that depend on stability.

Limited Database Support

Currently only supports PostgreSQL, with other adapters planned but not available, restricting flexibility in multi-database environments.

Manual Configuration Overhead

Requires defining Repo configuration for each environment manually in code, which can be tedious and error-prone compared to configuration file-based systems.

Frequently Asked Questions

Quick Stats

Stars216
Forks18
Contributors0
Open Issues5
Last commit11 years ago
CreatedSince 2013

Tags

#query-builder#orm#database#elixir#schema-definition#postgresql#validations#repository-pattern

Built With

P
PostgreSQL
E
Elixir

Included in

Elixir13.1k
Auto-fetched 19 hours ago

Related Projects

ectoecto

A toolkit for data mapping and language integrated query.

Stars6,478
Forks1,480
Last commit1 day ago
postgrexpostgrex

PostgreSQL driver for Elixir

Stars1,213
Forks307
Last commit2 days ago
eventstoreeventstore

Event store using PostgreSQL for persistence

Stars1,157
Forks154
Last commit2 months ago
redixredix

Fast, pipelined, resilient Redis driver for Elixir. 🛍

Stars1,139
Forks125
Last commit18 days 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