Library for using callbacks to resume your code.
Project description
A Python library for using callbacks to resume your code.
resumeback provides a utility function decorator that enables using callback-based interfaces in a single line of execution – a single function.
Documentation
Installation
$ pip install resumeback
Example Usage
from threading import Thread
from resumeback import send_self
def ask_for_user_input(question, on_done):
def watcher():
result = input(question)
on_done(result)
Thread(target=watcher).start()
@send_self
def main(this): # "this" is a reference to the created generator instance
arbitrary_value = 10
# Yield pauses execution until one of the generator methods is called,
# such as `.send`, which we provide as the callback parameter.
number = yield ask_for_user_input("Please enter a number", this.send)
number = int(number)
print("Result:", number * arbitrary_value)
if __name__ == "__main__":
main()
Development
Requires Python, poetry, and GNU Make.
Use make help to show the available targets.
poetry is used for dependency and virtualenv management.
tox is used as a test runner for multiple isolated environments.
flake8 is used for code linting.
Github Actions are used for CI.
Acknowledgements
Project started initially after a forum post from @Varriount on the Sublime Text forum. I just took his idea “to the next (abstraction) level” and made it more convenient to use.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file resumeback-1.0.0.tar.gz
.
File metadata
- Download URL: resumeback-1.0.0.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.5 CPython/3.8.2 Linux/5.0.0-1032-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c02156eea168e1e3b5306d4b40accd289e71520a4d2575ddfeaa476ce02c092 |
|
MD5 | 5eb8192ec5aef5d20a0a352d1de8d638 |
|
BLAKE2b-256 | c8b6501b60165044caa8dfca86380797e71f85900cd49dc9dd1e0f0d1a63ad98 |
File details
Details for the file resumeback-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: resumeback-1.0.0-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.5 CPython/3.8.2 Linux/5.0.0-1032-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f2046ce1df7fe096d938b1c3babb1ec9e9b8aab8f2d92213f376bba80ffcc24 |
|
MD5 | 2584879de3379a969d8c2575f26a065f |
|
BLAKE2b-256 | 3e5c00ba8fbebf0bde564525dc2551ee5a843f0e4d27311f52dad95164edede5 |