PythonIDE Docs

One link for users and AI

Build PythonIDE Mini Apps and Widgets with documented APIs.

This page is generated from the same AppUI, Widget, Native, scene, and ui facts used by the app docs. Send this URL to ChatGPT, Claude, Gemini, or another AI and ask it to generate PythonIDE code.

llms.txt llms-full.txt
118AppUI exports
91Widget APIs
33Native modules
145ui exports
83scene exports

Send This To AI

Copy this prompt when users want an external AI to generate a Mini App, widget, scene script, or ui script.

请阅读 PythonIDE 文档并生成可直接运行的代码:https://pythonide.xin/docs/ 目标: - 如果我要 Mini App,请使用 appui。 - 如果我要 iOS 桌面小组件,请使用 widget。 - 如果我要 2D 场景或小游戏,请使用 scene。 - 如果我要 Pythonista 兼容界面,请使用 ui。 - iOS 原生能力只能使用文档和 schema 列出的模块。 硬性要求: - 不要编造 API 或参数。 - 不要使用 tkinter、PyQt、Flask、Streamlit 或网页服务器框架。 - 输出一个可直接在 PythonIDE 中运行的 Python 文件。

Quick Starts

Mini App

Use appui for interactive native UI.

Widget

Use widget for iOS Home Screen widgets.

Native

Use only modules listed in the native schema.

Mini App / AppUI

import appui

state = appui.State(count=0)

def increase():
    state.batch_update(count=state.count + 1)

def body(view_state):
    return appui.NavigationStack(
        appui.VStack([
            appui.Text("Mini App").font("title2").bold(),
            appui.Text(f"Count: {view_state.count}").font("title3"),
            appui.Button("Increase", action=increase).button_style("bordered_prominent"),
        ], spacing=16).padding()
    ).navigation_title("Counter")

appui.run(body, state=state)

Widget

import widget

w = widget.Widget(background="#101820", padding=16)
w.text("PythonIDE", size=18, weight="bold", color="#ffffff")
w.spacer(6)
w.metric("Scripts", "24", unit="ready", tone="accent")
w.progress(0.72, color="#34d399")
w.render()

iOS Native Capabilities

Native modules are permission-aware. AI should check permissions and failure states before generating code that touches user data or device sensors.

ModuleCategoryPermissionsCapabilitiesUser action
avplayermediaVisionNoneaudio_video_load, playback_control, native_playerYes
backgroundnetworkDataNonebackground_task, remaining_time, app_stateYes
biometricdeviceSensorsbiometricface_id, touch_id, passcode_fallbackYes
bluetoothnetworkDatabluetoothble_scan, ble_connect, read, writeYes
c_extensionsnetworkDataNonebundled_extension_inventory, ios_compatibility_guidanceNo
calendar_eventssystemServicescalendar, reminderscalendar_read, calendar_write, remindersYes
clipboardsystemServicesNoneread_clipboard, write_clipboard, clear_clipboardYes
consolesystemServicesNonehud, alerts, input_dialogsYes
contactssystemServicescontactscontacts_read, contacts_picker, contacts_editYes
coremlmediaVisionNonemodel_listing, model_loading, image_predictionNo
databasesystemServicesNonesqlite, collections, transactionsNo
devicedeviceSensorsNonedevice_state, screen, battery, thermal_stateNo
dialogssystemServicesNonenative_dialogs, forms, pickersYes
hapticsdeviceSensorsNoneimpact_feedback, notification_feedback, core_hapticsYes
healthdeviceSensorshealthsteps, heart_rate, sleep, body_metricsYes
keyboardautomationExtensionsNonetoolbar_buttons, insert_text, set_buttonsYes
keychainsystemServicesNonesecure_password_storage, service_listingNo
live_activitysystemServicesNonedynamic_island, lock_screen_activityYes
locationdeviceSensorslocationgps, heading, geocodingYes
motiondeviceSensorsmotionaccelerometer, gyroscope, attitude, barometerYes
networknetworkDataNonehttp, download, connectivityNo
nfcsystemServicesnfcndef_scan, ndef_writeYes
notificationsystemServicesnotificationslocal_notifications, badges, scheduled_alertsYes
objc_utilautomationExtensionsNoneobjective_c_runtime, framework_bridgeNo
permissionsystemServicesbiometric, bluetooth, calendar, camera, contacts, health, location, microphone, motion, nfc, notifications, photos, reminders, speechpermission_status, permission_requestYes
photosmediaVisionphotos, cameraphoto_picker, camera_capture, photo_save, asset_readYes
shortcutsautomationExtensionsNonerun_shortcut, open_url, open_settingsYes
soundmediaVisionNonesound_effects, audio_playerYes
speechmediaVisionspeechtext_to_speech, voice_listingYes
storagesystemServicesNoneuser_defaults, json_valuesNo
visionmediaVisionNoneocrNo
vision_helpermediaVisionNoneface_detection, barcode_detection, rectangle_detection, classificationNo
websocketnetworkDataNonewebsocket_connect, send, receive, closeNo
Native module public API names

avplayer

avplayer.Playeravplayer.loadavplayer.playavplayer.pauseavplayer.stopavplayer.seekavplayer.durationavplayer.current_timeavplayer.is_playingavplayer.set_volumeavplayer.set_rateavplayer.present_videoavplayer.on_progressavplayer.stop_progressavplayer.on_endavplayer.cleanup

background

background.begin_taskbackground.end_taskbackground.remaining_timebackground.app_statebackground.start_keep_alivebackground.stop_keep_alivebackground.schedule_refreshbackground.schedule_processing

