Skip to main content

Python client library for the Sus protocol

Project description

Suspycious

Suspycious is a Python implementation of the Sus protocol. It is a secure, asynchronous, and easy to use protocol for sending messages between two parties.

!!! warning "Pre-alpha software" Suspycious is currently in an early stage of development and should not be used in production.

Installation

Suspycious is available on PyPI and can be installed with pip:

pip install suspycious

Usage

The following example shows how to create a simple Sus network with a client and a server. The client sends a message to the server and the server responds with a message.

import asyncio

from sus import SusServer
from sus.common.util import Address

server = SusServer(('localhost', 5000), b"my secret key.".hex())


async def message_handler(addr: Address, p_id: int, message: bytes):
    print(f"Received message from {addr}: {message.decode()}")
    server.send(addr, b"Hello from the server!")


asyncio.run(server.start([message_handler]))
import asyncio

from sus import SusClient

client = SusClient(('localhost', 5000), b"server public key".hex(),
                   b"my protocol ID")
asyncio.run(client.start())
client.send(b"Hello from the client!")

Documentation

The documentation is available here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

suspycious-0.1.2a0.tar.gz (24.0 kB view hashes)

Uploaded Source

Built Distribution

suspycious-0.1.2a0-py3-none-any.whl (28.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page