API/Uses

Not logged in - Log In / Register

Revision 13 as of 2009-11-25 17:26:07

Clear message

Launchpad API Uses

Below are programs that use the Launchpad APIs (usually through the launchpadlib Python interface) that you can use as examples if you're starting out with Launchpad API programming. See also the API/Examples page, which contains code snippets specifically meant as examples, and see the Launchpad Extensions (lpx) project group, which has pointers to more programs.

Program

Purpose

Notes

Launchpadlib "contrib" scripts

Various scripts shipped with Launchpadlib, meant both as examples and as real-world tools.

In particular, see lp-bug-ifier.py (expands raw bug numbers to show the bug summaries as fetched from Launchpad), close_bugs_from_commits.py (the name is self-explanatory), and the lpscripts.py convenience library they both use.

bughugger

Py Gtk Client for Ubuntu bugs in Launchpad. Currently supports listing bugs by team, user, and package. Supports plugins for changing bugs.

Still in development, join ~bughuggers

bzr-eclipse

A Bazaar plugin for Eclipse, that talks to the Launchpad/Bazaar integration using launchpadlib.

The developer says: "The API is straightforward to learn, also if you can use launchpadlib it's far easier, just start the python interactive interpreter, import launchpadlib and start prototyping your app :)"

Tarmac

"The Launchpad Landing Strip": an automatic branch lander for the Bazaar branches hosted on Launchpad. Tarmac uses the Launchpad API to manage a development focus branch's proposed merges. It will automatically merge approved branch merge proposals and push them back up to Launchpad.

apport

A crash detection system that automatically generates reports with debugging information from crashed programs and provides UI frontends for handling these reports.

See the script apport-collect, which adds apport data to existing bug reports

ubuntu-dev-tools

A collection of useful tools that Ubuntu developers use to make their packaging work a lot easier (bug filing, packaging preparation, package analysis, etc).

See the manage-credentials, requestsync, massfile, lp-set-dup, grab-attachments, and hugdaylist scripts. They're all sharing the ubuntutools/lp/libsupport.py library, which might be a good place to start.

ubuntu-qa-tools

A collection of tools used by the Ubuntu QA Team (like ubuntu-dev-tools, but for QA).

See the ml-fixes-report.py, ml-team-fixes-report.py, b-tool, package-bugs-gravity.py, team-reported-bug-tasks.py, and team-assigned-bug-tasks.py scripts.

ubuntu-archive-tools

A couple of small tools used by the Ubuntu archive administration team. Likely to grow as the Soyuz API gets richer.

Thanks to Colin Watson for pointing this one out.

ilaunchpad-shell

An interactive shell to Launchpad.net.

hydrazine

Client-side tools for dealing with Launchpad.

See, e.g., capture-bug-counts.py

loco-directory

LoCo Team organisation site

See, e.g., /loco_directory/includes/launchpad.py or /loco_directory/teams/management/commands/lpupdate.py

MeMaker

Uses python-launchpadlib to update users mugshot on Launchpad.net.