biometric

biometric.biometric_typebiometric.is_availablebiometric.authenticatebiometric.authenticate_with_passcode

bluetooth

bluetooth.statebluetooth.scanbluetooth.stop_scanbluetooth.connectbluetooth.disconnectbluetooth.discover_servicesbluetooth.readbluetooth.write

c_extensions

calendar_events

calendar_events.authorization_statuscalendar_events.request_accesscalendar_events.get_calendarscalendar_events.get_eventscalendar_events.create_eventcalendar_events.delete_eventcalendar_events.request_reminder_accesscalendar_events.get_reminderscalendar_events.create_remindercalendar_events.complete_remindercalendar_events.delete_reminder

clipboard

clipboard.getclipboard.setclipboard.clearclipboard.get_textclipboard.set_text

console

console.alertconsole.hud_alertconsole.input_alertconsole.login_alertconsole.password_alertconsole.set_colorconsole.set_fontconsole.clearconsole.write_link

contacts

contacts.PERSONcontacts.ORGANIZATIONcontacts.ContactsErrorcontacts.Personcontacts.Groupcontacts.Containercontacts.PropertySelectioncontacts.authorization_statuscontacts.capabilitiescontacts.is_authorizedcontacts.request_accesscontacts.get_all_peoplecontacts.get_personcontacts.get_mecontacts.findcontacts.find_by_phonecontacts.find_by_emailcontacts.add_personcontacts.remove_personcontacts.savecontacts.revertcontacts.get_all_groupscontacts.get_groupcontacts.add_groupcontacts.remove_groupcontacts.get_all_containerscontacts.get_default_containercontacts.get_people_in_groupcontacts.get_people_in_containercontacts.get_groups_in_containercontacts.pick_contactcontacts.pick_contactscontacts.pick_propertycontacts.show_personcontacts.edit_personcontacts.new_personcontacts.export_vcardscontacts.import_vcardscontacts.get_change_historycontacts.manage_limited_accesscontacts.localized_label

coreml

coreml.list_modelscoreml.load_modelcoreml.predict_imagecoreml.model_info

database

database.Databasedatabase.Collectiondatabase.opendatabase.connectdatabase.default_databasedatabase.collectiondatabase.database_path

device

device.namedevice.modeldevice.system_namedevice.system_versiondevice.identifier_for_vendordevice.battery_leveldevice.battery_statedevice.orientationdevice.screen_widthdevice.screen_heightdevice.screen_sizedevice.screen_scaledevice.screen_brightnessdevice.set_screen_brightnessdevice.total_memorydevice.processor_countdevice.system_uptimedevice.thermal_statedevice.is_low_power_modedevice.localedevice.timezonedevice.preferred_languages

dialogs

dialogs.alertdialogs.input_alertdialogs.list_dialogdialogs.form_dialogdialogs.date_dialogdialogs.hud_alertdialogs.editor

haptics

haptics.impacthaptics.notificationhaptics.selectionhaptics.successhaptics.warninghaptics.errorhaptics.lighthaptics.mediumhaptics.heavyhaptics.is_supportedhaptics.playhaptics.stop

health

health.is_availablehealth.request_authorizationhealth.authorization_statushealth.query_stepshealth.query_heart_ratehealth.query_weighthealth.save_weighthealth.query_workoutshealth.query_sleephealth.query_quantityhealth.query_blood_pressurehealth.summarize_blood_pressure

keyboard

keyboard.add_buttonkeyboard.add_groupkeyboard.remove_buttonkeyboard.clearkeyboard.insert_textkeyboard.insert_snippetkeyboard.move_cursorkeyboard.Buttonkeyboard.set_buttons

keychain

keychain.get_passwordkeychain.set_passwordkeychain.delete_passwordkeychain.get_services

live_activity

live_activity.startlive_activity.updatelive_activity.endlive_activity.is_supported

location

location.authorization_statuslocation.is_authorizedlocation.request_accesslocation.start_updateslocation.stop_updateslocation.get_locationlocation.start_headinglocation.stop_headinglocation.get_headinglocation.reverse_geocodelocation.geocode

motion

motion.is_availablemotion.start_updatesmotion.stop_updatesmotion.start_accelerometermotion.stop_accelerometermotion.start_gyroscopemotion.stop_gyroscopemotion.start_magnetometermotion.stop_magnetometermotion.start_altimetermotion.stop_altimetermotion.get_accelerationmotion.get_gravitymotion.get_rotation_ratemotion.get_magnetic_fieldmotion.get_attitudemotion.get_altitude

network

network.is_connectednetwork.connection_typenetwork.is_expensivenetwork.is_constrainednetwork.requestnetwork.getnetwork.postnetwork.putnetwork.deletenetwork.patchnetwork.downloadnetwork.Response

nfc

nfc.is_availablenfc.scannfc.write

notification

notification.request_permissionnotification.authorization_statusnotification.schedulenotification.schedule_at_datenotification.remove_pendingnotification.remove_all_pendingnotification.pending_countnotification.pending_identifiersnotification.set_badge

objc_util

