@simon I wrote something that does a little bit of this: github.com/nedbat/pydoctor