Inquir Compute
Browse sections

Runtimes

Compare Node.js 22, Python 3.12, and Go 1.22 side by side: each runtime id maps to a curated Docker image, handler convention, and the same invocation protocol once your bundle is deployed.

Three runtimes are supported out of the box. Select the runtime when creating a function — the platform auto-selects the correct Docker image and adjusts the invocation protocol.

RuntimeRuntime IDHandler Convention
Node.js 22nodejs22exports.handler = async (event, context) => …
Python 3.12python312def handler(event, context): … (sync or async)
Go 1.22go122func Handler(event, ctx map[string]interface{}) (interface{}, error)

Node.js 22

index.js
// Gateway HTTP: POST JSON is in event.body (string). Editor Run: the JSON you type is the whole event root.
const payload = typeof event.body === 'string' ? JSON.parse(event.body || '{}') : (event || {});

exports.handler = async (event, context) => {
  // Example: const { name } = payload;
  return {
    statusCode: 200,
    body: JSON.stringify({ message: "Hello from Inquir Compute!" }),
  };
};

Python 3.12

handler.py
import json

def handler(event, context):
    raw = event.get("body")
    payload = json.loads(raw) if isinstance(raw, str) else (event if isinstance(event, dict) else {})
    # Example: name = payload.get("name")
    return {
        "statusCode": 200,
        "body": json.dumps({"message": "Hello from Inquir Compute!"}),
    }

Go 1.22

main.go
package main

import "encoding/json"

func parsePayload(event map[string]interface{}) map[string]interface{} {
	if s, ok := event["body"].(string); ok && s != "" {
		var out map[string]interface{}
		if err := json.Unmarshal([]byte(s), &out); err != nil || out == nil {
			return map[string]interface{}{}
		}
		return out
	}
	return event
}

func Handler(event map[string]interface{}, ctx map[string]interface{}) (interface{}, error) {
	_ = parsePayload(event)
	body, _ := json.Marshal(map[string]interface{}{
		"message": "Hello from Inquir Compute!",
	})
	return map[string]interface{}{
		"statusCode": 200,
		"body":       string(body),
	}, nil
}

All three runtimes support hot lambdas, layers, environment variables, and the observability SDK.