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.
Failed to load latest commit information.

Aglyph - Dependency Injection for Python

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


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)


The easiest way to install Aglyph is to use pip:

$ pip install Aglyph

To verify that an installation was successful:

>>> import aglyph
>>> aglyph.__version__

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

Alternatively, download and extract a source .zip or .tar.gz archive from, or

Run the test suite and install the aglyph package:

$ cd Aglyph
$ python test
$ python install

Binary installation

Download the Python wheel (.whl) or .exe/.msi Windows installer from or

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