eGenix.com mx Experimental

eGenix.com mx Experimental Distribution

The eGenix.com mx Experimental Distribution contains experimental Python extensions which will eventually be integrated into one of the standard eGenix.com mx Extension series distributions.
Version: 3.0.0

Introduction

The eGenix.com mx Experimental Distribution is meant as test-bed distribution for packages we intend to include in the eGenix.com mx Base Distribution or in a separate distribution. As such, it is an add-on distribution to our eGenix.com mx Base Distribution.

Packages included in this distribution may still be subject to changes in the APIs or functionality, but are otherwise usable for every day work. We take care to fix bugs in a timely manner, even for our experimental releases.

Distribution Contents

The eGenix.com mx Experimental Distribution contains the following products:

mxTidy - Fast Library for HTML Cleanup and XHTML Conversion

mxTidy is a library version of the popular HTML Tidy command line tool that can parse broken or incomplete HTML data and turn it into proper HTML or XHTML. It can also be used to remove custom tags and attributes that are sometimes added by word processors when exporting HTML data.

mxNumber - Fast Native Big Number Types using the GMP Library

mxNumber provides a set of new numeric types which feature arbitrary of configurable precision. It uses the LGPLed GMP library as basis and makes its numeric functions easily accessible in Python via methods and standard operators.

Features

For package features, please see the relevant package pages. This feature list refers to the distribution as a whole:

  • Supports 32-bit and 64-bit platforms.
  • Supports Python 2.1 - 2.5.
  • Robust and portable.
  • Easy to configure and install.
  • No-fail installation: packages which cannot be built don't cause the whole installation to fail.

System Requirements

The eGenix mx Experimental Distribution includes a few packages which rely on third-party software:

  • mxTidy does not require any third-party libraries. Everything is included in the package.
  • mxNumber needs the GMP library to be installed on the system (together with the development files). For Windows, a pre-compiled library version is included in the distribution.

The only requirement for compiling the distribution from source, apart from the above third-party libraries, is an ANSI C compiler.

Documentation

Documentation for the packages included in the eGenix mx Experimental Distribution is provided in form of PDF files. These get installed as part of the installation process and reside in the mx/Doc/ folder.

You can also download the package documentation or view the files online from their respective product pages.

License

The eGenix mx Experimental Distribution itself is covered by the eGenix.com Public License Agreement 1.1.0 which is an Open Source license based on the CNRI Python license.

In simple words, you are free to use the software without paying fees or royalties as long as you give proper attribution and keep the license document together with the software. Please see the license document for details and consult a lawyer if you have legal questions.

Please note that parts of the distribution may be subject to other third-party open source licenses such as the Library GNU Public License (LGPL) or MIT licenses. Please consult the relevant package documentation for details.

Downloads

We provide downloads for the following platforms.

Please make sure you download the right distribution archive for your Python installation.

IMPORTANT:
By downloading, installing or using the eGenix mx Base Distribution, you agree to the terms and conditions set forth in the eGenix.com Public License Agreement 1.1.0 which is an Open Source license based on the CNRI Python license.

Windows:

Please always download the correct installer for your Python version, otherwise you won't be able to install the packages

Linux, 32-bit:

For instructions on how to install these prebuilt distributions, please see the installation section below.

Linux, 64-bit:

For instructions on how to install these prebuilt distributions, please see the installation section below.

FreeBSD, 32-bit:

For instructions on how to install these prebuilt distributions, please see the installation section below.

Mac OS X, PPC + Intel (Universal Binaries):

You will need the UCS2 version of the distribution if you plan to use it with the Python version shipped with Mac OS X.

For instructions on how to install these prebuilt distributions, please see the installation section below.

Solaris, 32-bit:

For instructions on how to install these prebuilt distributions, please see the installation section below.

Source Code:

For instructions on how to install from source code, please see the installation section below.

Easy Install / Setuptools:

If you want to use easy_install / setuptools for installation, you can use this command:

easy_install egenix-mx-experimental

Please note that you will need a C compiler installed for this to work.

Other Platforms:

If you need distribution archives for platforms not mentioned here, please contact support@egenix.com for details. It is very likely that we can find a way to help you.

Python Unicode Version (UCS2 vs. UCS4)

