[Python-Dev] Deprecating non-Py_ssize_t use of PyArg_ParseTuple

Eric Smith eric at trueblade.com
Mon Mar 21 15:02:37 CET 2011


> On Mon, 21 Mar 2011 04:09:35 +0100
> "Martin v. Löwis" <martin at v.loewis.de> wrote:
>> Since Python 2.5, we maintain two versions of PyArg_ParseTuple:
>> one outputting int; the other one outputting Py_ssize_t.
>>
>> The former should have been removed in 3.0, but this was forgotten.
>>
>> Still, I would like people to move over to the new version, so
>> that extension modules will typically support 64-bit collections
>> well. Therefore, I'd like to propose that the int version is deprecated
>> in 3.3.
>
> +1 !

Agreed.

>> Given the recent discussion about backwards compatibility: what's
>> the best approach? What warning should be emitted, if any?
>> (the warning would only be generated if an s# or similar format
>>  was actually encountered - not just if merely PyArg_ParseTuple is
>>  called).
>
> I'd say a DeprecationWarning. They are quiet by default anyway...

Why not a PendingDeprecationWarning?

Eric.



More information about the Python-Dev mailing list