 First of all, I'm going to come here in Vienna on behalf of the local team here. I hope you are having a good time. So, I thought, last year I had to take many exams on university. So it did what any other student would do and I looked for some destruction, any destruction at all. And that was when I decided I want to build something. And what I did make was a smart mirror, something like this here. And the hardware was pretty straightforward. I included the top screen for some reason. If you are doing the same, don't include the top screen. That's no use of the mirror. Yeah, but the Yacht has an x86 board, some videos, three forward hardware. The interesting part, the thing I want to focus on this talk here, is the software. I wanted to have a nice good looking, simple user interface. And therefore, Q-framework and QML-buster appears twice here. And you want this thing here. Yes, so I wanted to have a user interface written with QML. But I didn't want this whole big C++ project. I wanted something simple, something that could work as a prototype. And that's when I stumbled upon a block from Qt that you don't always need. Those Star Destroyer powers of C++ that blasts your biggest problems away, but could also turn out to be the one problem you have, that you sometimes want something easily navigate here, or something simple. I like to let them park in here. Python in this analogy. So that's what I decided to use. Qt with Python. So I could have all my Q-objects with signals, slots, and models in Python code, but still have all the powers from QML as user interface and classification on the other side. So how does this actually work? Historically, there are two projects. The first one is PyQ, from a third party developer from Leverbank, Leverbank Computing, which provided Python findings for Qt, which were licensed under GPL. And there's also another project initiated by the Qt company, back then when it was dead-owned by Nokia, that also provided Python findings. They did it because they wanted to use LGPL as a license, and GPL was too little. So another project was born using another binary generator named PySide, which a few months ago got renamed to Python for Qt, and is now the officially high priority project from Qt, which will bring a complete Python solution to Qt, coming with an integration in the Qt later. But it's still not ready yet on the first technical preview that's released in June. And the aim is to provide a complete integration with the next major release of Qt, version 5.12, which should come, I think, at the end of November, beginning of December 5th, correct? So what is all this binding stuff here? Basically, it allows you to use QML in your Python world. Python world to have access to all classes provided by the Qt framework. And I think the best demonstration for this is to just show an example of this. You may already be familiar with the Vinalinian, the public transportation service here in Vienna. And I wanted to see the departure times of my bus leaving in front of Metua right when I walked back out, so... Here's what you would do in the C++ world. You'd define your plugin, and that's the basic boilerplate stuff for QML plugin. And it feels exactly the same in a Python world. It's just much more denser code, much more simple boilerplate stuff, but you use the same methods. You don't have to learn anything new. You just use your C++ knowledge. You can define your own objects with six months, and it doesn't care if you use any classes provided by Q, like the QML search list models, or if you use native Python types, like lists or strings, you can define your model items like your wood and your C++ code. But the big plus point is that you get all those nice features Python provides out of a bus for you. For example, those new HTML methods which were introduced in Python's C4, you can write code routines and concurrent code without blocking the whole user interface. So you can make calls to a web service, but in a small code, it's easily readable, and it's just very good to write this code, and it again behaves like you would expect you have a QML plugin that you can use afterwards in your QML project. There are applications available to generate model descriptions, but you can use it afterwards in Qt Creator and you get all those auto-complete stuff like you usually would. You can import this module you've written and just use it. I've integrated some smart home logic in this project. Home Assistant is a smart home framework I can recommend, and I also integrated this in QML. Here you can see that you can define slots with the PyQG slot decorator in Python, and afterwards you can use the slots here in QML, and you can use it to start slots, for example. And now we have those Python code and QML code, and we want to combine these two. I think you're already familiar with QML. You can import Python models here and just use them, and you can write your main file in Python, which sets up the application. The specialty here is that you can integrate divas and that you can integrate asm.io main loop with the Qt main loop. This works using the QAMash project, so asm.io needs some kind of event loop running, and the thing about Qt is that you already have the Qt main loop, so QAMash can combine those two requirements and put those things together. That's how the whole project is set up. In the future, I was thinking about maybe enabling a press mode for it, but I didn't have time for it yet, so I'll have to start the next exams and comment up, so I will have some more discussion then. So yeah, thank you. Thank you.