This page is a sub-page of a larger list of things, Programming Projects.
This is about objconfig, the Python port of zend-config from the Zend Framework that I have programmed.
So, the Zend company thing makes a framework called Zend Framework, which in its third iteration is quite a piece of work. I can say that I’ve enjoyed exploring and use it to various degrees. One of the things about the framework that I have always appreciated is that it is modular, in the sense that you don’t have to use the entire thing to use a part of it.
zend-config is a module of the Zend Framework that reads, stores, and writes configuration information in an object oriented way. The Zend Framework has some other modules that it uses, such as internationalization and filters, which I didn’t port here, but the underlying goal is to provide an object oriented configuration object namesake type deal, as well as ways to read and write various formats of configuration files.
The “storing” part of the library is the Config object, which basically allows for an object that can have attributes stored recursively on it according to an input array, and which can be “frozen” so that configuration variables can’t be changed.
I use the Config object in Phabstractic (see my asherwunk/phabstractic page), for better or worse, to configure my objects, particularly my abstract data types. Well, I’ve decided I’m going to make a port of phabstractic from PHP to Python. I wanted to support as much of the original code base as I could, so I decided I needed to port the zend-config dependency to Python as a first step.
This package is put together and tested to run on Python version 3.3+ It is currently tested against Python 3.3 and Python 3.4, no others as of now.
You can also find this port available as a Python package at PyPI.
The code for objconfig can be accessed via GitHub (asherwunk/objconfig).
You can also follow this project on devpost.
A generated documentation site exists at https://asherwunk.github.io/objconfig/
Below is a list of the files (with links to their github counterparts). Each link, if successful (some links may not work as information is posted over time on the blog), takes you to a blog post explaining, or elaborating, on that particular file’s purpose and code.
This libary is licensed under the MIT license. Use at your own risk.
If you appreciate my programming please help support me through my Patreon.
However, if a monthly commitment is a bit much for you, you might consider buying me a cup of coffee.