Skip to content

Commit ccc666d

Browse files
committed
docs: emphasize Pyodide cannot install additional libraries, update complete package list
1 parent d17fa6b commit ccc666d

2 files changed

Lines changed: 26 additions & 21 deletions

File tree

docs/features/chat-conversations/chat-features/code-execution/index.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,10 @@ Pyodide runs Python in the browser via WebAssembly. It is sandboxed and safe for
3737
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.
3838
:::
3939

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.**
4244
:::
4345

4446
:::note Mutually exclusive with Open Terminal

docs/features/chat-conversations/chat-features/code-execution/python.md

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -141,25 +141,28 @@ The Pyodide worker is **persistent** — it is created once and reused across co
141141

142142
### Supported Libraries
143143

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.
163166
:::
164167

165168
## Persistent File System

0 commit comments

Comments
 (0)