Project#

Everything meta: where the project’s been (the Changelog), where it’s going (the roadmap below), how to hack on it (Hot tips for tractor hackers and Testing tips) and where to find the humans.

What the future holds#

Help us push toward the future of distributed Python! Planned (or dreamed of) work non-comprehensively includes,

  • Erlang-style supervisors via composed context managers (see #22),

  • typed capability-based (dialog) protocols, ie. evolving our msg-spec system into per-dialog contracts (see #196 with draft work in #311),

  • a higher level “service manager” API for daemon lifetime mgmt over actor trees (in the works on an experimental branch as tractor.hilevel),

  • richer discovery via gossip and/or rendezvous protocol approaches (today’s registrar is intentionally naive),

  • more IPC transports: the current tcp | uds pair wants friends (QUIC, shm-ring-buffers, RUDP, wireguard tunnels),

  • an extensive chaos engineering test suite,

  • a respawn-from-REPL system for crashed (sub-)actors.

Feel like saying hi?#

This project is very much coupled to the ongoing development of trio (i.e. tractor gets most of its ideas from that brilliant community). If you want to help, have suggestions or just want to say hi, please feel free to reach us in our matrix channel. If matrix seems too hip, we’re also mostly all in the trio gitter channel!

Contributions of all kinds welcome: docs, examples, bug reports, new transports, supervisor strategies, philosophical debates about what an “actor model” really is B)