Read and parse all the Manim modules and extract documentation from them.

Type Aliases

class AliasInfo
dict[str, str]

Dictionary with a definition key containing the definition of a TypeAlias as a string, and optionally a doc key containing the documentation for that alias, if it exists.

class AliasCategoryDict
dict[str, AliasInfo]

Dictionary which holds an AliasInfo for every alias name in a same category.

class ModuleLevelAliasDict
dict[str, AliasCategoryDict]

Dictionary containing every TypeAlias defined in a module, classified by category in different AliasCategoryDict objects.

class AliasDocsDict
dict[str, ModuleLevelAliasDict]

Dictionary which, for every module in Manim, contains documentation about their module-level attributes which are explicitly defined as TypeAlias, separating them from the rest of attributes.

class DataDict
dict[str, list[str]]

Type for a dictionary which, for every module, contains a list with the names of all their DOCUMENTED module-level attributes (identified by Sphinx via the data role, hence the name) which are NOT explicitly defined as TypeAlias.



Read all files, generate Abstract Syntax Trees from them, and extract useful information about the type aliases defined in the files: the category they belong to, their definition and their description, separating them from the “regular” module attributes.


  • ALIAS_DOCS_DICT (AliasDocsDict) – A dictionary containing the information from all the type aliases in Manim. See AliasDocsDict for more information.

  • DATA_DICT (DataDict) – A dictionary containing the names of all DOCUMENTED module-level attributes which are not a TypeAlias.

Return type:

tuple[AliasDocsDict, DataDict]