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
|