code: private List<String> genPySrc(
        SoyFileSetNode soyTree,
        SoyPySrcOptions pySrcOptions,
        ImmutableMap<String, String> currentManifest,
        ErrorReporter errorReporter) {
  
      BidiGlobalDir bidiGlobalDir =
          SoyBidiUtils.decodeBidiGlobalDirFromPyOptions(pySrcOptions.getBidiIsRtlFn());
      try (SoyScopedData.InScope inScope = apiCallScope.enter(/* msgBundle= */ null, bidiGlobalDir)) {
        return createVisitor(pySrcOptions, inScope.getBidiGlobalDir(), errorReporter, currentManifest)
            .gen(soyTree, errorReporter);
      }
    }
docs: Generates Python source code given a Soy parse tree and an options object.
  
  @param soyTree The Soy parse tree to generate Python source code for.
  @param pySrcOptions The compilation options relevant to this backend.
  @param currentManifest The namespace manifest for current sources.
  @param errorReporter The Soy error reporter that collects errors during code generation.
  @return A list of strings where each string represents the Python source code that belongs in
  one Python file. The generated Python files correspond one-to-one to the original Soy
  source files.