# ent/ent

An entity framework for Go

Repository: https://github.com/ent/ent
Canonical: https://ross.abutalabs.com/products/ent
Homepage: https://entgo.io
Language: Go
License: Apache-2.0
License Family: permissive
Topics: ent, orm, entity-framework
Last push: 2026-08-06T20:22:40+00:00

## Health v2 (maintenance only)
Score: 79/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 96, release rhythm 44, longevity 100
- inputs: {"age_days": 2639, "days_push": 27, "days_rel": 163, "gap_med": null, "n_releases_24m": 1}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 17173, forks 1007 (observed 2026-08-28T04:11:17.773855+00:00)

## What it is
Ent is an entity framework (ORM) for Go that lets developers define database schemas as Go code and generates statically typed, explicit APIs for querying and mutating data. It supports graph traversals, automatic migrations, multiple SQL dialects (MySQL, PostgreSQL, SQLite, CockroachDB, TiDB), Gremlin, and GraphQL integration.

## Use cases
- model database schemas as Go code in a Go application
- generate type-safe CRUD clients for entities
- query and traverse graph-like data relationships
- run automatic schema migrations for SQL databases
- build a GraphQL API backed by an Ent schema
- manage large data models with statically typed APIs

## When to choose
- you are building a Go backend with a relational database and want type-safe data access
- your data model is graph-like with many relations and traversals
- you prefer schema-as-code with code generation over runtime reflection ORMs
- you need automatic migrations or GraphQL integration in Go

## When to avoid
- you are not using Go as your backend language
- you need a lightweight query builder without code generation in your build pipeline
- you rely on databases or dialects not supported by Ent's drivers
- your team prefers hand-written SQL or schema managed outside application code

## Facets
- artifact type: library
- maturity: stable
- function: orm, database, api-framework
- domain: databases, backend, web-development, developer-tools
- platform: go, windows, cross-platform
- tags: schema-as-code, graph-traversal, code-generation, sql, graphql-integration, statically-typed, migrations, linux, macos

## Member repositories
- ent/ent (main) score 79

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:17.773855+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:03:28.821191+00:00, confidence not recorded.
  - readme: https://github.com/ent/ent (fetched 2026-08-28T04:11:17.773855+00:00, sha 3f69225c4286)
  - homepage: https://entgo.io (fetched 2026-08-29T08:01:39.339284+00:00, sha 3783d79eca5b)
  - site_page: https://entgo.io/docs/getting-started (fetched 2026-08-29T08:01:39.341867+00:00, sha 516c948602a0)
  - site_page: https://entgo.io/docs/tutorial-setup (fetched 2026-08-29T08:01:39.344272+00:00, sha a7ba522f3e8a)
  - site_page: https://entgo.io/docs/schema-def (fetched 2026-08-29T08:01:39.346220+00:00, sha 9e74129c992a)
  - site_page: https://entgo.io/docs/traversals (fetched 2026-08-29T08:01:39.348105+00:00, sha e1c02a75ee1b)
  - site_page: https://entgo.io/docs/code-gen (fetched 2026-08-29T08:01:39.350191+00:00, sha f8f7402aee86)
  - site_page: https://entgo.io/docs/graphql (fetched 2026-08-29T08:01:39.352366+00:00, sha 7d0a59305e2a)
  - site_page: https://entgo.io/docs/migrate (fetched 2026-08-29T08:01:39.354324+00:00, sha f511cde51f26)
  - site_page: https://entgo.io/docs/community (fetched 2026-08-29T08:01:39.356187+00:00, sha 44c3838925a6)
- Data as of 2026-08-30T08:39:29.467469+00:00.
