Pykka

Latest version: v4.1.2

Safety actively analyzes 706267 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 5

0.13

- 10x speedup of traversable attribute access by reusing proxies.

- 1.1x speedup of callable attribute access by reusing proxies.

0.12.4

- Change and document order in which `pykka.ActorRegistry.stop_all()` stops actors. The new order is the reverse of the order the actors were started in. This should make `stop_all()` work for programs with simple dependency graphs in between the actors. For applications with more complex dependency graphs, the developer still needs to pay attention to the shutdown sequence. (Fixes: 8)

0.12.3

- If an actor that was stopped from `pykka.Actor.on_start()`, it would unregister properly, but start the receive loop and forever block on receiving incoming messages that would never arrive. This left the thread alive and isolated, ultimately blocking a clean shutdown of the program. The fix ensures that the receive loop is never executed if the actor is stopped before the receive loop is started.

- Set the thread name of any `pykka.ThreadingActor` to `PykkaActorThread-N` instead of the default `Thread-N`. This eases debugging by clearly labeling actor threads in e.g. the output of `threading.enumerate()`.

- Add utility method `pykka.ActorRegistry.broadcast()` which broadcasts a message to all registered actors or to a given class of registered actors. (Fixes: 7)

- Allow multiple calls to `pykka.ActorRegistry.unregister()` with the same `pykka.actor.ActorRef` as argument without throwing a `ValueError`. (Fixes: 5)

- Make the `pykka.ActorProxy`'s reference to its `pykka.ActorRef` public as `pykka.ActorProxy.actor_ref`. The `ActorRef` instance was already exposed as a public field by the actor itself using the same name, but making it public directly on the proxy makes it possible to do e.g. `proxy.actor_ref.is_alive()` without waiting for a potentially dead actor to return an `ActorRef` instance you can use. (Fixes: 3)

0.12.2

- Actors are now registered in `pykka.registry.ActorRegistry` before they are started. This fixes a race condition where an actor tried to stop and unregister itself before it was registered, causing an exception in `ActorRegistry.unregister`.

0.12.1

- Stop all running actors on `BaseException` instead of just `KeyboardInterrupt`, so that `sys.exit(1)` will work.

0.12

- First stable release, as Pykka now is used by the [Mopidy](https://mopidy.com/) project. From now on, a changelog will be maintained and we will strive for backward compatibility.

Page 5 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.