# 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:
```bash
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.
```python3
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]))
```
```python3
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](https://romirk.github.io/suspycious/).
Raw data
{
"_id": null,
"home_page": "https://github.com/romirk/suspycious",
"name": "suspycious",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "",
"author": "Romir Kulshrestha",
"author_email": "romir.kulshrestha@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/03/82/469e39e58251df4613664011f3b8842273920686c9a545d5bee6fee98eaf/suspycious-0.1.2a0.tar.gz",
"platform": null,
"description": "# Suspycious\n\nSuspycious is a Python implementation of the Sus protocol. It is a\nsecure, asynchronous, and easy to use protocol for sending messages\nbetween two parties.\n\n!!! warning \"Pre-alpha software\"\nSuspycious is currently in an early stage of development and\nshould not be used in production.\n\n## Installation\n\nSuspycious is available on PyPI and can be installed with pip:\n\n```bash\npip install suspycious\n```\n\n## Usage\n\nThe following example shows how to create a simple Sus network with\na client and a server. The client sends a message to the server and\nthe server responds with a message.\n\n```python3\nimport asyncio\n\nfrom sus import SusServer\nfrom sus.common.util import Address\n\nserver = SusServer(('localhost', 5000), b\"my secret key.\".hex())\n\n\nasync def message_handler(addr: Address, p_id: int, message: bytes):\n print(f\"Received message from {addr}: {message.decode()}\")\n server.send(addr, b\"Hello from the server!\")\n\n\nasyncio.run(server.start([message_handler]))\n```\n\n```python3\nimport asyncio\n\nfrom sus import SusClient\n\nclient = SusClient(('localhost', 5000), b\"server public key\".hex(),\n b\"my protocol ID\")\nasyncio.run(client.start())\nclient.send(b\"Hello from the client!\")\n```\n\n## Documentation\n\nThe documentation is available [here](https://romirk.github.io/suspycious/).\n\n\n",
"bugtrack_url": null,
"license": "",
"summary": "Python client library for the Sus protocol",
"version": "0.1.2a0",
"project_urls": {
"Bug Tracker": "https://github.com/romirk/suspycious/issues",
"Homepage": "https://github.com/romirk/suspycious",
"Repository": "https://github.com/romirk/suspycious"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f4baeebb79752913ef97419f1888cb59ae378ba4f8e6150e3692a4dbc59abe3f",
"md5": "8b6e7aa49a2447a45dfbb085bbb1a909",
"sha256": "44acdd3d6765a0ff75a48082287c5aad1b633128951cc0b2b489eb59655af029"
},
"downloads": -1,
"filename": "suspycious-0.1.2a0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8b6e7aa49a2447a45dfbb085bbb1a909",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 28460,
"upload_time": "2023-11-25T20:12:10",
"upload_time_iso_8601": "2023-11-25T20:12:10.032688Z",
"url": "https://files.pythonhosted.org/packages/f4/ba/eebb79752913ef97419f1888cb59ae378ba4f8e6150e3692a4dbc59abe3f/suspycious-0.1.2a0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0382469e39e58251df4613664011f3b8842273920686c9a545d5bee6fee98eaf",
"md5": "d962f8f433cc3fdf72d96a855428d8d3",
"sha256": "8c37db48a057d89b24f3ebc0428d7fbb35d0071d9ecac9963d5c2c9ec34e4ed4"
},
"downloads": -1,
"filename": "suspycious-0.1.2a0.tar.gz",
"has_sig": false,
"md5_digest": "d962f8f433cc3fdf72d96a855428d8d3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 24015,
"upload_time": "2023-11-25T20:12:11",
"upload_time_iso_8601": "2023-11-25T20:12:11.129121Z",
"url": "https://files.pythonhosted.org/packages/03/82/469e39e58251df4613664011f3b8842273920686c9a545d5bee6fee98eaf/suspycious-0.1.2a0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-25 20:12:11",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "romirk",
"github_project": "suspycious",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "cryptography",
"specs": [
[
"~=",
"41.0.5"
]
]
},
{
"name": "blake3",
"specs": [
[
"~=",
"0.3.3"
]
]
},
{
"name": "poetry",
"specs": [
[
"==",
"1.7.1"
]
]
}
],
"lcname": "suspycious"
}