# Python API When you describe a graph and generate a scheduler there are 4 mandatory steps and one optional one: * Describing the nodes * Adding the nodes to the graph * Computing the schedule * Generating the C++ and/or Python scheduler implementation * Optional : Generating a graphviz `.dot` file with the graphical representation of the graph 1. ## [Description of the nodes](Generic.md) 2. ## [Adding nodes to the graph](Graph.md) 3. ## [Schedule computation](SchedOptions.md) 4. ## Code generation 1. #### [C++ Code generation](CCodeGen.md) 2. #### [Python code generation](PythonGen.md) 3. #### [Graphviz representation](GraphvizGen.md) 4. #### [Common options](CodegenOptions.md)