code: func NewServer(kind string, apiDef *raml.APIDefinition, apiDocsDir, targetDir string,
  	withMain bool, libRootURLs []string) generator.Server {
  	switch kind {
  	case "", serverKindFlask:
  		return NewFlaskServer(apiDef, apiDocsDir, targetDir, withMain, libRootURLs, false)
  	case serverKindGeventFlask:
  		return NewFlaskServer(apiDef, apiDocsDir, targetDir, true, libRootURLs, true)
  	case serverKindSanic:
  		return NewSanicServer(apiDef, apiDocsDir, targetDir, withMain, libRootURLs)
  
  	default:
  		log.Fatalf("Invalid kind of python server : %v", kind)
  		return nil
  	}
  }
docs: // NewServer creates a new python server