From DataSelf Knowledge Base
Jump to navigation Jump to search

Misc information about the Python Programming Language

Python Software Foundation

Software Foundation

py2exe : Python to Windows .exe
py2exe is a Python Distutils extension which converts Python scripts into executable Windows programs, able to run without requiring a Python installation.


  • PyInstaller bundles a Python application and all its dependencies into a single package. The user can run the packaged app without installing a Python interpreter or any modules.
  • PyInstaller reads a Python script written by you. It analyzes your code to discover every other module and library your script needs in order to execute. Then it collects copies of all those files -- including the active Python interpreter! -- and puts them with your script in a single folder, or optionally in a single executable file.
  • PyInstaller is tested against Windows, Mac OS X, and Linux.


  • Optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex).
  • Makes interfacing with C routines & libraries as easy as Python itself. Integrate natively with existing C code from legacy, low-level or high-performance libraries and applications.
Cython: The best of both worlds, IEEE 2011

The Cython language is a superset of the Python language that additionally supports calling C functions and declaring C types on variables and class attributes. This allows the compiler to generate very efficient C code from Cython code. The C code is generated once and then compiles with all major C/C++ compilers.


  • Toil is a scalable, efficient, cross-platform pipeline management system, written entirely in Python, and designed around the principles of functional programming.
  • Spark SQL lets you query structured data inside Spark programs, using either SQL or a familiar DataFrame API. Usable in Java, Scala, Python and R. A server mode provides industry standard JDBC and ODBC connectivity for business intelligence tools.

This processing pattern is commonly referred to as ‘Batch File Processing’.