I have developed a version of the Energy Monitor from this post that instead uses Python to display the data on an internal network.
The code can be found here: https://github.com/benhoyle/FlaskEnergyMeter.
I use Flask to render a basic template to obtain search parameters:

The code on the back-end then connects to my SQLite3 database and extracts the data according to the entered ranges. [This is slow so I may look into caching the database data.]
I then use pandas for some time-series manipulation. For example, resampling by hour, day, week, month or year is simple with pandas.
Finally I use pygal to render the manipulated data as an SVG:
