GET /api/v2/video/1297
HTTP 200 OK Vary: Accept Content-Type: text/html; charset=utf-8 Allow: GET, PUT, PATCH, HEAD, OPTIONS
{ "category": "EuroPython 2012", "language": null, "slug": "building-c-apis-on-python", "speakers": [ "A Bingham" ], "tags": [], "id": 1297, "state": 1, "title": "Building C++ APIs on Python", "summary": "[EuroPython 2012] A Bingham - 4 JULY 2012 in \"Track Ravioli\"\n\n", "description": "Python has great support for interfacing with C/C++ code, and this has been\nused to great advantage by exposing many C/C++ libraries as Python modules. In\nthis talk, I will reverse the equation. I will show you how you can - and why\nyou might want to - build C++ APIs on top of Python modules and use them\ndirectly from your C++ programs. The topics will include: Conversion of types\nacross the language boundary. Implementation of C++ idioms (e.g. the\nbegin()/end() iterator API) on top of Python idioms. Python runtime\nmanagement: initialization, module loading, etc. Working with the \u201cimpedance\nmismatches\u201d between the languages (e.g. duck-typing vs. static typing) I will\nalso discuss the reasons why C++ APIs on Python code represent a very useful\nand often powerful technique. The reasons range from simple pragmatism (you\nwant to use an existing Python module in an existing C++ program) to\nproductivity (writing Python code plus a C++ wrapper can be easier and faster\nthan writing pure C++.) link - [\n/1hx_59DMQm6ZlI3Jz-LX-\nDZ4m5LVLpGcSlk1Dq1PiELI/edit](\n/1hx_59DMQm6ZlI3Jz-LX-DZ4m5LVLpGcSlk1Dq1PiELI/edit)\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:17", "updated": "2014-04-08T20:28:27.233" }