Skip to main content

Framework for Asyncio/Actor/AHSM Run-to-completion Concurrency

Project description

farc

Framework for Asyncio/Actor/AHSM Run-to-completion Concurrency written in Python3. In other words, a cheap knock-off of QP (www.state-machine.com) that uses coroutines instead of threads. This book describes QP and how to program hierarchical state machines.

This framework has fewer than 1000 LOC. It allows the programmer to create highly-concurrent programs by using a message-passing system and run-to-completion message handlers within a state-machine architecture. With these tools, complex, asynchronous operations are decomposed into managable chunks of code.

Known Issue: On windows, Ctrl+C is supressed by asyncio event loop's run_forever() (bug report). The workaround is to inject an event to awake the event loop.

Note: This project used to be called "pq" but that name was taken in PyPI, so I renamed to farc (ugh). If you see "pq" in the code anywhere, it means farc.

Code Repository

https://github.com/dwhall/farc

Release History

2018/10/09 0.1.0 Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

farc-0.1.0.tar.gz (9.2 kB view hashes)

Uploaded Source

Built Distribution

farc-0.1.0-py3-none-any.whl (12.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page