uvloop

Ultra fast asyncio event loop.

APACHE-2.0 License

Downloads
23.4M
Stars
10.2K
Committers
65

Bot releases are visible (Hide)

uvloop - v0.19.0 Latest Release

Published by github-actions[bot] 12 months ago

Changes

  • Drop support of Python 3.7 and update CI (#578)
    (by @fantix in ee5ad26a for #578)

Fixes

  • Restore uvloop.new_event_loop and other missing uvloop members to typing (#573)
    (by @graingert in 5c500ee2 for #573)

  • Fix docstring of loop.shutdown_default_executor (#535)
    (by @Gelbpunkt in 919da567 for #535)

  • Fix CI status badge (#522)
    (by @shuuji3 in 0e9ff6cd for #522)

uvloop - v0.18.0

Published by github-actions[bot] about 1 year ago

Fixes

  • CI fixes (#520, #553)
    (by @altendky in 7783f1c5, @dulmandakh in 1dd40f17)

  • Make extract_stack resilient to lacking frames. (#563)
    (by @jhance in 06876434 for #563)

  • Port uvloop to Python 3.12 (#570)
    (by @1st1, @fantix in 9f82bd74 for #569)

uvloop - v0.17.0

Published by github-actions[bot] about 2 years ago

This release adds Python 3.11 support, updates bundled libuv to 1.43.0
and fixes a handful of issues.

Changes

  • Expose uv_loop_t pointer for integration with other C-extensions (#310)
    (by @pranavtbhat in b332eb85 for #310)

  • Support python 3.11+ (#473)
    (by @zeroday0619 in 8e42921d for #473)

  • Expose libuv uv_fs_event functionality (#474)
    (by @jensbjorgensen @fantix in 74d381e8 for #474)

  • Activate debug mode when -X dev is used
    (by @jack1142 in 637a77a3)

  • Expose uv_version() for libuv API compatibility (#491)
    (by @fantix in 089f6cbf for #491)

  • Fix loop.getaddrinfo() and tests (#495)
    (by @fantix in 598b16fd for #495)

  • Bump to libuv 1.43.0
    (by @fantix in 94e5e535)

Fixes

  • _TransProtPair is no longer defined in asyncio.events
    (by @jensbjorgensen in fae5f7fb)

  • use a TypeVar for asyncio.BaseProtocol (#478)
    (by @graingert in 3aacb352 for #478)

  • Fix segfault in TimerHandle.when() after cleared
    (by @jensbjorgensen in c39afff8 for #469)

  • Avoid self._errpipe_write double close (#466)
    (by @graingert in 72140d7e for #466)

  • Fix typo in test (#456)
    (by @kianmeng in 033d52d0 for #456)

  • Fix potential infinite loop (#446)
    (by @kfur in ada43c06 for #446)

  • use a stack of self._fds_to_close to prevent double closes (#481)
    (by @graingert in 3214cf68 for #481)

  • Fix incorrect main thread id value forking from a thread (#453)
    (by @horpto @fantix in e7934c88 for #453)

  • create_subprocess_exec should treat env={} as empty environment (#439) (#454)
    (by @byllyfish in e04637e0 for #439)

  • Queue write only after processing all buffers (#445)
    (by @jakirkham @fantix in 9c6ecb62 for #445)

  • Drop Python 3.6 support for thread ident
    (by @fantix in 9c37930e)

  • bugfix: write to another transport in resume_writing() fails (#498)
    (by @fantix in d2deffef for #498)

Build

  • Upgrade GitHub Actions (#477) (#480)
    (by @cclauss in fcbf422d for #477, 10086942 for #480)

  • typo same as same
    (by @YoSTEALTH in fedba80a)

  • setup.py: allow to override extra_compile_args (#443)
    (by @giuliobenetti in a130375f for #443)

  • Drop hack in setup.py in finalize_options (492)
    (by @fantix in 2f1bc83c for #492)

  • Fix tests invocation on release CI worklow (#489)
    (by @ben9923 in d6a2b597 for #489)

Documentation

  • use asyncio.Runner loop_factory on 3.11+ (#472)
    (by @graingert in 31ba48ca for #472)

  • Fix CI badge in docs, remove remaining Travis CI references from docs
    (by @Nothing4You in c6901a74)

  • Fix typo in README
    (by @monosans in 73d7253b)

uvloop - v0.16.0

Published by github-actions[bot] about 3 years ago

This release adds Python 3.10 support, updates bundled libuv to 1.42.0
and fixes a handful of issues.

Changes

  • Python 3.10 support (#432)
    (by @elprans in 2519e2df for #432)

  • Bump vendored libuv to 1.42.0 (#433)
    (by @elprans in a62f7818 for #433)

  • Use cibuildwheel to build wheels (#435)
    (by @elprans in 20febe0b for #435)

  • Add support for <timer handle>.when()
    (by Jens Jorgensen in 62b2af9c)

Fixes

  • Fix ref issue when protocol is in Cython
    (by @fantix in 70cafc82 for #2222)

  • Set python_requires in setup.py
    (by @graingert in c808a663)

  • SSL: schedule first data after waiter wakeup
    (by @fantix in 2081db89)

  • Fix a possible race condition in sslproto test
    (by @fantix in b0526cd5 for #412)

  • Fix call_soon_threadsafe thread safety
    (by @fantix in 4b803b15)

uvloop - v0.15.3

Published by github-actions[bot] over 3 years ago

Bug Fixes

  • SSL: schedule first data after waiter wakeup
    (by @fantix in 0df12282)

  • Fix a possible race condition in sslproto test
    (by @fantix in 2e71c4c2 for #412)

  • Fix call_soon_threadsafe thread safety
    (by @fantix and @hehaha in 6387a4e4 for #408)

uvloop - v0.15.2

Published by github-actions[bot] over 3 years ago

Bug Fixes

  • Add python_requires in setup.py to fix dependency resolution issues
    (by @graingert in c808a663)
uvloop - v0.15.1

Published by github-actions[bot] over 3 years ago

Bug Fixes

  • Fix a segfault issue when a Cython protocol is de-referencing itself from Context.run() callbacks
    (by @fantix in 70cafc82)
uvloop - v0.15.0

Published by github-actions[bot] over 3 years ago

New Features

  • Add name keyword argument to loop.create_task()
    (by @fantix in d51ce367 for #309)

  • Add typing support
    (by @bryanforbes in 9426e2b1, for #358)

Bug Fixes

  • SSL: many improvements
    (by @fantix in 6476aad6, 8beacd26, 98e113ee, ae44ec2d, @asvetlov in 9bc4a204)

  • Fix KeyboardInterrupt handling logic
    (by @1st1 in c32c7039 for #295, @jack1142 in 8c471f82 for #337)

  • Python 3.8/3.9 compatibility fixes, drop support for 3.5/3.6
    (by @jack1142 in 28702195 for #314, @achimnol in 0d14ec64 for #328, @aeros in 6ef69a79 for #349, @shadchin in 1fd90665, @fantix in 465717fd, 200e1404, afc3ee8f, cdd2218f, b7048b94)

  • UDP: multiple bug fixes
    (by @fantix in 1d9267af for #319, 9e017e6e for #304, 506a2aa1)

  • Pipe: a critical crash fix that affects subprocess, pipe and socketpair
    (by @fantix in 5d41af80 and @tardyp in c3929720 for #311 #312 #317)

  • Restore context on protocol callbacks
    (by @versusvoid in 7b202ccf for #305, @fantix in f691212b)

  • Subprocess: stdio bug fixes
    (by @fantix in 8cdb3002 for #136, @lovasoa in 68db1a23 for #363)

  • Sock: fix issue in sock_connect() for large concurrency
    (by @fantix in fe3d0281 for #378)

  • Misc fixes about docs URL, test typo, and CI compatibility
    (by @asfaltboy in 38105305, @felixonmars in fcb37350, @fantix in 6596685a)

Build

  • Check Cython version semantically
    (by @YoSTEALTH in 5dc299b7)

  • Add .flake8 to distribution tarball
    (by @jlaine in e8eb5026 for #330)

  • Switch to Github actions
    (by @elprans in 3be8967e, e21ceea0, @fantix in 311997ed)

  • Bump libuv to v1.40.0
    (by @fantix in 998c19ec)

uvloop -

Published by 1st1 almost 5 years ago

New Features

  • Add support for Python 3.8.
    (by @1st1 in 5f48dab8, 51636f7b)

Bug Fixes

  • Multiple fixes in the SSL/TLS layer.
    (by @fantix in 82104fb6 for #263, 7fcbfed1 for #255, e6fd6377)

  • Restore signal.wakeup_fd after the event loop is closed.
    (by @vladima in 48d376d3, @1st1 in d76d9827)

  • Handle large timeouts in loop.call_later().
    (by @1st1 in 1a0d6578 for #259)

  • Fix possible feezing of uvloop on os.fork.
    (by @grungy-ado in fde5d14f)

  • Better handle Unix sockets for datagram transports.
    (by @mosquito and @1st1 in dd4cb7ac for #269)

  • Avoid double connecting to remote_addr for datagram transports.
    (by @1st1 in bed926c5 for #276)

Build

  • Bump Cython to 0.29.13.
    (by @1st1 in 65c1a045)

  • Bump libuv to v1.33.1.
    (by @1st1 in 34fd827e)

uvloop - v0.14.0rc2

Published by 1st1 almost 5 years ago

This is the second release candidate.

See the full list of updates in 0.14.0rc1 release notes.

RC2 Bug Fixes

  • Fix libuv not waking up on SIGINT.
    (by @1st1 in c32c703 for #295)

  • Fix SSL proto to better handle EOF.
    (by @fantix in 6476aad)

uvloop - v0.14.0rc1

Published by 1st1 almost 5 years ago

New Features

  • Add support for Python 3.8.
    (by @1st1 in 5f48dab8, 51636f7b)

Bug Fixes

  • Multiple fixes in the SSL/TLS layer.
    (by @fantix in 82104fb6 for #263, 7fcbfed1 for #255)

  • Restore signal.wakeup_fd after the event loop is closed.
    (by @vladima in 48d376d3)

  • Handle large timeouts in loop.call_later().
    (by @1st1 in 1a0d6578 for #259)

  • Fix possible feezing of uvloop on os.fork.
    (by @grungy-ado in fde5d14f)

  • Better handle Unix sockets for datagram transports.
    (by @mosquito and @1st1 in dd4cb7ac for #269)

  • Avoid double connecting to remote_addr for datagram transports.
    (by @1st1 in bed926c5 for #276)

Build

  • Bump Cython to 0.29.13.
    (by @1st1 in 65c1a045)

  • Bump libuv to v1.33.1.
    (by @1st1 in 34fd827e)

uvloop -

Published by 1st1 about 5 years ago

New Features

  • Implement Server.start_serving() and related APIs.
    (by @jlaine in 7a4f00a3)

  • Make Server an asynchronous context manager.
    (by @jlaine in d6c67e7a for #221)

Performance

  • Start using high-performance uv_udp_t handle. This
    should result in a significantly faster UDP support.
    (by @1st1 in c2b65bc8)

  • Make address validation faster in udp.sendto().
    (by @1st1 in 46c5e9eb)

Misc

  • OSError is no longer logged by Transports.
    This matches asyncio behaviour in 3.8.
    (by @Tobotimus in ef29dab2)

Build

  • Upgrade to libuv v1.31.0.
    (by @1st1 in c2b65bc8 and 1fad621f)

  • Use manylinux-2010. This means we no longer provide
    32bit builds for Linux.
    (by @1st1 in 3174b7d3)

uvloop - v0.13.0rc1

Published by 1st1 over 5 years ago

New Features

  • Implement Server.start_serving() and related APIs.
    (by @jlaine in 7a4f00a3)

  • Make Server an asynchronous context manager.
    (by @jlaine in d6c67e7a for #221)

Performance

  • Start using high-performance uv_udp_t handle. This
    should result in a significantly faster UDP support.
    (by @1st1 in c2b65bc8)

  • Make address validation faster in udp.sendto().
    (by @1st1 in 46c5e9eb)

Build

  • Upgrade to libuv v1.28.0.
    This is a minimum requirement now.
    (by @1st1 in c2b65bc8)

  • Use manylinux-2010. This means we no longer provide
    32bit builds for Linux.
    (by @1st1 in 3174b7d3)

uvloop -

Published by 1st1 over 5 years ago

Bug Fixes

  • Fix circular references in SSL implementation to reduce
    the need for GC.
    (by @fantix in 3070ec85)

  • Fix a memory leak in call_later() and call_at().
    The leak occurred when a callback argument had a reference to
    the event loop.
    (by @1st1 in 1a5dbc28 for #239)

  • Fix compilation warnings.
    (by @JelleZijlstra in d9a111be)

  • Round (instead of flooring) delay in call_later().
    This ensures that the callback is never called slightly before
    the specified time.
    (by @fantix in 8f037a68 for #233)

uvloop -

Published by 1st1 over 5 years ago

Bug Fixes

  • Fix a circular references case in SSL implementation.
    (by @fantix in a2e0dd8e for #220)

  • Cleanup references to callbacks in canceled callback handles.

    This removes potential reference cycles between bound methods
    and cancelled Handle / TimerHandle objects.

    (by @1st1 in f0a945df)

uvloop -

Published by 1st1 over 5 years ago

New Features

  • New SSL implementation. The new implementation is faster and
    and more complete, and might become the default SSL implementation
    in asyncio 3.9.

    See the linked issue for more details.

    (by @fantix in 9cba7493 for #158, #176)

  • New uvloop.install() helper function.

    Instead of

    import asyncio
    import uvloop
    asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
    

    it is now possible to simply write

    import uvloop
    uvloop.install()
    

    (by @1st1 in a3d8d401)

Bug Fixes

  • All bug fixes from 0.11.00.11.3 are included in
    this release.

  • ssl.CertificateError is no longer logged as it's delivered to
    the Protocol.connection_lost() anyways.
    (by @fantix in 848e4785 for #195, #199)

  • Don't use non-existent UDPTransport._address attribute.
    (by @jlaine in f24c2c56 for #207)

Performance

  • Improve UDPTransport.sendto() performance.
    (by @jlaine in d5ad2b86 for #214)

Build

  • Upgrade Cython 0.28.x -> 0.29.0.

  • Upgrade libuv v1.22.0 -> v1.23.0.

uvloop -

Published by 1st1 almost 6 years ago

New Features

  • New SSL implementation. The new implementation is faster and
    and more complete, and will become the default SSL implementation
    in asyncio 3.8. This is a significant change that warrants a release
    candidate to make sure it is tested properly.

    See the linked issue for more details.

    (by @fantix in 9cba7493 for #158, #176)

  • New uvloop.install() helper function.

    Instead of

    import asyncio
    import uvloop
    asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
    

    it is now possible to simply write

    import uvloop
    uvloop.install()
    

    (by @1st1 in a3d8d401)

Bug Fixes

  • All bug fixes from 0.11.00.11.3 are included in
    this release.

  • ssl.CertificateError is no longer logged as it's delivered to
    the Protocol.connection_lost() anyways.
    (by @fantix in 848e4785 for #195, #199)

Build

  • Upgrade Cython 0.28.x -> 0.29.0.

  • Upgrade libuv v1.22.0 -> v1.23.0.

uvloop -

Published by 1st1 almost 6 years ago

Bug Fixes

  • Use new PyOS_BeforeFork and PyOS_AfterFork_* 3.7 APIs when available
    (by @1st1 in 75e7c32a)

  • Fix async generators finalization to function correctly in debug mode
    (by @1st1 in dcbb1f4f for #200)

  • Pass backlog to loop.create_unix_server() when a server is created via
    loop.create_server(sock=unix_sock, backlog=backlog).
    (by @hikoz in 40ad257b)

  • Don't raise "requires a DNS lookup" error on Unix Domain Socket (#204)
    (by @pax0r in 9fc3ca2a for #204)

  • Fix use of PyContext* APIs in 3.7.1
    (by @1st1 in 74748005)

Build

  • Bump Cython to 0.28.5
    (by @1st1 in 1bbd6a82)
uvloop -

Published by 1st1 about 6 years ago

Bug Fixes

  • Fix a memory leak related to contextvars support.
    (by @hellysmile and @1st1 in 2ddb4807 for #192)
uvloop -

Published by 1st1 about 6 years ago

Note: this is a bugfix release for 0.10.x branch. It's recommended to upgrade to 0.11.x.

Bug Fixes