Name | wmill JSON |
Version |
1.411.0
JSON |
| download |
home_page | https://windmill.dev |
Summary | A client library for accessing Windmill server wrapping the Windmill client API |
upload_time | 2024-10-21 18:24:55 |
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/8d/ab/11f541b73c00a485727b1047621158919c923e45dd330f9a42131e8ad421/wmill-1.411.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.411.0",
"project_urls": {
"Documentation": "https://windmill.dev",
"Homepage": "https://windmill.dev"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "04acf09e71f113f996091557032fbf85f5976a8b7f18b42c8128de14ae44b425",
"md5": "9580e1c08aa1e44e19788683d5a01ca9",
"sha256": "5820120d7989d6a338f3e9536da468cd3274bcf2484eb1be329322351b68e4de"
},
"downloads": -1,
"filename": "wmill-1.411.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9580e1c08aa1e44e19788683d5a01ca9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.7",
"size": 10461,
"upload_time": "2024-10-21T18:24:53",
"upload_time_iso_8601": "2024-10-21T18:24:53.761680Z",
"url": "https://files.pythonhosted.org/packages/04/ac/f09e71f113f996091557032fbf85f5976a8b7f18b42c8128de14ae44b425/wmill-1.411.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8dab11f541b73c00a485727b1047621158919c923e45dd330f9a42131e8ad421",
"md5": "4b00cdb0b817746e9dff85990e9ec28b",
"sha256": "58aa79cf7cc2a0bbde2dbbc4718ce3618e600fc2756ac70680dab94fa5d475bb"
},
"downloads": -1,
"filename": "wmill-1.411.0.tar.gz",
"has_sig": false,
"md5_digest": "4b00cdb0b817746e9dff85990e9ec28b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.7",
"size": 10226,
"upload_time": "2024-10-21T18:24:55",
"upload_time_iso_8601": "2024-10-21T18:24:55.118699Z",
"url": "https://files.pythonhosted.org/packages/8d/ab/11f541b73c00a485727b1047621158919c923e45dd330f9a42131e8ad421/wmill-1.411.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-21 18:24:55",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "wmill"
}