ANN: mx BASE Extension Package 2.0.4

M.-A. Lemburg
Mon, 23 Sep 2002 12:44:44 +0200



     mx BASE Extension Package for Python
                              Version 2.0.4

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



The mx BASE Extensions for Python are 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 datatypes.

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 todays IT challenges.

The tools have a proven 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.

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



The RPM packages were updated to install to /usr/ instead
of /usr/local/ to comply with the Linux Standard Base (LSB)
and to be compatible with the Python RPMs which are available

As always we are providing precompiled versions of the package for
Windows and Linux as well as sources which allow you to install the
package on all other supported platforms.



mxDateTime - Generic Date/Time Types

       mxDateTime is an extension package that provides three new object
       types, DateTime, DateTimeDelta and RelativeDateTime, which let
       you store and handle date/time values in a much more natural way
       than by using ticks (seconds since 1.1.70 0:00 UTC; the encoding
       used by the time module).

       You can add, subtract and even multiply instances, pickle and
       copy them and convert the results to strings, COM dates, ticks
       and some other more esoteric values. In addition, there are
       several convenient constructors and formatters at hand to greatly
       simplify dealing with dates and times in real-world applications.

       In addition to providing an easy-to-use Python interface the
       package also exports a comfortable C API interface for other
       extensions to build upon. This is especially interesting for
       database applications which often have to deal with date/time
       values (the mxODBC package is one example of an extension using
       this interface).

mxTextTools - Fast Text Processing Tools

       mxTextTools is an extension package for Python that provides
       several useful functions and types that implement
       high-performance text manipulation and searching algorithms in
       addition to a very flexible and extendable state machine, the
       Tagging Engine, that allows scanning and processing text based on
       low-level byte-code "programs" written using Python tuples. It
       gives you access to the speed of C without the need to do any
       compile and link steps every time you change the parsing

       Applications include parsing structured text, finding and
       extracting text (either exact or using translation tables) and
       recombining strings to form new text.

mxStack - Fast and Memory-Efficient Stack Type

       mxStack is an extension package that provides a new object type
       called Stack. It works much like what you would expect from such
       a type, having .push() and .pop() methods and focusses on
       obtaining maximum speed at low memory costs.

mxTools - Collection of Additional Builtins

       mxTools is an extension package that includes a collection of
       handy functions and objects giving additional functionality in
       form of new builtins to the Python programmer.

       The package auto-installs the new functions and objects as
       builtins upon first import. This means that they become
       instantely available to all other modules without any further
       action on your part. Add the line import NewBuiltins to your script and they will be available to all users at your
       site as if they were installed in the Python interpreter itself.

mxProxy - Generic Proxy Wrapper Type

       mxProxy is an extension package that provides a new type that is
       suitable to implement Bastion like features without the need to
       use restricted execution environments.

       The type's main features are secure data encapsulation (the
       hidden objects are not accessible from Python since they are
       stored in internal C structures), customizable attribute lookup
       methods and a cleanup protocol that helps in breaking circular
       references prior to object deletion.

       The latest version adds a very interesting new feature: weak
       references which help you work with circular references in a way
       that doesn't cause memory leakage in a Python system. Note that
       even though Python 2.1+ has its own weak reference implemetation,
       this package can be used to write applications which also work on
       Python 1.5.2 and 2.0.

mxBeeBase - On-disk B+Tree Based Database Kit

       mxBeeBase is a high performance construction kit for disk based
       indexed databases. It offers components which you can plug
       together to easily build your own custom mid-sized databases (the
       current size limit is sizeof(long) which gives you an address
       range of around 2GB on 32-bit platforms).

       The two basic building blocks in mxBeeBase are storage and
       index. Storage is implemented as variable record length data
       storage with integrated data protection features, automatic data
       recovery and locking for multi process access. Indexes use a high
       performance optimized B+Tree implementation built on top of
       Thomas Niemann's Cookbook B+Tree implementation



The download archives and instructions for installing the packages can
be found at:



The BASE package comes with a Python 2.0 style license, which means
that you can use it in both commercial and non-commercial settings
without fee or charge. The package comes with full source code.



Commercial quality support for these packages is available from Software GmbH. Please see

for details about the eGenix support offerings.


Marc-Andre Lemburg
CEO Software GmbH
Company & Consulting:                 
Python Software: