Skip to main content
# Simple Little Dependency Injection Container

[![Build Status](https://secure.travis-ci.org/aventurella/pydi.png?branch=master)](http://travis-ci.org/aventurella/pydi)

## Usage:

```python
from pydi import Container

class DogService(object):
def __init__(self, dep):
self.dep = dep

def action(self):
self.dep.action()

class FooService(object):

def __init__(self, dep1, dep2):
self.dep1 = dep1
self.dep2 = dep2

def action1(self):
self.dep1.action()

def action2(self):
self.dep2.action()

class Bar(object):

def action(self):
print('bar')

class Baz(object):

def __init__(self, option):
self.option = option

def action(self):
print('baz!!!', self.option)

class Lucy(object):

def action(self):
print("I'm a dog!")


container = Container()

# shared must be called last. It will reuse an instance
container.register(FooService).depends(Bar).depends(Baz, option="Hello World!").shared()

# without shared, a new instance will be created each time
container.register(DogService).depends(Lucy)

# could also container['FoOSeRViCE']()
obj = container.FooService()
obj.action1()
obj.action2()

print('+-------------+')

# could also container['fooservice']()
obj2 = container.FooService()
obj2.action1()


print('+-------------+')

obj3 = container.FooService()
obj3.action1()
```

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pydi-0.3.0.tar.gz (3.1 kB view details)

Uploaded Source

File details

Details for the file pydi-0.3.0.tar.gz.

File metadata

  • Download URL: pydi-0.3.0.tar.gz
  • Upload date:
  • Size: 3.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pydi-0.3.0.tar.gz
Algorithm Hash digest
SHA256 9755dab8f440e7ab625bba21da67f4aa5671c0c1ff680725f4cc60a187978c49
MD5 f21af8a16969b042ecc39e610b950e41
BLAKE2b-256 16eb52259e54fa7d0d5233c4cfd7e6412a10f75ca0ea116e4472fc1a228628ae

See more details on using hashes here.

Supported by

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