Skip to main content

netconduit

Python 3.10+ License: MIT

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)

Source distribution for netconduit 5.0.0
File Size Uploaded
netconduit-5.0.0.tar.gz 69.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for netconduit 5.0.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

5.0.0 This release

2 release files

4.0.0

2 release files

3.0.0

2 release files

2.0.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page