Skip to content

Argument Clinic: support data collection and dry run modes #108643

Description

@serhiy-storchaka

Feature or enhancement

Has this already been discussed elsewhere?

No response given

Links to previous discussion of this feature:

No response

Proposal:

Argument Clinic needs feasibility to gather and output different kind of data, without even changing files:

  • Output the list of modules, classes and functions defined by Argument Clinic.
  • Output the list of custom converters defined in C files.
  • Output the list of functions with their signatures.
  • Output the list of functions with their parsing method (ml_flags and more details -- whether it uses PyArg_UnpackTuple(), PyArg_ParseTuple(), inlined code).
  • Output formatted docstring for specified function or all functions. It should include generated content, like deprecation warnings.
  • Output a patch instead of changing files in-place. It can be useful in developing, when you what to see the effect of your small changes.
  • Output some statistics: what converters were used and how many times, how many times a particular parsing method is used, how many positional-only or keyword-only parameters, and so on.
  • Output information about deprecations.
  • Output information about functions and their parameters in machine-readable format.

Some of this has been discussed since the early days of the Argument Clinic, but it doesn't seem to have made it into the issue. So I opened this meta-issue for collecting ideas which will be implemented in separate sub-issues.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions