Skip to content

Latest commit

 

History

History
117 lines (78 loc) · 2.58 KB

File metadata and controls

117 lines (78 loc) · 2.58 KB

Lago Go Client

This is a Go wrapper for Lago API

License: MIT

Current Releases

Project Release Badge
Lago Lago Release
Lago Go Client Lago Go Client Release

Installation

To use the client in your Go application:

go get github.com/bentoml/lago-go-client@v1

Usage

Once the package is installed, you can use it in your Go application as follows:

package main

import (
	"context"
	"fmt"
	"log"

	lago "github.com/bentoml/lago-go-client"
)

func main() {
	client := lago.New().SetApiKey("xyz")

	ctx := context.TODO()
	// Example: List customers
	billableMetrics, err := client.BillableMetric().GetList(ctx, &lago.BillableMetricListInput{
		Page:    1,
		PerPage: 10,
	})
	if err != nil {
		log.Fatalf("Error fetching Billable Metrics: %v", err)
	}

	fmt.Println("List of Billable Metrics:")
	for _, billableMetric := range billableMetrics.BillableMetrics {
		fmt.Printf("- %s\n", billableMetric.Name)
	}
}

For detailed usage, refer to the lago API reference.

Development

Prerequisites

  • Go 1.18 or higher
  • Git

Setup

  1. Clone the repository:

    git clone https://github.com/bentoml/lago-go-client.git
    cd lago-go-client
  2. Install dependencies:

    go mod download

Testing

Run the test suite:

go test ./...

Code Quality

Format code:

go fmt ./...

Run linting (requires golangci-lint):

# Install golangci-lint
go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.47.3

# Run linter
golangci-lint run

Documentation

The Lago documentation is available at doc.getlago.com.

Contributing

The contribution documentation is available here

License

Lago Go client is distributed under MIT license.