netconduit
Production-ready async bidirectional TCP communication library with custom binary protocol, type-safe RPC, and Pydantic integration.
Developed by Kaede Dev - Kento Hinode
Features
- 🚀 Async/Await - Built on asyncio
- 🔌 Raw TCP - IPv4 & IPv6 support
- 📦 Binary Protocol - 32-byte header + MessagePack
- 🔐 Password Auth - SHA256-based authentication
- 📡 Type-Safe RPC - Pydantic validation
- 💓 Heartbeat - Automatic health monitoring
- 🔄 Auto-Reconnect - Exponential backoff
Installation
pip install netconduit
Quick Start
Server
import asyncio
from conduit import Server, ServerDescriptor
server = Server(ServerDescriptor(
host="0.0.0.0", port=8080, password="secret"
))
@server.rpc
async def add(a: int, b: int) -> int:
return a + b
@server.on("chat")
async def handle_chat(client, data):
await server.broadcast("chat", data, exclude={client.id})
asyncio.run(server.run())
Client
import asyncio
from conduit import Client, ClientDescriptor, data
client = Client(ClientDescriptor(
server_host="localhost", server_port=8080, password="secret"
))
@client.on("chat")
async def on_chat(msg):
print(f"Chat: {msg}")
async def main():
await client.connect()
result = await client.rpc.call("add", args=data(a=10, b=20))
print(f"Result: {result}") # {'success': True, 'data': 30}
asyncio.run(main())
Documentation
Requirements
- Python 3.10+
- pydantic >= 2.0
- msgpack >= 1.0
License
MIT License - Kaede Dev - Kento Hinode
GitHub: DarsheeeGamer/NetConduit
Metadata
Release files for netconduit 5.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| netconduit-5.0.0.tar.gz | 69.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| netconduit-5.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 142.2 kB
Release files / netconduit-5.0.0.tar.gz
| Download URL | netconduit-5.0.0.tar.gz |
|---|---|
| Size | 69.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9722adffae46b91471ebce243f9337072f19251e6487e611a546587834620761
|
|
BLAKE2b-256 checksum How to use checksums |
0ffc04e350f96375dc715b71f981979f403ad3e61798af554d60683cad179852
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / netconduit-5.0.0-py3-none-any.whl
| Download URL | netconduit-5.0.0-py3-none-any.whl |
|---|---|
| Size | 73.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8752f6f80a7527ddc5387fae09995ac07cbc1b6aac57a58491a5693cdf2c8355
|
|
BLAKE2b-256 checksum How to use checksums |
0dcabdcb0d95ab1f7dcbacfcad3a904052666059ec77700a6716ea012c7d64d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|