Aglyph is a Dependency Injection framework for Python.
Project description
Aglyph - Dependency Injection for Python
http://ninthtest.info/aglyph-python-dependency-injection/
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.
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
Built Distributions
Hashes for Aglyph-3.0.0.post1.win-amd64.exe
Algorithm | Hash digest | |
---|---|---|
SHA256 | 562bdb0702de4a5d9d08686b308e7ec4fa61970f85e0631c10655cf001b90ad6 |
|
MD5 | d5823791495c8fbcdfafef57e649efa5 |
|
BLAKE2b-256 | 2c606d4028341121d2b3e0d3a5711fafd2a5f7f5a99ad191b8d2eb70eff39a28 |
Hashes for Aglyph-3.0.0.post1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98284ac69ad6bd1ec7725dae44a210447c209a1c5c3fa6510693d6d23dab4491 |
|
MD5 | d3a435370970c825bcb40332acbb0abf |
|
BLAKE2b-256 | 523a2cef73bc336cfc4ba644a0a53f00589e5c43531734928de06da1c2526ccc |