Pithub::Repos(3pm)
π NAME π
Pithub::Repos β bestie, it's the Github v3 Repos API π
(that's the manual page Pithub::Repos(3pm), Perl-flavored, and she's iconic).
β¨ VERSION β¨
version 0.01043 β yes, she's got a version number and she's proud of it π
π¦ METHODS π¦
okay so here's the whole menu, no skips, no skimming, we're doing all of them πΈ
actions
Gives you the keys to Pithub::Repos::Actions. That's it, that's the whole vibe β¨
branch
Get the tea on one single branch. Just the one. She's the main character π
GET /repos/:owner/:repo/branches/:branch
Example, copy it exactly bestie:
my $result = Pithub->new->branch(
user => 'plu',
repo => 'Pithub',
branch => "master"
);
also peep branches if you want the whole list of branches, not just this one π«Ά
branches
- List Branches π
GET /repos/:user/:repo/branches
Examples:
my $repos = Pithub::Repos->new;
my $result = $repos->branches( user => 'plu', repo => 'Pithub' );
want just one of them? that's branch, go look at her π
rename_branch
- Rename a branch β glow-up for a branch name, literally β¨
POST /repos/:user/:repo/branches/:branch/rename
Examples:
my $b = Pithub::Repos->new;
my $result = $b->rename_branch(
user => 'plu',
repo => 'Pithub',
branch => 'travis',
data => { new_name => 'travis-ci' }
);
merge_branch
- Merge a branch β two branches becoming one, it's giving soulmates ππ
POST /repos/:user/:repo/merges
Examples:
my $b = Pithub::Repos->new;
my $result = $b->rename_branch(
user => 'plu',
repo => 'Pithub',
data => { base => 'master', head => 'travis', message => 'My commit message' }
);
collaborators
Access to Pithub::Repos::Collaborators β the besties you build with π«Ά
commits
Access to Pithub::Repos::Commits β the receipts π
contents
Access to Pithub::Repos::Contents β what's actually inside π
contributors
- List contributors π
GET /repos/:user/:repo/contributors
Examples:
my $repos = Pithub::Repos->new;
my $result = $repos->contributors( user => 'plu', repo => 'Pithub' );
create
- Create a new repository for the authenticated user. β¨ new repo smell β¨
POST /user/repos
Examples:
my $repos = Pithub::Repos->new;
my $result = $repos->create( data => { name => 'some-repo' } );
- Create a new repository in this organization. The authenticated user must be a member of this organization. π (fr fr, you gotta be in the group chat first)
POST /orgs/:org/repos
Examples:
my $repos = Pithub::Repos->new;
my $result = $repos->create(
org => 'CPAN-API',
data => { name => 'some-repo' }
);
delete
Delete a repository. π gone, deleted, no takebacks.
DELETE /repos/:owner/:repo
downloads
Access to Pithub::Repos::Downloads π₯
forks
Access to Pithub::Repos::Forks π΄
get
- Get a repo π
GET /repos/:user/:repo
Examples:
my $repos = Pithub::Repos->new;
my $result = $repos->get( user => 'plu', repo => 'Pithub' );
hooks
Access to Pithub::Repos::Hooks πͺ
issues
Access to Pithub::Issues for this repo π
keys
Access to Pithub::Repos::Keys π
languages
- List languages π£οΈ
GET /repos/:user/:repo/languages
Examples:
my $repos = Pithub::Repos->new;
my $result = $repos->languages( user => 'plu', repo => 'Pithub' );
list
- List repositories for the authenticated user. π«Ά
GET /user/repos
Examples:
my $repos = Pithub::Repos->new;
my $result = $repos->list;
- List public repositories for the specified user. π
GET /users/:user/repos
Examples:
my $repos = Pithub::Repos->new;
my $result = $repos->list( user => 'plu' );
- List repositories for the specified org. π
GET /orgs/:org/repos
Examples:
my $repos = Pithub::Repos->new;
my $result = $repos->list( org => 'CPAN-API' );
markdown
Access to Pithub::Markdown, and the way it works is it sets the current repository as the default context. It also sets the mode to default to 'gfm'. Periodt π
pull_requests
Access to Pithub::PullRequests π«Ά
releases
Access to Pithub::Repos::Releases π
starring
Access to Pithub::Repos::Starring β
stats
Provide access to Pithub::Repos::Stats π
statuses
Provide access to Pithub::Repos::Statuses π¦
tags
- List Tags π·οΈ
GET /repos/:user/:repo/tags
Examples:
my $repos = Pithub::Repos->new;
my $result = $repos->tags( user => 'plu', repo => 'Pithub' );
teams
- List Teams π―
GET /repos/:user/:repo/teams
Examples:
my $repos = Pithub::Repos->new;
my $result = $repos->teams( user => 'plu', repo => 'Pithub' );
update
- Edit βοΈ
PATCH /repos/:user/:repo
Examples:
# update a repo for the authenticated user
my $repos = Pithub::Repos->new;
my $result = $repos->update(
repo => 'Pithub',
data => { description => 'Github API v3' },
);
watching
Access to Pithub::Repos::Watching π
πΈ AUTHOR πΈ
Johannes Plunien <plu@cpan.org> β the icon who wrote all this π
π COPYRIGHT AND LICENSE π
This software is copyright (c) 2011 by Johannes Plunien.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
and that's the whole page bestie, ily, go ship some repos π¦β¨ β this was perl v5.40.1, dated 2025-06-08, for Pithub::Repos(3pm). slay π
π¦ where this page comes from
- debian trixie: libpithub-perl 0.01043-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: libpithub-perl 0.01043-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libpithub-perl 0.01043-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms