Go to file
SoXX 40909ebe0d Merge pull request 'ping-pong' (#1) from ping-pong into main
Reviewed-on: #1
Reviewed-by: Lennard Brinkhaus <lennard.brinkhaus@noreply.localhost>
2024-03-05 20:45:07 +00:00
pkg feat: added ping functionality 2024-03-05 21:40:42 +01:00
scripts feat: working implementation of base features 2024-02-20 21:12:49 +01:00
third_party feat: updated gRPC to version 2 2024-03-05 21:37:49 +01:00
.gitignore fix: added protoc files 2024-02-20 21:21:41 +01:00
.gitmodules feat: updated gRPC to version 2 2024-03-05 21:37:49 +01:00
README.md docs: added basic docs 2024-02-20 21:20:33 +01:00
go.mod feat: restructure to be a SDK 2024-02-20 19:11:34 +01:00
go.sum feat: restructure to be a SDK 2024-02-20 19:11:34 +01:00

README.md

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
}