macOS
brew install weaverlocal Homebrew formula metadata
brew
Command-line tool for Weaver. Version 1.1.7 via Homebrew; verified from local package data.
install
brew install weaverlocal Homebrew formula metadata
nix profile install nixpkgs#weavernixpkgs package indexes · pkgs/by-name/we/weaver/package.nix · source: api.github.com
winget install --id OpenTelemetry.Weaver -eWindows Package Manager source index · OpenTelemetry.Weaver · source: cdn.winget.microsoft.com
overview
Command-line tool for Weaver
history
Weaver is Scribd's declarative dependency-injection framework and command-line code generator for Swift projects. It scans Swift sources for dependency annotations, builds a dependency graph, validates it at compile time, and generates the boilerplate needed to wire dependencies into iOS, macOS, and Linux Swift code.
The package's command-line identity matters: the brew formula installs the weaver executable that runs in an Xcode build phase or from developer tooling to generate Swift source before compilation.
Scribd introduced Weaver publicly in 2018 in a technology blog post titled 'A Painless Dependency Injection Framework for Swift.' The post framed Weaver as a response to growing Swift applications where manual dependency passing and singleton fallback patterns become hard to maintain.
The original design used comment annotations such as weaver: movieManager <- MovieManaging to declare dependencies in source code. The README later describes both property-wrapper and comment-based declarations, SourceKitten-backed scanning via Apple's SourceKit, dependency-graph linking, validation, and generated source output.
The project was eventually deprecated by Scribd. The current README begins with a deprecation notice saying Scribd no longer uses the technology internally, has decided to archive the repository, and will leave the code and resources available for reference or independent forks.
Weaver's adoption was strongest in the Swift/iOS architecture community rather than across general-purpose backend development. Its README links tutorials, a demo video, and an SF SLUG talk about maintaining a dependency graph with Weaver.
Its value proposition was compile-time safety. The Scribd blog contrasts Weaver with dependency-injection containers that can crash at runtime, arguing that Weaver validates the graph before the app runs and lets dependencies remain non-optional.
A typical project adds Weaver to an Xcode build phase before Compile Sources, then invokes weaver swift with project and output paths. The generated dependency container code is compiled with the application, giving app code typed access to registered dependencies.
Weaver can be installed through Homebrew, CocoaPods, Mint, prebuilt release binaries, or from source. The README notes that CocoaPods was useful when a project needed a specific Weaver version because Homebrew did not automatically install specific historical versions.
Weaver is notable as an iOS-era code-generation answer to dependency injection: instead of relying on reflection-heavy runtime containers, it uses Swift source scanning and compile-time generated containers to keep app wiring explicit and type checked.
Its deprecation also makes it useful history. It captures a period before Swift macros and newer DI patterns, when SourceKit-based tooling and build-phase generators were a common way to add static analysis and boilerplate generation to Swift projects.
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 |
|---|---|---|---|
weaver | 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/scribd/Weaver
install metadata
| Package key | brew:weaver |
|---|---|
| Version | 1.1.7 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/weaver |
| Homepage | https://github.com/scribd/Weaver |
| Repository | https://github.com/scribd/Weaver |
| Upstream docs | https://github.com/scribd/Weaver#readme |
| License | MIT |
| Source archive | https://github.com/scribd/Weaver/archive/refs/tags/1.1.7.tar.gz |
| Uses from macOS | swift |
| 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 | weaver |
| Version Scheme | 0 |
| Revision | 0 |
| Conflicts With |
|
| 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.
weaver
nix profile install nixpkgs#weaverOpenTelemetry.Weaver
winget install --id OpenTelemetry.Weaver -esource 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.