Aglyph is a Dependency Injection framework for Python.
Project description
* 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
<https://github.com/mzipay/Aglyph/blob/master/resources/aglyph-context.dtd>`_)
* is non-intrusive:
* only one dependency (`Autologging
<http://ninthtest.info/python-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 <https://www.python.org/>`_,
`Jython <http://www.jython.org/>`_, `IronPython <http://ironpython.net/>`_,
`PyPy <http://pypy.org/>`_, and
`Stackless Python <https://bitbucket.org/stackless-dev/stackless/wiki/Home>`_
* is fully logged *and traced* for ease of troubleshooting (note: tracing is
disabled by default, and can be activated by setting an environment variable)
* 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
<https://github.com/mzipay/Aglyph/blob/master/resources/aglyph-context.dtd>`_)
* is non-intrusive:
* only one dependency (`Autologging
<http://ninthtest.info/python-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 <https://www.python.org/>`_,
`Jython <http://www.jython.org/>`_, `IronPython <http://ironpython.net/>`_,
`PyPy <http://pypy.org/>`_, and
`Stackless Python <https://bitbucket.org/stackless-dev/stackless/wiki/Home>`_
* is fully logged *and traced* for ease of troubleshooting (note: tracing is
disabled by default, and can be activated by setting an environment variable)
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
Aglyph-3.0.0.tar.gz
(412.7 kB
view hashes)
Built Distributions
Aglyph-3.0.0.win-amd64.exe
(633.7 kB
view hashes)
Aglyph-3.0.0.win32.exe
(504.2 kB
view hashes)
Aglyph-3.0.0.linux-x86_64.tar.gz
(75.8 kB
view hashes)
Aglyph-3.0.0-py2.py3-none-any.whl
(45.2 kB
view hashes)
Aglyph-3.0.0-1.src.rpm
(420.9 kB
view hashes)
Aglyph-3.0.0-1.noarch.rpm
(335.0 kB
view hashes)
Close
Hashes for Aglyph-3.0.0.linux-x86_64.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 259b7af99d2efd53c23c9669be008fc99acc875eda2b8f40a321e5f310c0b951 |
|
MD5 | b32f024d9e599b33d6b6c8e2f6023f90 |
|
BLAKE2b-256 | e54cb98d47c0db530153cfa52d8cce72d4b799e7fc7f4c09ca77f1d30bec03c0 |
Close
Hashes for Aglyph-3.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d34d9758a297569670dda5c5d5d362b958a4ce6da06ad2997ac923b0ce9da5e0 |
|
MD5 | a4bd36e651b6a6a8112f855021319e51 |
|
BLAKE2b-256 | 143d21a137530800b597aafe86ffd2dfc3101a85d022cb9f1eca3f15c2f55104 |