I'm using bitcoin-qt and have a local copy of the blockchain, in which I'm running some analysis with the JSON-RPC API using mostly
getrawtransaction. I have no need writing or sending transactions in this use case. It's overkill to run a full node just to read the blockchain, and it hurts my analysis performance, too.
Is there a (preferrably tested) library to parse the blockchain and return objects, JSON or not? Language doesn't matter much. If not, is there a node implementation that allow turning off network and wallet features?