Core package of the Metafacture tool suite for metadata processing.
Pull request Compare This branch is 40 commits ahead, 397 commits behind metafacture:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Metafacture is a toolkit for processing semi-structured data with a focus on library metadata. It provides a versatile set of tools for reading, writing and transforming data. Metafacture can be used as a stand-alone application or as a java library in other applications. The name Metafacture is a portmanteau of the words meta data and manufacture.

Metafacture consists of a core library and a number of plugin packages and satellite projects which build on the core library and extend it with additional tools and features. This page describes the core package. Have a look at the Plugins and Tools page on the wiki for an overview of the supplementary packages and projects.

Originally, Metafacture was developed as part of the Culturegraph platform but its now used by others, too: see who uses Metafacture.


See the .travis.yml file for details on the CI config used by Travis.

Getting started

You can use Metafacture either as a stand-alone application or as a Java library in your own projects.

Metafacture as a stand-alone application

As of version 2.0.0 the stand-alone application is no longer part of the core library package. The application package can now be found at culturegraph/metafacture-runner. If you are only interested in running Flux scripts without doing any Java programming you should head over there.

Using Metafacture as a Java libary

If you want use Metafacture in your own Java projects all you need to do is to include the metafacture-core package as a dependency in your project. metafacture-core is available from Maven Central. To use it, add the following dependency declaration to your pom.xml:


Our integration server automatically publishes successful builds of the master branch as snapshot versions on Sonatype OSS Repository.

Building metafacture-core from source

Building metafacture-core from source is easy. All you need is git and maven:

  1. Clone the metafacture-core repository:

     $ git clone
  2. Build and install in your local repository:

     $ mvn clean install

    It is important to perform this step before importing the project into your IDE because it generates the lexer and parser sources for Flux from antlr grammar definitions. Otherwise your IDE will fail to compile the sources if it has integrated background compilation (like Eclipse has, for instance).

    2014-02-17: metafcature-core has now switched to Java 8. The easiest way was to make use of antlr3.5.2 (previously 3.5.1).

See Code Quality and Style on the wiki for further information on the sources.

Stay updated

For support and discussion join the mailing list. The mailing list archive can be found at Nabble.