{"id":16156850,"url":"https://github.com/saghul/uvent","last_synced_at":"2025-03-16T09:33:42.553Z","repository":{"id":4925914,"uuid":"6082498","full_name":"saghul/uvent","owner":"saghul","description":"A gevent core implemented using libuv","archived":false,"fork":false,"pushed_at":"2013-03-14T21:41:23.000Z","size":172,"stargazers_count":135,"open_issues_count":0,"forks_count":8,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-02-27T07:13:19.674Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"hoedown/hoedown","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/saghul.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-10-04T21:44:15.000Z","updated_at":"2024-11-28T16:30:42.000Z","dependencies_parsed_at":"2022-07-07T18:51:11.300Z","dependency_job_id":null,"html_url":"https://github.com/saghul/uvent","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saghul%2Fuvent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saghul%2Fuvent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saghul%2Fuvent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saghul%2Fuvent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saghul","download_url":"https://codeload.github.com/saghul/uvent/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243809888,"owners_count":20351407,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T01:46:47.982Z","updated_at":"2025-03-16T09:33:42.173Z","avatar_url":"https://github.com/saghul.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"============================================\nuvent: A gevent core implemented using libuv\n============================================\n\nuvent is a `gevent \u003chttp://gevent.org\u003e`_ core implementation using the `libuv \u003chttps://github.com/joyent/libuv\u003e`_ library.\n\nuvent uses `pyuv \u003chttps://github.com/saghul/pyuv\u003e`_, a Python interface for libuv. libuv is a high performance asynchronous\nnetworking library used as the platform layer for NodeJS.\n\nlibuv provides the same core functionality as libev, with some really nice\nadditions:\n\n- High performance IO on Windows (not select)\n- Asyncronous file operations\n- Builtin thread pool\n- Asynchronous getaddrinfo\n- Nicer to use API\n- Etc.\n\nSource code for uvent is on `GitHub \u003chttp://github.com/saghul/uvent\u003e`_.\n\n\nMotivation\n==========\n\nThis is an experimental project to test the feasibility of using libuv as a\ncore for gevent.\n\nMain functionality is working but not all tests are passing and there are some\nimplementation caveats mostly due to the tight integration between gevent and\nlibev. Implementation notes can be found in the NOTES.rst file.\n\n\nInstallation\n============\n\nuvent requires pyuv \u003e= 0.10.0\n\n::\n\n    pip install -U pyuv\n\n\n**Note:** uvent only works with gevent \u003e= 1.0rc1, earlier versions are not supported.\n\n\nUsing it\n========\n\nIn order to use uvent add the following lines at the beginning\nof your project, before importing anything from Gevent:\n\n::\n\n    import uvent\n    uvent.install()\n\nAnother way of doing this without modifying your code is by exporting environment variables before\nrunning your program:\n\n::\n\n    export GEVENT_LOOP=uvent.loop.UVLoop\n    export GEVENT_RESOLVER=gevent.resolver_thread.Resolver\n\n\nAuthor\n======\n\nSaúl Ibarra Corretgé \u003csaghul@gmail.com\u003e\n\n\nLicense\n=======\n\nuvent uses the MIT license, check LICENSE file.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaghul%2Fuvent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaghul%2Fuvent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaghul%2Fuvent/lists"}