objc_util.cobjc_util.LP64objc_util.CGFloatobjc_util.NSIntegerobjc_util.NSUIntegerobjc_util.NSNotFoundobjc_util.NSUTF8StringEncodingobjc_util.NS_UTF8objc_util.CGPointobjc_util.CGSizeobjc_util.CGVectorobjc_util.CGRectobjc_util.CGAffineTransformobjc_util.UIEdgeInsetsobjc_util.NSRangeobjc_util.selobjc_util.ObjCClassobjc_util.ObjCInstanceobjc_util.ObjCClassMethodobjc_util.ObjCInstanceMethodobjc_util.NSObjectobjc_util.NSArrayobjc_util.NSMutableArrayobjc_util.NSDictionaryobjc_util.NSMutableDictionaryobjc_util.NSSetobjc_util.NSMutableSetobjc_util.NSStringobjc_util.NSMutableStringobjc_util.NSDataobjc_util.NSMutableDataobjc_util.NSNumberobjc_util.NSURLobjc_util.NSEnumeratorobjc_util.NSThreadobjc_util.NSBundleobjc_util.UIColorobjc_util.UIImageobjc_util.UIBezierPathobjc_util.UIApplicationobjc_util.UIViewobjc_util.ObjCBlockobjc_util.nsobjc_util.nsurlobjc_util.retain_globalobjc_util.release_globalobjc_util.on_main_threadobjc_util.create_objc_classobjc_util.Structureobjc_util.sizeofobjc_util.byrefobjc_util.c_void_pobjc_util.c_charobjc_util.c_byteobjc_util.c_char_pobjc_util.c_doubleobjc_util.c_floatobjc_util.c_intobjc_util.c_longlongobjc_util.c_shortobjc_util.c_boolobjc_util.c_longobjc_util.c_int32objc_util.c_ubyteobjc_util.c_uintobjc_util.c_ushortobjc_util.c_ulongobjc_util.c_ulonglongobjc_util.POINTERobjc_util.pointerobjc_util.load_frameworkobjc_util.nsdata_to_bytesobjc_util.uiimage_to_pngobjc_util.autoreleasepool

permission

permission.statuspermission.requestpermission.status_allpermission.MODULES

photos

photos.pick_imagephotos.capture_imagephotos.save_imagephotos.get_assetsphotos.pick_assetphotos.get_imagephotos.Assetphotos.AssetCollectionphotos.get_albumsphotos.get_smart_albumsphotos.get_momentsphotos.create_albumphotos.get_screenshots_albumphotos.get_recently_added_albumphotos.get_selfies_albumphotos.pick_image_base64photos.capture_image_base64photos.image_to_base64photos.base64_to_imagephotos.get_favoritesphotos.get_countphotos.get_recent_imagesphotos.get_image_sizephotos.get_metadataphotos.is_available

shortcuts

shortcuts.run_shortcutshortcuts.open_urlshortcuts.open_settings

sound

sound.play_effectsound.stop_effectsound.stop_all_effectssound.Playersound.MIDIPlayersound.set_volumesound.set_honors_silent_switchsound.get_volume

speech

speech.sayspeech.stopspeech.pausespeech.resumespeech.is_speakingspeech.available_voices

storage

storage.getstorage.setstorage.get_intstorage.set_intstorage.get_floatstorage.set_floatstorage.get_boolstorage.set_boolstorage.get_jsonstorage.set_jsonstorage.removestorage.has_keystorage.all_keys

vision

vision.setup_vision_frameworkvision.is_vision_availablevision.recognize_text_from_image_data

vision_helper

vision_helper.setup_vision_frameworkvision_helper.is_vision_availablevision_helper.detect_facesvision_helper.detect_face_landmarksvision_helper.detect_barcodesvision_helper.classify_imagevision_helper.detect_rectanglesvision_helper.async_requestvision_helper.poll_result

websocket

websocket.connectwebsocket.WebSocket

Complete Public API Surface

Search the generated API surface. Internal and agent-hidden names are excluded from new AI output; widget compatibility names are listed separately.

AppUI functions, views, helpers, and modifiers

Functions and views

