awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
google avatar

google/wireArchived

0
View on GitHub↗

Wire

Wire is a compile-time dependency injection framework for Go that generates code to wire application components together. It analyzes function signatures at compile time to build an explicit initialization graph, removing the need for runtime reflection or manual wiring code.

The framework operates as a Go code generator and static analysis tool, transforming annotated source code into generated wire files that compile alongside the original project. It connects dependencies by matching function parameters and return types, producing a directed acyclic graph of component dependencies that is fully resolved before runtime execution.

Wire generates dependency injection code by analyzing function signatures and producing wire-ready Go source files through source-to-source transformation. The generator composes components into a single initialization function, ensuring all dependencies are satisfied without runtime inspection.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Compile-Time Dependency Resolution - Wires Go application components together at compile time, eliminating runtime reflection and manual initialization code.
  • Compile-Time Dependency Injection Frameworks - Uses a code generator to compose components into a single initialization function, ensuring all dependencies are satisfied.
  • Static Dependency Resolution - Analyzes Go function signatures and types at compile time to determine the complete dependency graph.
  • Initialization Graph Builders - Builds a directed acyclic graph of component dependencies fully resolved before runtime.
  • Dependency Injection Containers - Creates a container that resolves and injects dependencies based on declared provider and injector functions.
  • Dependency Injection Source Generators - Generates compile-time code that wires together components by analyzing function parameters.
  • Go Code Generators - Produces source code that connects dependencies through explicit function parameters for testable initialization.
  • Go Source-to-Source Transformers - Transforms annotated Go source code into generated wire files compiled alongside the original project.
  • Automated Component Wiring - Connects components by matching function parameters and return types, eliminating runtime reflection.
  • Compile-Time Code Generation - Generates dependency injection code at compile time by analyzing Go function signatures.
  • Component Initializers - Connects dependencies through function signatures so initialization is explicit and testable.
  • Static Analysis Tools - Analyzes Go source code to build a dependency graph and generate wiring code without runtime overhead.
  • Dependency Injection - Compile-time dependency injection.
14,403 stars·738 forks·Go·Apache-2.0·24 views

Star history

Star history chart for google/wireStar history chart for google/wire

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Projects sharing features with Wire

These projects share indexed features with Wire. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • evant/kotlin-injectevant avatar

    evant/kotlin-inject

    1,503View on GitHub↗

    Kotlin-inject is a dependency injection framework for Kotlin that utilizes compile-time code generation to construct type-safe object graphs. By processing declarative annotations during the build process, the library eliminates the need for runtime reflection, ensuring that dependency resolution and validation occur before the application executes. The framework distinguishes itself through its native support for Kotlin Multiplatform, enabling consistent dependency management across shared and platform-specific codebases. It provides specialized mechanisms for assisted injection, allowing de

    Kotlindependency-injectionkotlin
    View on GitHub↗1,503
  • a-h/templa-h avatar

    a-h/templ

    10,358View on GitHub↗

    Templ is a type-safe HTML templating engine and UI framework for Go. It provides a system for building reusable HTML components that compile into Go code for server-side rendering, ensuring type safety and compile-time validation of data and logic. The project features a dedicated language server that provides autocomplete and syntax validation for template files within supported code editors. It employs compile-time code generation to transform a custom template language into Go source code, enabling the creation of modular HTML fragments and logic blocks. The framework includes automated s

    Gogohtml-elementshtmx
    View on GitHub↗10,358
  • gogo/protobufgogo avatar

    gogo/protobuf

    5,669View on GitHub↗

    This project is a Protocol Buffers Go compiler and code generation framework that translates schema definitions into optimized Go structures and reflection-free serialization methods. It includes a gRPC service generator for producing client and server communication code and a serialization performance toolkit for generating automated benchmarks and test suites. The framework features a plugin-based system for transforming data definitions into source code with custom field mapping and struct tag injection. It allows for custom type mapping and struct type overriding to link data fields to sp

    Gogogolanggrpc
    View on GitHub↗5,669
  • ets-labs/python-dependency-injectorets-labs avatar

    ets-labs/python-dependency-injector

    4,805View on GitHub↗

    This is a dependency injection framework and inversion of control container for Python. It decouples object creation from business logic by managing how services and their dependencies are assembled, delivered, and linked within an application. The framework is distinguished by its ability to perform automated component wiring, using import hooks and decorators to inject dependencies into functions and classes across different modules. It supports non-blocking flows through an asynchronous dependency resolver and manages the initialization and shutdown sequences of shared external resources a

    Pythonaiohttpasynciodependency-injection
    View on GitHub↗4,805
Compare all 30 related projects→

Frequently asked questions

What does google/wire do?

Wire is a compile-time dependency injection framework for Go that generates code to wire application components together. It analyzes function signatures at compile time to build an explicit initialization graph, removing the need for runtime reflection or manual wiring code.

What are the main features of google/wire?

The main features of google/wire are: Compile-Time Dependency Resolution, Compile-Time Dependency Injection Frameworks, Static Dependency Resolution, Initialization Graph Builders, Dependency Injection Containers, Dependency Injection Source Generators, Go Code Generators, Go Source-to-Source Transformers.

Which projects share features with google/wire?

Projects with overlapping indexed features include: evant/kotlin-inject — Kotlin-inject is a dependency injection framework for Kotlin that utilizes compile-time code generation to construct… a-h/templ — Templ is a type-safe HTML templating engine and UI framework for Go. It provides a system for building reusable HTML… gogo/protobuf — This project is a Protocol Buffers Go compiler and code generation framework that translates schema definitions into… ets-labs/python-dependency-injector — This is a dependency injection framework and inversion of control container for Python. It decouples object creation… jakewharton/butterknife — ButterKnife is an Android view binding library and Java annotation processor that automates the linking of UI elements… square/dagger — Dagger is a compile-time dependency injection framework for Java and Android that automates object creation and…