I propose to use Pandas and matplotlib for the task. A list of dictionaries is loaded into a Pandas DataFrame in one line. Pandas DataFrames have a lot of methods, including: drop_duplicates, groupby, aggregate, value_counts, sort... Sorting based on another list is not a problem. Computation on Pandas DataFrames are also faster than Python objects. Matplotlib includes pie charts, bar charts, stacked bar charts and many others. No problem to save visualizations as PNG. Both libraries are stable and installable in Windows/Linux.
I would comment the code and discuss it with you if you are interested.
I have developed industrial ETLs in Pandas at 2 startups and worked for the hottest Data Viz startup in Paris.
The only part that could take more time depends on the styling of the graphs you want, with real data you have to test to see how it looks, specially if the data includes time series or a lot of labels that may overlap. A basic command line tool could also be done if you want to pass different arguments.
Let me know if you want to discuss any detail. Have a nice day!