code: func GenerateClient(apiDef *raml.APIDefinition, conf ClientConfig) error {
  	switch conf.Lang {
  	case langGo:
  		gc, err := golang.NewClient(apiDef, conf.PackageName, conf.RootImportPath, conf.Dir,
  			conf.LibRootURLs)
  		if err != nil {
  			return err
  		}
  		return gc.Generate()
  	case langPython:
  		pc := python.NewClient(apiDef, conf.Kind, conf.PythonUnmarshallResponse)
  		return pc.Generate(conf.Dir)
  	case langNim:
  		nc := nim.NewClient(apiDef, conf.Dir)
  		return nc.Generate()
  	default:
  		return errInvalidLang
  	}
  }
docs: // GenerateClient generates client library
  //func GenerateClient(apiDef *raml.APIDefinition, dir, packageName, lang, rootImportPath, kind string,
  //	libRootURLs []string, pythonUnnmarshallResponse bool) error {