WWW::SourceForge - Interfaces to the SourceForge data API
The WWW::SourceForge family of modules are intended to implement the API documented at https://sourceforge.net/p/forge/documentation/API/
While this isn't an "official" SourceForge project, I am a SourceForge employee, and maintain these as part of my job. I also use these modules as part of my daily tasks, and so I have an interest in making them work well.
These are part of a larger package of tools (https://sourceforge.net/projects/sfprojecttools/) including greasemonkey scripts, and hopefully some day other implementations of the API (PHP and Python would be a winner).
Usage: my $user = new WWW::SourceForge::User( id => 1234 ); my $user2 = new WWW::SourceForge::User( username => 'rbowen' ); my @projects = $user->projects(); # WWW::SourceForge::Project objects
Usage: my $proj = new WWW::SourceForge::Project( id => 1234 ); my $proj2 = new WWW::SourceForge::Project( name => 'flightics' ); my @admins = $proj->admins(); # WWW::SourceForge::User objects my @developers = $proj->developers(); # Ditto # WARNING: This method is probably going to change in the future to # return more detailed download data. Check docs frequently. my $download_count = $proj->downloads( start_date => '2012-07-01', end_date => '2012-07-25' ); # WARNING: This method is probably going to change in the future so # that we can return actual File or Release objects. Still to be # decided. Check docs frequently. my @files = $proj->files(); my $date_string = $proj->latest_release();
Rich Bowen CPAN ID: RBOW SourceForge Community Geek Hacker email@example.com
The source is in Git on SourceForge: https://sourceforge.net/p/sfprojecttools/code/ Patches make me happy.
A WWW::SourceForge module was originally developed by Kang-min Liu (firstname.lastname@example.org), which utilized WWW::Mechanize to retrieve project information from SourceForge project pages. With the many changes to the SourceForge website, that module gradually fell out of usefulness. With the new(ish) SourceForge data API, we have a means of accessing this data without having to parse HTML. But many thanks to Kang-min Liu for his early effort, and for his cooperation with me.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.