[egenix-users] ANN: eGenix mx Base Distribution 3.2.9 (mxDateTime, mxTextTools, etc.)

eGenix Team: M.-A. Lemburg info at egenix.com
Thu Aug 27 15:44:43 CEST 2015



                   eGenix.com mx Base Distribution

             mxDateTime, mxTextTools, mxProxy, mxURL, mxUID,
                  mxBeeBase, mxStack, mxQueue, mxTools

                            Version 3.2.9

                Open Source Python extensions providing
                     important and useful services
                        for Python programmers.

This announcement is also available on our web-site for online reading:



The eGenix.com mx Base Distribution for Python is a collection of
professional quality software tools which enhance Python's usability
in many important areas such as fast text searching, date/time
processing and high speed data types.

The tools have a proven track record of being portable across many
Unix and Windows platforms. You can write applications which use the
tools on Windows and then run them on Unix platforms without change
due to the consistent platform independent interfaces.

Contents of the distribution:

 * mxDateTime - Easy to use Date/Time Library for Python
 * mxTextTools - Fast Text Parsing and Processing Tools for Python
 * mxProxy - Object Access Control for Python
 * mxBeeBase - On-disk B+Tree Based Database Kit for Python
 * mxURL - Flexible URL Data-Type for Python
 * mxUID - Fast Universal Identifiers for Python
 * mxStack - Fast and Memory-Efficient Stack Type for Python
 * mxQueue - Fast and Memory-Efficient Queue Type for Python
 * mxTools - Fast Everyday Helpers for Python

The package also includes the mxSetup module, which implements our
distutils based package tool chain (including the tooling for our
Python web installer technology), as well as a number of helpful
smaller modules in the mx.Misc subpackage, such as mx.Misc.ConfigFile
for config file parsing or mx.Misc.CommandLine to quickly write
command line applications in Python.

All available packages have proven their stability and usefulness in
many mission critical applications and various commercial settings all
around the world.

For more information, please see the distribution page:




The 3.2.9 release of the eGenix mx Base Distribution is the latest
release of our open-source Python extensions. It includes these fixes
and enhancements:

Fixes for all Python Builds

 * Fixed the DateTime value range to only cover dates which can be
   represented as broken down values. On 32-bit systems, the valid
   range now is from -5879608-01-01 to 5879609-12-31, on 64-bit
   systems from -25252734927766552-01-01 to
   25252734927766553-12-31.Should be enough for most needs :-)

 * Fixed the DateTimeDelta value range to only cover deltas which can
   be represented as broken down values. On 32-bit systems, the valid
   range now is from -2147483647:00:00:00.00 to
   2147483647:00:00:00.00, on 64-bit systems from
   -104249991374:07:36:32.00 to 104249991374:07:36:32.00.

 * Fixed a segfault on Windows when using .strftime() on a DateTime
   object with leap seconds. mxDateTime will now raise a ValueError
   instead, since the Windows C runtime strftime() doesn't handle leap
   seconds and segfaults.

 * Fixed a segfault on Windows when using .strftime() with an
   unsupported formatting code (e.g. %f). mxDateTime will now raise a
   ValueError instead, since the Windows C runtime strftime() doesn't
   like unsupported formatting codes or lone % at the end of the
   format string and causes a segfault. Thanks to Barry B for
   reporting this.

Fixes for Python Debug Builds

 * In this patch level release, we have significantly improved the
   compatibility of eGenix mx Base with Python debug builds, which we
   previously did not support. Regular Python builds are usually not

 * Fixed crashes of several mx Base packages when using Python debug
   builds, which were due to the use of free lists. Free lists are
   disabled for Python debug builds now.

 * Several mx Base packages crashed during interpreter shutdown when
   using Python debug builds.

 * mxBeeBase: Fixed a memory allocation error when using Python debug

 * mxDateTime crashed when using Python debug builds due to the use of
   free lists and a non-standard way of dealing with errors inside
   object constructors, bypassing the logic used by debug builds to
   trace object allocation. Thanks to Edson Tadeu M. Manoel for
   bringing this to our attention.

 * mxTools: Fix a segfault in napply() when using Python debug builds.

Installation Enhancements and Fixes (via included mxSetup)

