Little by little I am working at my current job on an Aquaponics system together with the help of our volunteers. As a final step to the first implementation I need to regulate the flow of water from our fish tank to the grow bed. I decided to do this with a timer that switches the pump on and off. In order to create the electronics for this timer, I need to know accurately how much water is flowing from one compartment into the next. Of course I could just have done the maths for this on the back of a napkin, but I though writing an application that does the simulation would be much more fun.
And as it turns out, one thing leads to another, and before you know it you have a complete desktop application with proper documentation that can be used by anyone. It was fun to do and is helping me create our own aquaponics setup. I don’t know if it is of any use to anyone else, but for anyone interested, the documentation can be found on my website and the code on Github.
The application is written using the Qt application framework, making use of PyQt5. The plots are being generated my the matplotlib.pyplot library. The documentation has been created using Sphinx with the autodoc, apidoc and napoleon extensions. This allows me to write the documentation in docstrings using the Google syntax and generate the corresponding html files automatically. Codeanchaos wrote a great howto on sphinx, apidoc and autodoc.