Files
n8n-python/server.py
2026-01-05 06:49:21 +01:00

35 lines
746 B
Python

from fastapi import FastAPI
from pydantic import BaseModel
import subprocess
import tempfile
import sys
import os
app = FastAPI()
class CodeRequest(BaseModel):
code: str
@app.post("/execute")
def execute_code(req: CodeRequest):
with tempfile.NamedTemporaryFile(
suffix=".py", delete=False
) as f:
f.write(req.code.encode("utf-8"))
filename = f.name
try:
result = subprocess.run(
[sys.executable, filename],
capture_output=True,
text=True,
timeout=30
)
return {
"stdout": result.stdout,
"stderr": result.stderr,
"returncode": result.returncode
}
finally:
os.remove(filename)