Announcing commonmeta-ruby

Announcing commonmeta-ruby
Photo by Thorsten Wind / Unsplash

Following recent announcements of the commonmeta standard for scholarly metadata and a Python package that converts several metadata formats (commonmeta-py), today I am happy to announce commonmeta-ruby, a Ruby gem and command-line tool to convert scholarly metadata using commonmeta as the internal format. commonmeta-ruby is based on the bolognese Ruby library that I started a few ago while working at DataCite, but is a major rewrite that uses commonmeta as its intermediary conversion format.

Originally planned for later this year, I decided to speed up the release as Ruby version 2.x (currently 2.7.7) reaches its end of life this month, and briard (the fork I wrote to support additional metadata conversions such as Citation File Format and Crossref DOI registrations) didn't fully work with Ruby 3.x. In addition to supporting Ruby 3.x and validating with the commonmeta JSON Schema, commonmeta-ruby dropped support for DataCite XML. The DataCite REST API has always been a JSON API, and DOI registration using DataCite XML for many years has used JSON under the hood. Metadata conversion using XML is painful, and focussing on JSON metadata simplifies further development.

The next steps for commonmeta are:

  • Refine the commonmeta-py and commonmeta-ruby libraries by adding tests and real-world implementations (such as the DOI registration for this blog post, which was done using commonmeta-ruby)
  • Work towards a commonmeta v1.0 JSON Schema
  • Add support for bibliographies (lists of resources) to commonmeta.
  • Commonmeta implementations in additional languages, in particular Javascript/Typescript.
Copyright © 2023 Martin Fenner. Distributed under the terms of the Creative Commons Attribution 4.0 License.