NAME
    XPAN::Query - Query a {CPAN,MiniCPAN,DarkPAN} mirror

VERSION
    This document describes version 0.03 of XPAN::Query (from Perl
    distribution XPAN-Query), released on 2014-06-05.

SYNOPSIS
     use XPAN::Query qw(
         list_xpan_packages
         list_xpan_modules
         list_xpan_dists
         list_xpan_authors
     );
     my $res = list_ubuntu_releases(detail=>1);
     # raw data is in $Ubuntu::Releases::data;

DESCRIPTION
    INITIAL RELEASE: no implementations yet.

    XPAN is a term I coined for any repository (directory tree, be it on a
    local filesystem or a remote network) that has structure like a CPAN
    mirror, specifically having a "modules/02packages.details.txt.gz" file.
    This includes a normal CPAN mirror, a MiniCPAN, or a DarkPAN. Currently
    it *excludes* BackPAN, because it does not have
    "02packages.details.txt.gz", only "authors/id/C/CP/CPANID" directories.

    With this module, you can query various things about the repository.
    This module fetches "02packages.details.txt.gz" and parses it (caching
    it locally for a period of time).

FUNCTIONS
  list_xpan_authors(%args) -> any
    List authors in {CPAN,MiniCPAN,DarkPAN} mirror.

    Arguments ('*' denotes required arguments):

    *   cache_period => *int* (default: 86400)

    *   query => *str*

    *   temp_dir => *str*

    *   url* => *str*

        URL to repository, e.g. '/cpan' or 'http://host/cpan'.

    Return value:

  list_xpan_dists(%args) -> any
    List distributions in {CPAN,MiniCPAN,DarkPAN} mirror.

    Arguments ('*' denotes required arguments):

    *   cache_period => *int* (default: 86400)

    *   query => *str*

    *   temp_dir => *str*

    *   url* => *str*

        URL to repository, e.g. '/cpan' or 'http://host/cpan'.

    Return value:

  list_xpan_modules(%args) -> any
    List packages in {CPAN,MiniCPAN,DarkPAN} mirror.

    Arguments ('*' denotes required arguments):

    *   cache_period => *int* (default: 86400)

    *   query => *str*

    *   temp_dir => *str*

    *   url* => *str*

        URL to repository, e.g. '/cpan' or 'http://host/cpan'.

    Return value:

  list_xpan_packages(%args) -> any
    List packages in {CPAN,MiniCPAN,DarkPAN} mirror.

    Arguments ('*' denotes required arguments):

    *   cache_period => *int* (default: 86400)

    *   query => *str*

    *   temp_dir => *str*

    *   url* => *str*

        URL to repository, e.g. '/cpan' or 'http://host/cpan'.

    Return value:

SEE ALSO
    Parse::CPAN::Packages

    Parse::CPAN::Packages::Fast

    PAUSE::Packages, PAUSE::Users

    Tangentially related: BackPAN::Index

HOMEPAGE
    Please visit the project's homepage at
    <https://metacpan.org/release/XPAN-Query>.

SOURCE
    Source repository is at <https://github.com/sharyanto/perl-XPAN-Query>.

BUGS
    Please report any bugs or feature requests on the bugtracker website
    <https://rt.cpan.org/Public/Dist/Display.html?Name=XPAN-Query>

    When submitting a bug or request, please include a test-file or a patch
    to an existing test-file that illustrates the bug or desired feature.

AUTHOR
    Steven Haryanto <stevenharyanto@gmail.com>

COPYRIGHT AND LICENSE
    This software is copyright (c) 2014 by Steven Haryanto.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.

