funmill-sdk
Python client SDK for the Funmill task
API. Distributed on PyPI as funmill and imported as funmill.client, sharing the
funmill namespace with the funmill-api package (funmill.api).
Install
pip install funmill
Usage
from funmill.client import FunmillClient, TaskSubmit
with FunmillClient(base_url="http://127.0.0.1:8812", api_key="replace-me") as client:
client.health() # {"status": "ok", "backend": "dagu"}
accepted = client.submit_task(
TaskSubmit(language="python", source="def main(): return 21 * 2")
)
task = client.get_task(accepted.task_id)
result = client.get_result(accepted.task_id)
FunmillClient.from_env() builds a client from FUNMILL_URL, FUNMILL_API_KEY, and
FUNMILL_TIMEOUT environment variables.
API
| Method | Route |
|---|---|
health() |
GET /health |
submit_task(TaskSubmit) |
POST /v1/tasks |
submit_workflow(WorkflowSubmit) |
POST /v1/workflows |
get_task(task_id) |
GET /v1/tasks/{task_id} |
get_progress(task_id) |
GET /v1/tasks/{task_id}/progress |
get_logs(task_id) |
GET /v1/tasks/{task_id}/logs |
get_result(task_id) |
GET /v1/tasks/{task_id}/result |
cancel(task_id, reason=...) |
POST /v1/tasks/{task_id}/cancel |
rerun(task_id) |
POST /v1/tasks/{task_id}/rerun |
All request/response failures raise FunmillAPIError(message, status_code).
Related repositories
funmill-api— the backend service this client talks to.funmill-dev— the orchestration repo that aggregates bothfunmill-apiandfunmill-sdk.
Metadata
Release files for funmill 1.0.13
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| funmill-1.0.13-py3-none-any.whl | Python 3 | none | any | Details |
Release files / funmill-1.0.13-py3-none-any.whl
| Download URL | funmill-1.0.13-py3-none-any.whl |
|---|---|
| Size | 4.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ed63db46e0f632263c40a291ece4dd705018ac936c7ef3764f337604e8dc8a71
|
|
BLAKE2b-256 checksum How to use checksums |
5333e4a5edf88282c0978ebc9c3f4bd14149e7fe24e03cfb3d89c6cf1a7d286e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for funmill 1.0.13
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.