Dependency Injection powered framework
Project description
Pyfony framework
Pyfony is a Dependency Injection (DI) powered framework written in Python greatly inspired by the Symfony Framework in PHP & Spring Framework in Java.
The DI functionality is provided by the Injecta Dependency Injection Container.
Pyfony = Injecta + bundles (extensions) API
Installation
$ pip install pyfony
Pyfony initialization
(The following steps are covered in the PyfonyBundleTest)
To start using Pyfony, create a simple config_dev.yaml
file to define your DI services:
parameters:
api:
endpoint: 'https://api.mycompany.com'
services:
mycompany.api.ApiClient:
arguments:
- '@mycompany.api.Authenticator'
mycompany.api.Authenticator:
class: mycompany.authenticator.RestAuthenticator
arguments:
- '%api.endpoint%'
- '%env(API_TOKEN)%'
Then, initialize the container:
from injecta.config.YamlConfigReader import YamlConfigReader
from pyfony.Kernel import Kernel
from pyfonybundles.loader import pyfonyBundlesLoader
appEnv = 'dev'
kernel = Kernel(
appEnv,
'/config/dir/path', # must be directory, not the config_dev.yaml file path!
pyfonyBundlesLoader.loadBundles(),
YamlConfigReader()
)
container = kernel.initContainer()
Use container.get()
to finally retrieve your service:
from mycompany.api.ApiClient import ApiClient
apiClient = container.get('mycompany.api.ApiClient') # type: ApiClient
apiClient.get('/foo/bar')
Advanced examples
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
pyfony-0.7.0a2.tar.gz
(5.9 kB
view hashes)