= Launchpad API Uses =

Below are programs that use the [[API|Launchpad APIs]] (usually through the [[API/launchpadlib|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, the [[Clients]] page (into which this page should probably be merged), and the [[https://launchpad.net/lpx|Launchpad Extensions (lpx)]] project group.  

|| '''Program''' || '''Purpose''' || '''Notes''' ||
|| [[http://bazaar.launchpad.net/~lazr-developers/launchpadlib/trunk/files/head%3A/contrib|Launchpadlib "contrib" scripts]] || Various scripts shipped with Launchpadlib, meant both as examples and as real-world tools.  || In particular, see [[http://bazaar.launchpad.net/~lazr-developers/launchpadlib/trunk/annotate/head%3A/contrib/lp-bug-ifier.py|lp-bug-ifier.py]] (expands raw bug numbers to show the bug summaries as fetched from Launchpad), [[http://bazaar.launchpad.net/~lazr-developers/launchpadlib/trunk/annotate/head%3A/contrib/close_bugs_from_commits.py|close_bugs_from_commits.py]] (the name is self-explanatory), and the [[http://bazaar.launchpad.net/~lazr-developers/launchpadlib/trunk/annotate/head%3A/contrib/close_bugs_from_commits.py|lpscripts.py]] convenience library they both use. ||
|| [[https://launchpad.net/bughugger|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 ||
|| [[http://blog.launchpad.net/api/launchpad-plugin-for-eclipse-using-the-launchpad-api|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 :)" ||
|| [[http://launchpad.net/tarmac|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. || ||
|| [[http://launchpad.net/apport|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 [[http://bazaar.launchpad.net/%7Eubuntu-core-dev/apport/ubuntu/annotate/head%3A/debian/local/apport-collect|apport-collect]], which [[http://blog.grossmeier.net/2009/03/02/apport-collect-just-what-you-wanted/|adds apport data to existing bug reports]] ||
|| [[http://wiki.ubuntu.com/UbuntuDevTools|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 [[http://bazaar.launchpad.net/%7Eubuntu-dev/ubuntu-dev-tools/trunk/annotate/head%3A/manage-credentials|manage-credentials]], [[http://bazaar.launchpad.net/%7Eubuntu-dev/ubuntu-dev-tools/trunk/annotate/head%3A/requestsync|requestsync]], [[http://bazaar.launchpad.net/%7Eubuntu-dev/ubuntu-dev-tools/trunk/annotate/head%3A/massfile|massfile]], [[http://bazaar.launchpad.net/%7Eubuntu-dev/ubuntu-dev-tools/trunk/annotate/head%3A/lp-set-dup|lp-set-dup]], [[http://bazaar.launchpad.net/%7Eubuntu-dev/ubuntu-dev-tools/trunk/annotate/head%3A/grab-attachments|grab-attachments]], and [[http://bazaar.launchpad.net/%7Eubuntu-dev/ubuntu-dev-tools/trunk/annotate/head%3A/hugdaylist|hugdaylist]] scripts.  They're all sharing the [[http://bazaar.launchpad.net/%7Eubuntu-dev/ubuntu-dev-tools/trunk/annotate/head%3A/ubuntutools/lp/libsupport.py|ubuntutools/lp/libsupport.py]] library, which might be a good place to start. ||
|| [[https://launchpad.net/ubuntu-qa-tools|ubuntu-qa-tools]] || A collection of tools used by the Ubuntu QA Team (like ubuntu-dev-tools, but for QA). || See the [[http://bazaar.launchpad.net/%7Eubuntu-bugcontrol/ubuntu-qa-tools/master/files/head%3A/bugs-mailinglist/ml-fixes-report.py|ml-fixes-report.py]], [[http://bazaar.launchpad.net/%7Eubuntu-bugcontrol/ubuntu-qa-tools/master/files/head%3A/bugs-mailinglist/ml-team-fixes-report.py|ml-team-fixes-report.py]], [[http://bazaar.launchpad.net/%7Eubuntu-bugcontrol/ubuntu-qa-tools/master/files/head%3A/mutt-scripts/b-tool|b-tool]], [[http://bazaar.launchpad.net/%7Eubuntu-bugcontrol/ubuntu-qa-tools/master/files/head%3A/bug-report-framework/package-bugs-gravity.py|package-bugs-gravity.py]], [[http://bazaar.launchpad.net/%7Eubuntu-bugcontrol/ubuntu-qa-tools/master/files/head%3A/bug-report-framework/team-reported-bug-tasks.py|team-reported-bug-tasks.py]], and [[http://bazaar.launchpad.net/%7Eubuntu-bugcontrol/ubuntu-qa-tools/master/files/head%3A/bug-report-framework/team-assigned-bug-tasks.py|team-assigned-bug-tasks.py]] scripts. ||
|| [[http://bazaar.launchpad.net/~ubuntu-archive/ubuntu-archive-tools/trunk/files|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. ||
|| [[http://bazaar.launchpad.net/~loco-directory-dev/loco-directory/trunk/files|loco-directory]] || !LoCo Team organisation site || See, e.g., [[http://bazaar.launchpad.net/~loco-directory-dev/loco-directory/trunk/annotate/head%3A/loco_directory/includes/launchpad.py|/loco_directory/includes/launchpad.py]] or [[http://bazaar.launchpad.net/~loco-directory-dev/loco-directory/trunk/annotate/head%3A|/loco_directory/teams/management/commands/lpupdate.py|/loco_directory/teams/management/commands/lpupdate.py]]||
|| [[http://launchpad.net/memaker|MeMaker]] || Uses python-launchpadlib to update users mugshot on Launchpad.net. || ||
|| [[http://openhatch.org/|OpenHatch]] || A website for talking about your Free Software contributions and finding new ways to contribute || We use launchpadlib to convert email addresses into lp.net usernames, and we pull information about your project experiences from your lp.net user page.  See the [[https://gitorious.org/openhatch/oh-mainline/blobs/master/mysite/customs/bugtrackers/launchpad.py|script]]. ||
|| [[https://launchpad.net/laika|Laika]] || "a guide dog for launchpad" -- prints a summary of the bugs you touched this week || ||