Skip to main content

open metadata Markup Language

Project description

gh actions tests Build status Test coverage PyPI version Read the Docs

odML (Open metaData Markup Language) core library

The open metadata Markup Language is a file based format (XML, JSON, YAML) for storing metadata in an organised human- and machine-readable way. odML is an initiative to define and establish an open, flexible, and easy-to-use format to transport metadata.

The Python-odML library can be easily installed via pip. The source code is freely available on GitHub. If you are not familiar with the version control system git, but still want to use it, have a look at the documentation available on the git-scm website.

odML Project page

More information about the project including related projects as well as tutorials and examples can be found at our odML project page.

Getting started

Installation

python-odml is most conveniently installed via pip.

pip install odml

To install the latest development version of odml you can use the git installation option of pip:

pip install git+https://github.com/G-Node/python-odml

Please note that this version might not be stable.

Tutorial and examples

Python convenience scripts

The Python installation features multiple convenience commandline scripts.

  • odmlconvert: Converts odML files of previous file versions into the current one.
  • odmltordf: Converts odML files to the supported RDF version of odML.
  • odmlview: Render and browse local XML odML files in the webbrowser.

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

odmlconvert -h
odmltordf -h
odmlview -h

Breaking changes

odML Version 1.4 introduced breaking format and API changes compared to the previous versions of odML. Files saved in the previous format versions can be converted to a 1.4 compatible format using the version converter from the odml/tools package.

Be aware that the value dtype binary has been removed. Incorporating actual binary data into odML files is discouraged, provide references to the original files using the URL dtype instead.

For details regarding the introduced changes please check the github release notes.

Dependencies

  • Python 3.7+

  • Python packages:

    • lxml (version 3.7.2)
    • yaml (version >= 5.1)
    • rdflib (version >=4.2.2)
  • These packages will be downloaded and installed automatically if the pip method is used to install odML. Alternatively, they can be installed from the OS package manager. On Ubuntu, they are available as:

    • python-lxml
    • python-yaml
    • python-rdflib
  • If you prefer installing using the Python package manager, the following packages are required to build the lxml Python package on Ubuntu 14.04:

    • libxml2-dev
    • libxslt1-dev
    • lib32z1-dev

Previous Python versions

Python 2 has reached end of life. Current and future versions of odml are not Python 2 compatible. We removed support for Python 2 in August 2020 with version 1.5.2. We also recommend using a Python version >= 3.7. If a Python version < 3.7 is a requirement, the following dependency needs to be installed as well:

  • pip install
    • enum34 (version 0.4.4)
  • apt install
    • python-enum

Building from source

To download the Python-odML library please either use git and clone the repository from GitHub:

  $ git clone https://github.com/G-Node/python-odml.git

If you don't want to use git download the ZIP file also provided on GitHub to your computer (e.g. as above on your home directory under a "toolbox" folder).

To install the Python-odML library, enter the corresponding directory and run:

  $ cd python-odml
  $ python setup.py install

Note The master branch is our current development branch, not all features might be working as expected. Use the release tags instead.

Contributing and Governance

See the CONTRIBUTING document for more information on this.

Bugs & Questions

Should you find a behaviour that is likely a bug, please file a bug report at the github bug tracker.

If you have questions regarding the use of the library, feel free to join the #gnode IRC channel on freenode.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

odML-1.5.4.tar.gz (155.5 kB view details)

Uploaded Source

Built Distribution

odML-1.5.4-py3-none-any.whl (94.4 kB view details)

Uploaded Python 3

File details

Details for the file odML-1.5.4.tar.gz.

File metadata

  • Download URL: odML-1.5.4.tar.gz
  • Upload date:
  • Size: 155.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for odML-1.5.4.tar.gz
Algorithm Hash digest
SHA256 7df8efd845b0acdb544fa6e25dc1bc030599f954c798ccb54c1a16dfe6825795
MD5 4cf0083c7364d10d9686c616fe138a2c
BLAKE2b-256 ec1b204f045946720a9897ba5375741f88629f32cf0329f35df35a413c82126e

See more details on using hashes here.

File details

Details for the file odML-1.5.4-py3-none-any.whl.

File metadata

  • Download URL: odML-1.5.4-py3-none-any.whl
  • Upload date:
  • Size: 94.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for odML-1.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9778b4b05430f4ae267eaa779848aabbcd9c33587c4cbe5ac08045a1e805ed0c
MD5 848527812794d1750f249d23feb74c69
BLAKE2b-256 817eb2e66609a0d23bae655661b816210e9685f7e3d4a2be4c8635ceb95f0b6c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page