Clone wiki

lightning-python / Home


Welcome to Lightning Python, a port of the reference Python interpreter and standard library to the Open Watcom compiler suite for Windows. Some basic information about the project appears below.

Other Wiki Pages

Why Does This Exist?

The idea behind Lightning Python is to provide support for building Python using a compiler other than Microsoft's Visual C++ (which is fantastic, by the way; this isn't about Microsoft-bashing...). With the patches included as part of Lightning Python, a functioning Python interpreter can be compiled using an open-source compiler on the Windows platform.

Why Open Watcom?

The Open Watcom compiler is a somewhat old, previously commercial compiler. The reasons it has been chosen for this project are simple:

  1. ArmstrongJ is familiar with it
  2. Windows is the primary target operating system for the compiler
  3. The Open Watcom Windows API implementation is rather complete
  4. The Open Watcom runtime attempts to maintain compatibility with the MSVCRT

Point 2 above is probably the reason that points 3 and 4 are valid. Unlike MinGW or Cygwin, Open Watcom is not a port of Unix compiler to Windows. Because of its treatment of Windows as the primary platform, it is generally easier to deal with on Windows.

There are some issues regarding the "open-source-ness" of the Open Watcom compiler, as linked in the Wikipedia article on the matter. However, the issues mostly surround some vague legalese and odd choices about where legal matters will be resolved. Additionally, Sybase is almost entirely hands-off with the project at this point, providing only hosting capabilities. Nobody should feel concerned about using Open Watcom.

Why Is It Named Lightning Python?

A name was needed. The obvious "WatPy" already refers to a Python users group in Waterloo, Ontario, Canada. Some other names like "POW" might be a bit difficult to search for in whatever search engine. "Lightning" was chosen based on the Open Watcom logo, featuring a hand-drawn lightning bolt. It is not meant to imply that this interpreter is necessarily faster than the normal Python interpreter.


If you have any questions, feel free to contact me here, via my Twitter account, or at my personal site.