Aglyph is a Dependency Injection framework for Python 2 and 3, supporting constructor and setter injection, and programmatic or XML-based configuration.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
aglyph
doc
example
resources
test
test_integration
.gitignore
LICENSE.txt
MANIFEST.in
README.md
requirements.txt
setup.cfg
setup.py

README.md

Aglyph - Dependency Injection for Python

http://ninthtest.info/aglyph-python-dependency-injection/

Aglyph PyPI version Aglyph supported Python version Aglyph supported Python implementation Aglyph License Aglyph Wheel availability

Introduction

Aglyph is a Dependency Injection framework for Python that...

  • supports type 2 (setter) and type 3 (constructor) dependency injection
  • can assemble prototype, singleton, borg, and weakref components
  • supports templates (i.e. component inheritance) and lifecycle methods
  • works with any kind of object creation pattern you'll encounter:
    • constructor
    • factory function or method
    • object creation hidden behind attribute or property access
  • is configured declaratively, either programmatically through a fluent API or using a simple XML syntax (see the Aglyph DTD)
  • is non-intrusive:
    • only one dependency (Autologging) beyond the Python standard library
    • does not require modification of existing source code (i.e. no decorators, specific naming conventions, or any other kind of syntactic "magic" necessary)
  • can inject not only 3rd-party dependencies, but also dependents
  • runs on Python 2.7 and 3.4+ using the same codebase
  • is proactively tested on CPython, Jython, IronPython, PyPy, and Stackless Python
  • is fully logged and traced for ease of troubleshooting (note: tracing is disabled by default, and can be activated by setting an environment variable)

Installation

The easiest way to install Aglyph is to use pip:

$ pip install Aglyph

To verify that an installation was successful:

>>> import aglyph
>>> aglyph.__version__
'3.0.0.post1'

After installing, take a look at Getting started with Aglyph and the Aglyph cookbook.

Alternative source and binary installation options are described below.

Source installation

Clone or fork the repository:

$ git clone https://github.com/mzipay/Aglyph.git

Alternatively, download and extract a source .zip or .tar.gz archive from https://github.com/mzipay/Aglyph/releases, https://pypi.python.org/pypi/Aglyph/ or https://sourceforge.net/projects/aglyph/files/aglyph/.

Run the test suite and install the aglyph package:

$ cd Aglyph
$ python setup.py test
$ python setup.py install

Binary installation

Download the Python wheel (.whl) or .exe/.msi Windows installer from https://pypi.python.org/pypi/Aglyph/ or https://sourceforge.net/projects/aglyph/files/aglyph/.

Use pip or wheel to install the .whl, or run the Windows installer.