import os
import sys
import time
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "sdks", "python"))
from slotbus import SlotWorker, Response
hub_url = os.environ.get("HUB_URL", "http://localhost:3200")
app = SlotWorker(hub_url, name="python-api")
@app.route("GET", "/status")
def status(req):
return {"ok": True, "worker": "python", "time": time.time()}
@app.route("POST", "/echo")
def echo(req):
return req.json()
@app.route("GET", "/items/{id}")
def get_item(req):
item_id = req.params["id"]
return {"id": item_id, "name": f"Item {item_id}"}
@app.route("POST", "/greet")
def greet(req):
body = req.json()
name = body.get("name", "World")
return Response(
body=f"Hello, {name}!",
status=200,
content_type="text/plain",
)
if __name__ == "__main__":
print(f"Starting Python worker (hub: {hub_url})...")
app.run()