Um framework web Python de alto nível que incentiva o desenvolvimento rápido e um design limpo e pragmático.
ash-project/ash
Um framework declarativo e extensível para Elixir, voltado à criação de aplicações com recursos, ações e políticas.
- Estrelas
- 2,540
- Forks
- 463
- Issues abertas
- 104
- Último commit
- há 13 horas
O que é?
Ash é um framework para criar aplicações em Elixir nas quais você descreve o domínio como recursos: seus atributos, relacionamentos, ações, validações e regras de autorização. A partir dessas declarações, Ash cuida de boa parte da infraestrutura ao redor, permitindo que os desenvolvedores dediquem menos tempo a escrever código repetitivo de acesso a dados e lógica de negócio.
Os recursos são definidos com uma DSL baseada em Spark e agrupados em domínios. Ash oferece suporte a várias camadas de dados, incluindo PostgreSQL por meio do AshPostgres, SQLite por meio do AshSqlite e ETS e Mnesia integrados. Pacotes complementares adicionam JSON:API, GraphQL, autenticação, tarefas em segundo plano com Oban, máquinas de estado, arquivamento e o pacote AshAI, que oferece saídas estruturadas, MCP e vetorização.
O framework se organiza em torno de conceitos explícitos, como ações, políticas de autorização e atores, mantendo o comportamento visível em um só lugar. A documentação do Ash inclui um tutorial para começar, guias por tópico, receitas passo a passo e referências geradas para suas DSLs.
Recursos principais
- 01Declare recursos com atributos, relacionamentos, ações e validações usando uma DSL.
- 02Organize recursos em domínios e use várias camadas de dados, como PostgreSQL e SQLite.
- 03Defina a autorização com políticas e atores.
- 04Disponibilize APIs por meio de pacotes complementares para JSON:API e GraphQL.
- 05Adicione autenticação, tarefas em segundo plano, máquinas de estado e arquivamento com pacotes do ecossistema.
Casos de uso
- Criar uma aplicação web com Phoenix, um modelo de domínio rico e regras de autorização consistentes.
- Disponibilizar um backend baseado em recursos como serviço JSON:API ou GraphQL.
- Adicionar tarefas em segundo plano ou máquinas de estado a entidades de negócio existentes.
- Criar funcionalidades com IA que usem saídas estruturadas ou MCP em uma base de código Elixir.
Tópicos
Perguntas frequentes
- O que é ash?
- Um framework declarativo e extensível para Elixir, voltado à criação de aplicações com recursos, ações e políticas. Ash é um framework para criar aplicações em Elixir nas quais você descreve o domínio como recursos: seus atributos, relacionamentos, ações, validações e regras de autorização. A partir dessas declarações, Ash cuida de boa parte da infraestrutura ao redor, permitindo que os desenvolvedores dediquem menos tempo a escrever código repetitivo de acesso a dados e lógica de negócio.
- ash é gratuito? Qual é a licença?
- ash não declara licença. O código é público, mas sem licença você não tem permissão explícita para reutilizá-lo; fale com o autor antes de depender dele.
- ash ainda é mantido?
- Manutenção ativa. O último commit de ash foi em 22 de out. de 2026.
- Para que posso usar ash?
- Criar uma aplicação web com Phoenix, um modelo de domínio rico e regras de autorização consistentes. Disponibilizar um backend baseado em recursos como serviço JSON:API ou GraphQL. Adicionar tarefas em segundo plano ou máquinas de estado a entidades de negócio existentes. Criar funcionalidades com IA que usem saídas estruturadas ou MCP em uma base de código Elixir.
- Onde consigo ash?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/ash-project/ash
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um framework PHP para aplicações web com sintaxe expressiva, que inclui roteamento, ORM, migrations, filas e transmissão de eventos em tempo real.
Ruby on Rails é um framework web MVC full-stack para criar aplicações web em Ruby com banco de dados.
Framework Java opinativo para criar aplicações e serviços Spring prontos para produção, com configuração mínima.
Um framework progressivo para Node.js, voltado à criação de aplicações server-side eficientes e escaláveis em TypeScript ou JavaScript.
Framework modular para aplicações Java com injeção de dependências, auto-configuração, Web MVC, servidor HTTP baseado em Netty e acesso a dados, inspirado no Spring.