Skip to main content

Aglyph is a Dependency Injection framework for Python.

Project description

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
Aglyph-3.0.0.post1-py2.py3-none-any.whl (44.2 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Aug 29, 2018
Aglyph-3.0.0.post1.win-amd64.exe (637.3 kB) Copy SHA256 hash SHA256 Windows Installer any Aug 29, 2018
Aglyph-3.0.0.post1.zip (529.4 kB) Copy SHA256 hash SHA256 Source None Aug 29, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page