geeksLabTech / kade-drive

Distributed filesystem based on kademlia dht

Home Page:https://geekslabtech.github.io/kade-drive/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Python Version Code Style Poetry Version Docker Support Docker Pulls Docker Stars Docker Image Size Visits Contributors Release Version Documentation Package Version Downloads Release Date Code Size

Distributed file system based on https://github.com/bmuller/kademlia for the final project of distributed systems

Documentation

https://geekslabtech.github.io/kade-drive/

Basic Usage

  • Clone the repo and run poetry install
  • Run poetry run server in one pc or several pc in a local network
  • Run poetry run cli in any pc of the network and start playing with the system

Usage with docker

  • Build the image with make docker or pull it from docker.hub docker pull joramas/kade-drive:latest
  • Run make shell to start the Docker container with an interactive Bash shell
  • Now you can run poetry run server to start a server or poetry run cli

Installation

pip install kade-drive

Server

from kade_drive.server import start_server

start_server()

Client

Note: Make sure that there exist at least a server in the local network

from kade_drive.cli import ClientSession

client = ClientSession()
client.connect()
response, _ = client.put(4, 5)
# If true, it means that the value was setted correctly, false otherwise
assert response is True
value, _ = client.get(4)
assert value == 5

Tests

To run tests make shure that there is at least one server in the network.

About

Distributed filesystem based on kademlia dht

https://geekslabtech.github.io/kade-drive/

License:MIT License


Languages

Language:Python 99.2%Language:Dockerfile 0.8%Language:Makefile 0.1%