HTTPS SSH

Welcome To Lighning Python

Lightning Python is a project seeking to provide an implementation of
CPython (the reference implementation) compiled using the Open Watcom
compiler. Originally meant to provide a port of Python for Windows
compiled with Open Watcom, the project is being extended to more
generally encompass compiling Python using the Open Watcom toolchain
regardless of platform.

As this port is "in progress," a number of standard library modules may
not be implemented if they use C extensions. The specifics are
covered for each platofm below.

The name "Lightning" just references the logo for Open Watcom. It does
not imply Lightning Python is faster than stock Python. In fact, it is
considerably slower at this moment on Windows.

Windows

In general terms, Lightning Python for Windows is complete with a
few exceptions. At the moment, SQLite, hashlib, and tkinter are all
absent; these missing modules will be implemented in the future.
Furthermore, there may be bugs in the interpretter itself. The
standard library's regression test suite fails or outright crashes in a
number of locations. Crashes are most likely due to a problems with
cffi.

Python 3.4 is currently supported on Windows.

Linux

The Linux port is actually relatively straightforward and functional.
However, Open Watcom lacks support for shared objects under Linux. Due
to this missing feature, the interpreter must be statically linked, and
a number of native modules are currently not included in the build.

Python 3.5 is currently supported on Linux.

Building

To build Python, you'll first need to acquire Open Watcom. The
unofficial version 2.0 fork is necessary as it implements a number of
modern Windows API and C runtime calls that are not available in the
last official release (from over two years ago).

The builds of the Open Watcom compiler can be downloaded from links on
the project's GitHub page:

https://github.com/open-watcom/open-watcom-v2

Alternatively, nightly binaries are available as simple archives from:

http://buildbot.approximatrix.com/

Once Open Watcom is installed, you'll need to acquire the source to
Lightning Python.

Windows

After downloading the source, the project "python.wpj" in the
"OWbuild-Windows" directory should be opened using the Open Watcom
IDE. The target "python34.dll" should be built first as most
everything else relies on it. Next, it is suggested that the
"python.exe" target should be built. Finally, the remaining DLL
projects, which are subsequently copied into the appropriate pyd
files, can be built.

The Windows port also includes a distribution system for generating a
true MSI installer in the LRelease-Windows directory.

Linux

After downloading an appropriate source distribution, you'll need to
first apply the needed patch from Patches/. Next, copy the build
script from OWbuild-Linux/ to the root of the Python source tree.
Finally, execute build.sh and wait a minute or two for the interpreter
to be built. More details are at OWbuild-Linux/README.md.

Compatibility

Lightning Python is generally compatible with stock Python, excpeting
missing native modules as pointed out earlier.

Contact

Lightning Python is hosted on bitbucket, where you can find the bug
tracker, a wiki, and downloads:

https://bitbucket.org/ArmstrongJ/lightning-python

The current lead, Jeff Armstrong, is available at:

Email:   jeff@rainbow-100.com
Twitter: @fortranjeff