ash  by ash-project

Elixir framework for building applications

Created 6 years ago
2,081 stars

Top 21.4% on SourcePulse

GitHubView on GitHub
Project Summary

Ash is a declarative, extensible framework for building Elixir applications, designed for developers who need a structured and maintainable way to manage complex data models and business logic. It provides a unified interface for defining resources, actions, and relationships, simplifying common application development tasks.

How It Works

Ash employs a Domain Specific Language (DSL) approach, allowing developers to define application logic in a declarative, Elixir-native syntax. This DSL abstracts away boilerplate code for data manipulation, authorization, and validation, promoting consistency and reducing errors. Key concepts include Resources, Actions (CRUD, custom), Relationships, and Policies, which are composed to build sophisticated application features.

Quick Start & Requirements

Highlighted Details

  • Comprehensive ecosystem of packages for data layers (Postgres, SQLite, CSV), API extensions (JSON:API, GraphQL), web integrations (Phoenix), authentication, and background jobs (Oban).
  • Built-in authorization and validation mechanisms, with extensibility for custom policies and logic.
  • Supports advanced features like multitenancy, state machines, archival, and encryption.
  • Real-world examples available in the ash-real-world repository.

Maintenance & Community

  • Actively maintained by the Ash Collective.
  • Community support available via Discord.
  • Roadmap available for future development.

Licensing & Compatibility

  • MIT License.
  • Permissive license suitable for commercial and closed-source applications.

Limitations & Caveats

Ash has a learning curve due to its DSL-centric approach. While extensible, complex custom logic might require deeper understanding of its internal mechanisms.

Health Check
Last Commit

3 hours ago

Responsiveness

1 day

Pull Requests (30d)
36
Issues (30d)
25
Star History
47 stars in the last 30 days

Explore Similar Projects

Starred by Elie Bursztein Elie Bursztein(Cybersecurity Lead at Google DeepMind), Michael Chiang Michael Chiang(Cofounder of Ollama), and
2 more.

enrichmcp by featureform

0.5%
601
ORM for AI agents
Created 5 months ago
Updated 9 hours ago
Feedback? Help us improve.