[Python-Dev] Checking in Argument Clinic early?

Larry Hastings larry at hastings.org
Tue Oct 15 14:55:47 CEST 2013



I really want to get Argument Clinic in to Python 3.4.  Currently the 
following is true:

  * It has an implementation I've been working on for more than a year.
  * I assert that it's a reasonable approach and the APIs are ready for
    public consumption.
  * The syntax for the DSL is the one proposed by Guido at PyCon US 2013.
  * So far It has little in the way of documentation apart from the PEP.
  * The PEP is out of date and not ready for pronouncement.
  * IIUC Guido said he's not delegating this PEP.


There's now a discussion afoot about merging "tulip" in, in time for 
3.4a4, which I think is going to happen.  And as Release Manager for 3.4 
I'm happy to see this happen.

I'd like to propose much the same thing for Argument Clinic: check it in 
now, before 3.4a4, and let it bake in trunk a little before feature 
freeze at beta 1 while I run around and finish the documentation.


You can review the existing code here:

    https://bitbucket.org/larry/python-clinic/

(Yes, in this fork clinic.py is at the root--but then I never intended 
to merge this fork.)

Checking in Clinic would mean:

  * Adding the tool (one file, "clinic.py") and its test suite into
    Tools/clinic/
  * Adding its documentation somewhere in the Doc/ directory
  * Merging six or eight places where I've converted random functions to
    use Clinic

Brett Cannon gave the code a cursory review at PyCon CA over about six 
hours, and iirc he said it was basically reasonable.  He wanted more 
coverage in the tests, and more in-depth review of course, but he had 
only minor feedback, all of which I've incorporated.

(In case you're wondering: last time I tried, coverage from just the 
unit test suite was about 85%, but if you also ran all my sample usage 
of it in the CPython code it rose to like 92%.)


So, quick poll: do you approve of me checking Argument Clinic in to 
Python 3.4 trunk in its current state before 3.4a4?


//arry/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20131015/bc77c899/attachment.html>


More information about the Python-Dev mailing list