No project description provided
Project description
Ravpy - The Provider's Library
Introducing Raven Protocol's Python SDK for Providers that allows compute nodes across the world to participate in the Ravenverse.
Providers are those who are willing to contribute their local system's idle compute power to execute the requester's computational requirements in return for rewards (Raven Tokens).
Ravpy is a python SDK that allows providers to intuitively participate in any ongoing graph computations in the Ravenverse. Ravpy nodes are authenticated based on their Ravenverse tokens which must be first generated by visiting the Ravenverse website.
Ravpy connects to Ravsock (backbone server) from which it receives subgraphs (small groupings of Ravop operations) based on a benchmarking procedure. During this procedure, Ravpy client systems are rigorously tested on a variety of operations and the results are utilized by Ravsock for efficiently assigning complex subgraphs to the provider.
Installation
With Pip
pip install ravpy
Usage
Setting Environment Variables
Create a .env file and add the following environment variables:
RAVENVERSE_URL=http://server.ravenverse.ai
RAVENVERSE_FTP_HOST=server.ravenverse.ai
RAVENVERSE_FTP_URL=server.ravenverse.ai
Load environment variables at the beginning of your code using:
from dotenv import load_dotenv
load_dotenv()
Authentication
The Provider must connect to the Ravenverse using a unique token that they can generate by logging in on the Ravenverse Website using their MetaMask wallet credentials.
from ravpy.initialize import initialize
initialize(ravenverse_token = '<token>')
Participate in Distributed Computing
from ravpy import participate
participate()
Upon participation, the Provider will be assigned a subgraph to execute. Once executed, the results will be sent to the Ravsock server.
Participate in Federated Analytics
from ravpy.federated.participate import participate
participate(graph_id=3, file_path="<file_path>")
License
This project is licensed under the MIT License - see the LICENSE file for details
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.