How to turn off gamma correction with Python in Blender 2.69
Wrong approach.

Simply render or load an image and tag it as Non-color Data in the UV Image editors properties panel. Being a good imager, you are already using the EXR format exclusively, as it is a linearized, high precision encoding format for both colour and data.

The Non-color Data tag keeps the buffer entirely out of the colour transform pipeline.


  I'm definitely open to using another path to producing normals, but I need to use only Python scripting. Non-color Data sounds promising. Would I be able to render something using nodes, and then save that render (from an output node, not from the RenderLayer) as Non-color Data? Please let me know if I'm not being clear!


The colour transform tag on an image buffer is only metadata, and as such, if you save that buffer as an EXR, there is nothing more that you need to do. Simply load the EXR, then use Python to set the buffer's tag to Non-Color Data and you are done. Those values will not be put through any view transform.

It should be noted that when viewing Non-Color Data in the viewport, it might seem that the view is identical to when it is set to linear. The difference is that linear is defined as a colour transform and will get passed through various transforms, where, as stated above, Non-Color Data always will pass through untransformed.