I noticed values of type 'char' are translated into integers when going
from Objective-C to python. I'd expect a string of length 1.
IMHO depythonify_c_value is a bit to strict in the values it accepts.
As an example: when translating to an Objective-C int it won't accept a
Python long. Should we use PyArg_Parse to convert Python objects to
basic C types? This would at least make us consistent with other
extension modules, even though PyArg_Parse doesn't deal (yet?) with
I've currently dealt with this adding more code: We now accept python
longs where we accepts ints (and the other way around).
While I was busy I also adding some range-checking code: Conversions to
Objective-C only succeed if the Python number is within the range
accepted by the C type. The checks are currently very strict, if this
proves to be too strict we can relax the rules a little (at least for
unsigned native types).
There is no range checking for floating point numbers, I'll leave that
for someone who's knows more about the issues around floating point