Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elixir
  3. ex_aws

ex_aws

MITElixirv1.0.0-beta1

A flexible, easy-to-use Elixir client library for interacting with AWS APIs.

Visit WebsiteGitHubGitHub
1.3k stars570 forks0 contributors

What is ex_aws?

ExAws is an Elixir client library that provides flexible and easy-to-use access to Amazon Web Services APIs. It wraps AWS services with idiomatic Elixir functions, allowing developers to interact with services like S3, DynamoDB, and ECS directly from their Elixir applications. The library solves the problem of integrating AWS cloud services into Elixir-based systems with minimal dependencies and clear abstractions.

Target Audience

Elixir developers building applications that need to interact with AWS services, particularly those working on backend systems, cloud infrastructure, or serverless architectures in the Elixir ecosystem.

Value Proposition

Developers choose ExAws for its modular design, minimal dependencies, and close alignment with AWS APIs while providing Elixir-specific conveniences like streams for pagination. Its flexible credential resolution and support for multiple authentication methods make it robust for production use in various deployment environments.

Overview

A flexible, easy to use set of clients AWS APIs for Elixir

Use Cases

Best For

  • Building Elixir backend services that integrate with AWS S3, DynamoDB, or other AWS services
  • Creating cloud-native applications in Elixir that require idiomatic AWS API access
  • Handling paginated AWS resources efficiently using Elixir streams
  • Applications deployed on EKS needing Pod Identity credential resolution
  • Projects wanting minimal dependencies by choosing specific AWS service packages
  • Direct low-level AWS API calls for services not yet fully supported by wrapper modules

Not Ideal For

  • Projects wanting a fully-bundled, all-in-one AWS SDK with zero dependency management
  • Teams preferring high-level abstractions that hide AWS API details entirely
  • Applications with strict real-time requirements where retry backoffs could introduce unacceptable latency
  • Development environments without Docker for local testing of services like DynamoDB

Pros & Cons

Pros

Modular Service Design

Each AWS service is a separate Hex package, allowing developers to include only what they use, which minimizes dependency bloat and keeps applications lean.

Flexible Client Integration

Works with preferred HTTP clients like Hackney and JSON codecs like Jason, giving teams control over their stack without being locked into specific libraries.

Efficient Pagination Handling

Uses Elixir streams to automatically handle paginated AWS resources, simplifying code for iterating over large datasets without manual page management.

Robust Credential Management

Automatically resolves credentials from multiple sources including environment variables, AWS CLI config, EKS Pod Identity, and IAM roles, easing deployment across different AWS environments.

Cons

Complex Initial Setup

Requires configuring separate packages for each AWS service, HTTP clients, and JSON codecs, which can be cumbersome and error-prone for newcomers or rapid prototyping.

Testing Overhead

Local testing for services like DynamoDB necessitates running Docker containers, adding infrastructure dependencies and complexity to development workflows.

Manual API Mapping for Edge Cases

For services not fully supported, developers must manually map AWS API details using low-level operations, increasing the risk of errors and requiring deep API knowledge.

Frequently Asked Questions

Quick Stats

Stars1,336
Forks570
Contributors0
Open Issues68
Last commit3 days ago
CreatedSince 2014

Tags

#elixir#serverless#aws-sdk#infrastructure#api-client#amazon-web-services#backend#hex-package#http-client

Built With

E
Elixir
H
Hackney
J
Jason

Links & Resources

Website

Included in

Elixir13.1k
Auto-fetched 11 hours ago

Related Projects

libclusterlibcluster

Automatic cluster formation/healing for Elixir applications

Stars2,153
Forks203
Last commit1 year ago
erlclouderlcloud

AWS APIs library for Erlang (Amazon EC2, S3, SQS, DDB, ELB and etc)

Stars650
Forks444
Last commit7 months ago
awsaws

AWS clients for Elixir

Stars595
Forks135
Last commit1 day ago
BonnyBonny

The Elixir based Kubernetes Development Framework

Stars429
Forks31
Last commit2 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