Skip to content

Improve ast CLI with new options: --feature-version, --optimize, and --show-empty #133367

Description

@sobolevn

Feature or enhancement

Current options:

» ./python.exe -m ast --help
usage: python.exe -m ast [-h] [-m {exec,single,eval,func_type}] [--no-type-comments] [-a]
                         [-i INDENT]
                         [infile]

positional arguments:
  infile                the file to parse; defaults to stdin

options:
  -h, --help            show this help message and exit
  -m, --mode {exec,single,eval,func_type}
                        specify what kind of code must be parsed
  --no-type-comments    don't add information about type comments
  -a, --include-attributes
                        include attributes such as line numbers and column offsets
  -i, --indent INDENT   indentation of nodes (number of spaces)
                     

Basically, our CLI is an interface to ast.dump + ast.parse, ast.parse.

But, ast.parse has several important options that are missing right now. I propose to add them:

  • --feature-version
  • and --optimize from parse
  • --show-empty from dump

Docs:

cc @donbarbos, will you be interested in working on this issue?
If not, please, tell me about that - I want to have this in 3.14 and the feature freeze is in several days.

Linked PRs

Activity

  1. added
    stdlibStandard Library Python modules in the Lib/ directory
    type-featureA feature request or enhancement
    on May 4, 2025
  2. donbarbos commented on May 4, 2025

    @donbarbos
    Contributor

    sure, i would be glad to implement it

  3. sobolevn commented on May 4, 2025

    @sobolevn
    MemberAuthor

    awesome, tag me on PR - I will review it as soon as possible.

  4. added a commit that references this issue on May 4, 2025
  5. added a commit that references this issue on May 5, 2025
  6. added a commit that references this issue on Jul 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

stdlibStandard Library Python modules in the Lib/ directorytype-featureA feature request or enhancement

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions