Working with booleans - cutting a mesh in python

I’m trying to cut a 3d surface (for example, a sphere) in two halves with a python script. I’d like to achieve at the end the two concave parts and the inner face, separated from them.
I’ve tried booleans: they do produce the two halves, but every half is closed with the inner face (it’s the default process that booleans follow). I’d need instead the inner face splitted from the two halves. Or, at least, the two halves without that face.
I found out a script that cut a mesh, but it worked in 2.49.
Do you know a better method to do this?