mxNumber™ is a Python extension package which provides a new set of basic numeric types, permitting very fast numeric operations.
The package uses the GNU Multi-Precision Library (GMP) as basis for providing this functionality at high performance and on a wide range of platforms including most Unix and Windows platforms. This library is licensed under the Library GNU Public License (LGPL) which means that it does not have the viral character as the standard GPL does. It usable with software which is not GPL-compatible, such as closed-source commercial software.
mxNumber is written in a very portable way and works on pretty much all platforms where you can compile Python. However, since mxNumber relies on the GMP library, you have to have a version of the GMP library installed on your system. We have successfully tested mxNumber with GMP 4.1.4.
We provide precompiled versions for all standard platforms, so all you need is a working Python and GMP installation.
For Windows, we supply a precompiled version of GMP 3.1 together with the package. You may want to use a more recent version from this site instead. Please note that we have not tested whether mxNumber runs with the binaries provided on that site. Use them at your own risk.
The package supports all Python versions since Python 2.1.
Note that mxNumber relies on the coercions features added to Python 2.1, which were developed by Marc-Andre Lemburg from eGenix.com and later integrated into Python with the help of Neil Schemenauer as part of PEP 208. Because of this, earlier Python releases will not work with mxNumber.
If you want to compile the package from source, you'll need an ANSI C compiler and the GMP library header files installed.
mxNumber is provided as part of the eGenix.com mx Experimental Distribution. Please see the eGenix.com mx Experimental Distribution page for details regarding the license.
The Windows package includes a pre-compiled version of the GNU Multi-Precision Library (GMP) Version 3.1 which eGenix.com ported to Windows.
The patches needed for porting GMP to Windows are included in the source package. These changes as well as the port itself are licenses under the Library GNU Public License (LGPL). The copyright for the changes remains with eGenix.com.
The following documentation is available for mxNumber:
mxNumber User Manual and Reference Guide - HTML and PDF
The manual includes a reference of the available programming interfaces.
The PDF file is also available as part of the installation and can be found in the
mxNumber is provided as part of the eGenix.com mx Experimental Distribution. Please see the eGenix.com mx Experimental Distribution page for downloads and installation instructions.
mxNumber was written by eGenix to experiment with decimal types for use in database decimal interfacing.
It has since been used in many applications by other interested parties and for educational purposes.
Please see the change log for details regarding changes to the package between releases.