You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/features/chat-conversations/chat-features/code-execution/index.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,8 +37,10 @@ Pyodide runs Python in the browser via WebAssembly. It is sandboxed and safe for
37
37
Pyodide works well for **text analysis, hash computation, chart generation, file processing**, and other self-contained tasks. Chart libraries like matplotlib produce base64-encoded images that Open WebUI automatically captures, uploads as files, and injects direct image links into the output — so models can display charts directly in chat without any extra setup.
38
38
:::
39
39
40
-
:::warning Not suited for heavy workloads
41
-
Pyodide runs Python via WebAssembly inside the browser, which is **significantly slower** than native Python execution. Large datasets, complex computations, ML model training, and CPU-intensive tasks will be noticeably slow or may hit memory limits. Additionally, many Python packages that rely on C extensions, system calls, or native binaries are **not available** in Pyodide — the library ecosystem is a limited subset of what a full Python environment offers. For demanding workloads, use **Open Terminal** instead, which provides full native performance and unrestricted package access inside a Docker container.
40
+
:::warning Best for basic analysis only
41
+
Pyodide runs Python via WebAssembly inside the browser. The AI **cannot install additional libraries** beyond the small fixed set listed below — any code that imports an unsupported package will fail. Execution is also **significantly slower** than native Python, and large datasets or CPU-intensive tasks may hit browser memory limits. Pyodide is best suited for **basic file analysis, simple calculations, text processing, and chart generation**. For anything more demanding, use **Open Terminal** instead, which provides full native performance and unrestricted package access inside a Docker container.
42
+
43
+
Available libraries: micropip, requests, beautifulsoup4, numpy, pandas, matplotlib, seaborn, scikit-learn, scipy, regex, sympy, tiktoken, pytz, and the Python standard library. **Nothing else can be installed at runtime.**
Copy file name to clipboardExpand all lines: docs/features/chat-conversations/chat-features/code-execution/python.md
+22-19Lines changed: 22 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -141,25 +141,28 @@ The Pyodide worker is **persistent** — it is created once and reused across co
141
141
142
142
### Supported Libraries
143
143
144
-
Pyodide includes the following pre-configured packages:
145
-
146
-
- micropip
147
-
- packaging
148
-
- requests
149
-
- beautifulsoup4
150
-
- numpy
151
-
- pandas
152
-
- matplotlib
153
-
- scikit-learn
154
-
- scipy
155
-
- regex
156
-
157
-
:::note
158
-
Packages not pre-compiled in Pyodide cannot be installed at runtime. For additional packages, consider using Open Terminal or forking Pyodide to add custom packages.
159
-
:::
160
-
161
-
:::warning Performance Limitations
162
-
Pyodide executes Python via WebAssembly in the browser, which is **significantly slower** than native execution. Heavy computations, large dataset processing, ML training, and memory-intensive tasks may be slow, unresponsive, or hit browser memory limits. Many packages that depend on C extensions or system-level libraries are also unavailable. For demanding workloads, use **[Open Terminal](/features/chat-conversations/chat-features/code-execution#open-terminal)** instead — it provides full native performance and unrestricted package access.
144
+
Pyodide includes the following packages, which are auto-detected from import statements and loaded on demand:
145
+
146
+
| Package | Use case |
147
+
|---------|----------|
148
+
| micropip | Package installer (internal use) |
149
+
| requests | HTTP requests |
150
+
| beautifulsoup4 | HTML/XML parsing |
151
+
| numpy | Numerical computing |
152
+
| pandas | Data analysis and manipulation |
153
+
| matplotlib | Chart and plot generation |
154
+
| seaborn | Statistical data visualization |
155
+
| scikit-learn | Machine learning |
156
+
| scipy | Scientific computing |
157
+
| regex | Advanced regular expressions |
158
+
| sympy | Symbolic mathematics |
159
+
| tiktoken | Token counting for LLMs |
160
+
| pytz | Timezone handling |
161
+
162
+
The Python standard library is also fully available (json, csv, math, datetime, os, io, etc.).
163
+
164
+
:::warning No runtime installation
165
+
The AI **cannot install additional libraries** beyond the list above. Any code that imports an unsupported package will fail with an import error. Packages that require C extensions, system calls, or native binaries (e.g., torch, tensorflow, opencv, psycopg2) are **not available** and cannot be made available in Pyodide. Pyodide is best suited for **basic file analysis, simple calculations, text processing, and chart generation**. For full Python package access, use **[Open Terminal](/features/chat-conversations/chat-features/code-execution#open-terminal)** instead.
0 commit comments