GET /api/v2/video/1303
HTTP 200 OK Vary: Accept Content-Type: text/html; charset=utf-8 Allow: GET, PUT, PATCH, HEAD, OPTIONS
{ "category": "EuroPython 2012", "language": null, "slug": "nuitka-the-python-compiler", "speakers": [ "K Haye" ], "tags": [], "id": 1303, "state": 1, "title": "Nuitka - the Python compiler", "summary": "[EuroPython 2012] K Haye - 4 JULY 2012 in \"Track Ravioli\"\n\n", "description": "With Nuitka, for the first time, there is a consequently executed approach to\nstatically translate the full language extent of Python, with all its special\ncases, without introducing a new or reduced version of Python. It is compiled,\nbut with practically 100% compatibility. Function dictionaries work, code\nobjects exist, frame stack works, exception tracebacks, eval, exec, closures,\nnested functions, meta classes, etc. it\u2019s all there, and behaves identical.\nFirst, I would like to start out and explain how I came to write a Python\ncompiler, why I want it to be 100% compatible, and why I find deviations from\nPython unacceptable and out of scope. Then I would like to describe where\ndifficulties were in the implementation, what Python constructs surprised me,\nand where the mapping from Python to C++ left things to desire. In this\nproject, I learned a lot about Python, it wasn\u2019t easy to get the full CPython\ntest suite to run. In doing that, I have learned anecdotes and fine details of\nPython, that are normally hidden in daily programming, but are still useful to\nknow. Esp. the work on re-formulating \u201cwith\u201d statements, \u201cassert\u201d,\n\u201cwhile\"/\"for\u201d as generic loops, etc. gives an interesting view on Python\nitself. And I would like to present it, also for the insight it gives on\nPython. I will give an overview over newly developed infrastructure, aiming\nfor type inference at compile time, and show existing stuff. I will try and\nexplain, why I hope to have picked the right approach in this domain. An\ninteresting side game, is the approach to use XML representations of the\ninternal node tree of Nuitka to discover regressions/changes in the optimizer.\nThen I will also present a project road map, with the milestones for Nuitka,\nand why I believe this is the right plan, and how Nuitka is different from\nprojects like \u201cCython\u201d and \u201cPyPy\u201d. To round it up, I would like to make a\ndemonstration of Nuitka, and give an example for how easy it should be to\ncontribute. As this will be the first time, Nuitka is introduced the PyCON EU\n(it was only shown on PyCON DE 2011 so far). And to celebrate that, the\ncurrent GPLv3 license will be lifted, and replaced with Apache 2.0 license\n(ASF), which is entirely liberal.\n\n", "quality_notes": "", "copyright_text": "Standard YouTube License", "embed": "<object width=\"640\" height=\"390\"><param name=\"movie\" value=\";hl=en_US\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\";hl=en_US\" type=\"application/x-shockwave-flash\" width=\"640\" height=\"390\" allowscriptaccess=\"always\" allowfullscreen=\"true\"></embed></object>", "thumbnail_url": "", "duration": null, "video_ogv_length": null, "video_ogv_url": null, "video_ogv_download_only": false, "video_mp4_length": null, "video_mp4_url": null, "video_mp4_download_only": false, "video_webm_length": null, "video_webm_url": null, "video_webm_download_only": false, "video_flv_length": null, "video_flv_url": null, "video_flv_download_only": false, "source_url": "", "whiteboard": "", "recorded": "2012-07-05", "added": "2012-09-06T22:33:18", "updated": "2014-04-08T20:28:27.255" }