An entity framework for Go

15688
933
Go

ent - An Entity Framework For Go

Twitter
Discord

English | 中文 | 日本語 | 한국어

Simple, yet powerful entity framework for Go, that makes it easy to build and maintain applications
with large data-models.

  • Schema As Code - model any database schema as Go objects.
  • Easily Traverse Any Graph - run queries, aggregations and traverse any graph structure easily.
  • Statically Typed And Explicit API - 100% statically typed and explicit API using code generation.
  • Multi Storage Driver - supports MySQL, MariaDB, TiDB, PostgreSQL, CockroachDB, SQLite and Gremlin.
  • Extendable - simple to extend and customize using Go templates.

Quick Installation

go install entgo.io/ent/cmd/ent@latest

For proper installation using Go modules, visit entgo.io website.

Docs and Support

The documentation for developing and using ent is available at: https://entgo.io

For discussion and support, open an issue or join our channel in the gophers Slack.

About the Project

The ent project was inspired by Ent, an entity framework used internally at Meta (Facebook). It was created by a8m and alexsn from the Facebook Connectivity team. These days, it is developed and maintained by the Atlas team, and the roadmap for its v1 release is described here.

Join the ent Community

Building ent would not have been possible without the collective work of our entire community. We maintain a contributors page
which lists the contributors to this ent.

In order to contribute to ent, see the CONTRIBUTING file for how to go get started.
If your company or your product is using ent, please let us know by adding yourself to the ent users page.

For updates, follow us on Twitter at https://twitter.com/entgo_io

License

ent is licensed under Apache 2.0 as found in the LICENSE file.