BASE package (
mxDateTime :
mxTextTools :
mxStack :
mxTools :
mxCrypto :
mxProxy :
mxBeeBase
)
COMMERCIAL package ( mxODBC ) Commercial Support : Home |
Version 2.0.0 |
The mx Extension Series TM is a collection of software packages which aims at providing professional quality add-ons for the Open Source Language Python (see http://www.python.org).
All of the available packages are proven in every day use and fullfil mission critical jobs in various commercial settings all around the world.
The two most well-known packages from the mx Extension Series are mxDateTime (BASE package) and mxODBC (COMMERCIAL package) 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.
If you intend to use the packages in a commercial setting, you may be interested in the commercial quality support we offer for them. Buying a support contract secures your investment and also helps to finance the continuous development of the mx Extensions Series TM.
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 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 description.
Applications include parsing structured text, finding and extracting text (either exact or using translation tables) and recombining strings to form new text.
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 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 site.py script and they will be
available to all users at your site as if they were
installed in the Python interpreter itself.
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.
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.
mxODBC is an extension package that provides a Python Database API compliant interface to ODBC capable database drivers and managers (supported ODBC versions are 2.0 - 3.5).
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 new version does not only allow you to interface to more than one database from one process, it also comes with support for Unicode (which was added to Python 2.0).
The source package includes a varity of preconfigured setups for many commonly used databases such as MySQL, Oracle, Informix, Solid and many more. Precompiled versions of the extension for use with the Windows ODBC manager and the Unix iODBC manager are also available.
Starting with mxODBC version 2.0.0, commercial use is no longer free of charge. In order to fund the continued development of mxODBC and the Open Source packages in the mx Extension Series, I had to put a moderate license fee on mxODBC -- the previous license model just didn't work out.
Please see the eGenix.com mx Extensions Page for details about the license ordering process.
New:
Commercial
email support for all mx packages is now available from
eGenix.com GmbH, Langenfeld, Germany.
Due to popular demand, we have setup a per-incident support service which is based on support tickets. A ticket is valid for one support incident and includes up to one hour of consulting work. Tickets can be bought from the secure eGenix.com Online Shop which is powered by ShareIT.com.
Support for the Python mx Extensions is available as email support only. Support languages are English or German.
Please send support questions to support@egenix.com together with the order reference ID (the ticket ID) you receive by email when buying tickets in the subject line, e.g. "mxODBC and Sybase (Ref# 667514)".
If you want to know more about the provided services, please contact the eGenix.com Information Desk.