macOS
brew install needlelocal Homebrew formula metadata
brew
Compile-time safe Swift dependency injection framework with real code. Version 0.25.1 via Homebrew; verified from local package data.
install
brew install needlelocal Homebrew formula metadata
nix profile install nixpkgs#needlenixpkgs package indexes · pkgs/by-name/ne/needle/package.nix · source: api.github.com
overview
Compile-time safe Swift dependency injection framework with real code
history
Needle is Uber's Swift dependency-injection system. Its distinguishing idea is to make dependency wiring explicit, hierarchical, and code-generated so missing or invalid dependencies fail at compile time instead of becoming runtime container lookups.
The public GitHub repository was created on 2018-04-06. The README frames Needle against Swift DI libraries such as Cleanse and Swinject, while comparing its compile-time generated graph more closely to Dagger on the JVM. The project goals call out high reliability, code generation performance for multi-million-line codebases, and compatibility with iOS architectures including RIBs and MVx.
Needle ships both a runtime framework, NeedleFoundation, and the `needle` generator executable packaged by Homebrew. Its release process documentation explicitly includes publishing to CocoaPods and Homebrew, which matches its split identity as both a Swift package/library and a developer tool installed into build phases.
Needle's primary adoption channel is iOS application architecture, especially large Swift apps where runtime service locators are too loose and hand-wired dependency trees become noisy. Swift Package Index listed the package as in development for 8 years, with 42 releases and 42 contributors when checked in 2026, and the GitHub API showed 2,006 stars and 160 forks on 2026-07-01.
Homebrew is important because teams usually need the generator binary in local and CI builds. Homebrew's formula page showed stable version 0.25.1 and 1,766 installs over 365 days, 70 over 90 days, and 17 over 30 days when checked on 2026-07-01.
In practice, developers add NeedleFoundation to a Swift app, model scopes as `Component` types, express dependencies as Swift protocols, then run `needle generate` to emit a generated file that wires the graph. The generator is commonly invoked from an Xcode build phase or CI step so dependency graph mistakes become compilation errors.
Needle is attractive to package nerds because the Homebrew formula is not the library itself; it is the code-generation tool that makes the library's safety story work. That puts it in the same operational family as SwiftGen, Sourcery, and other source-generation CLIs that become part of a build pipeline.
Needle is a notable example of a company-scale mobile architecture tool packaged for general use. It shows how a Swift library can require a separately installed command-line generator, and why Homebrew remains relevant even for ecosystems that also use Swift Package Manager or CocoaPods.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
needle | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/uber/needle
install metadata
| Package key | brew:needle |
|---|---|
| Version | 0.25.1 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/needle |
| Homepage | https://github.com/uber/needle |
| Repository | https://github.com/uber/needle |
| Upstream docs | https://github.com/uber/needle#readme |
| License | Apache-2.0 |
| Source archive | https://github.com/uber/needle/archive/refs/tags/v0.25.1.tar.gz |
| Bottle | available (on arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | needle |
| Version Scheme | 0 |
| Revision | 0 |
| Requirements |
|
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
needle
nix profile install nixpkgs#needlesource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.