Skip to main content

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)

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.774.0.tar.gz (32.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wmill-1.774.0-py3-none-any.whl (32.5 kB view details)

Uploaded Python 3

File details

Details for the file wmill-1.774.0.tar.gz.

File metadata

  • Download URL: wmill-1.774.0.tar.gz
  • Upload date:
  • Size: 32.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.3 Linux/6.14.0-1017-azure

File hashes

Hashes for wmill-1.774.0.tar.gz
Algorithm Hash digest
SHA256 590a4d8b05494c2c9136e876844c12e7a93d8cd633dd7904609212be63f1364b
MD5 8f2b4eead033dbf8a3644670d075a2d8
BLAKE2b-256 5ff23f0957b771ce6a1f9c6e79e6e0a4e70c2b9b114b1fda80152e4871bf4924

See more details on using hashes here.

File details

Details for the file wmill-1.774.0-py3-none-any.whl.

File metadata

  • Download URL: wmill-1.774.0-py3-none-any.whl
  • Upload date:
  • Size: 32.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.3 Linux/6.14.0-1017-azure

File hashes

Hashes for wmill-1.774.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f8bc1a8795dd73dd6183ec5ddfd548efd0647c1519929d8649fe1447b74bcbbc
MD5 8bb8d618c1dd6944205b60caf4f0b90d
BLAKE2b-256 8352e2f2008f738eb9929867e16a7944c62d80837f2064d5af0ae9be6b3fa0d5

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page