A dependency injection library for beginners
Project description
junkie
Junkie is a dependency injection library for beginners. It is easy to use and has no magic hidden state.
Core features:
- injects instances via parameter name and if not available via type annotation
- handles context managers when creating objects
- provides simple configuration with dictionaries
- can be easily combined with any other object instantiation approach
- supports a flexible way to define scopes
Example:
from junkie import Junkie
class App:
def __init__(self, text: str):
self.text = text
def greets(self) -> str:
return self.text
context = Junkie({
"greeting": "Hello",
"name": "Joe",
"text": lambda greeting, name: f"{greeting} {name}!"
})
with context.inject(App) as app:
assert app.greets() == "Hello Joe!"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
junkie-3.0.0.dev2.tar.gz
(5.5 kB
view hashes)
Built Distribution
Close
Hashes for junkie-3.0.0.dev2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58a713bff33794bf489c7751fdd85624c9a51f0ec47e9474d099baf7d5e34d5a |
|
MD5 | 1b2c8f8ededbedb8d286eb83a92ff662 |
|
BLAKE2b-256 | 5f4948a8f5f4f5bfeeec31a8e360e6fd72a6ea076732ac8b4812bc381832e0c5 |