APIKindSignature
adaptivefunctionadaptive(minimum: float = 50, maximum: Optional[float] = None) -> Dict[str, Any]
animatefunctionanimate(action: Callable[[], None], type: str = 'default') -> None
auto_refreshfunctionauto_refresh(interval: float = 1.0) -> None
bindfunctionbind(state: Union[State, ReactiveState], field_name: str) -> Dict[str, Any]
call_nativefunctioncall_native(function_name: str, **kwargs: Any) -> None
computedfunctioncomputed(state: Union[State, ReactiveState], depends_on: List[str]) -> Callable
custom_fontfunctioncustom_font(name: str, size: float = 17) -> str
dismissfunctiondismiss() -> None
dynamicfunctiondynamic(func: Callable[[], Any], value_type: str = 'auto') -> Any
effectfunctioneffect(state: Union[State, ReactiveState], depends_on: List[str]) -> Callable
fixedfunctionfixed(size: float) -> Dict[str, Any]
flexiblefunctionflexible(minimum: float = 10, maximum: Optional[float] = None) -> Dict[str, Any]
get_native_libfunctionget_native_lib() -> Optional[ctypes.CDLL]
grid_itemfunctiongrid_item(type: str = 'flexible', minimum: Optional[float] = None, maximum: Optional[float] = None, count: Optional[int] = None) -> Dict[str, Any]
preloadfunctionpreload() -> None
runfunctionrun(body_func: Optional[Union[Callable[[], View], Callable[[Union[State, ReactiveState, None]], View]]] = None, state: Optional[Union[State, ReactiveState]] = None, hot_reload: bool = False, presentation: str = 'sheet', body: Optional[Union[Callable[[], View], Callable[[Union[State, ReactiveState, None]], View]]] = None) -> None
set_custom_propfunctionset_custom_prop(view_or_handle: Any, prop_name: str, value: Any) -> None
AlertpresentationAlert(title: str = '', message: Optional[str] = None, is_presented: bool = False, actions: Optional[List[View]] = None, isPresented: Optional[bool] = None)
AsyncImagemediaAsyncImage(url: str = '', placeholder: Optional[View] = None, error_view: Optional[View] = None, content_mode: str = 'fit', on_success: Optional[Callable] = None, on_failure: Optional[Callable] = None)
AttributedTexttextAttributedText(spans: Optional[List[Dict[str, Any]]] = None)
BadgepresentationBadge(count: Optional[int] = None, text: Optional[str] = None)
ButtoncontrolButton(title: Optional[Union[str, View]] = None, action: Optional[Callable] = None, role: Optional[str] = None, content: Optional[ViewChild] = None)
CameraPickermediaCameraPicker(source: str = 'camera', media_type: str = 'photo', on_captured: Optional[Callable] = None, label: Optional[View] = None, mediaType: Optional[str] = None, onCaptured: Optional[Callable] = None, **kwargs: Any)
CanvasdrawingCanvas(width: float = 300, height: float = 300, commands: Optional[List[Dict[str, Any]]] = None, context: Optional[DrawingContext] = None)
CapsuleshapeCapsule()
ChartmediaChart(data: Optional[List[Dict[str, Any]]] = None, x: str = 'x', y: str = 'y', type: str = 'bar', color: Optional[ColorLike] = None, series: Optional[str] = None)
CircleshapeCircle()
CloseButtoncontrolCloseButton(title: str = '', system_image: str = 'xmark', systemImage: Optional[str] = None)
ColorshapeColor(value: Optional[ColorLike] = None, red: Optional[float] = None, green: Optional[float] = None, blue: Optional[float] = None, opacity: float = 1.0)
ColorPickercontrolColorPicker(label: str = '', selection: Optional[str] = None, on_change: Optional[Callable] = None, onChange: Optional[Callable] = None)
ConfirmationDialogpresentationConfirmationDialog(title: str = '', message: Optional[str] = None, is_presented: bool = False, actions: Optional[List[View]] = None, isPresented: Optional[bool] = None)
ContentUnavailableViewpresentationContentUnavailableView(title: str = '', system_image: Optional[str] = None, description: Optional[str] = None, systemImage: Optional[str] = None)
ControlGroupcontrolControlGroup(label: str = '', content: Optional[List[View]] = None, children: Optional[List[View]] = None)
DatePickercontrolDatePicker(label: str = '', selection: Optional[str] = None, components: str = 'date', on_change: Optional[Callable] = None, onChange: Optional[Callable] = None)
DisclosureGroupcollectionDisclosureGroup(label: str = '', is_expanded: Optional[bool] = None, content: Optional[ViewChild] = None, isExpanded: Optional[bool] = None, children: Optional[ViewChild] = None)
DividerlayoutDivider()
EditButtoncontrolEditButton()
EllipseshapeEllipse()
FileImportermediaFileImporter(allowed_types: Optional[Union[str, Sequence[str]]] = None, allows_multiple: bool = False, copy: bool = True, on_picked: Optional[Callable] = None, label: Optional[View] = None, allowedTypes: Optional[Union[str, Sequence[str]]] = None, allowsMultiple: Optional[bool] = None, onPicked: Optional[Callable] = None, **kwargs: Any)
ForEachcollectionForEach(data: Any, row_builder: Optional[Callable] = None, key: Optional[Callable] = None, rowBuilder: Optional[Callable] = None, content: Optional[Callable] = None)
FormcollectionForm(content: Optional[List[View]] = None)
GaugefeedbackGauge(value: float = 0.0, min_value: float = 0.0, max_value: float = 1.0, label: str = '', minValue: Optional[float] = None, maxValue: Optional[float] = None)
GeometryReaderlayoutGeometryReader(content: Optional[ViewChild] = None, on_change: Optional[Callable] = None, onChange: Optional[Callable] = None, children: Optional[ViewChild] = None, on_geometry: Optional[Callable] = None, onGeometry: Optional[Callable] = None)
GridlayoutGrid(content: Optional[List[View]] = None, alignment: str = 'center', horizontal_spacing: Optional[float] = None, vertical_spacing: Optional[float] = None, horizontalSpacing: Optional[float] = None, verticalSpacing: Optional[float] = None)
GridRowlayoutGridRow(content: Optional[List[View]] = None, alignment: Optional[str] = None)
GrouplayoutGroup(content: Optional[List[View]] = None)
GroupBoxcollectionGroupBox(label: Optional[str] = None, content: Optional[ViewChild] = None, children: Optional[List[View]] = None)
HStacklayoutHStack(content: Optional[List[View]] = None, alignment: str = 'center', spacing: Optional[float] = None)
ImagemediaImage(name: Optional[str] = None, system_name: Optional[str] = None, systemName: Optional[str] = None)
InlinePickerStylecontrolInlinePickerStyle(options: Optional[List[str]] = None, selection: Optional[str] = None, on_change: Optional[Callable] = None, onChange: Optional[Callable] = None)
LabeltextLabel(title: str = '', system_image: Optional[str] = None, image: Optional[str] = None, systemImage: Optional[str] = None)
LabeledContentcollectionLabeledContent(label: str = '', value: Optional[str] = None, content: Optional[View] = None)
LazyHGridlayoutLazyHGrid(rows: Optional[List[dict]] = None, content: Optional[List[View]] = None, spacing: Optional[float] = None, children: Optional[List[View]] = None)
LazyHStacklayoutLazyHStack(content: Optional[List[View]] = None, alignment: str = 'center', spacing: Optional[float] = None)
LazyVGridlayoutLazyVGrid(columns: Optional[List[dict]] = None, content: Optional[List[View]] = None, spacing: Optional[float] = None, children: Optional[List[View]] = None)
LazyVStacklayoutLazyVStack(content: Optional[List[View]] = None, alignment: str = 'center', spacing: Optional[float] = None)
LinkcontrolLink(title: str = '', url: str = '')
ListcollectionList(content: Optional[List[View]] = None)
MapViewmediaMapView(latitude: float = 37.7749, longitude: float = -122.4194, span: float = 0.05, markers: Optional[List[Dict[str, Any]]] = None, map_style: str = 'automatic', mapStyle: Optional[str] = None)
MenucontrolMenu(title: str = '', content: Optional[List[View]] = None, children: Optional[List[View]] = None)
MultiDatePickercontrolMultiDatePicker(title: str = '', on_change: Optional[Callable] = None, onChange: Optional[Callable] = None)
NavigationLinknavigationNavigationLink(title: Optional[str] = None, destination: Optional[View] = None, label: Optional[View] = None)
NavigationSplitViewnavigationNavigationSplitView(sidebar: Optional[View] = None, detail: Optional[View] = None, supplementary: Optional[View] = None, column_visibility: str = 'all')
NavigationStacknavigationNavigationStack(content: Optional[View] = None, path: Optional[NavigationPath] = None, destinations: Optional[Dict[str, Callable]] = None)
OverlaylayoutOverlay(content: Optional[View] = None, overlay: Optional[View] = None, alignment: str = 'center')
PasteButtoncontrolPasteButton(on_paste: Optional[Callable] = None, onPaste: Optional[Callable] = None)
PathdrawingPath(commands: Optional[List[Dict[str, Any]]] = None, fill: Optional[ColorLike] = None, stroke: Optional[ColorLike] = None, line_width: Optional[float] = None)
PhotoPickermediaPhotoPicker(selection_limit: int = 1, filter: str = 'images', on_picked: Optional[Callable] = None, label: Optional[View] = None, selectionLimit: Optional[int] = None, onPicked: Optional[Callable] = None, **kwargs: Any)
PickercontrolPicker(label: str = '', selection: Optional[str] = None, options: Optional[List[str]] = None, on_change: Optional[Callable] = None, onChange: Optional[Callable] = None)
PopoverpresentationPopover(is_presented: bool = False, content: Optional[View] = None, trigger: Optional[View] = None, isPresented: Optional[bool] = None)
ProgressViewfeedbackProgressView(label: Optional[str] = None, value: Optional[float] = None, total: float = 1.0)
RectangleshapeRectangle()
RefreshablecollectionRefreshable(on_refresh: Optional[Callable] = None, onRefresh: Optional[Callable] = None, content: Optional[ViewChild] = None)
RenameButtoncontrolRenameButton(action: Optional[Callable] = None)
RoundedRectangleshapeRoundedRectangle(corner_radius: float = 10, cornerRadius: Optional[float] = None)
SafeAreaInsetlayoutSafeAreaInset(edge: str = 'bottom', content: Optional[View] = None)
ScrollViewlayoutScrollView(content: Optional[ViewChild] = None, axes: str = 'vertical', shows_indicators: bool = True, showsIndicators: Optional[bool] = None)
ScrollViewReaderlayoutScrollViewReader(content: Optional[ViewChild] = None, axes: str = 'vertical', shows_indicators: bool = True, scroll_to: Optional[str] = None, anchor: str = 'top', showsIndicators: Optional[bool] = None, scrollTo: Optional[str] = None, children: Optional[ViewChild] = None)
SearchFieldcontrolSearchField(text: str = '', placeholder: str = 'Search', on_change: Optional[Callable] = None, onChange: Optional[Callable] = None, on_submit: Optional[Callable] = None, onSubmit: Optional[Callable] = None)
SectioncollectionSection(content: Optional[ViewChild] = None, *, header: Optional[Union[str, View]] = None, footer: Optional[Union[str, View]] = None, children: Optional[ViewChild] = None)
SecureFieldcontrolSecureField(placeholder: str = '', text: str = '', on_change: Optional[Callable] = None, on_submit: Optional[Callable] = None, onChange: Optional[Callable] = None, onSubmit: Optional[Callable] = None)
SegmentedControlcontrolSegmentedControl(options: Optional[List[str]] = None, selection: Optional[str] = None, on_change: Optional[Callable] = None, onChange: Optional[Callable] = None)
ShareLinkcontrolShareLink(item: str = '', subject: Optional[str] = None, message: Optional[str] = None)
SignInWithAppleButtoncontrolSignInWithAppleButton(type: str = 'signIn', on_complete: Optional[Callable] = None, onComplete: Optional[Callable] = None)
SlidercontrolSlider(value: float = 0.0, minimum: float = 0.0, maximum: float = 1.0, step: Optional[float] = None, label: str = '', on_change: Optional[Callable] = None, onChange: Optional[Callable] = None, min_value: Optional[float] = None, max_value: Optional[float] = None, minValue: Optional[float] = None, maxValue: Optional[float] = None)
SpacerlayoutSpacer(min_length: Optional[float] = None, minLength: Optional[float] = None)
SteppercontrolStepper(label: str = '', value: int = 0, minimum: int = 0, maximum: int = 100, step: int = 1, on_change: Optional[Callable] = None, onChange: Optional[Callable] = None)
SwipeActionscollectionSwipeActions(content: Optional[View] = None, leading: Optional[List[View]] = None, trailing: Optional[List[View]] = None)
TabnavigationTab(title: str = '', system_image: Optional[str] = None, image: Optional[str] = None, content: Optional[View] = None, badge: Optional[int] = None, tag: Optional[int] = None, systemImage: Optional[str] = None, role: Optional[str] = None)
TabViewnavigationTabView(tabs: Optional[List["Tab"]] = None, selection: Optional[int] = None, on_change: Optional[Callable] = None, onChange: Optional[Callable] = None)
TablecollectionTable(data: Optional[List[Dict[str, Any]]] = None, columns: Optional[List[Dict[str, str]]] = None, on_select: Optional[Callable] = None, onSelect: Optional[Callable] = None)
TexttextText(content: str = '')
TextEditorcontrolTextEditor(text: str = '', on_change: Optional[Callable] = None, onChange: Optional[Callable] = None)
TextFieldcontrolTextField(placeholder: str = '', text: str = '', on_change: Optional[Callable] = None, on_submit: Optional[Callable] = None, keyboard_type: Optional[str] = None, autocapitalization: Optional[str] = None, autocorrection_disabled: bool = False, submit_label: Optional[str] = None, onChange: Optional[Callable] = None, onSubmit: Optional[Callable] = None, keyboardType: Optional[str] = None, autoCapitalization: Optional[str] = None, autocorrectionDisabled: Optional[bool] = None, submitLabel: Optional[str] = None, value: Optional[str] = None, **kwargs: Any)
TextFieldLinkcontrolTextFieldLink(title: str = '', prompt: str = '', on_submit: Optional[Callable] = None, onSubmit: Optional[Callable] = None)
TimelineViewfeedbackTimelineView(interval: float = 1.0, content: Optional[View] = None)
TogglecontrolToggle(label: str = '', is_on: bool = False, on_change: Optional[Callable] = None, isOn: Optional[bool] = None, onChange: Optional[Callable] = None, value: Optional[bool] = None)
ToolbarItempresentationToolbarItem(placement: str = 'automatic', content: Optional[View] = None, role: Optional[str] = None)
ToolbarSpacerpresentationToolbarSpacer(sizing: str = 'fixed', placement: str = 'automatic')
VStacklayoutVStack(content: Optional[List[View]] = None, alignment: str = 'center', spacing: Optional[float] = None)
VideoPlayermediaVideoPlayer(url: str = '', autoplay: bool = False, loop: bool = False, show_controls: bool = True, presentation: str = 'inline', allows_fullscreen: bool = True, allows_pip: bool = True, allows_airplay: bool = True, video_gravity: str = 'resizeAspect', enters_fullscreen_when_playback_begins: bool = False, exits_fullscreen_when_playback_ends: bool = True, showControls: Optional[bool] = None, allowsFullscreen: Optional[bool] = None, allowsPiP: Optional[bool] = None, allowsPictureInPicture: Optional[bool] = None, allowsAirPlay: Optional[bool] = None, videoGravity: Optional[str] = None, entersFullscreenWhenPlaybackBegins: Optional[bool] = None, exitsFullscreenWhenPlaybackEnds: Optional[bool] = None, allows_picture_in_picture: Optional[bool] = None, player: Optional[PlayerController] = None, player_id: Optional[str] = None, pause_on_disappear: Optional[bool] = None)
ViewThatFitslayoutViewThatFits(content: Optional[List[View]] = None)
WebViewmediaWebView(url: Optional[str] = None, html: Optional[str] = None)
WheelPickercontrolWheelPicker(options: Optional[List[str]] = None, selection: Optional[str] = None, on_change: Optional[Callable] = None, onChange: Optional[Callable] = None)
ZStacklayoutZStack(content: Optional[List[View]] = None, alignment: str = 'center')

