Skip to content

snowplow-devops/redash-client-go

Repository files navigation

Redash API Client

Actions Status Go Report Card Release License

Overview

A Simple API client library for interacting with Redash written in Go.

Quick start

Using go modules (aka. go mod)

In your go files, simply use:

import "github.com/snowplow-devops/redash-client-go/redash"

Then next go mod tidy or go test invocation will automatically populate your go.mod with the last redash-client-go release, now Version.

Note: you can use go mod vendor to vendor your dependencies.

From there, you will need to setup a new client in order to access API methods:

config := redash.Config{
  RedashURI: "https://acme.com/",
  APIKey: "<Your personal API token from your Redash user profile>",
}

c, err := redash.NewClient(&config)
if err != nil {
  log.Fatal(fmt.Errorf("Error loading client: %q", err))
  return
}

Usage

Functional examples can be found in:

Development

Assuming git installed:

$ git clone https://github.com/snowplow-devops/redash-client-go
$ cd redash-client-go
$ make test

To remove all build files:

$ make clean

To format the golang code in the source directory:

$ make format

Note: Always run format before submitting any code.

Note: The make test command also generates a code coverage file which can be found at build/coverage/coverage.html.

Copyright and license

The Redash Go Client is copyright 2019-2022 Snowplow Analytics Ltd.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this software except in compliance with the License.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.