pysoltcp
Project description
pysoltcp
Welcome to pysol
Copyright (C) 2013/2025 Laurent Labatut / Laurent Champagnac
pysoltcp is a set of python asynchronous TCP server and client.
It is gevent (co-routines) based.
Both are able to sustain 60 000 asynchronous bi-directional sockets within a single python process.
The TCP server is able to work in forking mode to scale across several CPUs.
It supports:
- Asynchronous TCP sockets (with underlying async read/write loops, send queues and receive callback, per socket)
- SSL sockets
- SOCKS5 proxy (tested via dante)
- TCP Keepalive
- Absolute and relative socket idle timeouts for reads and writes, per socket, via gevent co-routine schedules (no global control thread)
- SSL handshake timeout
- Server forking
- Server context factory for server side protocol handling
- Client derivation with _on_receive override for client side protocol handling
- Instrumented via Meters (pysolmeters)
Please note that, by design, synchronous TCP sockets are not supported.
Due to full asynchronous mode, pay attention that you may receive protocol input (via the receive callback) byte per byte (in a worst case scenario). Your protocol parser must be ready to handle this in a correct manner.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pysoltcp-3.13.0.tar.gz.
File metadata
- Download URL: pysoltcp-3.13.0.tar.gz
- Upload date:
- Size: 38.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
301cadd09c32af8ac567facd6af55beb56fad3fed1ef7a2cc653d7782f03a6bb
|
|
| MD5 |
6373afe3b9fe5078fadabe4fd40b3fb4
|
|
| BLAKE2b-256 |
88c2857c33d3087742b99fe7db196ba15e026ea7d89116f6b7c9acc6ac7919cb
|