Settings
Settings lets you customize the app’s appearance, editor behavior, navigation layout, and Python session. It also provides help resources, keyboard shortcuts, and diagnostic tools.




What you are seeing above:
- Appearance: theme, custom editor themes, font sizes
- Editor: syntax highlighting, brackets, line numbers, indentation
- Layout: tab bar vs. multi-pane workspace (iPad)
- Session: restart Python, clear outputs, startup log
- Cloud Sync, Keyboard, Plots, Help, About, Support, and more
Appearance
Pick a theme, tune font sizes, and customize the editor color scheme. Changes take effect immediately, with no restart needed.




Theme & Font Size
For full details on built-in themes, custom theme creation, importing VS Code themes, accent colors, and font size options, see the dedicated Themes page.
Editor Settings
These settings control how the code editor looks and behaves when you type or paste code.




| Setting | Description |
|---|---|
| Syntax Highlighting | Toggle Python syntax highlighting on or off. When enabled, keywords, strings, comments, and functions are color-coded. |
| Rainbow Brackets | Color-codes matching pairs of parentheses, brackets, and braces so you can see nesting at a glance. |
| Show Line Numbers | Displays line numbers in the left gutter. |
| Code Folding | Allows collapsing function definitions, class bodies, loops, and other blocks by tapping the fold indicator in the gutter. |
| Auto-Indent | Automatically indents new lines to match the current block level when you press return. |
| Indentation Style | Choose between spaces or tabs for indentation. |
| Tab Size | Number of spaces per indentation level (2 or 4). Only applies when using spaces. |
Layout
Layout controls how you navigate between the Notebook, Editor, Console, Plots, and other sections. Three modes are available:
| Mode | Availability | Description |
|---|---|---|
| Tab Bar | iPhone and iPad | The default on iPhone. A row of tab icons along the bottom edge gives single-tap access to every section. Each tab shows a full-screen view. |
| Sidebar | iPad only | A collapsible sidebar lists all sections (Notebook, Editor, Console, Environment, Plots, Files, Packages, Help, Settings). Tap a section to show it in the detail pane. The sidebar can be hidden for more screen space. |
| Multi-Pane Workspace | iPad only | The default on iPad. Shows multiple panes simultaneously: Editor or Notebook in the top-left, Console in the bottom-left, Environment in the top-right, and a tabbed pane for Plots, Files, Packages, Help, and Settings in the bottom-right. Drag dividers to resize any pane. |




On iPad, try Multi-Pane Workspace in landscape for a desktop-like experience. Sidebar mode is a good middle ground if you want more screen space for the active view but still need quick section switching. On iPhone, the Tab Bar layout makes the best use of the smaller screen.
Session
Controls for the Python engine. This is where you go when you need to restart Python, clear outputs, or check the startup log.




| Action | Description |
|---|---|
| Restart Python | Completely restarts the Pyodide runtime. Clears all variables, loaded packages, and outputs. Preserves your files and cached wheels. The runtime takes a few seconds to reinitialize. |
| Clear All Outputs | Removes all output cells from the current notebook and clears the console history, without affecting variables or loaded packages. |
| View Startup Log | Shows what happened during the most recent Pyodide initialization: load time, cached packages restored, and any warnings or errors. |
If the app feels slow or behaves unexpectedly, try restarting Python. Your cached packages will be restored automatically on the next session.
Cloud Sync




| Setting | Description |
|---|---|
| iCloud Sync | Toggle on to sync notebooks and scripts to iCloud Documents. Files are available across all devices signed into the same Apple Account. |
| Sync Status | Shows the current sync state and the last sync time. |
Keyboard Shortcuts
A reference card showing all available shortcuts. These are especially useful with an external keyboard on iPad.