On Unix it is important to know whether you need to download a distribution for a narrow Unicode build of Python (UCS2) or a wide version (UCS4).

Most Unixes ship with wide Python builds these days (including RedHat and SuSE). In order to make sure, please run the following command which will tell you what kind of Python installation you have:

python -c "import sys;print(sys.maxunicode<66000)and'UCS2'or'UCS4'"

If you get errors such as "unresolved symbol PyUnicodeUCS2_AsEncodedString" when trying to load an extension from the distribution, you have likely installed an archive for a wrong Unicode version.

Installation

Windows Installer

Installation using the Windows installers is straight forward: just double-click on the installer EXE or MSI file and follow the instructions.

Both installers register the distribution with the Windows software registry, so you can easily uninstall the distribution should you require to do so.

With the new MSI installer you also have the option to run the installer without the GUI or to integrate it into an automatic installation process. Please see the MSI installer documentation on the Python web-site for details.

To uninstall the distribution, please use the standard Windows software registry.

Prebuilt Distribution Installation

To reduce the number of binaries that we have to create for each release, we have adapted a new generic distribution format that works on all Python platforms: the Prebuilt Distribution Format.

Technically, this format is a standard Python distutils distribution, but with only the build/ directory and without the source tree.

System-wide Installation

In order to install such a distribution, please follow these instructions:

  1. Download and unzip the archive into a temporary directory
  2. Change into the distribution directory
  3. Run the following command using the Python interpreter with which you intend to work (this could be the default one, or an application specific one depending on your needs):
    sudo python setup.py build --skip install
    On Windows and some other platforms that don't have sudo, please run the above without sudo as administrator or root.

The distribution will then be installed into the standard directory for Python extensions of your Python installation (usually the site-packages/ subdirectory of the Python standard library directory).

To uninstall, follow the same steps as above, but use the command uninstall instead:

sudo python setup.py build --skip uninstall

User Installation

You will need to be able to sudo on the target machine or know the root password for the above to work. If you don't have permission to install packages as root, you can still install the distribution into a local directory, e.g. ~/lib/python by using the following installation command:

python setup.py build --skip install --home=/home/user/

This will install the distribution into the directory /home/user/lib/python/. In order to have Python see this directory and make it useable for import, you have to adjust the PYTHONPATH environment variable to include this directory, e.g.

export PYTHONPATH /home/user/lib/python 

To see all the possible installation options, run the install script using the help options:

python setup.py build --skip install --help

To uninstall, follow the same steps as above, but use the command uninstall instead:

sudo python setup.py build --skip uninstall --home=/home/user/

Source Code Installation

To install from source, please unzip the source archive and then run the following command in the distribution directory:

sudo python setup.py install

Please make sure that you are using the Python binary for which you want to install the distribution. The installer will then automatically choose the correct path for the installation.

If you don't have root permissions on the target machine, you can use the same approach as for the prebuilt distribution outlined above for a user installation in the /home/user/lib/python directory:

python setup.py build --skip install --home=/home/user/

Please remember to setup the PYTHONPATH to include the /home/user/lib/python directory:

export PYTHONPATH /home/user/lib/python 

Otherwise, Python won't see the new installation and thus won't be able to import it.

To uninstall, follow the same steps as above, but use the command uninstall instead of install.

Support

eGenix offers these support options:

Commercial Support

Professional level support for this distribution as well as all other eGenix products and Python itself is available directly from the developers at eGenix.com.

In order to provide you with first-class and swift support, we require that you purchase support tickets for each incident from our online shop. Support tickets are valid for one year after the date of purchase and cover one incident with up to hour consulting time.

If you have questions regarding our support tickets, please write to sales@egenix.com.

Consulting

eGenix.com offers professional consulting services for all questions and tasks around this distribution, including customized modifications, help with integration and on-site problem solving. Please contact sales@egenix.com for details.

Free User Support

In order for our users to keep in touch and be able to help themselves, we have created the egenix-users user mailing list.

To sign up, please use the egenix-users mailing list web-interface. You can unsubscribe using the same interface at any time.

You can also browse the archive or search it using Google.

References

mxTidy is used by quite a few Zope and Plone editor products.

mxNumber is popular in the scientific world.

History & Changes

Please see the change log for details regarding changes to the distribution between releases.