Pykka (actor model implementation) and Injector (dependency injection framework) integration module
Project description
pykka-injector is a module uniting Injector (Dependency Injection framework) and Pykka (Python implementation of the actor model). It’s only purpose is to allow you to inject dependencies into Pykka Actors.
Works with:
CPython 2.x >= 2.6, 3.x >= 3.2
PyPy >= 1.9
Platform independent.
Usage example
from injector import inject, Injector, InstanceProvider, Key, singleton from pykka import ThreadingActor from pykka_injector import ActorStarter Config = Key('Config') class MyActor(ThreadingActor): @inject(config=Config) def __init__(self, config, user): self.config = config self.user = user def configure(binder): binder.bind( Config, to=InstanceProvider(dict(environment='dev')), scope=singleton, ) if __name__ == '__main__': injector = Injector(configure) starter = injector.get(ActorStarter) actor_ref = starter.start(MyActor, kwargs=dict(user='root')) actor_proxy = actor_ref.proxy() print(actor_proxy.config.get(), actor_proxy.user.get()) actor_ref.stop()
Copyright
Copyright (C) 2013 Jakub Stasiak
This source code is licensed under MIT license, see LICENSE file for details.
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
pykka-injector-0.1.1.tar.gz
(2.6 kB
view details)
File details
Details for the file pykka-injector-0.1.1.tar.gz
.
File metadata
- Download URL: pykka-injector-0.1.1.tar.gz
- Upload date:
- Size: 2.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6eda161af9be6e4f9548410220350f0c6f36dcc25032b36b130f18e0bf24b7ad |
|
MD5 | 699faf2321d5422166227150ef8a5023 |
|
BLAKE2b-256 | e55b445c287fc8c1bd373d18d867f7046c2325afa3f37fd079f751ec9a449b79 |