Typed helpers/classes exported by appui.pyi

DrawingContextNavigationPathObservableDictObservableListPersistentStatePlayerControllerPropReactiveStateRefStateTimerViewinfinity

View modifiers

.accessibility_hidden.accessibility_label.alert.alignment_guide.animation.aspect_ratio.background.background_extension_effect.badge.blur.bold.border.brightness.button_style.clip_shape.clipped.confirmation_dialog.container_relative_frame.content_margins.content_shape.content_transition.context_menu.contrast.corner_radius.date_picker_style.default_scroll_anchor.disabled.drawing_group.environment.fill.fixed_size.focused.font.foreground_color.foreground_style.frame.full_screen_cover.gauge_style.glass_effect.glass_effect_id.glass_effect_transition.glass_effect_union.grayscale.hidden.high_priority_gesture.id.ignores_safe_area.image_scale.inspector.italic.keyboard_dismiss.layout_priority.line_limit.list_row_background.list_row_insets.list_row_separator.list_style.mask.matched_geometry_effect.minimum_scale_factor.multiline_text_alignment.navigation_bar_back_button_hidden.navigation_bar_title_display_mode.navigation_destination.navigation_title.offset.on_appear.on_disappear.on_drag_gesture.on_drop.on_geometry.on_long_press_gesture.on_magnification_gesture.on_rotation_gesture.on_submit.on_tap_gesture.opacity.overlay.padding.phase_animator.picker_style.popover.position.progress_view_style.refreshable.resizable.rotation_3d_effect.rotation_effect.safe_area_bar.safe_area_inset.saturation.scale_effect.scroll_clip_disabled.scroll_content_background.scroll_edge_effect_hidden.scroll_edge_effect_style.scroll_position.scroll_target_behavior.scroll_target_layout.scroll_transition.search_toolbar_behavior.searchable.sensory_feedback.shadow.sheet.simultaneous_gesture.strikethrough.stroke.submit_label.swipe_actions.symbol_effect.symbol_rendering_mode.tab_bar_minimize_behavior.tab_view_bottom_accessory.tab_view_search_activation.tab_view_style.task.text_field_style.tint.toggle_style.toolbar.toolbar_background.toolbar_color_scheme.transition.truncation_mode.underline.z_index
Widget functions, Widget methods, nodes, modifiers
APIKindSignature
widget.agent_schemahelperagent_schema()
widget.cache_jsonhelpercache_json(url, *, ttl=3600, default=None, params=None, headers=None, key=None, timeout=8)
widget.family_valuehelperfamily_value(default=None, **values)
widget.historyhelperhistory(key, value=None, limit=7, *, bucket="day", default=None)
widget.save_imagehelpersave_image(source, name)
widget.validate_layouthelpervalidate_layout(layout, family=None)
Widget.backgroundlayout.backgroundbackground(value)
Widget.background_imagelayout.backgroundImagebackground_image(asset, content_mode="fill", dim=None, scrim=None, scrim_opacity=None, focal="center", overlay_color="#000000")
Widget.badgetextbadge(text, icon=None, tone="accent", style="plain")
Widget.barbarChartbar(data, labels=None, colors=None)
Widget.bodytextbody(content)
Widget.buttonbuttonbutton(title, action=None, url=None, color=None, background=None, size=None, padding=None)
Widget.canvascanvascanvas(height=None, coordinate_space="relative", align="center", background=None, padding=None, corner_radius=None, border_color=None, border_width=None, opacity=None, frame=None)
Widget.captiontextcaption(content)
Widget.changetextchange(primary, secondary=None, direction=None)
Widget.columnvstackcolumn(spacing=None, align=None)
Widget.datetimerdate(target=None, style="date")
Widget.dividerdividerdivider(color=None, opacity=None)
Widget.gridgridgrid(columns=2)
Widget.imageimageimage(name, width=None, height=None, corner_radius=None, opacity=None, padding=None, content_mode=None)
Widget.layerzstacklayer(align="center", padding=None, background=None, corner_radius=None)
Widget.linelineChartline(data, labels=None, colors=None)
Widget.linktextlink(title, url, icon=None, color=None)
Widget.listvstacklist(items, title=None, limit=None, empty_text=None, dividers=False)
Widget.metrichstackmetric(label, value, unit=None, icon=None, tone=None, style="plain")
Widget.pathpathpath(points, stroke=None, fill=None, line_width=None, closed=False, height=None, coordinate_space="relative", opacity=None, padding=None, frame=None)
Widget.progressprogressprogress(value, total=1.0, color=None, height=None, track_color=None)
Widget.regionvstackregion(slot="center", spacing=None, align=None)
Widget.relative_timetimerrelative_time(target=None)
Widget.renderlifecyclerender(url=None)
Widget.rich_textrichTextrich_text(parts, size=None, weight=None, color=None, align=None, max_lines=None, design=None, font_width=None, opacity=None, padding=None, frame=None, minimum_scale_factor=None)
Widget.ringringChartring(value, total=1.0, label=None)
Widget.rowhstackrow(spacing=None, align=None)
Widget.sectionvstacksection(title=None, spacing=None, subtitle=None, style=None)
Widget.shapeshapeshape(kind="rectangle", color=None, width=None, height=None, size=None, corner_radius=None, opacity=None, padding=None, frame=None, border_color=None, border_width=None, shadow_color=None, shadow_radius=None, shadow_x=0, shadow_y=2)
Widget.spacerspacerspacer(length=None)
Widget.surfacecardsurface(role="panel", spacing=None, align=None, padding=None, background=None, corner_radius=None, border_color=None, border_width=None, shadow_color=None, shadow_radius=None)
Widget.symboliconsymbol(name)
Widget.texttexttext(content, size=None, weight=None, color=None, align=None, max_lines=None, design=None, font_width=None, opacity=None, padding=None, frame=None, minimum_scale_factor=None)
Widget.timetimertime(target=None)
Widget.timer_texttimertimer_text(target=None)
Widget.titletexttitle(content)
Widget.toggletoggletoggle(title, is_on=False, action=None, url=None, color=None, background=None, size=None, padding=None)
Widget.validatelifecyclevalidate(family=None)
Widget.valuetextvalue(value, unit=None, subtitle=None)

