On Thu, 4 Aug 2016 at 09:14 Alexander Belopolsky < alexander.belopolsky@gmail.com> wrote:
What is the current status of the Argument Clinic DSL? The clinic preprocessor was released [1] with Python 3.4 with a promise [2] "that signature metadata for programmatic introspection will be added to additional callables implemented in C as part of Python 3.4 maintenance releases." We are now close to 3.6 beta and clinic coverage in stdlib is sparse at best. For example, the math module makes no use of the clinic (but interestingly a few methods in cmath do). The documentation is very sparse as well. While one would expect PEP 436 to serve as *the* documentation while clinic is being developed, but the PEP has the "Draft" status and has not been updated since 2013. Furthermore, the 3.4 release notes contain a warning saying "The Argument Clinic PEP is not fully up to date with the state of the implementation." It does not look like this situation has improved since.
I always read https://docs.python.org/3/howto/clinic.html as the documentation and not the PEP.
The practical question is: does it make sense to invest time in learning the clinic DSL and converting more modules (e.g. datetime) to it
Yes. Part of the issue is there was a big push to convert modules for the 3.4 release and some of us helped convert however many we can, but then people stopped putting the time in to convert code a module at a time once 3.4 was released. Serhiy has actually been working on a patch to speed up keyword parsing which will automatically be applied to code using Argument Clinic: http://bugs.python.org/issue27574 .
or it is likely that the whole approach will be revised in the future?
I don't see it being revised, but maybe Larry has something to say on the matter.
[1] http://bugs.python.org/issue16612 [2] https://docs.python.org/3.6/whatsnew/3.4.html?highlight=clinic#pep-436-argum... _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/brett%40python.org