Files
windmill/python-client/wmill
Stephan Fitzpatrick c7a30f7c9d feat(python): Add functionality and resiliency to wmill python client (#2650)
* Refine wmill client.py `run_script_sync` and `run_script_by_path_sync` with more features

This commit enriches the functionality of the `run_script_sync` and `run_script_by_path_sync` functions. New features introduced include script cancellation upon exit, logging capabilities,
and script execution timeout. These enhancements improve script execution control and provide better debug information. The `get_result` function was also adjusted to enable the control
of 'is not None' assertion on the job result. Consequently, user flexibility is enhanced, and the method can cater to cases where a `None` result is within the expected behavior.

* remove unnecessary local import and rename cancel_atexit to cleanup
2023-11-20 02:07:20 +01:00
..
2022-05-05 04:25:58 +02:00

wmill

The core client for the Windmill platform.

It is a convenient wrapper around the exhaustive, automatically generated from OpenApi but less user-friendly windmill-api.

Quickstart

import wmill


def main():
    #os.environ.set("WM_TOKEN", "<mytoken>") OPTIONAL to set token used by the wmill client
    version = wmill.get_version()
    resource = wmill.get_resource("u/user/resource_path")

    # run synchronously, will return the result
    res = wmill.run_script_sync(hash="000000000000002a", args={})
    print(res)

    for _ in range(3):
        # run asynchrnously, will return immediately. Can be scheduled
        wmill.run_script_async(hash="000000000000002a", args={}, scheduled_in_secs=10)