Skip to content

0.10.0

Choose a tag to compare

@x42005e1f x42005e1f released this 04 Nov 13:05
· 39 commits to main since this release
00dc33a

Added

  • culsans.Queue.waiting as the third aiologic-like property. Useful when you need to reliably obtain the total number of waiting ones.
  • Timeout handling has been improved in line with the latest changes in aiologic (support for very large numbers, additional checking for NaN, use of the clock functions from aiologic.lowlevel). This is particularly relevant for aiologic>=0.15.0, which implements safe timeouts, but has almost no impact on older versions.
  • The properties of culsans.Queue now return proxies instead of protocols for type checkers. This allows, for example, accessing the wrapped queue via the proxy attribute without type errors.
  • The proxies are now represented in a readable format, which should make debugging a little easier.

Changed

  • The priority queues now use stricter bounds for the type variable: collection elements must be rich comparable (implement __lt__() or __gt__() method). This corresponds to recent changes in typeshed for the standard queues (see python/typeshed#14418) and makes them safer.

Fixed

  • For the underlying lock, aiologic.lowlevel._thread was used, which has been declared deprecated in the latest version of aiologic.
  • With green checkpoints enabled, the end time was recalculated for the timeout after rescheduling, which could lead to doubling the actual wait time (0.9.0 regression).