Who’s using the Launchpad API?
People are starting to integrate Launchpad into applications, talking to it directly through its API — either by using the launchpadlib Python library or by doing RESTful HTTP requests.
Below are some of the uses we’ve found — if you know of some not on this list, please tell us (in the comments here is fine). This is partly to help us see what areas of the API are getting the most mileage, and partly because this collection might be a good resource for people who want example code for using the Launchpad API themselves.
(Note: we’ve now collected this information into a Launchpad API Usage directory, and will maintain the list there from now on.)
-
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. Apport uses launchpadlib in a script (apport-collect) that 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). Ubuntu Dev Tools uses launchpadlib in 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 (sort of parallel to 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.
-
ilaunchpad-shell, an interactive shell to Launchpad.net.
See also the API category on the Launchpad Blog, which has posts with code examples, news, etc. And this thread on the Launchpad Users mailing list may accumulate more examples, even after this blog post goes up.
March 31st, 2009 at 6:49 pm
And soon the new LoCo Team Directory will be utilizing the Python launchpadlibs! I totally love the Python launchpadlibs, just wish there was more information available for Teams via Launchpad, which has nothing to do with the API at all.
April 1st, 2009 at 12:56 am
The page titles on this blog do not include the post title. Interesting how the page _title_ is the most frequently neglected part of a webpage.
April 2nd, 2009 at 8:52 am
ubuntu-archive-tools (lp:~ubuntu-archive/ubuntu-archive-tools/trunk) – a couple of small tools used by the Ubuntu archive administration team. Likely to grow as the Soyuz API gets richer.
April 2nd, 2009 at 4:00 pm
@nixternal:
I talked to Diogo Matsubara on the Launchpad team about this, and he said “suggest he file a bug explaining his use case and what information he wants to retrieve related to teams that he can not. [note that] we do have apis for teams. see the person object https://launchpad.net/+apidoc/”
@Ken:
Thanks! Filed https://bugs.edge.launchpad.net/launchpad/+bug/353873 for this.
@Colin:
Added to https://help.launchpad.net/API/Uses, thank you.