devguide icon indicating copy to clipboard operation
devguide copied to clipboard

Document the various code generation tools used by CPython

Open pxeger opened this issue 3 years ago • 3 comments

Describe the enhancement or feature you'd like

There should be some documentation about the various code generation tools used in CPython, for example:

  • freeze_modules.py
  • deepfreeze.py
  • generate_global_objects.py

I don't think there needs to be a massive amount of documentation about these. Just a brief mention of their purposes, how to invoke them, and notes about their related make targets.

Related are the Parser generator etc., which are already documented under Guide to CPython's Parser, but could also be mentioned. I think their existing docs could also be used as something of a template.

Describe alternatives you've considered

Argument clinic is already documented at https://docs.python.org/3/howto/clinic.html so maybe this documentation would be more appropriate in the main Python repo's docs? I'll defer to the devguide maintainers on this.

Additional context

Started from a conversation at https://github.com/python/cpython/pull/30941#issuecomment-1023501086

CC @ericisnowcurrently

pxeger avatar Jan 27 '22 20:01 pxeger

I don't think there needs to be a massive amount of documentation about these. Just a brief mention of their purposes, how to invoke them, and notes about their related make targets.

I agree. A short how-to-use-the-various-generation-tools section would be helpful to new (and existing) contributors/devs. That includes Argument Clinic; the current how-to is huge and frightening; we should definitely add an introduction to the clinic CLI to the devguide.

erlend-aasland avatar Jul 15 '23 20:07 erlend-aasland

See also https://discuss.python.org/t/where-should-the-argument-clinic-docs-live/30160/

erlend-aasland avatar Jul 24 '23 11:07 erlend-aasland

The Argument Clinic documentation now lives here!

A

AA-Turner avatar Sep 29 '23 18:09 AA-Turner