I've been wanting to do this for years. Just a quick announcement that Stem now lazy-loads descriptors, giving it a nice performance boost...
Server descriptors: 27% faster Extrainfo descriptors: 71% faster Microdescriptors: 43% faster Consensus: 37% faster
For details see...
https://gitweb.torproject.org/stem.git/commit/?id=3dac7c5
Note that descriptor validation is now opt-in rather than opt-out, so if you'd prefer validation over performance you'll now need to include 'validate = True'.
This is a pretty big overhaul so please let me know if you run into any issues.
Cheers! -Damian