An open API service indexing awesome lists of open source software.

https://github.com/rande/python-simple-ioc

A simple Python IOC based on Symfony2 Dependency Component
https://github.com/rande/python-simple-ioc

Last synced: about 1 year ago
JSON representation

A simple Python IOC based on Symfony2 Dependency Component

Awesome Lists containing this project

README

          

============================================
Python Simple Dependency Injection Container
============================================

This project is a simple port of the Symfony2 DependencyInjection lib available at https://github.com/symfony/DependencyInjection

Status: Work In Progress

Usage
-----

- Create a services.yml file, the file will contains different service definiton such as

.. code-block:: yaml

parameters:
foo.bar: argument 1

services:
fake:
class: tests.ioc.service.Fake
arguments:
- "%foo.bar%"
kargs:
param: here a parameter
calls:
- [ set_ok, [ false ]]
- [ set_ok, [ true ], {arg2: "arg"} ]

foo:
class: tests.ioc.service.Foo
arguments: ["@fake", "#@weak_reference"]
kargs: {}

weak_reference:
class: tests.ioc.service.WeakReference

Then to use and access a service just do

.. code-block:: python

import ioc

container = ioc.build(['services.yml'])

foo = container.get('foo')