Skip to main content

Data Transfer Protocol for Python

Cross-platform networking interfaces for Python.

Data Transfer Protocol

The Data Transfer Protocol (DTP) is a larger project to make ergonomic network programming available in any language. See the full project here.

Installation

Install the package:

$ python -m pip install dtppy

Creating a server

A server can be built using the Server implementation:

from dtppy import Server


# Called when data is received from a client
def receive(client_id, data):
    # Send back the length of the string
    s.send(len(data), client_id)


# Called when a client connects
def connect(client_id):
    print(f"Client with ID {client_id} connected")


# Called when a client disconnects
def disconnect(client_id):
    print(f"Client with ID {client_id} disconnected")


# Create a server that receives strings and returns the length of each string
s = Server(on_receive=receive, on_connect=connect, on_disconnect=disconnect)
s.start("127.0.0.1", 29275)

Creating a client

A client can be built using the Client implementation:

from dtppy import Client

message = "Hello, server!"


# Called when data is received from the server
def receive(data):
    # Validate the response
    print(f"Received response from server: {data}")
    assert data == len(message)


# Called when the client is disconnected from the server
def disconnected():
    print("Unexpectedly disconnected from server")


# Create a client that sends a message to the server and receives the length of the message
c = Client(on_receive=receive, on_disconnected=disconnected)
# Send the message to the server
c.send(message)

Security

Information security comes included. Every message sent over a network interface is encrypted with AES-256. Key exchanges are performed using a 512-bit RSA key-pair.

Release files for dtppy 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dtppy 0.1.1
File Size Uploaded
dtppy-0.1.1.tar.gz 10.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dtppy 0.1.1
File Interpreter ABI Platform
dtppy-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 18.7 kB

Release files / dtppy-0.1.1.tar.gz

Download URL dtppy-0.1.1.tar.gz
Size 10.4 kB
Tags Source
SHA-256 checksum
How to use checksums
13672af62957d69eb5ade4a280fc46a985ac93a6588e9b6c1e97ae133b4aeb66
BLAKE2b-256 checksum
How to use checksums
136b066a0cabedfb7155f2ac500084f6f0847519be33fc2e5e9424b159bfae87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.1

Release files / dtppy-0.1.1-py3-none-any.whl

Download URL dtppy-0.1.1-py3-none-any.whl
Size 8.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3107f2fb8c66c2cddce092e26584f356a9d1327ccd3cabfd0bb49abe85b0c78f
BLAKE2b-256 checksum
How to use checksums
7a41df368c229394dda98de898264f836663b8d11739af0c166912594d28dfe9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.1

Release history Release notifications | RSS feed

This release

0.1.1 This release

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