sevent


Namesevent JSON
Version 0.4.25 PyPI version JSON
download
home_pagehttps://github.com/snower/sevent
Summarylightweight event loop
upload_time2024-09-05 09:25:14
maintainerNone
docs_urlNone
authorsnower
requires_pythonNone
licenseMIT
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"
}
        
Elapsed time: 0.62228s