Specification for the META.yml file

This document describes version 1.0 of the META.yml specification.

The META.yml file describes important properties of contributed Perl distributions such as the ones found on CPAN. It is typically created by tools like Module::Build and ExtUtils::MakeMaker.

The fields in the META.yml file are meant to be helpful to people maintaining module collections (like CPAN), for people writing installation tools (like CPAN.pm or CPANPLUS), or just people who want to know some stuff about a distribution before downloading it and starting to install it.


META.yml files are written in the YAML format. The reasons we chose YAML instead of, say, XML or Data::Dumper are discussed in this thread on the MakeMaker mailing list.

The first line of a META.yml file should be a valid YAML document header like "--- #YAML:1.0".


The rest of the META.yml file is one big YAML mapping, whose keys are described here.