Node primitives

barChartbuttoncanvascarddivideremojigaugegridhstackiconimagelineChartpathprogressrichTextringChartshapespacersparklinetexttimertogglevstackzstack

Modifiers

.accessibility.align.background.bar_spacing.baseline.capsule.clip.color.compressed.corner_radius.fill.fixed_size.font.font_style.font_weight.font_width.frame.grid.guide_lines.height.hide.labels.layout_priority.line_limit.line_width.link.mask.mask_view.min_scale.monospaced.offset.opacity.overlay.overlay_view.padding.place.points.segment_colors.shadow.show.slot.soft_background.threshold.tone.track_color.width

Compatibility names kept for old scripts, not for new AI output

ui module public exports

Classes

ViewButtonLabelTextFieldTextViewImageViewSwitchSliderSegmentedControlDatePickerScrollViewCanvasViewActivityIndicatorTableViewWebViewNavigationViewButtonItemProgressViewStepperListDataSourceTableViewCellGestureRecognizerTapGestureRecognizerPanGestureRecognizerPinchGestureRecognizerSwipeGestureRecognizerLongPressGestureRecognizerGestureSenderColorFontPathGStateImageContextImagePointSizeRectTransformTouchautoreleasepool

Functions

parse_colorparse_fontset_colorfill_rectstroke_rectdraw_stringbegin_image_contextend_image_contextget_image_from_current_contextget_screen_sizeget_window_sizeget_keyboard_frameget_ui_styleload_viewload_view_strclose_alldump_viewanimatedelaycancel_delaysin_backgroundconvert_pointconvert_rectmeasure_stringset_blend_modeset_shadow

