How can I read information from the blockchain? I don't want to use an existing service, like Blockchain.info or BlockExplorer.com. Is there some library out there that will let me read the blockchain programatically?
This can be done with some degree of effort using the Bitcoin API.

v0.7 getrawtransaction gives you access to transactions even those not in your wallet.


http://en.bitcoin.it/wiki/Raw_Transactions


There are other tools that you can use to build this capability as well.


libBitcoin
Armory (see Extras)
Bitcoin ABE 
BitsOfProof supernode [pre-release]