sundog - SunSpec in Trio


sundog provides asynchronous access to SunSpec devices using the Trio library. The SunSpec organization has developed a device interface standard for the distributed energy industry. The communication side of the standard is built as a layer on top of Modbus. SunSpec provides libraries including pysunspec2 for loading the interface definition files and communicating with devices. sundog uses pysunspec2 for the data handling and pymodbus for the communications.


This application is not yet published to PyPI nor built into directly runnable packages. It is installable via either cloning and installing or directly via the Git repository. When installing the Python package itself, it is recommended to work in a virtual environment. For a quick introduction, see Python Virtual Environments in Five Minutes.

$ myvenv/bin/pip install git+
$ myvenv/scripts/pip install git+

The Name

Sun dogs are a pair of bright spots to either side of the sun created by the refraction of sunlight through ice crystals in the atmosphere. The usage of dog in this case is that of a verb meaning to hunt, track, or follow. The two false suns will follow, or dog, the true sun through the sky. With the two false suns following the one true sun we have a trio of suns. Thus, here we are with the sundog library implementing SunSpec using Trio.