Name | sevent JSON |
Version |
0.4.25
JSON |
| download |
home_page | https://github.com/snower/sevent |
Summary | lightweight event loop |
upload_time | 2024-09-05 09:25:14 |
maintainer | None |
docs_url | None |
author | snower |
requires_python | None |
license | MIT |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# sevent
The highest performance event loop.
# Examples
### Simple Http Client
```python
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()
```
```python
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
```python
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()
```
```python
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.
Raw data
{
"_id": null,
"home_page": "https://github.com/snower/sevent",
"name": "sevent",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "snower",
"author_email": "sujian199@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/a0/9f/5013bcebe831603429c0fd5f42d92a3cf32df944cb943fbaf34ccc500751/sevent-0.4.25.tar.gz",
"platform": null,
"description": "# sevent\r\n\r\nThe highest performance event loop.\r\n\r\n# Examples\r\n\r\n ### Simple Http Client\r\n \r\n```python\r\nimport sevent\r\n\r\ndef on_data(s, data):\r\n print(data.decode(\"utf-8\"))\r\n\r\ns = sevent.tcp.Socket()\r\ns.on_data(on_data)\r\ns.on_close(lambda s: sevent.current().stop())\r\ns.connect(('www.google.com', 80))\r\ns.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')\r\n\r\nsevent.instance().start()\r\n```\r\n\r\n```python\r\nimport sevent\r\n\r\nasync def http_test():\r\n s = sevent.tcp.Socket()\r\n await s.connectof(('www.google.com', 80))\r\n 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')\r\n\r\n data = b''\r\n while True:\r\n try:\r\n data += (await s.recv()).read()\r\n except sevent.tcp.SocketClosed:\r\n break\r\n print(data.decode(\"utf-8\"))\r\n await s.closeof()\r\n\r\nsevent.run(http_test)\r\n```\r\n\r\n### Simple TCP Port Forward\r\n\r\n```python\r\nimport sys\r\nimport sevent\r\n\r\ndef on_connection(server, conn):\r\n pconn = sevent.tcp.Socket()\r\n pconn.connect((sys.argv[2], int(sys.argv[3])))\r\n conn.link(pconn)\r\n\r\nserver = sevent.tcp.Server()\r\nserver.on_connection(on_connection)\r\nserver.listen((\"0.0.0.0\", int(sys.argv[1])))\r\nsevent.instance().start()\r\n```\r\n\r\n```python\r\nimport sys\r\nimport sevent\r\n\r\nasync def tcp_port_forward_server():\r\n server = sevent.tcp.Server()\r\n server.listen((\"0.0.0.0\", int(sys.argv[1])))\r\n\r\n while True:\r\n conn = await server.accept()\r\n pconn = sevent.tcp.Socket()\r\n pconn.connect((sys.argv[2], int(sys.argv[3])))\r\n conn.link(pconn)\r\n\r\nsevent.run(tcp_port_forward_server)\r\n```\r\n\r\n# License\r\n\r\nsevent uses the MIT license, see LICENSE file for the details.\r\n\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "lightweight event loop",
"version": "0.4.25",
"project_urls": {
"Homepage": "https://github.com/snower/sevent"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "afc9b91749a483f761d763aa2864d82e146fc4fc6ab3e0dca3295904e98220b8",
"md5": "00390f588a4db7a39472c011036f24d6",
"sha256": "55e7d28cef1e3490bf2c2377366c899bb50bcb346a8fe72d801e8aa171232826"
},
"downloads": -1,
"filename": "sevent-0.4.25-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "00390f588a4db7a39472c011036f24d6",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 73507,
"upload_time": "2024-09-05T09:25:03",
"upload_time_iso_8601": "2024-09-05T09:25:03.113447Z",
"url": "https://files.pythonhosted.org/packages/af/c9/b91749a483f761d763aa2864d82e146fc4fc6ab3e0dca3295904e98220b8/sevent-0.4.25-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d517d21be0442f74e86c5380a2fff097b1808b3ef71f5a8b49ca2fbec8a5823d",
"md5": "5b126f8887fc6d70f403d4a4d0c15631",
"sha256": "b1b9ce3cf10f99910aa8fa02a912e6625183b171f27a0674ab8212f70ff4c964"
},
"downloads": -1,
"filename": "sevent-0.4.25-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "5b126f8887fc6d70f403d4a4d0c15631",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 73149,
"upload_time": "2024-09-05T09:25:05",
"upload_time_iso_8601": "2024-09-05T09:25:05.319851Z",
"url": "https://files.pythonhosted.org/packages/d5/17/d21be0442f74e86c5380a2fff097b1808b3ef71f5a8b49ca2fbec8a5823d/sevent-0.4.25-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "488ad09f1010937b12c3e2c0ca69cdd9bc6a8ce43c3e038b3237c6e8a06e2176",
"md5": "5160956c43ce78c95c919e7cc5eb6195",
"sha256": "047c457a4d8fef2c7cd6e0be620f48461917b7a6bd9d428a9d1443f16a5c72c3"
},
"downloads": -1,
"filename": "sevent-0.4.25-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "5160956c43ce78c95c919e7cc5eb6195",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 73381,
"upload_time": "2024-09-05T09:25:07",
"upload_time_iso_8601": "2024-09-05T09:25:07.048777Z",
"url": "https://files.pythonhosted.org/packages/48/8a/d09f1010937b12c3e2c0ca69cdd9bc6a8ce43c3e038b3237c6e8a06e2176/sevent-0.4.25-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d348bb3ea3d6e27cb87fc4ef9343ade3721f6fb57f834ef3583412e37a084232",
"md5": "c0895fc12966ab741b0d874faf3fd9f2",
"sha256": "c0597a9ee834f526882d14ba66e637c76e1c1fb977b2a0cd30c33130c00427f5"
},
"downloads": -1,
"filename": "sevent-0.4.25-cp37-cp37m-win_amd64.whl",
"has_sig": false,
"md5_digest": "c0895fc12966ab741b0d874faf3fd9f2",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 72837,
"upload_time": "2024-09-05T09:25:08",
"upload_time_iso_8601": "2024-09-05T09:25:08.879861Z",
"url": "https://files.pythonhosted.org/packages/d3/48/bb3ea3d6e27cb87fc4ef9343ade3721f6fb57f834ef3583412e37a084232/sevent-0.4.25-cp37-cp37m-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5d89a08329a9b35f48f0e63450be8ecd0a8448b46d61c9802d98dd1292bfc0ad",
"md5": "1af999a33c9692402f9fab4cdafbb46a",
"sha256": "76828629271e45b27ca946ee4ba27fe52e8c231a1e77fa3e47f0ffe8e537ae5d"
},
"downloads": -1,
"filename": "sevent-0.4.25-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "1af999a33c9692402f9fab4cdafbb46a",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 73927,
"upload_time": "2024-09-05T09:25:10",
"upload_time_iso_8601": "2024-09-05T09:25:10.845433Z",
"url": "https://files.pythonhosted.org/packages/5d/89/a08329a9b35f48f0e63450be8ecd0a8448b46d61c9802d98dd1292bfc0ad/sevent-0.4.25-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6ada7cd15127b099c1cb2c41d5f43275ad49a9ea5538397cefb0b9b72164ee60",
"md5": "c43fc904e585206e977d912da8d3e1b6",
"sha256": "25d1cd2f82676374b527965eaccbbac47a56ef51fb09d34bd4c33c7b4cfac464"
},
"downloads": -1,
"filename": "sevent-0.4.25-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "c43fc904e585206e977d912da8d3e1b6",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 73524,
"upload_time": "2024-09-05T09:25:12",
"upload_time_iso_8601": "2024-09-05T09:25:12.699444Z",
"url": "https://files.pythonhosted.org/packages/6a/da/7cd15127b099c1cb2c41d5f43275ad49a9ea5538397cefb0b9b72164ee60/sevent-0.4.25-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a09f5013bcebe831603429c0fd5f42d92a3cf32df944cb943fbaf34ccc500751",
"md5": "feb842a9db76f861e137fc408de31449",
"sha256": "c34783706e44823286c5538aee651e8c9a7bd40b613453899e4fc13286ed9924"
},
"downloads": -1,
"filename": "sevent-0.4.25.tar.gz",
"has_sig": false,
"md5_digest": "feb842a9db76f861e137fc408de31449",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 45971,
"upload_time": "2024-09-05T09:25:14",
"upload_time_iso_8601": "2024-09-05T09:25:14.427246Z",
"url": "https://files.pythonhosted.org/packages/a0/9f/5013bcebe831603429c0fd5f42d92a3cf32df944cb943fbaf34ccc500751/sevent-0.4.25.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-05 09:25:14",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "snower",
"github_project": "sevent",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "sevent"
}