[Python-Dev] API for the new sysconfig module (original) (raw)
Raymond Hettinger raymond.hettinger at gmail.com
Fri Dec 10 21:27:26 CET 2010
- Previous message: [Python-Dev] API for the new sysconfig module
- Next message: [Python-Dev] API for the new sysconfig module
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Dec 10, 2010, at 6:20 AM, Éric Araujo wrote:
Final note: with 3.2 being in beta, I don’t know how much can be changed now.
Part of the purpose of a beta, and in our case, two betas is to give people a chance to exercise new APIs and fix them before they become set in stone two months later.
IMO, sysconfig did not warrant a whole module. The pile of awkward accessor functions is harder to learn / remember than the simple data structure shown in the last email.
Rather than using two levels of dictionary, it's also possible to use a named tuple if you think that is more clean looking:
c = sys.sysconfig()
c.config_vars.get('SO) '.pyd' c.platform 'win32' c.paths.get('stdlib') 'C:\Python32\Lib'
>>> # the named tuple fields:
>>> c.fields
['config_vars', 'platform', 'version', 'scheme_names', 'paths']
This would be a straight-forward API that uses existing, well-known tools (attribute access and dict.get) instead of an unnecessary nest of ad-hoc accessor functions living in a new module.
Tastes may vary on writing getter functions for every category of interest but we did not need a whole new module for this. The referenced email didn't indicate much if any thought about the API design, so I think should get that thought now.
If those functions were already public in distutils, it is trivial to write an adapter for them there.
Raymond
-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20101210/350bf6c0/attachment.html>
- Previous message: [Python-Dev] API for the new sysconfig module
- Next message: [Python-Dev] API for the new sysconfig module
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]