Python Code Executor
Execute Python code in a safe, sandboxed environment with 100+ pre-installed libraries.
Quick Start
Requires inference.sh CLI (infsh ). Get installation instructions: npx skills add inference-sh/skills@agent-tools
infsh login
Run Python code
infsh 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 clients
-
beautifulsoup4 , lxml
-
HTML/XML parsing
-
selenium , playwright
-
Browser automation
-
scrapy
-
Web scraping framework
Data Processing
-
numpy , pandas , scipy
-
Numerical computing
-
matplotlib , seaborn , plotly
-
Visualization
Image Processing
-
pillow , opencv-python-headless
-
Image manipulation
-
scikit-image , imageio
-
Image algorithms
Video & Audio
-
moviepy
-
Video editing
-
av (PyAV), ffmpeg-python
-
Video processing
-
pydub
-
Audio manipulation
3D Processing
-
trimesh , open3d
-
3D mesh processing
-
numpy-stl , meshio , pyvista
-
3D file formats
Documents & Graphics
-
svgwrite , cairosvg
-
SVG creation
-
reportlab , pypdf2
-
PDF generation
Examples
Web Scraping
infsh 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
infsh 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
infsh 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
infsh 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
infsh 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
infsh 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)
infsh app run infsh/python-executor --input input.json
High memory (16GB RAM) for large datasets
infsh 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() not plt.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