A declarative, extensible framework for building Elixir applications with a resource-centric architecture.
Ash is a declarative framework for building Elixir applications. It provides a structured, resource-centric approach to defining data models, business logic, and APIs, reducing boilerplate and improving maintainability. It solves the problem of organizing complex application logic and data interactions in a consistent, scalable way.
Elixir developers building data-intensive backend applications, APIs, or full-stack systems who want a structured, declarative approach to application architecture.
Developers choose Ash for its powerful declarative DSL that reduces repetitive code, its extensible ecosystem of official packages, and its built-in features for authorization, API generation, and multi-datalayer support out of the box.
A declarative, extensible framework for building Elixir applications.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Defines data models, relationships, and business logic in a clear, declarative language, reducing boilerplate code as emphasized in the README's design principles.
Supports numerous official packages for data layers, APIs, and utilities, allowing customization without reinventing the wheel, as listed in the Packages section.
Implements fine-grained security policies and sensitive data controls directly within resource definitions, enhancing security out of the box.
Connects to various backends like PostgreSQL, SQLite, and CSV via adapters, providing flexibility in data storage without lock-in.
The comprehensive DSL and conceptual overhead require significant time to master, especially for developers new to declarative frameworks or Elixir.
Many features rely on additional packages, complicating setup and maintenance, as seen in the extensive list of dependencies like AshPostgres or AshGraphql.
The README includes an 'Upgrading to 3.0' guide, indicating that major updates may introduce breaking changes that require migration efforts and careful planning.