--- layout: default navsection: sdk navmenu: Go title: "Go SDK" ... The Go ("Golang":http://golang.org) SDK provides a generic set of wrappers so you can make API calls easily. h3. Installation You don't need to install anything. Just import the client like this. The go tools will fetch the relevant code and dependencies for you.
import (
	"git.curoverse.com/arvados.git/sdk/go/keepclient"
	"git.curoverse.com/arvados.git/sdk/go/arvadosclient"
)
If you need pre-release client code, you can use the latest version from the repo by following "these instructions.":https://arvados.org/projects/arvados/wiki/Go#Using-Go-with-Arvados h3. Examples Import the module. (We import the log module here too, so we can use it in the subsequent examples.)
import (
	"git.curoverse.com/arvados.git/sdk/go/keepclient"
	"git.curoverse.com/arvados.git/sdk/go/arvadosclient"
	"log"
)
Set up an API client user agent:
	arv, err := arvadosclient.MakeArvadosClient()
	if err != nil {
		log.Fatalf("Error setting up arvados client %s", err.Error())
	}
Get the User object for the current user:
	type user struct {
		Uuid       string   `json:"uuid"`
		FullName   string   `json:"full_name"`
	}

	var u user
	err := arv.Call("GET", "users", "", "current", nil, &u)

	if err != nil {
		return err
	}

	log.Printf("Logged in as %s (uuid %s)", user.Uuid, user.FullName)
Print all returned fields for collections: {% code 'example_sdk_go_collection_list' as go %} A few more usage examples can be found in the services/keepproxy and sdk/go/keepclient directories in the arvados source tree.