On Apr 20, 2012, at 09:59 PM, Brett Cannon wrote:
As I clean up Python/import.c and move much of its functionality into Lib/imp.py, I am about to run into some stuff that was not kept private to the file. Specifically, I have PyImport_GetMagicTag() and NullImporter_Type which I would like to chop out and move to Lib/imp.py.
From my reading of PEP 384 that means I would need to at least deprecate
PyImport_getMagicTag(), correct (assuming I follow through with this; I might not bother)? What about NullImporter_Type (it lacks a Py prefix so I am not sure if this is considered public or not)?
I'd have to go back into my archives for the discussions about the PEP, but my recollection is that we intentionally made PyImport_GetMagicTag() a public API method. Thus no leading underscore. It's a bug that it's not documented, but OTOH, it's unlikely there are, or would be, many consumers for it.
Strictly speaking, I do think you need to deprecate the APIs. I like Nick's suggestion to make them C wrappers which just call back into Python.