[Python-Dev] PEP 553: Built-in debug() (original) (raw)

Christian Heimes christian at python.org
Thu Sep 7 13:00:52 EDT 2017


On 2017-09-07 09:50, Barry Warsaw wrote:

On Sep 6, 2017, at 23:10, Terry Reedy <tjreedy at udel.edu> wrote:

Environmental variables are set to strings, not objects. It is not clear how you intend to handle the conversion. The environment variable names a module import path. Without quibbling about the details of the syntax (because honestly, I’m not convinced it’s a useful feature), it would work roughly like: * The default value is equivalent to PYTHONBREAKPOINTHOOK=pdb.settrace * breakpoint() splits the value on the rightmost dot * modules on the LHS are imported, then the RHS is getattr’d out of that * That’s the callable breakpoint() calls

Setuptools' entry points [1] use colon between import and function, e.g. "pdb:set_trace" would import pdb and then execute set_trace. The approach can be augmented to allow calling a class method, too.

So

"package.module:myclass.classfunc"

would do :

from package.module import myclass myclass.classfunc

Regards, Christian

[1] https://setuptools.readthedocs.io/en/latest/setuptools.html#automatic-script-creation



More information about the Python-Dev mailing list