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.1.tar.gz (3.4 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for pydi-0.3.1.tar.gz
Algorithm Hash digest
SHA256 1c417dfbd217d282bc6e17a7d75ae59a2ebc55676a8e36e05554726efa88f36b
MD5 e6ed018085caf7f8dd858de1e8469e87
BLAKE2b-256 b5d7cf3b06704fbf7baa860b0a9e0ab26d4e45026abc7ee992c3178ca2b662af

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 Sentry Error logging StatusPage Status page