Skip to content
Implementations

Implementations

commonmeta-rs and commonmeta-py validate against the same Commonmeta JSON Schema and run the same conformance tests, both maintained in commonmeta-schema.

commonmeta-rs (Rust)

commonmeta-rs is a Rust library and command-line tool to implement Commonmeta. Use commonmeta-rs to convert scholarly metadata in a variety of formats, listed below. Commonmeta-rs is work in progress, the first release was on June 17, 2026.

Source code: codeberg.org/front-matter/commonmeta-rs

FormatNameContent TypeReadWrite
Commonmetacommonmetaapplication/vnd.commonmeta+jsonyesyes
CrossRef XMLcrossref_xmlapplication/vnd.crossref.unixref+xmlyesyes
Crossrefcrossrefapplication/vnd.crossref+jsonyesyes
DataCitedataciteapplication/vnd.datacite.datacite+jsonyesyes
DataCite XMLdatacite_xmlapplication/vnd.datacite.datacite+xmlyesyes
Schema.org (in JSON-LD)schema_orgapplication/vnd.schemaorg.ld+jsonyesyes
RDF XMLrdf_xmlapplication/rdf+xmlnolater
RDF Turtleturtletext/turtlenolater
CSL-JSONcslapplication/vnd.citationstyles.csl+jsonyesyes
Formatted text citationcitationtext/x-bibliographyn/ayes
Codemetacodemetaapplication/vnd.codemeta.ld+jsonyeslater
Citation File Format (CFF)cffapplication/vnd.cff+yamlyeslater
JATSjatsapplication/vnd.jats+xmllaterlater
CSVcsvtext/csvnolater
BibTexbibtexapplication/x-bibtexyesyes
RISrisapplication/x-research-info-systemsyesyes
InvenioRDMinveniordmapplication/vnd.inveniordm.v1+jsonyesyes
OpenAlexopenalexn/ayesno

commonmeta: the Commonmeta format is the native format for the library and used internally. later: we plan to implement this format in a later release.

commonmeta-py (Python)

commonmeta-py is a Python library to implement Commonmeta. Use commonmeta-py to convert scholarly metadata in a variety of formats, listed below. Commonmeta-py is work in progress, the first release on PyPi (version 0.5.0) was on February 16, 2023.

PyPI version

FormatNameContent TypeReadWrite
Commonmetacommonmetaapplication/vnd.commonmeta+jsonyesyes
CrossRef Unixref XMLcrossref_xmlapplication/vnd.crossref.unixref+xmlyesyes
Crossrefcrossrefapplication/vnd.crossref+jsonyesno
DataCite XMLdatacite_xmlapplication/vnd.datacite.datacite+xmlplannedlater
DataCitedataciteapplication/vnd.datacite.datacite+jsonyesyes
Schema.org (in JSON-LD)schema_orgapplication/vnd.schemaorg.ld+jsonyesyes
RDF XMLrdf_xmlapplication/rdf+xmlnolater
RDF Turtleturtletext/turtlenolater
CSL-JSONcslapplication/vnd.citationstyles.csl+jsonlateryes
Formatted text citationcitationtext/x-bibliographynoyes
Codemetacodemetaapplication/vnd.codemeta.ld+jsonyeslater
Citation File Format (CFF)cffapplication/vnd.cff+yamlyeslater
JATSjatsapplication/vnd.jats+xmllaterlater
CSVcsvtext/csvnolater
BibTexbibtexapplication/x-bibtexlateryes
RISrisapplication/x-research-info-systemslateryes
InvenioRDMinveniordmapplication/vnd.inveniordm.v1+jsonyeslater
JSON Feedjson_feed_itemapplication/feed+jsonyeslater

commonmeta: the Commonmeta format is the native format for the library and used internally.
Planned: we plan to implement this format for the 0.9 release.
Later: we plan to implement this format in a later release.

commonmeta-ruby (Ruby)

commonmeta-ruby is a rewrite (and rename) of the Briard Ruby Gem, which in turn was based on the Bolognese Gem.

Gem Version

FormatNameContent TypeReadWrite
Commonmetacommonmetaapplication/vnd.commonmeta+jsonyesyes
CrossRef Unixref XMLcrossref_xmlapplication/vnd.crossref.unixref+xmlyesyes
Crossrefcrossrefapplication/vnd.crossref+jsonyesno
DataCite XMLdatacite_xmlapplication/vnd.datacite.datacite+xmlyesyes
DataCitedataciteapplication/vnd.datacite.datacite+jsonyesyes
Schema.org (in JSON-LD)schema_orgapplication/vnd.schemaorg.ld+jsonyesyes
RDF XMLrdf_xmlapplication/rdf+xmlnoyes
RDF Turtleturtletext/turtlenoyes
CSL-JSONcslapplication/vnd.citationstyles.csl+jsonyesyes
Formatted text citationcitationtext/x-bibliographynoyes
Codemetacodemetaapplication/vnd.codemeta.ld+jsonyesyes
Citation File Format (CFF)cffapplication/vnd.cff+yamlyesyes
JATSjatsapplication/vnd.jats+xmlnoyes
CSVcsvtext/csvnoyes
BibTexbibtexapplication/x-bibtexyesyes
RISrisapplication/x-research-info-systemsyesyes
InvenioRDMinveniordmapplication/vnd.inveniordm.v1+jsonlaterlater
JSON Feedjson_feed_itemapplication/feed+jsonyeslater

commonmeta (Go)

commonmeta is a Go module to implement Commonmeta. Use commonmeta to convert scholarly metadata in a variety of formats, listed below. Commonmeta is work in progress, the first release was on April 19, 2024.

Go Reference

FormatNameContent TypeReadWrite
Commonmetacommonmetaapplication/vnd.commonmeta+jsonyesyes
CrossRef XMLcrossrefxmlapplication/vnd.crossref.unixref+xmlyesyes
Crossrefcrossrefapplication/vnd.crossref+jsonyesno
DataCitedataciteapplication/vnd.datacite.datacite+jsonyesyes
Schema.org (in JSON-LD)schemaorgapplication/vnd.schemaorg.ld+jsonlateryes
RDF XMLrdfapplication/rdf+xmlnolater
RDF Turtleturtletext/turtlenolater
CSL-JSONcslapplication/vnd.citationstyles.csl+jsonlateryes
Formatted text citationcitationtext/x-bibliographyn/alater
Codemetacodemetaapplication/vnd.codemeta.ld+jsonlaterlater
Citation File Format (CFF)cffapplication/vnd.cff+yamllaterlater
JATSjatsapplication/vnd.jats+xmllaterlater
CSVcsvtext/csvnolater
BibTexbibtexapplication/x-bibtexlaterlater
RISrisapplication/x-research-info-systemslaterlater
InvenioRDMinveniordmapplication/vnd.inveniordm.v1+jsonlaterlater
JSON Feedjsonfeedapplication/feed+jsonlaterlater

commonmeta: the Commonmeta format is the native format for the library and used internally. Planned: we plan to implement this format for the v1.0 public release.
Later: we plan to implement this format in a later release.

Last updated on