Most of these enhancements and fixes are part of the Python web
installer support we added to mxSetup a while ago. If you want to
learn more about this web installer technology, please see this talk
on the topic:


 * Fixed traceback when building pure Python packages with mxSetup's

 * mxSetup's web installer now searches for "purepython" and "anyos"
   tags as fallback when looking for OS dependent packages. It also
   adds the "anyos" tag to all pure Python packages.

 * Refactored the web installer in mxSetup into a class for easier

 * Added --unicode-aware parameter support to bdist_egg when used with

 * mxSetup now always produces PEP 440 compatible version numbers
   (using mx_version()).

 * Prebuilt archives created on Linux2 will now load fine on Linux3
   machines. Same for FreeBSD and other systems which retain backwards

 * Prebuilt archives will now also be usable on compatible platforms,
   e.g. ones compiled on linux2 with linux3 systems and ones for
   freebsd8 with freebsd9 or freebsd10.

 * Fixed a bug in mxSetup which caused .pyc/.pyo not to get removed
   when using 'pip uninstall'.

 * Resolved an intermittent error related to hash seeds which
   sometimes caused prebuilt archives to not install correctly. Thanks
   to Albert-Jan Roskam for reporting this.

 * Added Raspberry Pi Ver. 2 support to mxSetup.

 * Added support for bdist_wheels to allow building wheels from source
   or from prebuilt packages using mxSetup.

 * Removed a spurious AttributeError warning showing up when
   installing egenix-mx-base prebuilt packages on Windows systems
   without C compiler.

eGenix mx Base Distribution 3.2.0 was release on 2012-08-28. Please
see the announcement for new features in the 3.2 major release
compared to earlier releases:


For a full list of changes, please refer to the eGenix mx Base
Distribution change log and the change logs of the various included
Python packages.




We encourage all users to upgrade to this latest eGenix mx Base
Distribution release.

If you are upgrading from eGenix mx Base 3.1.x, please see the eGenix
mx Base Distribution 3.2.0 release notes for details on what has
changed since the 3.1 major release.




The eGenix mx Base package is distributed under the eGenix.com Public
License 1.1.0 which is an Open Source license similar to the Python
license. You can use the packages in both commercial and non-commercial
settings without fee or charge.

This open source distribution package comes with full source code.



The download archives and instructions for installing the packages can
be found on the eGenix mx Base Distribution page:


If you want to try the package, please jump straight to the download
instructions or simply run "pip install egenix-mx-base".

As always, we are providing pre-built binaries for all common
platforms: Windows 32/64-bit, Linux 32/64-bit, FreeBSD 32/64-bit, Mac
OS X 32/64-bit. Source code archives are available for installation on
all other Python platforms, such as Solaris, AIX, HP-UX, etc.

To simplify installation in Zope/Plone and other egg-based systems, we
have also precompiled egg distributions for all platforms. These are
available on our own PyPI-style index server for easy and automatic
download. Please see the download instructions for details:


Whether you are using a prebuilt package or the source distribution,
installation is a simple "python setup.py install" command in all
cases. The only difference is that the prebuilt packages do not
require a compiler or the Python development packages to be installed.



Commercial support contracts for this product are available from
eGenix.com.  Please see


for details about our support offerings.



For more information on the eGenix mx Base Distribution, documentation
and installation notes, please visit our web-site:


About eGenix (http://www.egenix.com/):

    eGenix is a database focused software project, consulting and
    product company delivering expert services and professional
    quality products for companies, Python users and developers.

About Python (http://www.python.org/):

    Python is an object-oriented Open Source programming language
    which runs on all modern platforms. By integrating ease-of-use,
    clarity in coding, enterprise application connectivity and rapid
    application design, Python establishes an ideal programming
    platform for today's IT challenges.

Marc-Andre Lemburg

Professional Python Services directly from the Source  (#1, Aug 27 2015)
>>> Python Projects, Coaching and Consulting ...  http://www.egenix.com/
>>> mxODBC Plone/Zope Database Adapter ...       http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
2015-08-19: Released mxODBC 3.3.5 ...             http://egenix.com/go82

::::: Try our mxODBC.Connect Python Database Interface for free ! ::::::

   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611

More information about the egenix-users mailing list