uptrace/bun

SQL-first Golang ORM

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 48 minutes ago
Added to GitGenius on September 13th, 2026
Created on May 3rd, 2021
Open Issues & Pull Requests: 35 (+0)
GitHub issues: Enabled
Number of forks: 306
Total Stargazers: 4,974 (+0)
Total Subscribers: 31 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.4 days
Mean response time: 67.2 days
90th percentile: 206.3 days
Tracked items: 236

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Roughly one issue in three opened in the past year never receives a reply. 91% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "bug" is answered fastest, typically in about 21 hours, while "no stalebot" waits about 2 weeks. 85% of issues opened in the past year have been closed, leaving a working backlog. Three people close 76% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 22
New in 7 days: 0
Closed in 7 days: 4
Avg open age: 463 days
Stale 30+ days: 19
Stale 90+ days: 17

Recent activity

Opened in 7 days: 0
Closed in 7 days: 3
Comments in 7 days: 0
Events in 7 days: 2

Top labels

  • stale (208)
  • enhancement (42)
  • no stalebot (20)
  • help wanted (19)
  • bug (17)
  • question (11)
  • good first issue (8)
  • documentation (7)

Detailed Description

Bun is a SQL-first Golang ORM that prioritizes writing queries in Go with type safety while maintaining the expressiveness of SQL across PostgreSQL, MySQL, MSSQL, SQLite, and Oracle databases.

The tool addresses the tension between ORMs that abstract away SQL and the need for readable, maintainable complex queries. Rather than hiding SQL behind a query builder abstraction, Bun embraces SQL syntax directly in Go code, leveraging Go's static typing to catch errors at compile time. It provides flexible result scanning that allows queries to populate structs, maps, scalars, or slices, and includes features like table relationships defined through struct tags, bulk operations for large datasets, migrations for schema versioning, and built-in support for soft deletes.

Bun suits teams building Go applications that need to work across multiple SQL databases without rewriting queries for each one. It works well for projects requiring complex queries that would become unwieldy in traditional ORM abstractions, and for applications where observability matters—the tool includes query logging for development and OpenTelemetry integration for production monitoring. The project is built on Go's standard library `database/sql` with minimal overhead, positioning it as a lightweight alternative to heavier ORMs.

The project maintains steady engagement with community discussions and welcomes contributions through a documented contributing guide. Development activity shows consistent attention to both core functionality and production-readiness features like migrations and observability support.