CINXE.COM

MetaCPAN FAQ - metacpan.org

<!DOCTYPE html> <html lang="en-US"> <head> <title>MetaCPAN FAQ - metacpan.org</title> <link rel="preload" as="fetch" href="/account/login_status" crossorigin="anonymous" /> <link href="/assets/style-XFEQ536G.css" rel="stylesheet" type="text/css"> <script src="/assets/main-WXBSEDQJ.js" type="module"></script> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5"> <link rel="shortcut icon" href="/static/icons/favicon.ico"> <link rel="apple-touch-icon" sizes="152x152" href="/static/icons/apple-touch-icon.png"> <link rel="search" href="/static/opensearch.xml" type="application/opensearchdescription+xml" title="MetaCPAN"> <script async src="https://perl-ads.perlhacks.com/perl-ads.js"></script> <script async src="https://www.googletagmanager.com/gtag/js?id=G-E82Q2V8LVD"></script> </head> <body> <nav class="navbar navbar-default" role="navigation"> <div class="header-logo-large hidden-xs"> <a href="/" tabindex="0"> <svg class="logo" aria-label="MetaCPAN"> <use class="logo" href="/static/images/metacpan-logo.svg#logo" /> </svg> </a> </div> <div class="header-logo-icon visible-xs"> <a href="/"> <svg class="logo" aria-label="MetaCPAN"> <use class="logo" href="/static/images/metacpan-logo.svg#dots" /> </svg> </a> </div> <ul class="nav navbar-nav menu-items hidden-xs hidden-sm"> <li><a href="/about">About</a></li> <li><a href="/about/sponsors">Sponsor</a></li> <li><a href="https://grep.metacpan.org/">grep::cpan</a></li> <li><a href="/recent">Recent</a></li> <li><a href="/about/faq">FAQ</a></li> <li><a href="/tools">Tools</a></li> <li><a href="https://fastapi.metacpan.org/">API</a></li> </ul> <ul class="nav navbar-nav navbar-right"> <button type="button" class="searchbar-btn visible-xs visible-sm"> <i class="fa fa-search button-fa-icon"></i> </button> <form action="/search" class="searchbar-form visible-md visible-lg search-form form-horizontal"> <input type="hidden" name="size" id="metacpan_search-size" value="20"> <div class="form-group"> <div class="search-group"> <i class="fa fa-search"></i> <input type="text" name="q" placeholder="Search the CPAN" size="41" autocorrect="off" autocapitalize="off" spellcheck="false" id="metacpan_search-input" class="form-control" value=""> </div> </div> </form> <li class="icon-slidepanel visible-xs visible-sm"> <button data-toggle="slidepanel" data-target=".slidepanel"> <span class="button-fa-icon"> <i class="fa fa-bars slidepanel-open"></i> <i class="fa fa-times slidepanel-close"></i> </span> </button> </li> <li class="dropdown login-dropdown show-logged-in"> <button type="button" class="dropdown-toggle" data-toggle="dropdown"> <i class="fa fa-user button-fa-icon logged-in-icon" aria-hidden="true"></i> <i class="fas fa-chevron-down"></i> </button> <ul class="dropdown-menu"> <li><a href="/account/identities">Identities</a></li> <li><a href="/account/profile">Profile</a></li> <li><a href="/account/favorite/list">Favorites</a></li> <li> <a href="#" type="button" class="logout-button"> Logout </a> </li> </ul> </li> <li class="dropdown login-dropdown show-logged-out"> <button type="button" class="dropdown-toggle" data-toggle="dropdown"> <i class="fa fa-user button-fa-icon avatar-placeholder" aria-hidden="true"></i> <i class="fas fa-chevron-down"></i> </button> <ul class="dropdown-menu"> <li> <a href="/login/github"> <i class="fab fa-github fa-fw"></i> GitHub </a> </li> <li> <a href="/login/twitter"> <i class="fab fa-twitter fa-fw"></i> Twitter </a> </li> <li> <a href="/login/google"> <i class="fab fa-google fa-fw"></i> Google </a> </li> </ul> </li> <li class="dropdown login-dropdown hide-logged-in hide-logged-out"> <button> <i class="fa fa-user button-fa-icon" aria-hidden="true"></i> </button> </li> </ul> </nav> <div class="page-content "> <div id="perl-ad-target" class="top-notify-banner perl-ad-target"> </div> <nav class="sidebar"> <div class="slidepanel"> <ul class="nav-list nav nav-pills nav-stacked"> <li class=""> <a href="/about">About MetaCPAN</a> </li> <li class=""> <a href="/about/sponsors">Sponsor[s|ing]</a> </li> <li class=""> <a href="/about/contact">Contact</a> </li> <li class=""> <a href="/about/development">Development</a> </li> <li class="active"> <a href="/about/faq">FAQ</a> </li> <li class=""> <a href="/about/contributors">Contributors</a> </li> <li class=""> <a href="/about/meta_hack">meta::hack</a> </li> <li class=""> <a href="/about/missing_modules">Missing Modules</a> </li> <li class=""> <a href="/about/metadata">Distribution Metadata</a> </li> </ul> </div> </nav> <div class="content-navigation"> </div> <main class="content about anchors"> <h1 id="faq&#39;s-answered">FAQ's answered</h1> <h2 id="what-third-party-sites-does-metacpan-use?">What third-party sites does MetaCPAN use?</h2> <ul> <li><a href="https://www.cpan.org/">CPAN</a> is where all the Perl modules live. MetaCPAN 'just' indexes those files.</li> <li><a href="https://www.cpantesters.org/">CPAN Testers</a> collect test reports of the CPAN modules. MetaCPAN show the number of test reports and links to the tests.</li> <li><a href="https://cpants.cpanauthors.org/">CPANTS</a> provide Kwalitee metrics for CPAN modules. MetaCPAN links to the respective pages on the CPANTS site.</li> <li><a href="https://rt.cpan.org/">RT</a> is an installation of <a href="https://www.bestpractical.com/rt/">Request Tracker</a> that provides a default bug~ and issue-tracking system for every CPAN distribution. Unless the author of the module configured it otherwise MetaCPAN will link the respective RT Queue of every distribution.</li> <li><a href="https://github.com/">GitHub</a> is the most popular public version control system among Perl module developers. Many distributions indicate it as their public VCS. Some of them even mark GitHub as their preferred issue tracking system. MetaCPAN links to the GitHub repository and bug tracking system of each distributions if the author has included the information in the META files.</li> </ul> <h2 id="how-to-list-all-the-plack-middleware?">How to list all the Plack Middleware?</h2> <p>Search for <a href="/search?q=module:Plack::Middleware">module:Plack::Middleware</a></p> <h2 id="in-general,-how-to-list-all-the-modules-in-a-name-space?">In general, how to list all the modules in a name-space?</h2> <p>Type in <em>module:</em> and the namespace such as <a href="/search?q=module:Catalyst::Plugin">Catalyst::Plugin</a>, <a href="/search?q=module:Dancer::Plugin">Dancer::Plugin</a>, <a href="/search?q=module:Mojolicious::Plugin">Mojolicious::Plugin</a>, or <a href="/search?q=module:Perl::Critic::Policy">Perl::Critic::Policy</a>.</p> <h2 id="a-non-comprehensive-list-of-special-search-expressions:">A non-comprehensive list of special search expressions:</h2> <p>These search-terms can be combined with each other and regular search term.</p> <ul> <li><em>module:</em> filter by part of a module name ( e.g. <a href="/search?q=module:Plugin">module:Plugin</a> )</li> <li><em>distribution:</em> search in the files of the specific distribution ( e.g. <a href="/search?q=distribution%3ADancer+auth">distribution:Dancer auth</a> )</li> <li><em>author:</em> search in the modules releases by the given author ( e.g. <a href="/search?q=author%3ASONGMU+Redis">author:SONGMU Redis</a> )</li> <li><em>version:</em> limit the search to modules with the given version number ( e.g. <a href="/search?q=version%3A1.00">version:1.00</a> )</li> </ul> <p>Wildcards: ? matches a single character, * matches any number of characters ( e.g. <a href="/search?q=version%3A1.*">version:1.*</a> and <a href="/search?q=version%3A1.?">version:1.?</a> )</p> <h2 id="why-can&#39;t-i-find-a-specific-module?">Why can't I find a specific module?</h2> <p>See our <a href="/about/missing_modules">missing module</a> page.</p> <h2 id="what-does-the-river-stage-indicate?">What does the river stage indicate?</h2> <p>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 <a href="http://neilb.org/2015/04/20/river-of-cpan.html">River of CPAN</a>.</p> <h2 id="what-does-the-bus-factor-indicate?">What does the bus factor indicate?</h2> <p>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 <a href="https://www.olafalders.com/2021/06/30/cpan-bus-factor/">CPAN Bus Factor</a>.</p> <h2 id="how-can-i-get-involved-/-who-is-involved?">How can I get involved / who is involved?</h2> <ul> <li><a href="/about/contact">Contact us</a></li> <li><a href="/about/development">Development information</a></li> <li><a href="/about/contributors">Who else has contributed?</a></li> </ul> <h2 id="where-can-i-find-the-api-docs?">Where can I find the API docs?</h2> <p>The API docs can be found by visiting <a href="https://fastapi.metacpan.org">fastapi.metacpan.org</a>. API requests need to be sent to fastapi.metacpan.org.</p> <h2 id="how-can-i-try-the-api?">How can I try the API?</h2> <p><a href="https://explorer.metacpan.org/">https://explorer.metacpan.org/</a> is an easy way to try sending queries to the back-end.</p> <h2 id="why-can&#39;t-i-link-my-pause-account?">Why can't I link my PAUSE account?</h2> <h3 id="is-your-pause-email-set-up?">Is your PAUSE email set up?</h3> <p>If you are a module author you can link your <a href="https://pause.perl.org/">PAUSE</a> account to your MetaCPAN account. But you must configure the email address forwarding in your PAUSE account for this to work.</p> <h3 id="connecting-one-identity-disconnects-another?">Connecting one identity disconnects another?</h3> <p>If you can only connect your account to GitHub <em>or</em> PAUSE (e.g. connecting to one disconnects the other), it is usually because you have (probably accidentally) created two accounts.</p> <p>To fix this:</p> <ol> <li>Log in with one of them</li> <li>Go to identities and disconnect that account</li> <li>Log in with the other and connect to the first</li> </ol> <h3 id="trying-to-connect-pause-just-gives-you-json-and-doesn&#39;t-work?">Trying to connect PAUSE just gives you JSON and doesn't work?</h3> <p>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.</p> <p>To fix this:</p> <ol> <li>Disconnect all identities</li> <li>Remove all cookies from <code>metacpan.org</code> and <code>fastapi.metacpan.org</code></li> <li>Reconnect via one identity</li> <li>Connect to PAUSE</li> </ol> <p>Make sure that you use the same browser for all of the steps - including opening the link in the email from MetaCPAN.</p> <h3 id="favorites-not-displaying-on-author-page?">Favorites not displaying on author page?</h3> <p>Please see <a href="https://github.com/metacpan/metacpan-web/issues/852">this discussion</a>.</p> <h2 id="oops!-i-made-a-mistake.-can-you-delete-my-module?">Oops! I made a mistake. Can you delete my module?</h2> <p>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.</p> <p>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.</p> <h2 id="can-i-automatically-redirect-links-pointing-at-search.cpan.org-to-metacpan.org?">Can I <em>automatically</em> redirect links pointing at search.cpan.org to metacpan.org?</h2> <p>As <a href="https://log.perl.org/2018/05/goodbye-search-dot-cpan-dot-org.html">announced</a> by the Perl NOC, all traffic will be redirected to from search.cpan.org to MetaCPAN.org as of 25th of June 2018.</p> <h2 id="what-is-the-relation-of-metacpan-to-author-*.json-and-the-data-in-a-pause-account?">What is the relation of MetaCPAN to author-*.json and the data in a PAUSE account?</h2> <p>Every CPAN module author has an account on <a href="https://pause.perl.org/pause/query">PAUSE</a>. That account has some profile data in it (full name, ascii name, e-mail, and homepage). Authors can edit those at <a href="https://pause.perl.org/pause/authenquery?ACTION=edit_cred">Edit Account Info</a>. This information is collected and distributed by PAUSE via the <a href="https://www.cpan.org/authors/00whois.xml">00whois.xml</a> file.</p> <p>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.</p> <p>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.)</p> <p>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.</p> <p>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 <a href="https://pause.perl.org/pause/authenquery?ACTION=edit_cred">Edit Account Info</a>.</p> <h2 id="how-to-adopt-a-distribution?">How to adopt a distribution?</h2> <h3 id="what-does-the-&quot;take-me-over?&quot;,-&quot;why-not-adopt-me?&quot;,-&quot;looking-for-help!&quot;-mean?">What does the &quot;Take me over?&quot;, &quot;Why not adopt me?&quot;, &quot;Looking for help!&quot; mean?</h3> <p>CPAN Distributions can be marked by their authors (or by the CPAN admins when the author is not available) to be &quot;up for adoption&quot;. 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 <a href="https://neilb.org/2013/08/07/adoptme.html">Marking modules as 'available for adoption'</a>.</p> <h3 id="how-to-become-the-maintainer-or-co-maintainer-of-a-cpan-distribution?">How to become the maintainer or co-maintainer of a CPAN distribution?</h3> <p>See the description how to <a href="https://neilb.org/2013/07/24/adopt-a-module.html">adopt a CPAN module</a> and check out the <a href="https://neilb.org/2014/01/31/adoption-request.html">CPAN adoption request template</a>.</p> <p>See also the list of <a href="https://neilb.org/adoption/">CPAN Adoption Candidates</a>.</p> <h3 id="how-to-mark-a-distribution-that-is-up-for-adoption?">How to mark a distribution that is up for adoption?</h3> <p>If you are the maintainer of the distribution you can follow these steps:</p> <ul> <li>Visit <a href="https://pause.perl.org/">PAUSE</a></li> <li>Click on &quot;Add Comaintainers&quot;</li> <li>Filter for the name of the distribution.</li> <li>Check the box next to the name of the distribution.</li> <li>Type in HANDOFF as userid.</li> <li>Click on &quot;Make Co-Maintainer&quot;</li> <li>Within an hour the change will show up on MetaCPAN.</li> </ul> <h3 id="how-to-remove-the-&quot;adopt-me&quot;-banner-from-the-module?">How to remove the &quot;adopt me&quot; banner from the module?</h3> <p>Remove the author ADOPTME, HANDOFF, or NEEDHELP from the project.</p> <ul> <li>Visit <a href="https://pause.perl.org/">PAUSE</a></li> <li>Click on &quot;Remove Comaintainers&quot;.</li> <li>Filter for the name of the distribution.</li> <li>Check which one of the above 3 are listed.</li> <li>Select them and click on &quot;Remove&quot;.</li> <li>Within an hour the change will show up on MetaCPAN.</li> </ul> </main> <div class="content-pagination"> </div> </div> <footer class="footer"> <div class="footer-container"> <div class="footer-social"> <div class="footer-link footer-logo"> <a href="/"> <img src="/static/images/metacpan-logo.svg" alt="MetaCPAN" /> </a> </div> <a class="footer-social-link" href="https://github.com/metacpan"> <i class="fab fa-github-square"></i> </a> <a class="footer-social-link" href="https://fosstodon.org/@metacpan"> <i class="fab fa-mastodon"></i> </a> </div> <div class="footer-links"> <div class="footer-link"> <a href="/about">About</a> </div> <div class="footer-link"> <a href="/about/sponsors">Sponsor</a> </div> <div class="footer-link"> <a href="https://grep.metacpan.org">grep::cpan</a> </div> <div class="footer-link"> <a href="/recent">Recent</a> </div> <div class="footer-link"> <a href="/about/faq">FAQ</a> </div> <div class="footer-link"> <a href="/tools">Tools</a> </div> <div class="footer-link"> <a href="https://fastapi.metacpan.org/">API</a> </div> <div class="footer-link"> <a href="https://www.perl.org/">Perl.org</a> </div> </div> <div class="footer-sponsors"> <a class="footer-sponsor-link" target="_blank" href="https://www.bytemark.co.uk/" rel="noopener"> <img class="footer-sponsor-bytemark" src="/static/images/sponsors/bytemark_logo.svg" alt="Bytemark logo"> </a> <a class="footer-sponsor-link" target="_blank" href="https://www.liquidweb.com/" rel="noopener"> <img class="footer-sponsor-liquidweb" src="/static/images/sponsors/liquidweb_logo.png" alt="liquidweb logo"> </a> <a class="footer-sponsor-link" target="_blank" href="https://deriv.com/careers/" rel="noopener"> <img class="footer-sponsor-deriv" src="/static/images/sponsors/deriv.svg" alt="Deriv logo"> </a> <a class="footer-sponsor-link" target="_blank" href="https://geocode.xyz" rel="noopener"> <img class="footer-sponsor-geocode" src="/static/images/sponsors/geocodelogo.svg" alt="Geocode logo"> </a> <a class="footer-sponsor-link" target="_blank" href="https://www.fastly.com/" rel="noopener"> <img class="footer-sponsor-fastly" src="/static/images/sponsors/fastly_logo.svg" alt="Fastly logo"> </a> <a class="footer-sponsor-link" target="_blank" href="https://opencagedata.com" rel="noopener"> <img class="footer-sponsor-opencage" src="/static/images/sponsors/open-cage.svg" alt="OpenCage logo"> </a> <!-- Added 2024-07-22 --> <a class="footer-sponsor-link" target="_blank" href="https://www.elastic.co/" rel="noopener"> <img class="footer-sponsor-elastic" src="/static/images/sponsors/elastic.svg" alt="Elastic logo"> </a> <!-- Added 2024-07-22 --> <a class="footer-sponsor-link" target="_blank" href="https://route4me.com/" rel="noopener"> <img class="footer-sponsor-route4me" src="/static/images/sponsors/route4me.png" alt="Route4Me logo"> </a> </div> </div> </footer> <div class="modal fade" tabindex="-1" role="dialog" id="metacpan_keyboard-shortcuts"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">&times;</button> <h4 class="modal-title">Keyboard Shortcuts</h4> </div> <div class="modal-body row"> <div class="col-md-6"> <table class="table keyboard-shortcuts"> <thead> <tr> <th></th> <th>Global</th> </tr> </thead> <tbody> <tr> <td class="keys"> <kbd>s</kbd> </td> <td>Focus search bar</td> </tr> <tr> <td class="keys"> <kbd>?</kbd> </td> <td>Bring up this help dialog</td> </tr> </tbody> </table> <table class="table keyboard-shortcuts"> <thead> <tr> <th></th> <th>GitHub</th> </tr> </thead> <tbody> <tr> <td class="keys"> <kbd>g</kbd> <kbd>p</kbd> </td> <td>Go to pull requests</td> </tr> <tr> <td class="keys"> <kbd>g</kbd> <kbd>i</kbd> </td> <td>go to github issues (only if github is preferred repository)</td> </tr> </tbody> </table> </div> <div class="col-md-6"> <table class="table keyboard-shortcuts"> <thead> <tr> <th></th> <th>POD</th> </tr> </thead> <tbody> <tr> <td class="keys"> <kbd>g</kbd> <kbd>a</kbd> </td> <td>Go to author</td> </tr> <tr> <td class="keys"> <kbd>g</kbd> <kbd>c</kbd> </td> <td>Go to changes</td> </tr> <tr> <td class="keys"> <kbd>g</kbd> <kbd>i</kbd> </td> <td>Go to issues</td> </tr> <tr> <td class="keys"> <kbd>g</kbd> <kbd>d</kbd> </td> <td>Go to dist</td> </tr> <tr> <td class="keys"> <kbd>g</kbd> <kbd>r</kbd> </td> <td>Go to repository/SCM</td> </tr> <tr> <td class="keys"> <kbd>g</kbd> <kbd>s</kbd> </td> <td>Go to source</td> </tr> <tr> <td class="keys"> <kbd>g</kbd> <kbd>b</kbd> </td> <td>Go to file browse</td> </tr> </tbody> </table> </div> <div class="col-md-12"> <table class="table keyboard-shortcuts"> <thead> <tr> <th></th> <th>Search terms</th> </tr> </thead> <tbody> <tr> <td><em>module:</em> (e.g. <a href="/search?q=module%3APlugin">module:Plugin</a>)</td> </tr> <tr> <td><em>distribution:</em> (e.g. <a href="/search?q=distribution%3ADancer+auth">distribution:Dancer auth</a>)</td> </tr> <tr> <td><em>author:</em> (e.g. <a href="/search?q=author%3ASONGMU+Redis">author:SONGMU Redis</a>)</td> </tr> <tr> <td><em>version:</em> (e.g. <a href="/search?q=version%3A1.00">version:1.00</a>)</td> </tr> </tbody> </table> </div> </div> <div class="modal-footer"></div> </div> </div> </div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10