Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elixir
  3. dayron

dayron

Apache-2.0Elixir0.1.1

An Elixir library that provides an Ecto.Repo-like interface for interacting with RESTful APIs instead of databases.

Visit WebsiteGitHubGitHub
158 stars18 forks0 contributors

What is dayron?

Dayron is an Elixir library that maps RESTful API resources to Elixir data structures. It provides an Ecto.Repo-like interface for interacting with external APIs, sending HTTP requests instead of querying databases, which simplifies integrating external services into Elixir applications.

Target Audience

Elixir developers building applications that need to consume RESTful APIs, particularly those already familiar with Ecto's patterns and seeking consistency in data retrieval from external sources.

Value Proposition

Developers choose Dayron because it reduces boilerplate by mimicking Ecto's familiar functions like `all/1` and `get/2`, offers configurable HTTP clients and adapters, and supports reusing existing Ecto schemas, making API integration more consistent and efficient.

Overview

A repository similar to Ecto.Repo that maps to an underlying http client, sending requests to an external rest api instead of a database

Use Cases

Best For

  • Elixir applications requiring consistent interaction with multiple RESTful APIs using a familiar Ecto-like interface.
  • Projects that need to map API responses to Elixir structs or reuse existing Ecto schemas for external data.
  • Teams looking to reduce boilerplate code when integrating external services by leveraging configurable HTTP clients and headers.
  • Scenarios where generating model and test files quickly via Mix tasks (e.g., `dayron.gen.model`) accelerates development.
  • Implementing custom HTTP adapters for specialized API interactions using the provided `Dayron.Adapter` behavior.
  • Applications that prioritize a flexible, adapter-based architecture for HTTP requests, with HTTPoison as the default option.

Not Ideal For

  • Applications requiring real-time communication like WebSockets or Server-Sent Events, as Dayron is designed for RESTful HTTP requests only.
  • Projects with highly dynamic or non-standard API endpoints that don't fit fixed resource paths, since Dayron relies on predefined models and resources.
  • Teams needing built-in support for complex authentication flows beyond simple headers, such as OAuth token rotation or API key management.

Pros & Cons

Pros

Ecto-like Consistency

Uses familiar functions like `all/1` and `get/2` from Ecto.Repo, allowing Elixir developers to interact with APIs using patterns they already know, reducing boilerplate.

Model Reusability

Supports defining models with structs or reusing existing Ecto schemas, enabling seamless integration with database-backed models and consistent data mapping.

Configurable HTTP Setup

Allows custom headers and adapter implementation via `Dayron.Adapter`, with HTTPoison as the default, providing flexibility for different API requirements.

Efficient Development Tooling

Includes `mix dayron.gen.model` to quickly generate model and test files, speeding up project setup and adhering to Elixir conventions.

Cons

Limited Adapter Options

Only provides an HTTPoison adapter out of the box, requiring custom implementation for other HTTP clients, which adds complexity for teams with specific preferences.

Early Development Stage

Version 0.1 indicates the library is still immature, potentially leading to breaking changes, incomplete features, or limited community support.

Basic API Assumptions

Assumes simple RESTful endpoints without built-in handling for common API complexities like pagination, rate limiting, or advanced error recovery.

Frequently Asked Questions

Quick Stats

Stars158
Forks18
Contributors0
Open Issues14
Last commit8 years ago
CreatedSince 2016

Tags

#elixir-lang#elixir#rest-api#data-mapping#api-client#web-service#hex-package#http-client

Built With

H
HTTPoison
E
Elixir
H
Hackney

Links & Resources

Website

Included in

Elixir13.1k
Auto-fetched 16 hours ago

Related Projects

plugplug

Compose web applications with functions

Stars3,007
Forks608
Last commit1 day ago
surfacesurface

A server-side rendering component library for Phoenix

Stars2,136
Forks146
Last commit4 months ago
commandedcommanded

Use Commanded to build Elixir CQRS/ES applications

Stars2,018
Forks256
Last commit1 month ago
ex_adminex_admin

ExAdmin is an auto administration package for Elixir and the Phoenix Framework

Stars1,198
Forks265
Last commit6 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