The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

FAQ's answered

What third-party sites does MetaCPAN use?

How to list all the Plack Middleware?

Search for module:Plack::Middleware

In general, 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.

A non-comprehensive list of 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 can't I find a specific module?

See our missing module page.

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 / who is involved?

Where can I find the API docs?

The API docs can be found by visiting fastapi.metacpan.org. API requests need to be sent to fastapi.metacpan.org.

How can I try the API?

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

Why can't I link my PAUSE account?

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:

  1. Log in with one of them
  2. Go to identities and disconnect that account
  3. Log in with the other and connect to the first

Trying to connect PAUSE just gives you JSON and doesn't 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 fastapi.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.

Oops! I made a mistake. 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.

Can I automatically redirect links pointing at search.cpan.org to metacpan.org?

As announced by the Perl NOC, all traffic will be redirected to from search.cpan.org to MetaCPAN.org as of 25th of June 2018.

What is the relation of MetaCPAN to author-*.json and the data in a PAUSE account?

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://fastapi.metacpan.org/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.