lightweight event loop
Project description
sevent
The highest performance event loop.
Examples
Simple Http Client
import sevent
def on_data(s, data):
print(data.decode("utf-8"))
s = sevent.tcp.Socket()
s.on_data(on_data)
s.on_close(lambda s: sevent.current().stop())
s.connect(('www.google.com', 80))
s.write(b'GET / HTTP/1.1\r\nHost: www.google.com\r\nConnection: Close\r\nUser-Agent: curl/7.58.0\r\nAccept: */*\r\n\r\n')
sevent.instance().start()
import sevent
async def http_test():
s = sevent.tcp.Socket()
await s.connectof(('www.google.com', 80))
await s.send(b'GET / HTTP/1.1\r\nHost: www.google.com\r\nConnection: Close\r\nUser-Agent: curl/7.58.0\r\nAccept: */*\r\n\r\n')
data = b''
while True:
try:
data += (await s.recv()).read()
except sevent.tcp.SocketClosed:
break
print(data.decode("utf-8"))
await s.closeof()
sevent.run(http_test)
Simple TCP Port Forward
import sys
import sevent
def on_connection(server, conn):
pconn = sevent.tcp.Socket()
pconn.connect((sys.argv[2], int(sys.argv[3])))
conn.link(pconn)
server = sevent.tcp.Server()
server.on_connection(on_connection)
server.listen(("0.0.0.0", int(sys.argv[1])))
sevent.instance().start()
import sys
import sevent
async def tcp_port_forward_server():
server = sevent.tcp.Server()
server.listen(("0.0.0.0", int(sys.argv[1])))
while True:
conn = await server.accept()
pconn = sevent.tcp.Socket()
pconn.connect((sys.argv[2], int(sys.argv[3])))
conn.link(pconn)
sevent.run(tcp_port_forward_server)
License
sevent uses the MIT license, see LICENSE file for the details.
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
sevent-0.4.29.tar.gz
(48.9 kB
view details)
Built Distributions
File details
Details for the file sevent-0.4.29.tar.gz
.
File metadata
- Download URL: sevent-0.4.29.tar.gz
- Upload date:
- Size: 48.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d380777acce1d1341afb29b48b531fa3e4272f45f2ff57b317c693705a640c4 |
|
MD5 | ac805c76f44339d961dd248f6c41cc7d |
|
BLAKE2b-256 | 582a1234d031ddd25c04a3fe917e60fa3aa7bea8e6ece0bd60f06f84326f7832 |
File details
Details for the file sevent-0.4.29-cp313-cp313-win_amd64.whl
.
File metadata
- Download URL: sevent-0.4.29-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 77.3 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a9653a4ffe07cb2d14c2581320e1220d6363277a6ddb66a690d9179f9927936 |
|
MD5 | 397b82ba66fb64617fb582abdd6bf44e |
|
BLAKE2b-256 | 84004dd3250596dbf51378cfffcbbfcb9a692c8c301063a8a524540f9122cdfa |
File details
Details for the file sevent-0.4.29-cp312-cp312-win_amd64.whl
.
File metadata
- Download URL: sevent-0.4.29-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 77.3 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09504090efc1ac3bd7c8d1726bba77cda76519ab5f1405f6edb20c2a328fb855 |
|
MD5 | f0f79e01ecee8d16a319308253ed7841 |
|
BLAKE2b-256 | 0e2001967cbc1419b25fec189bfb5e79baa271b837cfe72c37ec97a257b5b33a |
File details
Details for the file sevent-0.4.29-cp311-cp311-win_amd64.whl
.
File metadata
- Download URL: sevent-0.4.29-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 77.1 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d4fb9c8b8ebb4b85c266b31b69a8a73278d0dac646f2b52a7d6d67a889e1a87 |
|
MD5 | c2a4eb65073d52b1f705e29151dd69a6 |
|
BLAKE2b-256 | 19975dadbc278990da0b06311975fa40fd7a7e6cdf97b3507129c70373373fde |
File details
Details for the file sevent-0.4.29-cp310-cp310-win_amd64.whl
.
File metadata
- Download URL: sevent-0.4.29-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 77.1 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68ee220cbe7dd38b84dad105eedf50c907c16d7dff372ca53b918805584caaf9 |
|
MD5 | e6c575b88a92d99dd3642688396c1c3e |
|
BLAKE2b-256 | f925cc8a8ab39553cb7c9c773054a7a3b1c9d08fd189a300b364f2311fb3b8ed |
File details
Details for the file sevent-0.4.29-cp39-cp39-win_amd64.whl
.
File metadata
- Download URL: sevent-0.4.29-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 77.3 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e6ac9aab38a14760e79e6febc5be425c3c5a1eb5ebba52bf12050a9e86d5413 |
|
MD5 | e4523a7fbc4862b3715a0ba297a954bf |
|
BLAKE2b-256 | 6f02fbd616507db7c28650dcdb7559f55f75015fb61f8103ee0ef14a7db2b2f2 |
File details
Details for the file sevent-0.4.29-cp38-cp38-win_amd64.whl
.
File metadata
- Download URL: sevent-0.4.29-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 77.5 kB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 653d20bcf72a6d8a1e820754d768c4daa3c4517f670dd2ade90a15df1feba6a2 |
|
MD5 | 973a43f469b99a01dbf65d42f0b32ef7 |
|
BLAKE2b-256 | 9453ac3d3b055050df0b82d2e5c9d15c4cab96744190c4d7178594d3086150f9 |