Un framework web de Python de alto nivel que promueve el desarrollo rápido y un diseño limpio y pragmático.
ash-project/ash
Framework declarativo y extensible de Elixir para crear aplicaciones basadas en recursos, acciones y políticas.
- Estrellas
- 2,540
- Forks
- 463
- Issues abiertos
- 104
- Último commit
- hace 13 horas
¿Qué es?
Ash es un framework para crear aplicaciones de Elixir en el que se describe el dominio mediante recursos: sus atributos, relaciones, acciones, validaciones y reglas de autorización. A partir de esa declaración, Ash se encarga de gran parte del trabajo de infraestructura, para que los desarrolladores dediquen menos tiempo a escribir código repetitivo de acceso a datos y lógica de negocio.
Los recursos se definen con un DSL basado en Spark y se agrupan en dominios. Ash admite varias capas de datos, como PostgreSQL mediante AshPostgres, SQLite mediante AshSqlite y ETS y Mnesia de forma integrada. Los paquetes complementarios añaden JSON:API, GraphQL, autenticación, tareas en segundo plano con Oban, máquinas de estados, archivado y un paquete AshAI para salidas estructuradas, MCP y vectorización.
El framework se organiza en torno a conceptos explícitos, como las acciones, las políticas de autorización y los actores, lo que permite mantener el comportamiento visible en un mismo lugar. La documentación de Ash incluye un tutorial para empezar, guías temáticas, recetas prácticas y referencias generadas para sus DSL.
Funciones clave
- 01Definir recursos con atributos, relaciones, acciones y validaciones mediante un DSL.
- 02Organizar recursos en dominios y usar varias capas de datos, como PostgreSQL y SQLite.
- 03Definir la autorización mediante políticas y actores.
- 04Exponer APIs con paquetes complementarios para JSON:API y GraphQL.
- 05Añadir autenticación, tareas en segundo plano, máquinas de estados y archivado mediante paquetes del ecosistema.
Casos de uso
- Crear una aplicación web con Phoenix, un modelo de dominio rico y reglas de autorización coherentes.
- Exponer un backend basado en recursos como servicio JSON:API o GraphQL.
- Añadir tareas en segundo plano o máquinas de estados a entidades de negocio existentes.
- Crear funcionalidades con IA que usen salidas estructuradas o MCP en una base de código de Elixir.
Temas
Preguntas frecuentes
- ¿Qué es ash?
- Framework declarativo y extensible de Elixir para crear aplicaciones basadas en recursos, acciones y políticas. Ash es un framework para crear aplicaciones de Elixir en el que se describe el dominio mediante recursos: sus atributos, relaciones, acciones, validaciones y reglas de autorización. A partir de esa declaración, Ash se encarga de gran parte del trabajo de infraestructura, para que los desarrolladores dediquen menos tiempo a escribir código repetitivo de acceso a datos y lógica de negocio.
- ¿ash es gratuito? ¿Qué licencia tiene?
- ash no declara ninguna licencia. Su código es público, pero sin licencia no tienes permiso explícito para reutilizarlo; consulta al autor antes de depender de él.
- ¿ash sigue mantenido?
- Mantenimiento activo. El último commit de ash fue el 22 oct 2026.
- ¿Para qué puedo usar ash?
- Crear una aplicación web con Phoenix, un modelo de dominio rico y reglas de autorización coherentes. Exponer un backend basado en recursos como servicio JSON:API o GraphQL. Añadir tareas en segundo plano o máquinas de estados a entidades de negocio existentes. Crear funcionalidades con IA que usen salidas estructuradas o MCP en una base de código de Elixir.
- ¿Dónde consigo ash?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/ash-project/ash
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Framework de aplicaciones web en PHP con sintaxis expresiva que incluye enrutamiento, ORM, migraciones, colas y difusión de eventos en tiempo real.
Ruby on Rails es un framework web MVC full-stack para crear aplicaciones web en Ruby respaldadas por bases de datos.
Framework Java con opiniones definidas para crear aplicaciones y servicios Spring listos para producción con una configuración mínima.
Un framework progresivo de Node.js para crear aplicaciones de servidor eficientes y escalables en TypeScript o JavaScript.
Framework modular de aplicaciones Java con inyección de dependencias, autoconfiguración, Web MVC, servidor HTTP basado en Netty y acceso a datos, inspirado en Spring.