Python3Generator and matplotlib


My new year main resolution: stop keeping my side-projects for me.
It’s been like 1 year that I created these two projects, one coming from a refactoring of the other.
Now it is time to take time to announce them.
I initially come from Python world and during my bachelor & master, I really liked to use matplotlib to plot data using Python.
So I wanted to be able to use this Python module from Pharo. I did it by generating Python 3 code from Pharo and making Python 3 executing it. So, first I implemented everything in MatplotLibBridge package and then I split it in two package in order to be able to eventually create bridges to other Python 3 modules.
So, Python3Generator [1] is made for generating programatically Python 3 code from Pharo. Basically, it allows you to easily build a Python 3 AST,  to serialize it in Python 3 source code and eventually to execute it. For now you can transfer data from Pharo to Python (e.g. providing arguments to functions that are Pharo’s objects) but you can not retrieve data stored in Python variable from Pharo (but it should be possible, just I don’t need to do that for my bridge to matplotlib). Some examples are provided on the github’s README.
MatplotLibBridge [2] is made for creating plots using matplotlib [3] from Pharo. There is a bunch of examples of what you can do on the README. The two features from matplotlib I like the most are: 1. You can generate your plot in a lot of file formats (png, pdf, svg, ps, etc…) 2. It allows to embed LaTeX mathematical formulae everywhere in the plot (which can be really cool). All the possible plots in matplotlib are not available in Pharo’s side because I build parts of the bridge when I need them but it is not hard to do. I someone is interested in a plot type not available yet, please tell me.
So, it is announced, if someone want to do something with those, please do it!
Happy new year.
%d bloggers like this: