Web Browser Programming in Python

TODO: merge in and research these, found on comp.lang.python

Yes, Python can do it... on Windows.

Two (examples) ways:

TODO: Add mention of IPython Notebook which can be run remotely, easily on AWS, and used within your browser. The HTML client can also interact with JavaScript and DOM, though this feature isn't quite merged yet. There's a lot being done on it, but it's already being used and probably should be mentioned here.

This topic covers ways in which python can be used in web browsers to control, create or manipulate the content within a user's web browser, or a web-based technology (such as WebKit, the technology behind Safari, Midori, the OLPC Browser, Adobe AIR, Google Chrome and much more; XULrunner (the engine behind Firefox and much more); MSHTML (the engine behind IE and much more); and KDE's KHTMLPart.

To clarify what type of technology goes onto this page, some examples of types of technology that can and cannot be added to this section:

This latter example requires some further explanation: Pyjamas, for example, is a Python-to-JavaScript compiler that can include inline JavaScript. So, although the input to Pyjamas is part Python, part JavaScript, the output is pure JavaScript that runs in a web browser, and so any such "mixed" language libraries should be included on this page.

Python-to-JavaScript Compilers

These are tools that convert Python into JavaScript, that can then be run either stand-alone, using technology such as Spidermonkey, Google's V8 engine (for example, using pyv8), or in a web browser (where, in order to be useful, the applications must of course interface with the DOM model of the browser, typically using an AJAX library).

The translation from Python to Javascript can be done by a Python program

or by a Javascript program, with the Python code translated and run on the fly by the web browser

Embedding Python inside Web Browsers

This section describes projects where a Python interpreter itself has been embedded into the web browser. Instead of downloading the standard Python executable and libraries, these projects come with the CPython runtime and libraries pre-embedded (and, as such, are typically very large downloads).

Python Wrappers around Web "Libraries" and Browser Technology

This section describes projects where you can (or have to) create your own web browser application in Python. It includes web browser "engines" that have Python interfaces to access, control and present web pages and web-relevant rich media content (such as Adobe Flash).

Python Wrappers around Web Browser "Test Suite" Libraries

This section describes projects where you can test web applications, initiated from the command-line with python bindings.

WebBrowserProgramming (last edited 2022-05-08 08:36:36 by Olivier Pirson)

Unable to edit the page? See the FrontPage for instructions.