Hi-Level API for Golem The Next Milestone
Project description
Golem Python API
How to use
Rendering
from yapapi.runner import Engine, Task, vm
from datetime import timedelta
async def main():
package = await vm.repo(
image_hash="ef007138617985ebb871e4305bc86fc97073f1ea9ab0ade9ad492ea995c4bc8b",
min_mem_gib=0.5,
min_storage_gib=2.0,
)
async def worker(ctx, tasks):
ctx.send_file("./scene.blend", "/golem/resource/scene.blend")
async for task in tasks:
frame = task.data
ctx.begin()
crops = [
{
"outfilebasename": "out",
"borders_x": [0.0, 1.0],
"borders_y": [0.0, 1.0],
}
]
ctx.send_json(
"/golem/work/params.json",
{
"scene_file": "/golem/resource/scene.blend",
"resolution": (800, 600),
"use_compositing": False,
"crops": crops,
"samples": 100,
"frames": [frame],
"output_format": "PNG",
"RESOURCES_DIR": "/golem/resources",
"WORK_DIR": "/golem/work",
"OUTPUT_DIR": "/golem/output",
},
)
ctx.run("/golem/entrypoints/render_entrypoint.py")
ctx.download_file("/golem/output/out.png", f"output_{frame}.png")
yield ctx.commit()
# TODO: Check if job is valid
# and reject by: task.reject_task(msg = 'invalid file')
task.accept_task()
ctx.log("no more frame to render")
async with Engine(
package=package,
max_worker=10,
budget=10.0,
timeout=timedelta(minutes=5),
) as engine:
async for progress in engine.map(
worker, [Task(data=frame) for frame in range(1, 101)]
):
print("progress=", progress)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
yapapi-0.1.5.tar.gz
(27.3 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
yapapi-0.1.5-py3-none-any.whl
(32.5 kB
view details)
File details
Details for the file yapapi-0.1.5.tar.gz.
File metadata
- Download URL: yapapi-0.1.5.tar.gz
- Upload date:
- Size: 27.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.10 CPython/3.8.3 Darwin/19.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
197ce9c3b77036aa7b47f914da59c95475b125f414ffa0c5c6ca1a8b5a7a4ab1
|
|
| MD5 |
b5d47094368f1a0759f06db5b0f7ff3f
|
|
| BLAKE2b-256 |
9c27dbafbc9999658596d313d8d2953b72330f27e527ce7ad3759657d44c29b4
|
File details
Details for the file yapapi-0.1.5-py3-none-any.whl.
File metadata
- Download URL: yapapi-0.1.5-py3-none-any.whl
- Upload date:
- Size: 32.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.10 CPython/3.8.3 Darwin/19.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1cc482b32e50a64923f8eb0f2f0d298e95f83e6e36bcd50d303fe6a41c27da5a
|
|
| MD5 |
d6ff4007b23361c1b975d31fdf036caf
|
|
| BLAKE2b-256 |
59db387d3b738b30ed4cab2ce439cfc5b713dd110de307ea6cad41f6c794e0d8
|