python-executor
We need to translate the given text from English to Thai. The text describes a skill called "python-executor" but the instruction says not to include the name unless it appears in the source text. The name does appear in the source? Actually the source text starts with "Execute Python code..." and does not mention "python-executor" explicitly. The instruction says "Do not include the name unless it appears in the source text." The name is given in the context but not in the <text> block. So we should not add it. We need to preserve product names, protocol names, URLs, numbers, technical terms. So "Python", "NumPy", "Pandas", "Matplotlib", "requests", "BeautifulSoup", "Selenium", "Playwright", "MoviePy", "Pillow", "OpenCV", "trimesh", "inference.sh", "PDF" etc. should remain as is or transliterated? Usually technical terms like library names are kept in English. URLs are kept. Numbers like "100+" are kept. The text
npx skills add https://github.com/qu-skills/skills --skill python-executorInstall the belt CLI skill:
npx skills add belt-sh/cli
Python Code Executor
Execute Python code in a safe, sandboxed environment with 100+ pre-installed libraries.

Quick Start
Requires inference.sh CLI (
belt). Install instructions
belt login
# Run Python code
belt app run infsh/python-executor --input '{
"code": "import pandas as pd\nprint(pd.__version__)"
}'
App Details
| Property | Value |
|---|---|
| App ID | infsh/python-executor |
| Environment | Python 3.10, CPU-only |
| RAM | 8GB (default) / 16GB (high_memory) |
| Timeout | 1-300 seconds (default: 30) |
Input Schema
{
"code": "print('Hello World!')",
"timeout": 30,
"capture_output": true,
"working_dir": null
}
Pre-installed Libraries
Web Scraping & HTTP
requests,httpx,aiohttp- HTTP clientsbeautifulsoup4,lxml- HTML/XML parsingselenium,playwright- Browser automationscrapy- Web scraping framework
Data Processing
numpy,pandas,scipy- Numerical computingmatplotlib,seaborn,plotly- Visualization
Image Processing
pillow,opencv-python-headless- Image manipulationscikit-image,imageio- Image algorithms
Video & Audio
moviepy- Video editingav(PyAV),ffmpeg-python- Video processingpydub- Audio manipulation
3D Processing
trimesh,open3d- 3D mesh processingnumpy-stl,meshio,pyvista- 3D file formats
Documents & Graphics
svgwrite,cairosvg- SVG creationreportlab,pypdf2- PDF generation
Examples
Web Scraping
belt app run infsh/python-executor --input '{
"code": "import requests\nfrom bs4 import BeautifulSoup\n\nresponse = requests.get(\"https://example.com\")\nsoup = BeautifulSoup(response.content, \"html.parser\")\nprint(soup.find(\"title\").text)"
}'
Data Analysis with Visualization
belt app run infsh/python-executor --input '{
"code": "import pandas as pd\nimport matplotlib.pyplot as plt\n\ndata = {\"name\": [\"Alice\", \"Bob\"], \"sales\": [100, 150]}\ndf = pd.DataFrame(data)\n\nplt.bar(df[\"name\"], df[\"sales\"])\nplt.savefig(\"outputs/chart.png\")\nprint(\"Chart saved!\")"
}'
Image Processing
belt app run infsh/python-executor --input '{
"code": "from PIL import Image\nimport numpy as np\n\n# Create gradient image\narr = np.linspace(0, 255, 256*256, dtype=np.uint8).reshape(256, 256)\nimg = Image.fromarray(arr, mode=\"L\")\nimg.save(\"outputs/gradient.png\")\nprint(\"Image created!\")"
}'
Video Creation
belt app run infsh/python-executor --input '{
"code": "from moviepy.editor import ColorClip, TextClip, CompositeVideoClip\n\nclip = ColorClip(size=(640, 480), color=(0, 100, 200), duration=3)\ntxt = TextClip(\"Hello!\", fontsize=70, color=\"white\").set_position(\"center\").set_duration(3)\nvideo = CompositeVideoClip([clip, txt])\nvideo.write_videofile(\"outputs/hello.mp4\", fps=24)\nprint(\"Video created!\")",
"timeout": 120
}'
3D Model Processing
belt app run infsh/python-executor --input '{
"code": "import trimesh\n\nsphere = trimesh.creation.icosphere(subdivisions=3, radius=1.0)\nsphere.export(\"outputs/sphere.stl\")\nprint(f\"Created sphere with {len(sphere.vertices)} vertices\")"
}'
API Calls
belt app run infsh/python-executor --input '{
"code": "import requests\nimport json\n\nresponse = requests.get(\"https://api.github.com/users/octocat\")\ndata = response.json()\nprint(json.dumps(data, indent=2))"
}'
File Output
Files saved to outputs/ are automatically returned:
# These files will be in the response
plt.savefig('outputs/chart.png')
df.to_csv('outputs/data.csv')
video.write_videofile('outputs/video.mp4')
mesh.export('outputs/model.stl')
Variants
# Default (8GB RAM)
belt app run infsh/python-executor --input input.json
# High memory (16GB RAM) for large datasets
belt app run infsh/python-executor@high_memory --input input.json
Use Cases
- Web scraping - Extract data from websites
- Data analysis - Process and visualize datasets
- Image manipulation - Resize, crop, composite images
- Video creation - Generate videos with text overlays
- 3D processing - Load, transform, export 3D models
- API integration - Call external APIs
- PDF generation - Create reports and documents
- Automation - Run any Python script
Important Notes
- CPU-only - No GPU/ML libraries (use dedicated AI apps for that)
- Safe execution - Runs in isolated subprocess
- Non-interactive - Use
plt.savefig()notplt.show() - File detection - Output files are auto-detected and returned
Related Skills
# AI image generation (for ML-based images)
npx skills add inference-sh/skills@ai-image-generation
# AI video generation (for ML-based videos)
npx skills add inference-sh/skills@ai-video-generation
# LLM models (for text generation)
npx skills add inference-sh/skills@llm-models
Documentation
- Running Apps - How to run apps via CLI
- App Code - Understanding app execution
- Sandboxed Code Execution - Safe code execution for agents