PyCml - CellML Tools in Python

This page is about PyCml, a project developing some CellML processing tools using the Python programming language. These tools will also be made available and further developed as part of the Chaste project, primarily by Jonathan Cooper.

As of Chaste version 1.1, PyCml is fully integrated into the main Chaste code, and the most up-to-date version of the software can be obtained with Chaste.


The first component of PyCml is a validator for CellML 1.0. It uses the RELAX NG and Schematron validation languages where appropriate.

Main features

The various schema documents, and the full validation program, are available to download below. There is also a web interface to the validator, enabling you to validate your documents from this site.

The tools and files are made available under the LGPL licence as part of Chaste.

Web-based validation

CellML model file:


Known limitations


The original purpose of the validator was to provide sufficiently draconian validation as a basis for transforming CellML. The tools available for download below perform the transformations described in the paper
J. Cooper, S. McKeever and A. Garny, “On the application of partial evaluation to the optimisation of cardiac electrophysiological simulations”, Proceedings PEPM 2006, p12-20
and in Jonathan's D.Phil. thesis. The transformation code is not as user-friendly as the validator, but is usable especially to generate code compatible with Chaste. Some extra documentation is also available to aid understanding of the code.

Files available for download

Valid XHTML 1.0 Transitional