uber-go/fx

A dependency injection based application framework for Go.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 47 minutes ago
Added to GitGenius on September 8th, 2026
Created on October 27th, 2016
Open Issues & Pull Requests: 80 (+0)
GitHub issues: Enabled
Number of forks: 349
Total Stargazers: 7,657 (+0)
Total Subscribers: 66 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.7 days
Mean response time: 182.7 days
90th percentile: 349.0 days
Tracked items: 21

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 90% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 4% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 20
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 955 days
Stale 30+ days: 18
Stale 90+ days: 15

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 1
Events in 7 days: 1

Top labels

  • enhancement (8)
  • documentation (2)

Most active issues this week

Detailed Description

Fx is a dependency injection system for Go that provides a framework for building applications with managed component lifecycles and explicit dependency resolution.

Fx addresses the problem of managing application state and component initialization in Go services by replacing global variables and init functions with a declarative dependency injection container. The tool works by allowing developers to register components and their dependencies, then automatically constructing and wiring them together. This approach eliminates implicit global state and makes dependencies explicit and testable. Components are managed as singletons with controlled lifecycle hooks for initialization and cleanup.

Teams building Go services should consider Fx when they want to reduce coupling between components and make their codebase more modular and testable. It suits applications of any scale that benefit from explicit dependency management, particularly those where multiple teams need to share and integrate components. The tool is especially valuable in larger organizations where loosely-coupled, reusable components reduce duplication across services. Fx is production-ready and has been extensively used within Uber's infrastructure, making it a stable choice for mission-critical applications.

The project maintains a stable v1 API with strict semantic versioning guarantees and no breaking changes planned before v2. Development activity shows consistent attention to test coverage and build reliability through automated testing workflows. The tool is actively maintained with documentation and examples available to support adoption.