Ross ROSS = Recommend OSS · open-source software intelligence for agents

uber/needle

Compile-time safe Swift dependency injection framework observed · 2026-08-28

github.com/uber/needle · Swift · Apache-2.0 (permissive) observed · 2026-08-28

Health v2 · maintenance only

58/100

  • Activity 79
  • Release rhythm 8
  • Longevity 100
How is this computed?

round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.

  • gap_med: n/a
  • age_days: 3071
  • days_rel: 727
  • days_push: 126
  • n_releases_24m: 1

Full methodology

Adoption not part of the score

2014 stars · 162 forks observed · 2026-08-28

What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded

Needle is a compile-time safe dependency injection framework for Swift, inspired by Dagger for the JVM. It uses hierarchical DI scopes and code generation so that dependency injection errors are caught at compile time rather than at runtime.

Use cases

  • inject dependencies into an iOS app with compile-time safety
  • replace runtime DI crashes with build-time verification
  • structure dependency injection hierarchically in a large Swift codebase
  • use DI with RIBs or MVx architectures in Swift
  • generate DI boilerplate code for multi-million-line Swift projects

When to choose

  • you build iOS apps in Swift and want Dagger-like compile-time safe DI
  • your codebase is large and runtime DI failures are costly
  • you use Uber's RIBs architecture or hierarchical DI patterns

When to avoid

  • you need DI for server-side Swift or non-Apple platforms
  • you prefer lightweight runtime DI containers like Swinject
  • your project is small and manual DI is sufficient

Facets

framework · maturity active

developer-tools developer-tools mobile-development dependency-injection compile-time-safety code-generation swift ios dagger-like macos

1 source

Member repositories

RepositoryRoleHealth v2
uber/needlemain58

For agents

markdown · JSON · MCP: product_card(name="uber/needle")

Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem