Skip to content

Document missing AST node constructor behavior changes in ast.rst for python 3.13 #140196

@revdoor

Description

@revdoor

Documentation

In Python 3.13, AST node constructors now provide defaults for the omitted fields:

  • Optional fields: default to None
  • List fields: default to an empty list
  • expr_context fields: default to Load()

Previously in Python 3.12 and earlier, these omitted fields would not exist as attributes, causing AttributeError when accessed.

These information can be found in What’s New In Python 3.13, but not in the ast documentation itself.

Since this is a significant behavioral change, it should be documented in the ast module documentation with a .. versionchanged:: 3.13 directive.

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions