This document is for an old version of Python that is no longer supported. You should install the python3 and python3-doc packages and read the Python documentation for the Python3 version packaged in this release.

# 32. Python Language Services

Python provides a number of modules to assist in working with the Python language. These modules support tokenizing, parsing, syntax analysis, bytecode disassembly, and various other facilities.

These modules include:

- 32.1. `parser` — Access Python parse trees
  - 32.1.1. Creating ST Objects
  - 32.1.2. Converting ST Objects
  - 32.1.3. Queries on ST Objects
  - 32.1.4. Exceptions and Error Handling
  - 32.1.5. ST Objects
  - 32.1.6. Example: Emulation of `compile()`
- 32.2. `ast` — Abstract Syntax Trees
  - 32.2.1. Node classes
  - 32.2.2. Abstract Grammar
  - 32.2.3. `ast` Helpers
- 32.3. `symtable` — Access to the compiler’s symbol tables
  - 32.3.1. Generating Symbol Tables
  - 32.3.2. Examining Symbol Tables
- 32.4. `symbol` — Constants used with Python parse trees
- 32.5. `token` — Constants used with Python parse trees
- 32.6. `keyword` — Testing for Python keywords
- 32.7. `tokenize` — Tokenizer for Python source
- 32.8. `tabnanny` — Detection of ambiguous indentation
- 32.9. `pyclbr` — Python class browser support
  - 32.9.1. Class Objects
  - 32.9.2. Function Objects
- 32.10. `py_compile` — Compile Python source files
- 32.11. `compileall` — Byte-compile Python libraries
  - 32.11.1. Command-line use
  - 32.11.2. Public functions
- 32.12. `dis` — Disassembler for Python bytecode
  - 32.12.1. Python Bytecode Instructions
- 32.13. `pickletools` — Tools for pickle developers