database for metadata about CPAN entries
Latest commit 38580f0 Nov 28, 2013 @rjbs bump Changes
Failed to load latest commit information.
lib stop using (deprecated) Class::MOP::load_class Nov 28, 2013
t compare deserialized strings, not strings Jul 16, 2013
.gitignore ignore .errors.err Jul 7, 2011
.mylib add .mylib to repo (skill skip for MANIFEST) Apr 9, 2009
META.json v1.002 Jul 16, 2013
README.pod v1.002 Jul 16, 2013
cpanfile @DAGOLDEN wants a cpanfile now Nov 28, 2013



Metabase - A database framework and API for resource metadata


version 1.002


Metabase is a database framework and API for resource metadata. The framework describes how arbitrary data ("facts") are associated with particular resources or related to each other. The API describes how to store, retrieve, and search this information.

History and Motivation

Metabase was originally designed as a means of storing reports from the CPAN Testers project. When Metabase was initially developed, CPAN Testers reports were sent by individual testers to a single email server, which then forwarded them to a USENET group, which was considered the authoritative store. This presented problems: some testers couldn't send email, the system wasn't very searchable, was hard to mirror, and the data inside the system was entirely unstructured.

Metabase aimed to avoid all of those problems by being transport-neutral, searchable and easier to mirror by design, and geared toward storing structured data. Simplicity is another design goal: while it has several moving parts, they're all simple and designed to be replaceable and extensible, rather than to be a perfect design up front.


A Metabase has several parts:

Roles require implementations. These could use flat files, relational databases, object databases, cloud services, or anything else that can satisfy the role API.

Metabase comes with some simple, stupid backends for testing:

Facts stored with in a Metabase are defined as subclasses of Metabase::Fact. Metabase::Report is a subclass that relates multiple facts.

Metabase::Web provides the web API for storing, searching and retrieving facts. Metabase::Client::Simple is the client library to submit facts to a Metabase::Web server. A future Metabase::Client class will provide submit and search capabilities.



Bugs / Feature Requests

Please report any bugs or feature requests through the issue tracker at You will be notified automatically of any progress on your issue.

Source Code

This is open source software. The code repository is available for public review and contribution under the terms of the license.

git clone git://


  • David Golden <>

  • Ricardo Signes <>

  • Leon Brocard <>


  • Florian Ragwitz <>

  • Graham Knop <>

  • Leon Brocard <>

  • Ricardo SIGNES <>


This software is Copyright (c) 2013 by David Golden.

This is free software, licensed under:

The Apache License, Version 2.0, January 2004