These days I often use launchpadlib in my projects for scripting access/modifications in Launchpad. While launchpadlib has quite a good API documentation, this only covers the method calls, not the attributes or collections. So it often takes some poking and trying until you figure out how to access/change things.
I found myself typing the same things over and over, so I finally wrote a little script called lpshell
:
#!/usr/bin/python -i import code, os, sys from launchpadlib.launchpad import Launchpad, STAGING_SERVICE_ROOT, EDGE_SERVICE_ROOT lp = Launchpad.login_with('test', STAGING_SERVICE_ROOT)
This logs into Launchpad and gives you an interactive Python shell with an “lp” object:
$ lpshell >> lp.bugs[439482].duplicate_of <bug at https://api.staging.launchpad.net/beta/bugs/432598>
Update: I committed this to ubuntu-dev-tools now, renamed to lp-shell
for consistency with the other lp-*
commands.