Name | wmill JSON |
Version |
1.440.3
JSON |
| download |
home_page | https://windmill.dev |
Summary | A client library for accessing Windmill server wrapping the Windmill client API |
upload_time | 2024-12-19 00:53:16 |
maintainer | None |
docs_url | None |
author | Ruben Fiszel |
requires_python | <4.0,>=3.7 |
license | Apache-2.0 |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# wmill
The core client for the [Windmill](https://windmill.dev) 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:
```python
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.
```python
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)
```
Raw data
{
"_id": null,
"home_page": "https://windmill.dev",
"name": "wmill",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.7",
"maintainer_email": null,
"keywords": null,
"author": "Ruben Fiszel",
"author_email": "ruben@windmill.dev",
"download_url": "https://files.pythonhosted.org/packages/be/89/3e025556ce412c9f359edf357d3a88a3a3f501929f8b0a09c438a4788902/wmill-1.440.3.tar.gz",
"platform": null,
"description": "# wmill\n\nThe core client for the [Windmill](https://windmill.dev) platform.\n\n\n## Usage\n\n### Basic Usage\n\nThe `wmill` package has several methods at the top-level for the most frequent operations you will need.\n\nThe following are some common examples:\n\n```python\nimport time\n\nimport wmill\n\n\ndef main():\n # Get the value of a variable\n wmill.get_variable(\"u/user/variable_path\")\n \n # Run a script synchronously and get the result\n wmill.run_script(\"f/pathto/script\", args={\"arg1\": \"value1\"})\n \n # Get the value of a resource\n wmill.get_resource(\"u/user/resource_path\")\n \n # Set the script's state\n wmill.set_state({\"ts\": time.time()})\n \n # Get the script's state\n wmill.get_state()\n```\n\n### Advanced Usage\n\nThe `wmill` package also exposes the `Windmill` class, which is the core client for the Windmill platform.\n\n```python\nimport time\n\nfrom wmill import Windmill\n\ndef main():\n client = Windmill(\n # token=... <- this is optional. otherwise the client will look for the WM_TOKEN env var\n )\n\n # Get the current version of the client\n client.version\n\n # Get the current user\n client.user\n \n # Convenience get and post methods exist for https://app.windmill.dev/openapi.html#/\n # these are thin wrappers around the httpx library's get and post methods\n # list worker groups\n client.get(\"/configs/list_worker_groups\")\n # create a group\n client.post(\n f\"/w/{client.workspace}/groups/create\",\n json={\n \"name\": \"my-group\",\n \"summary\": \"my group summary\",\n }\n )\n \n # Get and set the state of the script\n now = time.time()\n client.state = {\"ts\": now}\n assert client.state == {\"ts\": now}\n \n # Run a job asynchronously\n job_id = client.run_script_async(path=\"path/to/script\")\n # Get its status\n client.get_job_status(job_id)\n # Get its result\n client.get_result(job_id)\n\n\n```\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "A client library for accessing Windmill server wrapping the Windmill client API",
"version": "1.440.3",
"project_urls": {
"Documentation": "https://windmill.dev",
"Homepage": "https://windmill.dev"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "cc8207a7a474b88cc2b1eb61bee09d4a4d328b7bb0aa8834f624c48bc6f75674",
"md5": "c89e1fb15170a3f81c91d02d36ef6958",
"sha256": "2238832dff9c2bdc5164ca7c3609121e14511e4389a0e7a08fbe14e5df000421"
},
"downloads": -1,
"filename": "wmill-1.440.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c89e1fb15170a3f81c91d02d36ef6958",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.7",
"size": 10642,
"upload_time": "2024-12-19T00:53:13",
"upload_time_iso_8601": "2024-12-19T00:53:13.145488Z",
"url": "https://files.pythonhosted.org/packages/cc/82/07a7a474b88cc2b1eb61bee09d4a4d328b7bb0aa8834f624c48bc6f75674/wmill-1.440.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "be893e025556ce412c9f359edf357d3a88a3a3f501929f8b0a09c438a4788902",
"md5": "9b330522d8a7cbce453315b395c5544f",
"sha256": "94cb61c8e5afc8fbebd5c3a6f773788bba96bedc744710089a8630bc315cebbd"
},
"downloads": -1,
"filename": "wmill-1.440.3.tar.gz",
"has_sig": false,
"md5_digest": "9b330522d8a7cbce453315b395c5544f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.7",
"size": 10407,
"upload_time": "2024-12-19T00:53:16",
"upload_time_iso_8601": "2024-12-19T00:53:16.787361Z",
"url": "https://files.pythonhosted.org/packages/be/89/3e025556ce412c9f359edf357d3a88a3a3f501929f8b0a09c438a4788902/wmill-1.440.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-19 00:53:16",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "wmill"
}