Name | alex_wmill JSON |
Version |
1.440.0
JSON |
| download |
home_page | https://windmill.dev |
Summary | A client library for accessing Windmill server wrapping the Windmill client API |
upload_time | 2024-12-17 16:28: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": "alex_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/ee/4c/ddbd230be9d80bdbb972b5e3ed74b26dbe3096b66d9b6d08ce2d2fddfbe1/alex_wmill-1.440.0.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.0",
"project_urls": {
"Documentation": "https://windmill.dev",
"Homepage": "https://windmill.dev"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "118fa4d63122feb86065e1e5fa1a1be81f91396b58265dc7fe9a8befa25b525e",
"md5": "bd4697cb0f17a77b9a6bf5eaf8e83739",
"sha256": "0ac236603a1022123f658cefe94c0cc004a893effc0a201cc274bcc9f0ae2fcb"
},
"downloads": -1,
"filename": "alex_wmill-1.440.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bd4697cb0f17a77b9a6bf5eaf8e83739",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.7",
"size": 11135,
"upload_time": "2024-12-17T16:28:12",
"upload_time_iso_8601": "2024-12-17T16:28:12.233524Z",
"url": "https://files.pythonhosted.org/packages/11/8f/a4d63122feb86065e1e5fa1a1be81f91396b58265dc7fe9a8befa25b525e/alex_wmill-1.440.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ee4cddbd230be9d80bdbb972b5e3ed74b26dbe3096b66d9b6d08ce2d2fddfbe1",
"md5": "5737d9c0339128b121bf9a0cf80c10e3",
"sha256": "506c82251a0d014f09a907660cce7907b8d0b797dc81b2a87cdef923fa98b5f9"
},
"downloads": -1,
"filename": "alex_wmill-1.440.0.tar.gz",
"has_sig": false,
"md5_digest": "5737d9c0339128b121bf9a0cf80c10e3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.7",
"size": 10930,
"upload_time": "2024-12-17T16:28:16",
"upload_time_iso_8601": "2024-12-17T16:28:16.892555Z",
"url": "https://files.pythonhosted.org/packages/ee/4c/ddbd230be9d80bdbb972b5e3ed74b26dbe3096b66d9b6d08ce2d2fddfbe1/alex_wmill-1.440.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-17 16:28:16",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "alex_wmill"
}