PythonIDE Router

June 10, 2026 · View on GitHub

Thin routing skill for external coding agents. Load a focused companion skill before generating code.

Read First

  1. AI one-page guide
  2. llms-full.txt for hard rules and public API surfaces
  3. Native capabilities schema before any import of iOS modules
  4. Focused module page on pythonide.xin/docs when examples or Chinese scenario text help

Do not invent APIs from SwiftUI, UIKit, React, browser, tkinter, PyQt, Flask, or Streamlit memory.

Runtime Routing

RuntimeImportSkillDoc
AppUI MiniAppimport appuipythonide-appuiappui-module
Home Screen widgetimport widgetpythonide-widgetwidget-module
2D game / sceneimport scenepythonide-scenescene-module
Legacy UI scriptimport uipythonide-automationui-module
Turtle graphicsimport turtlepythonide-sceneturtle-module
Plain Python / shortcutsstdlib + native modulespythonide-automation / pythonide-nativeios-native

Companion Skills

SkillLoad when
pythonide-appuiForms, lists, tabs, navigation, dashboards, AppUI media controls
pythonide-nativePermissions, sensors, photos, location, notifications, networking, keychain, device APIs
pythonide-widgetWidgetKit home screen widgets
pythonide-sceneGames, sprites, physics, frame loops, turtle
pythonide-automationShortcuts, keyboard snippets, legacy ui, batch scripts

Decision Rules

  1. Default interactive apppythonide-appui
  2. Home Screen widgetpythonide-widget (never AppUI)
  3. Continuous animation / game looppythonide-scene (never AppUI navigation)
  4. Needs iOS capability behind UIpythonide-appui + pythonide-native
  5. Only scripts / Shortcut / editor helperpythonide-automation or pythonide-native
  6. Pythonista-compatible imperative UIpythonide-automation (ui runtime)

AppUI + Native Pairing

When a MiniApp needs camera, photos, location, files, share, notifications, storage, or device state:

  1. Build the shell with pythonide-appui
  2. Load pythonide-native for module choice, permissions, and callback-side effects
  3. Prefer AppUI bridge components (PhotoPicker, CameraPicker, MapView, FileImporter, ShareLink, VideoPlayer) before imperative modules when the UI is inline
  4. Never call native APIs from AppUI body()

Schema Entry Kinds

Route from native capabilities schema:

KindMeaningAction
moduleimport <name>Read module doc + pythonide-native
appui_bridgeappui.<Component>Read pythonide-appui bridge table
topicNo direct importFollow topic doc; often AppUI-first
referenceDocs onlyDo not import

Output Contract

  • Deliver runnable Python for PythonIDE unless the user asks for explanation only
  • One primary runtime per artifact
  • JSON-safe data in storage / database; secrets only in keychain
  • Say when hardware, permission, or preview validation cannot be proven from editor context