Open metadata markup language - odML -

data model for storing arbitrary metadata



odML (open metadata Markup Language) is a file format for storing arbitrary metadata. The underlying data model offers a way to store metadata in a structured human- and machine-readable way. Well organized metadata management is a key component to guarantee reproducibility of experiments and to track provenance of performed analyses.

python-odml is the python library for reading and writing odml metadata files. It is a registered research resource with the RRID:SCR_001376 .

The odML eco system




odML facilitates and encourages standardization by providing terminologies. An odml-file can be based on such a terminology. In that case one does not need to provide definitions since they are part of the linked terminology.


Templates are odML documents that can be re-used when collecting the same kind of information over the course of multiple identical experiments.

Templates that were created using the odML terminologies and are used to systematically collect metadata during scientific experiments can be found, discussed and shared at the templates github repository.

If you have created your own templates that others might find useful, you are encouraged to share your templates via this repository.

Getting started


python-odml is most conveniently installed via pip.

pip install odml

Tutorial and examples

Python convenience scripts

The Python installation features two convenience commandline scripts.

Both scripts provide detailed usage descriptions by adding the help flag to the command.

odmlconversion -h
odmltordf -h

odML - NIX conversion script

You can also find a command line script for importing metadata from odML files into the second, more data centric, data format, NIX, or exporting metadata from a NIX file to a new odML file.

You can install the command line script via pip:

pip install nixodmlconverter

The script can then be run from the command line and provides a detailed usage description by adding the help flag to the command.

nixodmlconverter -h

The source code of the converter can be found on github.


If you experience problems using odml feel free to join our IRC channel #gnode at FreeNode or write an email to If you find a bug please report it using the project issue tracker.


This project is open source published under an MIT license-like see license file for details.


If you use odml, it would be much appreciated if you would cite it in publications with its identifier RRID:SCR_001376 and/or the reference:

Grewe J., Wachtler T., and Benda J. (2011). A bottom-up approach to data annotation in neurophysiology. Front. Neuroinform. 5:16, doi:10.3389/fninf.2011.00016

Referenced By