A client library for accessing Windmill server wrapping the Windmill client API
Project description
wmill
The core client for the Windmill platform.
Usage
Basic Usage
The wmill
package has several methods at the top-level for the most frequent operations you will need.
The following are some common examples:
import time
import wmill
def main():
# Get the value of a variable
wmill.get_variable("u/user/variable_path")
# Run a script synchronously and get the result
wmill.run_script("f/pathto/script", args={"arg1": "value1"})
# Get the value of a resource
wmill.get_resource("u/user/resource_path")
# Set the script's state
wmill.set_state({"ts": time.time()})
# Get the script's state
wmill.get_state()
Advanced Usage
The wmill
package also exposes the Windmill
class, which is the core client for the Windmill platform.
import time
from wmill import Windmill
def main():
client = Windmill(
# token=... <- this is optional. otherwise the client will look for the WM_TOKEN env var
)
# Get the current version of the client
client.version
# Get the current user
client.user
# Convenience get and post methods exist for https://app.windmill.dev/openapi.html#/
# these are thin wrappers around the httpx library's get and post methods
# list worker groups
client.get("/configs/list_worker_groups")
# create a group
client.post(
f"/w/{client.workspace}/groups/create",
json={
"name": "my-group",
"summary": "my group summary",
}
)
# Get and set the state of the script
now = time.time()
client.state = {"ts": now}
assert client.state == {"ts": now}
# Run a job asynchronously
job_id = client.run_script_async(path="path/to/script")
# Get its status
client.get_job_status(job_id)
# Get its result
client.get_result(job_id)
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
wmill-1.435.2.tar.gz
(10.4 kB
view details)
Built Distribution
wmill-1.435.2-py3-none-any.whl
(10.6 kB
view details)
File details
Details for the file wmill-1.435.2.tar.gz
.
File metadata
- Download URL: wmill-1.435.2.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.11.3 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2e9f20a0902ec9349d0f9e82c90ce4bf66afdb9c44bfbd7c5d8ec2b5d0e7917 |
|
MD5 | 8b784809b08fdade0995db92c3d57846 |
|
BLAKE2b-256 | d555737c4555cf75afc1dd0ee2251e499f3cbe75d899fe75e47de4736af1ea99 |
File details
Details for the file wmill-1.435.2-py3-none-any.whl
.
File metadata
- Download URL: wmill-1.435.2-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.11.3 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 911d74396cd6c6bd0b80e3e2a0b2e8a499e5e7f181cf2497f74d78a2760af494 |
|
MD5 | d80513d6763908bf503a85b051cf8285 |
|
BLAKE2b-256 | 3263d5f84c99eeadd7dc0dda7c76b898ea7f5c6b5012aa55368c08c764054d0b |