I thought I had mentioned my Package Builder here, but I guess I haven't. You enter your data model and it writes the pl/sql and now pl/pgsql for a basic package. The pg part isn't quite done, since I stopped to work on the query writer, but it does create the new and delete functions.
Anyone interested can try it out at:
http://choicedev.zmbh.com:8300/pkbuilder/ To save everyone the need to setup an account just to look around the test user email is 'test@zmbh.com' and password is 'test'. I added the notes package, which is small, but only took about 5 minutes. Missing is a general function builder, but it should be easy enough to put in. This same data could be used to write the qd_add_package and qd_add_function calls.