ANN: mx Extension Series for Python 2.0

M.-A. Lemburg
Wed, 01 Nov 2000 15:43:51 +0100



                 mx Extension Series for Python 2.0

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



The mx Extension Series is a collection of Python software packages
which aims at providing professional quality add-ons for the Open
Source Language Python (see

All of the available packages are proven in every day use and fullfil
mission critical jobs in various commercial settings all around the

The two most well-known packages from the mx Extension Series are
mxDateTime and mxODBC providing date/time services and professional
ODBC database connectivity on practically all supported Python
platforms. These two packages enable database software which is
portable not only across platforms, but also across database backends.



The new download archives now all include binaries for Windows
platforms which were compiled against Python 2.0. This means that
installing the extensions on Windows boils down to unzipping the
archives into C:\Python20\Lib. Versions for Python 1.5.2 are still
available too.

More packages and updated versions of the existing packages will be
published in the first quarter 2001. All mx Extension Series packages
will then move under a new top-level package named "mx".



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).

mxODBC - Generic ODBC 2.0 interface

     mxODBC is an extension package that provides a Python Database
     API compliant interface to ODBC 2.0 capable database drivers and

     In addition to the capabilities provided through the standard DB
     API it also gives access to a rich set of catalog methods which
     allow you to scan the database for tables, procedures,
     etc. Furthermore, it uses the mxDateTime package for date/time
     value interfacing eliminating most of the problems these types
     normally introduce (other in/output formats are available too).

     The latest version of the interface allows you to interface to
     more than one database from one process. It includes a varity of
     preconfigured setups for many commonly used databases such as
     MySQL, Oracle, Informix, Solid and many more. A precompiled
     version of the extension for use with the Windows ODBC manager is
     also included.

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.

mxCrypto - Interface to Eric Young's SSLeay/OpenSSL

     mxCrypto is an extension package that provides OO-style access to
     the cipher algorithms and hash functions included in SSLeay, a
     very nifty cryptographic lib written by Eric Young now maintained
     by the OpenSSL team.

     Apart from being usable stand-alone, it provides hooks that make
     it work as high quality fill-in for the missing parts in Andrew
     Kuchling's pycrypt export package. Due to the ITAR export
     restrictions on cryptographic software Andrew's implementations
     are not legally downloadable from outside the US. SSLeay/OpenSSL
     is available world-wide.

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.



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



Most packages come with a Python-style license, which means that you
can use them in both commercial and non-commercial settings without
fee or charge. All packages come with full source code.

mxODBC comes with a license comparable to the old MySQL license: it is
only free for in-house use. If you use it in consulting work or
otherwise redistribute it in a commercial setting, you will have to
get a commercial license. More information about mxODBC licensing is
available at:

The next version of mxODBC will be made available as shareware in
order to support further development of the software (including full
Unicode support, support for ODBC 3.5 data types and special hooks for
vendor specific ODBC extensions such as binding to files).



Commercial support for these packages will be available from Software starting in January 2001. If you'd like more
information about this service, contact the helpdesk at .



<P><A HREF="> mx
Extension Series for Python 2.0</A> - mx Extension Series for Python
2.0. (01-Nov-2000)

Marc-Andre Lemburg
Python Pages: