FAQ's answered

What third-party sites does MetaCPAN use

How to list all the Plack Middleware

Search for module:Plack::Middleware

How to list all the modules in a name-space

Type in module: and the namespace such as Catalyst::Plugin, Dancer::Plugin, Mojolicious::Plugin, or Perl::Critic::Policy.

Special search expressions

These search-terms can be combined with each other and regular search term.

Wildcards: ? matches a single character, * matches any number of characters ( e.g. version:1.* and version:1.? )

Why is a specific module not found

Is it in the index

MetaCPAN uses the PAUSE-generated 02packages.details.txt file. If it's not in there, then the module author will need to fix this. (Authors are usually emailed about this when they upload a distribution).

Is the distribution POD only with no package

A distribution must contain a package, even if it is 100% POD. A good example of this done correctly is Catalyst::Manual. Check the package declaration in the source of this file. That's the key to getting your pure POD distribution indexed by PAUSE.

I still think this is a bug

We do have bugs, so this is possible, please help by...

What does the river stage indicate

The river stage of a distribution is an indication of how much of CPAN depends on that distribution. Distributions in river stages 0-2 may not impact much of the ecosystem with breaking changes or failing tests, but distributions in river stages 4-5 must be updated with the utmost care. See River of CPAN.

What does the bus factor indicate

The bus factor of a distribution is a count of CPAN authors who have permissions to release that distribution who have made any releases to CPAN in the past two years (including other distributions). This is an indication of how many people are likely to be able to release critical fixes in a timely manner. Higher bus factors are crucial for distributions in a higher river stage, as more of CPAN depends on them. See CPAN Bus Factor.

How can I get involved

Where can I find the API docs

The API docs can be found by visiting api.metacpan.org. API requests need to be sent to api.metacpan.org/v1/.

How can I try the API

https://explorer.metacpan.org/ is an easy way to try sending queries to the back-end.

Why is my PAUSE account not linking

Is your PAUSE email set up

If you are a module author you can link your PAUSE account to your MetaCPAN account. But you must configure the email address forwarding in your PAUSE account for this to work.

Connecting one identity disconnects another

If you can only connect your account to GitHub or PAUSE (e.g. connecting to one disconnects the other), it is usually because you have (probably accidentally) created two accounts.

To fix this you need to manually merge your identities into a single account:

  1. Log in with your secondary account (please note that PAUSE cannot be used for logging in)
  2. Go to identities and disconnect that account
  3. Log in with your primary account and connect the secondary

Trying to connect PAUSE just gives you JSON and does not work

It is possible to get your account into an inconsistent state where it won't connect to PAUSE - particularly if you've connected via multiple identities, and/or using multiple browsers.

To fix this:

  1. Disconnect all identities
  2. Remove all cookies from metacpan.org and api.metacpan.org
  3. Reconnect via one identity
  4. Connect to PAUSE

Make sure that you use the same browser for all of the steps - including opening the link in the email from MetaCPAN.

Favorites not displaying on author page

Please see this discussion.

Can you delete my module

Requests to have modules removed from the CPAN should be directed at the PAUSE admins. Keep in mind that, if a module contains sensitive information, just deleting it from your CPAN directory is not enough, as it will still reside in the BackPAN.

If the PAUSE admins approve your request, have them CC noc@metacpan.org so that we can push the right buttons to have your work removed from MetaCPAN as well.

What is the relation of MetaCPAN to author.json and PAUSE account data

Every CPAN module author has an account on PAUSE. That account has some profile data in it (full name, ascii name, e-mail, and homepage). Authors can edit those at Edit Account Info. This information is collected and distributed by PAUSE via the 00whois.xml file.

In addition PAUSE users can upload a file called author.json or author-1.0.json to the root of their PAUSE account with other information.

When someone asks MetaCPAN for information about an author (a PAUSE account), MetaCPAN will provide the data from the MetaCPAN account that was associated with the given PAUSE account. If no such association exists then MetaCPAN will default to the data found in the PAUSE account of the user (via the 00whois.xml file), and to the content of the latest author-*.json file found in the PAUSE account of that user. (If there is such a file.)

Once a PAUSE account is connected to a MetaCPAN account, the information in the MetaCPAN account is initialized from those sources (00whois.xml and author-*.json) and from that point MetaCPAN disregards any changes made to those files.

If you, as a PAUSE author would like to keep them in sync, you can always export your MetaCPAN account information in json format by accessing https://api.metacpan.org/v1/author/PAUSEID (replacing the word PAUSEID by your own PAUSEID). Then you can upload the result as author-*.json with a higher version number than the last one you uploaded. The PAUSE account information need to be updated manually via Edit Account Info.

How to adopt a distribution

What does the "Take me over?", "Why not adopt me?", "Looking for help!" mean?

CPAN Distributions can be marked by their authors (or by the CPAN admins when the author is not available) to be "up for adoption". This can be done by adding one of the following PAUSE accounts as co-maintainers: ADOPTME, HANDOFF, or NEEDHELP. For a more detailed explanation read the post Marking modules as 'available for adoption'.

How to become the maintainer or co-maintainer of a CPAN distribution

See the description how to adopt a CPAN module and check out the CPAN adoption request template.

See also the list of CPAN Adoption Candidates.

How to mark a distribution that is up for adoption

If you are the maintainer of the distribution you can follow these steps:

How to remove the "adopt me" banner from the module

Remove the author ADOPTME, HANDOFF, or NEEDHELP from the project.