Constants

ALIGN_LEFTALIGN_CENTERALIGN_RIGHTALIGN_JUSTIFIEDALIGN_NATURALLB_WORD_WRAPLB_CHAR_WRAPLB_CLIPLB_TRUNCATE_HEADLB_TRUNCATE_TAILLB_TRUNCATE_MIDDLEKEYBOARD_DEFAULTKEYBOARD_ASCIIKEYBOARD_NUMBERSKEYBOARD_URLKEYBOARD_NUMBER_PADKEYBOARD_PHONE_PADKEYBOARD_NAME_PHONE_PADKEYBOARD_EMAILKEYBOARD_DECIMAL_PADKEYBOARD_TWITTERKEYBOARD_WEB_SEARCHBLEND_NORMALBLEND_MULTIPLYBLEND_SCREENBLEND_OVERLAYBLEND_DARKENBLEND_LIGHTENBLEND_COLOR_DODGEBLEND_COLOR_BURNBLEND_SOFT_LIGHTBLEND_HARD_LIGHTBLEND_DIFFERENCEBLEND_EXCLUSIONBLEND_HUEBLEND_SATURATIONBLEND_COLORBLEND_LUMINOSITYBLEND_CLEARBLEND_COPYBLEND_SOURCE_INBLEND_SOURCE_OUTBLEND_SOURCE_ATOPBLEND_DESTINATION_OVERBLEND_DESTINATION_INBLEND_DESTINATION_OUTBLEND_DESTINATION_ATOPBLEND_XORBLEND_PLUS_DARKERBLEND_PLUS_LIGHTERRENDERING_MODE_AUTOMATICRENDERING_MODE_ORIGINALRENDERING_MODE_TEMPLATELINE_CAP_BUTTLINE_CAP_ROUNDLINE_CAP_SQUARELINE_JOIN_MITERLINE_JOIN_ROUNDLINE_JOIN_BEVELCONTENT_SCALE_ASPECT_FITCONTENT_SCALE_ASPECT_FILLCONTENT_SCALE_TO_FILLCONTENT_REDRAWCONTENT_CENTERCONTENT_TOPCONTENT_BOTTOMCONTENT_LEFTCONTENT_RIGHTCONTENT_TOP_LEFTCONTENT_TOP_RIGHTCONTENT_BOTTOM_LEFTCONTENT_BOTTOM_RIGHTDATE_PICKER_MODE_TIMEDATE_PICKER_MODE_DATEDATE_PICKER_MODE_DATE_AND_TIMEDATE_PICKER_MODE_COUNTDOWNACTIVITY_INDICATOR_STYLE_GRAYACTIVITY_INDICATOR_STYLE_WHITEACTIVITY_INDICATOR_STYLE_WHITE_LARGE
scene module public exports

