This repository has been archived on 2024-07-22. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2024-02-20 21:20:33 +01:00
pkg feat: working implementation of base features 2024-02-20 21:12:49 +01:00
scripts feat: working implementation of base features 2024-02-20 21:12:49 +01:00
third_party fix: renamed base directory 2024-02-20 10:45:57 +01:00
.gitignore feat: working implementation of base features 2024-02-20 21:12:49 +01:00
.gitmodules feat: added base directory's 2024-02-20 10:45:36 +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 docs: added basic docs 2024-02-20 21:20:33 +01:00

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
}