Pinject is a lightweight dependency-injection library for Python that favors explicit wiring and testability over magic. Instead of global singletons, you declare providers (bindings) that describe how to construct objects, and Pinject resolves the graph by inspecting call signatures. Its container supports constructor injection and fine-grained scoping so you can share expensive resources while keeping tests isolated. The library leans on Python’s introspection to minimize boilerplate, making it natural to adopt in codebases that already rely on type hints or keyword arguments. Because bindings are just Python functions and classes, refactoring remains straightforward and the DI graph is easy to reason about. Pinject is particularly useful for medium-to-large services where configuration, logging, data clients, and business logic need clean separation without resorting to manual plumbing.

Features

  • Constructor-based injection using Python introspection
  • Simple binding definitions for classes, factories, and constants
  • Scopes for per-request, singleton, and custom lifetimes
  • Override and test doubles support for unit and integration tests
  • Minimal boilerplate with clear, explicit wiring
  • Works with type hints and keyword arguments for readability

Project Samples

Project Activity

See All Activity >

Categories

Libraries

License

Apache License V2.0

Follow Pinject

Pinject Web Site

Other Useful Business Software
Paessler: Easy to Use With Enterprise Power. Free Trial Icon
Paessler: Easy to Use With Enterprise Power. Free Trial

A low-code dashboard makes monitoring intuitive for any admin, while scripting and custom sensors give experts full control.

You shouldn't have to choose between a monitoring tool that's easy to use and one that's powerful enough for a complex environment. PRTG's low-code interface lets any admin build dashboards, set alerts and monitor devices without scripting, while custom sensors and full API access are there when your team needs deeper control. One platform, no compromise. Download a free 30-day trial now.
Get Free Download
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Pinject!

Additional Project Details

Programming Language

Python

Related Categories

Python Libraries

Registered

2025-10-10