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.
Metadata
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)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| dtppy-0.1.1.tar.gz | 10.4 kB | Without provenance | Details for dtppy-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| dtppy-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for dtppy-0.1.1-py3-none-any.whl |
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
|
Security for dtppy 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.