Skip to content

Derby #16: Convert 50 sites to Argument Clinic across 9 files #64383

Closed

Description

@larryhastings
BPO 20184
Nosy @ncoghlan, @larryhastings, @serhiy-storchaka, @1st1, @shihai1991
PRs
  • gh-64383: Migrate builtins.vars and builtins.dir to Argument Clinic #18512
  • bpo-20184: Convert termios to Argument Clinic. #22693
  • Files
  • issue20184_builtin_conversion.diff: Approach to ensuring all builtins have signatures
  • issue20184_builtin_conversion_v2.diff: All non-type callables in bltinmodule.c converted or classified
  • issue20184_builtin_conversion_v3.diff: Updated to fix test_pydoc and test_gdb
  • issue20184_builtin_conversion_v4.diff: Updated for AC changes
  • issue20184_builtin_conversion_v5.diff: Additional cleanups in the test case
  • issue20184_builtin_conversion_v6.diff: Updated for AC changes in the lead up to 3.4.0
  • issue20184_builtin_conversion_v7.diff: Updated to apply to trunk (August 2014)
  • dbm_clinic.patch
  • dbm_clinic_2.patch
  • json_clinic.patch
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = None
    created_at = <Date 2014-01-08.00:21:44.691>
    labels = ['extension-modules', 'type-feature', 'expert-argument-clinic']
    title = 'Derby #16: Convert 50 sites to Argument Clinic across 9 files'
    updated_at = <Date 2020-10-18.14:54:14.974>
    user = 'https://github.com/larryhastings'

    bugs.python.org fields:

    activity = <Date 2020-10-18.14:54:14.974>
    actor = 'serhiy.storchaka'
    assignee = 'none'
    closed = False
    closed_date = None
    closer = None
    components = ['Extension Modules', 'Argument Clinic']
    creation = <Date 2014-01-08.00:21:44.691>
    creator = 'larry'
    dependencies = []
    files = ['33696', '33701', '33740', '33860', '33861', '34664', '36385', '39032', '39070', '39292']
    hgrepos = []
    issue_num = 20184
    keywords = ['patch']
    message_count = 20.0
    messages = ['207642', '209159', '209179', '209203', '209409', '209953', '210218', '210375', '215164', '224765', '225385', '225423', '225424', '225425', '241094', '241226', '241347', '242588', '362008', '378872']
    nosy_count = 7.0
    nosy_names = ['ncoghlan', 'larry', 'nadeem.vawda', 'python-dev', 'serhiy.storchaka', 'yselivanov', 'shihai1991']
    pr_nums = ['18512', '22693']
    priority = 'normal'
    resolution = None
    stage = 'patch review'
    status = 'open'
    superseder = None
    type = 'enhancement'
    url = 'https://bugs.python.org/issue20184'
    versions = ['Python 3.5']

    Activity

    1. ncoghlan commented on Mar 30, 2014

      @ncoghlan
      Contributor

      Updated the builtins patch for the 3.4.0 Argument Clinic changes. Also moved the issue back to 3.4, since Larry has indicated that AC conversions are in scope for 3.4.x maintenance releases, so long as no public API behaviour changes.

    2. larryhastings commented on Aug 4, 2014

      @larryhastings
      ContributorAuthor

      All the Derby patches should only go into trunk at this point.

    3. ncoghlan commented on Aug 16, 2014

      @ncoghlan
      Contributor

      Tweaked patch to apply cleanly to trunk, but realised it has been a while since I looked at the current state of argument clinic:

      • I'm not sure if varargs support has been added yet. If it has, "min", "max", "print", "__build_class__" can be converted. If it hasn't, then the comments referring to 3.4 still need to be updated.

      • the comments referring to needing groups support in AC aren't quite right, it's optional group support in inspect that's missing. So the comments relating to "range", "slice", "dir", "getattr", "next", "iter", "vars" should be tweaked accordingly

      • tweaking the behaviour of round to make it AC friendly should probably go into its own issue.

      Also, Larry, there's a note in the the 3.4 "What's New" about additional signature info landing in Python 3.4 maintenance releases. That note should probably be adjusted at this point, since any new signature data will only be available in 3.5.

    4. python-dev commented on Aug 17, 2014

      python-devmannequin
      Mannequin

      New changeset 6219aa966a5f by Nick Coghlan in branch 'default':
      Issue bpo-20184: Add signature introspection for 30 of the builtins
      http://hg.python.org/cpython/rev/6219aa966a5f

    5. ncoghlan commented on Aug 17, 2014

      @ncoghlan
      Contributor

      30 of the builtin functions now support signature introspection thanks to Argument Clinic :)

    6. ncoghlan commented on Aug 17, 2014

      @ncoghlan
      Contributor

      (Well, they'll support it in 3.5...)

    7. serhiy-storchaka commented on Apr 15, 2015

      @serhiy-storchaka
      Member

      Proposed patch converts _dbm and _gdbm modules to Argument Clinic.

    8. serhiy-storchaka commented on Apr 16, 2015

      @serhiy-storchaka
      Member

      The patch updated to the tip.

    9. python-dev commented on Apr 17, 2015

      python-devmannequin
      Mannequin

      New changeset 49910ff21ba5 by Serhiy Storchaka in branch 'default':
      Issue bpo-20184: Converted _dbm and _gdbm modules to Argument Clinic.
      https://hg.python.org/cpython/rev/49910ff21ba5

    10. serhiy-storchaka commented on May 5, 2015

      @serhiy-storchaka
      Member

      Here is a patch that converts 3 functions in the _json module to Argument Clinic. All other functions doesn't fit with Argument Clinic.

    11. shihai1991 commented on Feb 15, 2020

      @shihai1991
      Member

      Looks like builtins.vars and builtins.dir should be migrated to AC too, so I create PR18512.

    12. serhiy-storchaka commented on Oct 18, 2020

      @serhiy-storchaka
      Member

      New changeset 1bcaa81 by Serhiy Storchaka in branch 'master':
      bpo-20184: Convert termios to Argument Clinic. (GH-22693)
      1bcaa81

    13. transferred this issue fromon Apr 10, 2022
    14. arhadthedev commented on Feb 13, 2023

      @arhadthedev
      Member

      Is this metaissue still relevant after nine years? Currently, conversions into AC are handled in smaller, more specific issues so it could be closed.

    15. carljm commented on Feb 20, 2023

      @carljm
      Member

      It looks to me like all of these derby issues would be better closed. Even if some functions do remain unconverted, it's much more likely at this point that they will be converted because someone notices the unconverted function in the codebase, not because of a derby issue with non-descriptive (and almost certainly now obsolete) name that requires digging through all of the listed modules to see if there's any work remaining to be done on it.

      As the derby issues say, it was an effort to convert as much as possible before Python 3.4 release. Python 3.4 is long ago released, so the derby is over.

    16. carljm commented on Feb 20, 2023

      @carljm
      Member

      Will leave this open for a bit to see if a core dev agrees before closing all of them.

    17. reopened this on Feb 20, 2023
    18. iritkatriel commented on Feb 20, 2023

      @iritkatriel
      Member

      Will leave this open for a bit to see if a core dev agrees before closing all of them.

      It's been open for long enough now.

    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Metadata

    Metadata

    Assignees

    No one assigned

      Projects

      No projects

        Milestone

        No milestone

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions