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.37.tar.gz
(51.5 kB
view details)
Built Distributions
File details
Details for the file sevent-0.4.37.tar.gz
.
File metadata
- Download URL: sevent-0.4.37.tar.gz
- Upload date:
- Size: 51.5 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 |
4179f18a41da35182b7e054222edc10e979163e75531867240062992123456de
|
|
MD5 |
c524be23564c11a1c4ef261debfe92bf
|
|
BLAKE2b-256 |
3d381027117371f8b735a8727a9e9b20217f5a4048f9f4b50c48df9d42027fd4
|
File details
Details for the file sevent-0.4.37-cp313-cp313-win_amd64.whl
.
File metadata
- Download URL: sevent-0.4.37-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 79.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 |
2c3084cde04d875c0b985ec2280d7b89626eb5ef9e4b10a42eef21d81e6576de
|
|
MD5 |
612618058758d9b6208f2002a1bd2eaf
|
|
BLAKE2b-256 |
baf9e9fa5129cb9b328f7bb1a7cc48c3a4937e1132049760d592fbcefd94c8f1
|
File details
Details for the file sevent-0.4.37-cp312-cp312-win_amd64.whl
.
File metadata
- Download URL: sevent-0.4.37-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 79.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 |
a0e1115f3856aff0e2e88a57247b24a7fa69c5a199fe3c56910de988fda6bb0b
|
|
MD5 |
b57aa47ed05a439fb4fc88528bdcb41c
|
|
BLAKE2b-256 |
2d2becc0c1cdd77e33f4e55799e74c02f4b6bc1dd209ab4d8608c221315cb71b
|
File details
Details for the file sevent-0.4.37-cp311-cp311-win_amd64.whl
.
File metadata
- Download URL: sevent-0.4.37-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 79.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 |
1d4bd967b222c8def8776e3f3fd08151bc488cbf639faad9c0dcd05787dbbae9
|
|
MD5 |
afec93271418cef405937122255fb883
|
|
BLAKE2b-256 |
95f8b91c6494be71e87e47cb7d767daf111b64c488a2fba836f199f7b26c352f
|
File details
Details for the file sevent-0.4.37-cp310-cp310-win_amd64.whl
.
File metadata
- Download URL: sevent-0.4.37-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 79.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 |
63028a6226c35f1cfe409a0d5542501a07b12f68efe6af7132413b8ea5583724
|
|
MD5 |
1469e282a62a64dfff04d9694601b516
|
|
BLAKE2b-256 |
625f5adbfea4ef3c48035c3b7bdf9b0a5d0ab90357924bec5d40f95fda4b98b2
|
File details
Details for the file sevent-0.4.37-cp39-cp39-win_amd64.whl
.
File metadata
- Download URL: sevent-0.4.37-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 79.4 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 |
b86725597c86ec73af9684bdf96b1d557b1928ce7250fba4cb7b9ae4f8c5dd4f
|
|
MD5 |
2fd91e9ab23e94cd464ce0d5c3522c78
|
|
BLAKE2b-256 |
eb7e1956a3135018164800b0e0b54ef190d51aaea8633a4d465d6779e55aa397
|
File details
Details for the file sevent-0.4.37-cp38-cp38-win_amd64.whl
.
File metadata
- Download URL: sevent-0.4.37-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 79.6 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 |
8f0b843885f0be142cf392fcbe17b0790446b95addc1b76ba3a4a61999ca1de1
|
|
MD5 |
cbf8209913eaef7b2e08af41baff0748
|
|
BLAKE2b-256 |
9cb93b6ff99986dd53387aa91f0c6065c18f1fec640a276b568ff32351e9e828
|