plug-sdk/README.md

1.4 KiB

Anthrove Plug SDK

Anthrove Plug SDK is a Golang-based Software Development Kit (SDK) that provides a gRPC server implementation for the Anthrove system. This SDK enables users to easily set up a server, establish a graph database connection, and set a task execution function.

Installation

To install the Anthrove Plug SDK, you will need to have Go installed on your system. You can then use the go get command to fetch the SDK:

go get git.dragse.it/anthrove/plug-sdk

Usage

Below is a basic example of how to use the SDK:

package main

import (
	"context"
	"git.dragse.it/anthrove/plug-sdk/pkg/otter"
	"log"
	"net"
	"git.dragse.it/anthrove/otter-space-sdk/pkg/graph"
	"git.dragse.it/anthrove/otter-space-sdk/pkg/models"
	"git.dragse.it/anthrove/plug-sdk/pkg/plug"
)

func main() {
	var ctx context.Context

	// Initialize a new server
	server := plug.NewServer(ctx, "localhost", "8080")

	graph := otter.ConnectToDatabase(ctx, "endpoint", "username", "password", false)

	// Set the graph database connection
	server.WithGraphConnection(graph)

	// Set the task execution function
	server.TaskExecutionFunction(taskExecution)

	// Listen for connections
	if err := server.Listen(); err != nil {
		log.Fatalf("Failed to listen: %v", err)
	}
}

func taskExecution(ctx context.Context, graph graph.OtterSpace, sourceUsername string, anthroveUser models.AnthroveUser, deepScrape bool, cancelFunction func()) error {
	// SOME EXECUTION MAGIC
}