Default shortcuts:
| Category | Action | Shortcut |
|---|---|---|
| Run | Run Cell / Selection | Cmd+Enter |
| Run | Run All Cells | Cmd+Shift+Enter |
| File | Save | Cmd+S |
| File | New File | Cmd+N |
| File | Close File | Cmd+W |
| Find | Find | Cmd+F |
| Find | Find & Replace | Cmd+Option+F |
| Edit | Toggle Comment | Cmd+/ |
| Edit | Duplicate Line | Cmd+D |
| Navigate | Code Completion | Ctrl+Space |
Customizing shortcuts
All shortcuts are fully customizable. Go to Settings > Keyboard Shortcuts to see the list. Tap any shortcut to open the editor where you can:
- Choose modifier keys (Command, Option, Control, Shift) with toggle buttons
- Pick a key from a grid of letters, numbers, and special characters
- See a live preview of the shortcut combination
- Reset an individual shortcut to its default
A blue dot appears next to shortcuts you have customized. Use Reset All to Defaults at the bottom of the list to undo all customizations at once.
On iPad, hold the Cmd key to see a discoverability overlay listing all active shortcuts for the current screen.
Plot Settings
Controls how plots are displayed and cached.
| Setting | Description |
|---|---|
| Plot Display Mode | How new plots appear when generated from the Editor or Console. See the Plots guide for details on each mode. |
| Plot Background | Background color behind rendered plots. See the Themes page for options. |
Plot Display Mode
| Mode | Description |
|---|---|
| Tab Only | Plots appear only in the Plots tab gallery. This is the default. |
| Floating | A draggable thumbnail appears in the corner of the screen when a new plot is generated. Tap to expand, swipe to dismiss. |
| Sheet | A bottom sheet previews new plots with dismiss and expand options. |
| Inline | Plots render directly in the output stream (Editor output tray or Console). |




Help Resources
Quick access to documentation and learning materials, organized by category.




Getting Started
| Item | Description |
|---|---|
| Show Tutorial | Replays the onboarding walkthrough that you saw when you first opened the app. |
| Keyboard Shortcuts | Opens the shortcut reference card (also accessible via Cmd+? on external keyboards). |
Python Documentation
| Item | Description |
|---|---|
| Pyodide Docs | The Pyodide project documentation at pyodide.org. |
| Python 3 Docs | Official Python language reference at docs.python.org. |
| Available Packages | List of packages available for Pyodide/WebAssembly. |
| micropip Docs | Documentation for the micropip package manager used to install packages. |
Community
| Item | Description |
|---|---|
| Pyodide GitHub | The Pyodide open-source repository for issues and discussions. |
| NumPy Docs | NumPy reference documentation. |
| Matplotlib Docs | Matplotlib plotting library documentation. |
About
Version numbers, runtime details, legal documents, credits, and open-source licenses.




Version and Runtime
| Item | Value |
|---|---|
| App Version / Build | Current release version and build number from the App Store. |
| Pyodide Version | 0.29.3 (the WebAssembly Python runtime bundled with the app). |
| Python Version | Python 3.13.2 (the CPython version compiled into Pyodide). |
| Runtime | WebAssembly (Pyodide runs entirely in a WKWebView, no server required). |
Credits and Legal
| Item | Description |
|---|---|
| Acknowledgments | Credits for the open-source projects that make Pyodios possible: Pyodide, CPython, Comlink, micropip, and others. |
| Licenses | Open-source licenses for all bundled technologies (MPL-2.0 for Pyodide, PSF License for CPython, Apache 2.0 for Comlink). |
| Privacy Policy | Link to the app’s privacy policy. |
| Terms of Use | Link to the terms of service. |
Error Log
The error log captures warnings and errors that occur during your session. You can view the log and export it as a text file for troubleshooting or when reporting issues.




| Item | Description |
|---|---|
| View Error Log | Opens the full error log with timestamps and error details. |
| Export Error Log | Shares the log file via the iOS share sheet so you can email it or save it. |
| Clear Error Log | Removes all logged entries. |
Support
Diagnostic tools and a feedback form for reporting bugs or suggesting features.




| Item | Description |
|---|---|
| Send Feedback | Opens a form where you pick a type (Bug Report, Feature Request, Question, or Other) and describe the issue. |
| Detailed Logging | Captures extra diagnostic information in error logs. Turn this on before reproducing an issue. |
| Diagnostic Logs | Comprehensive logs that include device info, Python version, and session details. Export these when reporting a bug. |
To report a problem effectively: enable Detailed Logging, reproduce the issue, then tap Send Feedback to submit a report with logs attached.
Toolbar Customization
You can rearrange and show or hide toolbar items to match your workflow. Long-press the toolbar to enter edit mode, then:
- Drag items to reorder them
- Toggle items on or off to show or hide them
- Reset to restore the default toolbar layout
This lets you put your most-used actions front and center and hide anything you rarely use.
Debug
Built-in workflow tests for QA and troubleshooting. These are primarily intended for development and testing, but can be useful if you want to verify that all parts of the app are working correctly.
| Item | Description |
|---|---|
| Run All Tests | Executes a suite of built-in workflow tests that verify the Console, Editor, Notebook, Plots, and other features are functioning. |
| Test Results | Shows pass/fail status for each test category. |
Reset All Settings
At the very bottom of Settings, there is a Reset All Settings button that restores every setting to its default value. This does not delete your files or remove cached packages; it only resets preferences like theme, font sizes, and toggles. You will get a confirmation prompt before anything happens.