Skip to main content

Unintrusive dependency injection for Python 3.6 +

Project description

.. image:: https://travis-ci.org/bobthemighty/punq.svg?branch=master
:target: https://travis-ci.org/bobthemighty/punq
.. image:: https://img.shields.io/codecov/c/github/bobthemighty/punq.svg?style=flat
:target https://codecov.io/gh/bobthemighty/punq

Punq
====

An unintrusive library for dependency injection and inversion of control in Python 3.6+

## [0.2.0] 2019-02-12
### Fixes https://github.com/bobthemighty/punq/issues/9
- Added handling for typing.ForwardRef

## [0.1.0] 2019-02-11
### Breaking Changes
- Added explicit `instance` kwarg to `register` which replaces the previous behaviour where
`container.register(Service, someInstance)` would register a concrete instance.
This fixes https://github.com/bobthemighty/punq/issues/6


## 0.0.1
- Basic resolution and registration works
- Punq is almost certainly slow as a dog, non thread-safe, and prone to weird behaviour in the edge cases.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page