Classes

SceneNodeSpriteNodeLabelNodeShapeNodeEffectNodeEmitterNodeActionTextureShaderSceneViewTouchVector2Vector3SizeRectPointEdgeInsetsPhysicsBodyPhysicsWorldContactPinJointSpringJointRopeJoint

Functions

runget_screen_sizeget_screen_scalegravityplay_effectget_image_pathget_controllersget_safe_area_insetsbackgroundfillno_fillstrokeno_strokestroke_weighttintno_tintrectellipselineimagetexttranslaterotatescalepush_matrixpop_matrixblend_modeuse_shaderload_imageload_image_fileload_pil_imagerender_textunload_imageimage_quadtriangle_strip

Constants

BLEND_NORMALBLEND_ADDBLEND_MULTIPLYDEFAULT_ORIENTATIONPORTRAITLANDSCAPETIMING_LINEARTIMING_EASE_INTIMING_EASE_IN_2TIMING_EASE_OUTTIMING_EASE_OUT_2TIMING_EASE_IN_OUTTIMING_SINODIALTIMING_EASE_BACK_INTIMING_EASE_BACK_OUTTIMING_EASE_BACK_IN_OUTTIMING_ELASTIC_INTIMING_ELASTIC_OUTTIMING_ELASTIC_IN_OUTTIMING_BOUNCE_INTIMING_BOUNCE_OUTTIMING_BOUNCE_IN_OUTFILTERING_LINEARFILTERING_NEAREST

Common AI Mistakes

  • Do not generate tkinter, PyQt, Flask, Streamlit, or browser/server UI for PythonIDE Mini Apps.
  • Do not invent AppUI view parameters. Check appui_api_schema.json or appui.pyi.
  • Do not write interactive app flows with widget; widgets are timeline-limited Home Screen surfaces.
  • Do not call native modules from an AppUI body without user action or permission handling.
  • Do not use unlisted native modules or assume iOS permissions are already granted.

Files For AI And Tools

These files are generated or copied from the canonical facts in the repository.

Copied