This page will show tooltips if you mouseover a red table element. However, they work better in firefox than chrome.


Project name


Gist


Actively developed?


Can import?


Compatibility with CPython 2 or 3


Python stdlib?


Can call Javascript code?


Can work with the DOM?


Can access HTML5?


Mailing list


License


Interop with major JS libraries (jQuery, etc.)


Interactive Console Available?


Compilers: SourceMap? (meaningful error line numbers)


Notes
Brython Python 3 translator to JavaScript. Python is recompiled on each pageload. Yes Yes Python 3.x. Some esoteric things not implemented, no str.format, no generators. Some: datetime, hashlib, json, math, random, sys, dis, errno, itertools, keyword, os, string, sys, traceback Yes, via JSObject
  • win and doc refer to the window and document objects. These objects have the same attributes and methods as in Javascript, plus more features such as doc[key] for document.getElementById, or dom_object.get(selector) for dom_object.querySelectorAll()
  • the built-in classes DOMNode and DOMEvent handle DOM nodes and events
  • Yes via "html" module and others, EG local_storage.py Google Group New BSD (3 clause) Yes Yes A lot of effort has been put so that Brython reports errors and exceptions as closely as possible to standard Python. Brython does not use SourceMap, but it does something similar.
  • Somewhat unpythonic use of <= for HTML
  • mandelbrot
  • Demos
  • Fiddle Salad In-browser IDE that can translate Python to JavaScript Yes ? ? ? Yes, via JS('javascript') Yes ? None? Seems to rely on twitter GPLv3 ? No? ?
    RapydScript Wrapper around PyvaScript No? Maybe deemphasized for RapydScript II now Yes, but imported into a single namespace ? ? Seamlessly Yes Google turned up nothing Google Group GPLv3, but library code is Apache ? No? Possibly
    RapydScript II Python 2 translated to JavaScript. Translation written in JavaScript using UglifyJS2 Yes Yes, mostly ? Yes, probably Yes Yes ? Google Group Apache v2 ? No? Possibly Blog
    Skulpt Python 2 translator to JavaScript. Python is recompiled on each pageload. Yes Some things Cannot use tuples as dictionary keys. Raising a custom exception breaks the parser. Sounds limited to specific modules Yes Yes, mostly. It's not comprehensive, but the most common operations are there Can at least get to a canvas (for turtle graphics) Google Group MIT/PSFLv2 ? Yes? No need? Has been used in some online interactive Python tutorials
    pyjs Translate Python 2.[56] into Javascript, and widget set for GWT-like desktop and browser Yes, or at least somewhat Yes Has --enable-strict to make the runtime more strictly conformant Much Yes, via JS Yes, via pyjamas.DOM No? Google didn't turn up much Google Group Apache jQuery, perhaps more No? No?
  • Drama 1
  • Drama 2
  • PythonScript Translates a subset of Python 2.x (called PythonJS) to JavaScript Yes No Subset - a lot of similarities No, but has a "weblib" Yes. "Creating JavaScript bindings is easy using JS function" Yes, via jQuery Yes, via JavaScript Google Group LGPLv2.1 jQuery Yes and No: the online editor can be used to interact with the underlying compiler smoothly Being developed The name is a little hard to google for. A young project.
    PJs Kinda like Pyjamas: Translate Python to JavaScript Yes ? ? ? ? ? ? None? ? ? ? ? Emphasizes debuggability and readable JavaScript
    Pystachio Incomplete project No? No downloads Early stage project
    PyvaScript Converts a Python-like language into JavaScript Not so much: month old No Tiny Yes, quite well
  • Subject to undetected compile errors that most translators/interpreters would catch
  • Doesn't look that much like Python to me
  • Pyxc-pj Python to JavaScript translator No Yes Some, maybe more Poorly documented, test cases don't work, requires Django 1.2?
    Pyjamas Translate Python 2.[56] into Javascript, and widget set for GWT-like desktop and browser No? Yes Much
  • Drama 1
  • Drama 2
  • Empythoned CPython 2.x compiled to JavaScript using LLVM No Yes Quite good Appears at least close to complete ? Via empydom ? PSFL ? Yes No need Rather slow, but it's CPython. Only supports specific browsers, doesn't support konqueror.
    py2js #1 Converts a small subset of Python to JavaScript No Alpha-release, not ption-ready
    py2js #2 Converts Python into JavaScript No Aims to do all of Python at some point
    py2js #3 Converts Python into JavaScript No https://groups.google.com/forum/?fromgroups#!forum/py2js
    Pyjaco Converts Python into JavaScript No Much Yes, but requires some type conversions
  • Started as a fork of py2js #2
  • Had some copyright issues that needed to be resolved, but that's been taken care of now
  • Pythonium Ahead of Time Python to JavaScript transpiler; Python 3 to Javascript translator written in Python that produces fast, portable javascript code Yes Yes Subset of Python 3 No Yes, native Yes, native Yes, native https://groups.google.com/forum/#!forum/pythonium-users AGPL v3 Yes, native No Planned Aims for 100% compatibility with Python 3.x
    PythonJS Translates a subset of Python into JavaScript. Python is recompiled on each pageload? Yes Yes, but different semantic, it imports an object from the module, or a dictionary of objects defined by __all__ variable in the module (it's not __all__ variable...) Apparently aiming for Python 2 and Python 3 compatibility Yes Yes N/A? Public Domain NodeJS, etc. Faster than Brython?





  • Row subtables