 This presentation is my five cents if you will it's more to induce myself to the Python community of Montreal and and show you what I've done in the last couple of months. Basically this is how to start building a GUI, my experience if you will. At first I wanted to build something because we were thinking of buying a house and wanted to build my own tool for evaluating, you know, mortgages and stuff and it became somewhat of a tool in my field physics and I use this to teach undergrads and master students and new PhD students how to use Python. So the first tool I used when I started was WX Python and basically WX Python is great. You have the tools, you build it, if you don't mind what it looks like. So this is an example I picked up on the web page. You have here two web pages. The first one is WX Python, the actual website. The other one is another tutorial which I would suggest going to the second one, not the first one, and these two examples come from another tutorial. As you can see it does what it's supposed to do and it's pretty cool except if you don't mind looking at like Lutus123 from, you know, an old DOS machine. So this is what I built. This is the tool I use for teaching how to use Matplotlib and NumPy and optimize to students in my group. This basically has a pie plot in the back end so you can use dynamically the interface of the graph itself. You can load your CSV file. You have all the text control toggle buttons. Pretty awesome for a student that doesn't know how to load CSV files. It does it for them and it's very user-friendly. Once you load your file, this is an actual run I did last week on the accelerator at UDM. This is actual fusion so it's pretty cool. Also physics. You can load it and then you have the buttons and you have the logic behind your code does whatever you want it to do. So a student that wants to learn how to use NumPy or Matplotlib or how to optimize data, how to load the file, this does it for them but they can also go in the code itself and it's pretty cool except as you can see still it's something on the right end opened and you have switches and clickers but it's bulky. It's not very good looking. Does the trick. You can get the physics out of this. I implemented in this one that you can actually get the fit by two Gaussian fits to this peak and you just can plot multiple graphs with the top button there which changes the layout completely load multiple and does it for you but it's still very bulky so it's good to use but that's where I start to think maybe it's better to use something else. So this basically is all the library of my OS so I looked into Kivi. Kivi looks better just from out of the box. This is what it looks like and when you start using it I didn't use it for science. I used it for myself for role-playing games but you can either code in Python or code in the KV language which is also a little bit lighter for your cell phone for example. This is really cross platform so I used it on my cell phone, on my Linux machine, on my Windows machine, on tablets, other people's tablets and it's very efficient and very cool because the library of the buttons are all in the actual library. They don't load what you have from your OS so whatever I code everybody is going to look all the same and this is what I wrote. It's for a little role-playing game, a tabletop role-playing game called One Role Engine. A very nice game except it's very demanding for your game masters so you can just load a pre-determined file, get all your characters and then you have sub-menus. You can set their health levels and all of that. You can click and you have all the sliders and it's good looking. It's very nice. It implemented all the swipe action from your computer or your tablet. Very beautiful but this is not so beautiful as in gray and black but you can do whatever you want. You can load back files and you have interactive sub-menus the way the layout is organized. It's a little bit more dynamic so you can actually say create blocks and put them wherever you want. In the size of the WX it's a little bit clunkier. You need to know where it is. It's always in absolute value so this one is a little bit better because it's relative values. So basically if you want to start building a GUI you have these two tools. Very nice. The first one it's said to be cross-platform but it's not. The second one is and for Pygame which already comes with the GUI it's great. I encourage you to look into this and that's my talk.