| Language and runtime | Python (synchronous) with JavaScript and Vue front ends | Python 3.12+, async | Elixir on the BEAM |
|---|
| Licence | MIT | Apache-2.0 | MIT |
|---|
| Maturity | Long established; version 16 | Beta, 0.x; since January 2026 | Stable 3.x |
|---|
| How you define the model | DocType metadata, in the UI or as JSON in code | Typed Python classes | Elixir resource definitions |
|---|
| Database | MariaDB (primary), PostgreSQL | PostgreSQL (default) | PostgreSQL, SQLite and others |
|---|
| Generated interface | Full Desk: forms, lists, reports, dashboards | React Desk | AshAdmin (basic); LiveView for custom UI |
|---|
| APIs | REST for every DocType, webhooks | REST for every DocType, WebSocket updates | GraphQL, JSON:API, TypeScript client |
|---|
| Authorisation | Roles, user permissions, field levels | Attribute-based policies, OIDC or SAML | Declarative policies on actions |
|---|
| Multi-tenancy | A site and database per tenant | Tenant protocol in the core | Attribute- or schema-based tenancy |
|---|
| Ready business apps | ERPNext, HR, CRM, Helpdesk and more | Business M (pre-1.0): distribution, warehouse, accounting | None; building blocks such as AshMoney and AshDoubleEntry |
|---|
| AI and agents | Through REST APIs behind a gateway | Typed code and docs that coding agents can use | AshAi: actions as LLM tools and MCP servers |
|---|
| Talent pool | Large, with a strong partner network | Small; Frappe developers adapt quickly | Small; Elixir specialists |