MathDOM / News: Recent posts

MathDOM 0.7 released

MathDOM is a library for handling Content MathML terms and converting various term representations to and from this format. It is written in Python and uses PyXML or lxml.

This new release was adapted to work with the new, highly improved lxml 0.9 out-of-the-box. This simplifies both installation and usage and provides various performance improvements. I invite all previous users to switch to MathDOM 0.7 and lxml 0.9, and all new users to give it a try.

Posted by Stefan Behnel 2006-03-22

Call for Contribution: MathDOM 0.7

MathDOM 0.7 will be released at the end of March, together with a new official release of lxml (0.9). MathDOM will then no longer require patched versions of lxml.

If you have any requests on further enhancements or fixes in MathDOM 0.7, any bug reports or patches, please report them to the mailing list to get them integrated!

Posted by Stefan Behnel 2006-03-08

new lxml version fixing memory leaks

here is an update to lxml that fixes memory leaks in some attribute access methods

Posted by Stefan Behnel 2006-02-14

0.6.7 - update to new version of lxml

This update of MathDOM adds support for the '%' (modulo) operator and goes hand in hand with a new version of lxml that fixes a number of bugs.

Version 0.6.7 follows the API changes in the development version of lxml, so newer versions of lxml will not work with older mathdom versions and vice versa. Since the lxml update is recommended, please update both.

Posted by Stefan Behnel 2006-02-06

0.6.6 - bug fixes and merged APIs

The packages mathml.mathdom and mathml.lmathdom now have more similar APIs, following a trend that should make them interchangeable in the long term. Please comment on the mailing list if you have suggestions for more functions that would make implementation independence easier.

This release also contains a number of bug fixes for the convenience functions that help in DOM building and element creation. It introduces new module functions for both implementations that directly build constants, identifiers and functions.... read more

Posted by Stefan Behnel 2005-11-18

0.6.5 - literal terms in XSLT

This release splits MathDOM and lxml into separate packages again. You can now download and install lxml directly from this page.

Further enhancements:
* support for "serialize" XSLT extension function to include literal terms in XSLT output (lxml only)
* SQL term serializer
* bug fixes

Posted by Stefan Behnel 2005-11-17

0.6.4 - new install script

Version 0.6.4 does not provide any changes compared to the previous version (, so no need to update. If you install for the first time, however, you may appreciate the support for building eggs (setuptools) and the ability to build the patched version of lxml as part of the MathDOM build process.

MathDOM now includes the Pyrex generated source for the lxml C-extension that is built by default. You can switch this off by using the setup option --no-local-lxml.... read more

Posted by Stefan Behnel 2005-11-10

Updated patch against lxml 0.8

The new patch applies against lxml version 0.8 and adds all of my changes that are not yet in. New patches will only apply against the latest release of lxml.


Posted by Stefan Behnel 2005-11-04 - Bug fix for lmathdom - please update!

Fixed an import bug in lmathdom. Please update to use it.

Posted by Stefan Behnel 2005-11-03

0.6.3 - Bug fixes

A bug fix release that fixes a couple of bugs found by pychecker, mainly in mathml.mathdom, but also in other parts. While this is not an emergency update, please try this release first if you come across any bugs in MathDOM.

Posted by Stefan Behnel 2005-11-03 - minor update to simplify parser registration

A minor update that allows registering pyparsing parser directly as term parsers. If you use custom parsers, you may consider updating.

Posted by Stefan Behnel 2005-11-02

0.6.2 - Generalized parser framework + Python term parser

Version 0.6.2 now features a newly arranged framework that allows parsers to simply subclass the existing term parsers. This makes it very convenient to add new input filters.

Posted by Stefan Behnel 2005-10-31

0.6.1 - integrates PyMathML renderer

This version includes the PyMathML renderer for Presentation MathML, supporting gdk, nxplot and cairo as targets. The support has not been tested, so please report back if you find any bugs. If you manage to get a simple example running, please send it to me for inclusion.

Posted by Stefan Behnel 2005-10-27

New mailing list, feel free to subscribe

I created a mailing list for MathDOM discussion. If you have any questions , proposals or patches, please send them there.

Posted by Stefan Behnel 2005-10-22

New patch for lxml - please upgrade if you use it!

I decided to take the patch for lxml out of mathdom to avoid having to release mathdom when it's only about lxml. Here is a new patch that should make lxml more reliable compared to the patched version as of MathDOM 0.6.0.

If you use MathDOM 0.6.0, please use this patch instead.

Posted by Stefan Behnel 2005-10-21

Release 0.6.0 - Validation and Presentation MathML export

New in version 0.6:

- RelaxNG validation
- Presentation MathML export (based on XSLT)
- stricter spec conformance (encloses MathML output in <math> tag

The first two require lxml, PyXML does not support them.

Posted by Stefan Behnel 2005-10-21

0.5.4 - updates for lxml

Version 0.5.4 provides updates and fixes for the lxml part, including a new patch for lxml itself.

Posted by Stefan Behnel 2005-10-21

0.5.3 - minor updates to pyterm and documentation

Minor updates to mathml/utils/pyterm and general documentation

Posted by Stefan Behnel 2005-10-17

0.5.2 - features second API based on lxml/libxml2

This release does not change much with respect to the parts that were present in 0.5.1, but it features a completely new and cleaner implementation of the XML document part that is based on lxml, an ElementTree like API on top of libxml2. It therefore provides a much more pythonesque API for DOM manipulation., which further simplifies both the usage and internal implementation of MathDOM. This API is therefore likely to take over the main stream of MathDOM's evolution.

Posted by Stefan Behnel 2005-10-17

0.5.1 - partial term serialization

Version 0.5.1 now takes advantage of the new API by allowing partial serialization of terms. MathDOM 'apply' elements (i.e. all sub-trees of functions and operators) now have a 'serialize' method that returns a literal term of the partial tree, as infix, postfix or any of the other supported representations.

Posted by Stefan Behnel 2005-10-09

Release 0.5.0 - WARNING: new API!

The latest two versions restructure most of the term input/output API, i.e. parsing terms, generating the DOM and serializing to MathML and literal terms. The usage should become much simpler and much more consistent this way. However, it also means that code using the old API will break. Please look at the examples to see how the new API works. I hope you will like it.

Posted by Stefan Behnel 2005-10-07

Release 0.4.0 - new term builder module, intervals, lists

* more tests, compare evaluation results against python interpreter results
* split up termparser into parser/builder modules
* support lists and intervals, in/notin
* loads of clean-ups
* remove old range support from parser
* new term builder for Python terms

Posted by Stefan Behnel 2005-10-05

Release 0.3.0 - infix parser fixes, mathematical data types

* fix '- term' parsing, parse e-notation
* new data type classes for Complex, Rational, ENotation
* require Decimal type

Posted by Stefan Behnel 2005-10-04

0.2.4 - bug fixes in infix generator

bug fixes for parenthesis optimization in infix generator, uses doctest instead of startable demos in library files

Posted by Stefan Behnel 2005-09-30

0.2.3 - better type conversion

better support for complex/rational numbers, type conversion, bug fixes

Posted by Stefan Behnel 2005-09-30

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks