pythonnative 0.47.0__tar.gz → 0.48.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (598) hide show
  1. {pythonnative-0.47.0/src/pythonnative.egg-info → pythonnative-0.48.0}/PKG-INFO +5 -4
  2. {pythonnative-0.47.0 → pythonnative-0.48.0}/README.md +4 -3
  3. {pythonnative-0.47.0 → pythonnative-0.48.0}/pyproject.toml +1 -1
  4. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/__init__.py +63 -46
  5. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/animated.py +4 -1
  6. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/appearance.py +3 -0
  7. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/assets/__init__.py +1 -3
  8. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/bootstrap.py +2 -1
  9. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/bridge/fake.py +2 -2
  10. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/cli/pn.py +127 -40
  11. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/component.py +70 -45
  12. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/components/__init__.py +1 -1
  13. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/components/_base.py +13 -7
  14. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/components/controls.py +27 -170
  15. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/components/graphics.py +18 -58
  16. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/components/layout.py +27 -180
  17. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/components/lists.py +7 -7
  18. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/components/media.py +15 -87
  19. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/components/overlays.py +3 -3
  20. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/components/pressable.py +27 -132
  21. pythonnative-0.48.0/src/pythonnative/components/props.py +97 -0
  22. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/components/structural.py +3 -3
  23. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/components/text.py +14 -136
  24. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devclient.py +71 -33
  25. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/__init__.py +5 -0
  26. pythonnative-0.48.0/src/pythonnative/devserver/auth.py +158 -0
  27. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/server.py +117 -13
  28. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/layout.js +1 -5
  29. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/shell.js +17 -0
  30. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/element.py +37 -10
  31. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/equality.py +7 -1
  32. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/hooks.py +28 -10
  33. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/hot_reload.py +274 -26
  34. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/icons/__init__.py +10 -13
  35. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/layout.py +3 -3
  36. pythonnative-0.48.0/src/pythonnative/lint.py +773 -0
  37. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/list_data.py +12 -5
  38. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/generated/NativeProps.kt +28 -26
  39. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/generated/NativeValues.kt +15 -17
  40. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/generated/PNContracts.kt +397 -394
  41. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/layout/NativeLayout.kt +0 -5
  42. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Generated/NativeProps.swift +18 -16
  43. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Generated/NativeValues.swift +23 -27
  44. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Generated/PNContracts.swift +397 -394
  45. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Layout/PNLayout.swift +0 -5
  46. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Tests/PythonNativeKitTests/PNLifecycleTests.swift +3 -1
  47. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/style.cpp +0 -2
  48. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_views/bridge_backend.py +2 -2
  49. pythonnative-0.48.0/src/pythonnative/navigation/__init__.py +110 -0
  50. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/navigation/container.py +47 -47
  51. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/navigation/handle.py +263 -160
  52. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/navigation/hooks.py +12 -55
  53. pythonnative-0.48.0/src/pythonnative/navigation/linking.py +302 -0
  54. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/navigation/navigators.py +388 -335
  55. pythonnative-0.48.0/src/pythonnative/navigation/ref.py +104 -0
  56. pythonnative-0.48.0/src/pythonnative/navigation/screen.py +387 -0
  57. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/navigation/state.py +16 -33
  58. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/preview.py +6 -3
  59. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/project/android.py +10 -14
  60. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/project/builder.py +3 -7
  61. pythonnative-0.48.0/src/pythonnative/project/bundle.py +77 -0
  62. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/project/doctor.py +6 -2
  63. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/project/icons.py +7 -7
  64. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/project/ios.py +19 -9
  65. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/project/permissions.py +3 -3
  66. pythonnative-0.48.0/src/pythonnative/prop_checks.py +116 -0
  67. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/reconciler/boundaries.py +12 -6
  68. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/reconciler/core.py +49 -29
  69. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/reconciler/layout_pass.py +3 -0
  70. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/reconciler/vnode.py +5 -1
  71. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/scheduler.py +13 -5
  72. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/sdk/__init__.py +0 -2
  73. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/sdk/_components.py +3 -3
  74. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/sdk/builtins.py +15 -1
  75. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/sdk/codegen.py +2 -4
  76. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/sdk/module_codegen.py +10 -4
  77. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/sdk/types.py +5 -3
  78. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/storage.py +50 -27
  79. pythonnative-0.48.0/src/pythonnative/store.py +188 -0
  80. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/style.py +52 -259
  81. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/svg.py +1 -0
  82. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/testing/backend.py +2 -2
  83. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/testing/pytest_plugin.py +8 -3
  84. pythonnative-0.48.0/src/pythonnative/theme.py +297 -0
  85. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/utils.py +18 -0
  86. {pythonnative-0.47.0 → pythonnative-0.48.0/src/pythonnative.egg-info}/PKG-INFO +5 -4
  87. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative.egg-info/SOURCES.txt +13 -2
  88. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_appearance.py +9 -37
  89. pythonnative-0.48.0/tests/test_authoring.py +341 -0
  90. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_cli.py +89 -10
  91. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_components.py +4 -4
  92. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_core_semantics.py +1 -0
  93. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_devclient.py +64 -12
  94. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_devserver.py +190 -6
  95. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_devserver_ws.py +47 -2
  96. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_e2e_suite_renders.py +65 -2
  97. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_hooks.py +7 -1
  98. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_hot_reload.py +279 -0
  99. pythonnative-0.48.0/tests/test_identity_bailout.py +430 -0
  100. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_inbox.py +11 -10
  101. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_incremental_render.py +2 -0
  102. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_layout.py +17 -5
  103. pythonnative-0.48.0/tests/test_lint.py +1000 -0
  104. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_list_features.py +29 -0
  105. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_mutations.py +4 -0
  106. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_native_views.py +1 -1
  107. pythonnative-0.48.0/tests/test_navigation.py +2052 -0
  108. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_new_components.py +1 -0
  109. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_reconciler.py +7 -2
  110. pythonnative-0.48.0/tests/test_release_packaging.py +318 -0
  111. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_runtime_correctness.py +7 -6
  112. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_smoke.py +28 -3
  113. pythonnative-0.48.0/tests/test_store.py +555 -0
  114. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_style.py +42 -71
  115. pythonnative-0.48.0/tests/test_theme.py +416 -0
  116. pythonnative-0.48.0/tests/test_typing_conformance.py +47 -0
  117. pythonnative-0.47.0/src/pythonnative/navigation/__init__.py +0 -136
  118. pythonnative-0.47.0/src/pythonnative/navigation/linking.py +0 -200
  119. pythonnative-0.47.0/src/pythonnative/navigation/ref.py +0 -121
  120. pythonnative-0.47.0/src/pythonnative/navigation/screen.py +0 -299
  121. pythonnative-0.47.0/src/pythonnative/navigation/theme.py +0 -159
  122. pythonnative-0.47.0/tests/test_navigation.py +0 -1805
  123. pythonnative-0.47.0/tests/test_navigation_theme.py +0 -274
  124. pythonnative-0.47.0/tests/test_release_packaging.py +0 -160
  125. {pythonnative-0.47.0 → pythonnative-0.48.0}/.github/workflows/release.yml +0 -0
  126. {pythonnative-0.47.0 → pythonnative-0.48.0}/LICENSE +0 -0
  127. {pythonnative-0.47.0 → pythonnative-0.48.0}/MANIFEST.in +0 -0
  128. {pythonnative-0.47.0 → pythonnative-0.48.0}/scripts/check-distributions.py +0 -0
  129. {pythonnative-0.47.0 → pythonnative-0.48.0}/scripts/cibuildwheel.toml +0 -0
  130. {pythonnative-0.47.0 → pythonnative-0.48.0}/scripts/release-assets.py +0 -0
  131. {pythonnative-0.47.0 → pythonnative-0.48.0}/setup.cfg +0 -0
  132. {pythonnative-0.47.0 → pythonnative-0.48.0}/setup.py +0 -0
  133. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/_ios_log.py +0 -0
  134. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/alerts.py +0 -0
  135. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/animation_graph.py +0 -0
  136. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/assets/fonts.py +0 -0
  137. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/bridge/__init__.py +0 -0
  138. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/bridge/android.py +0 -0
  139. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/bridge/codec.py +0 -0
  140. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/bridge/commits.py +0 -0
  141. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/bridge/ios.py +0 -0
  142. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/bridge/list_store.py +0 -0
  143. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/bridge/web.py +0 -0
  144. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/cli/__init__.py +0 -0
  145. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/components/events.py +0 -0
  146. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/animation_graph.js +0 -0
  147. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/assets.js +0 -0
  148. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/bridge.js +0 -0
  149. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/colors.js +0 -0
  150. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/contracts.js +0 -0
  151. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/host.js +0 -0
  152. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/index.html +0 -0
  153. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/list-store.js +0 -0
  154. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/preview.css +0 -0
  155. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/renderer.js +0 -0
  156. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/yoga/LICENSE +0 -0
  157. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/yoga/binaries/yoga-wasm-base64-esm.js +0 -0
  158. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/yoga/src/generated/YGEnums.d.ts +0 -0
  159. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/yoga/src/generated/YGEnums.js +0 -0
  160. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/yoga/src/generated/YGEnums.js.map +0 -0
  161. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/yoga/src/index.d.ts +0 -0
  162. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/yoga/src/index.js +0 -0
  163. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/yoga/src/index.js.map +0 -0
  164. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/yoga/src/load.d.ts +0 -0
  165. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/yoga/src/load.js +0 -0
  166. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/yoga/src/load.js.map +0 -0
  167. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/yoga/src/wrapAssembly.d.ts +0 -0
  168. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/yoga/src/wrapAssembly.js +0 -0
  169. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/static/yoga/src/wrapAssembly.js.map +0 -0
  170. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/watcher.py +0 -0
  171. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/devserver/ws.py +0 -0
  172. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/diagnostics.py +0 -0
  173. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/events.py +0 -0
  174. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/gestures.py +0 -0
  175. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/handles.py +0 -0
  176. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/hosts/__init__.py +0 -0
  177. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/hosts/base.py +0 -0
  178. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/hosts/native.py +0 -0
  179. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/icons/LICENSE-lucide.txt +0 -0
  180. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/icons/_lucide.json +0 -0
  181. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/icons/_names.py +0 -0
  182. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/journal.py +0 -0
  183. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/mutations.py +0 -0
  184. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/build.gradle +0 -0
  185. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/gradle.properties +0 -0
  186. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/settings.gradle +0 -0
  187. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/AndroidManifest.xml +0 -0
  188. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/cpp/CMakeLists.txt +0 -0
  189. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/cpp/yoga_jni.cpp +0 -0
  190. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/generated/NativeModules.kt +0 -0
  191. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/PNBridge.kt +0 -0
  192. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/PythonHost.kt +0 -0
  193. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/animation/AnimationGraph.kt +0 -0
  194. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/animation/AnimationSpecs.kt +0 -0
  195. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/animation/PNAnimator.kt +0 -0
  196. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/assets/PNAssets.kt +0 -0
  197. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/CommitState.kt +0 -0
  198. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/JsonUtil.kt +0 -0
  199. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/MainThread.kt +0 -0
  200. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/PNLog.kt +0 -0
  201. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/PNRegistry.kt +0 -0
  202. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/PNTransaction.kt +0 -0
  203. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/TransactionApplier.kt +0 -0
  204. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/ViewRegistry.kt +0 -0
  205. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/BuiltinComponents.kt +0 -0
  206. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ButtonManager.kt +0 -0
  207. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ComponentManager.kt +0 -0
  208. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ContainerManagers.kt +0 -0
  209. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ControlManagers.kt +0 -0
  210. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/DatePickerManager.kt +0 -0
  211. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/EffectManagers.kt +0 -0
  212. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ImageLoader.kt +0 -0
  213. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ImageManager.kt +0 -0
  214. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ListStore.kt +0 -0
  215. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ModalManager.kt +0 -0
  216. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/PNColor.kt +0 -0
  217. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/PNTheme.kt +0 -0
  218. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/PickerManager.kt +0 -0
  219. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/PortalManager.kt +0 -0
  220. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/PressableManager.kt +0 -0
  221. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ScreenStackManager.kt +0 -0
  222. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ScreenTransitions.kt +0 -0
  223. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ScrollViewManager.kt +0 -0
  224. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/SegmentedControlManager.kt +0 -0
  225. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/StatusBarManager.kt +0 -0
  226. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/SvgManager.kt +0 -0
  227. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/TabBarManager.kt +0 -0
  228. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/TextInputManager.kt +0 -0
  229. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/TextManager.kt +0 -0
  230. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ViewStyler.kt +0 -0
  231. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/VirtualListManager.kt +0 -0
  232. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/WebViewManager.kt +0 -0
  233. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/gestures/GestureArbiter.kt +0 -0
  234. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/gestures/GestureCoordinator.kt +0 -0
  235. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/gestures/GestureRecognizers.kt +0 -0
  236. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/graphics/SvgPath.kt +0 -0
  237. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/layout/YogaNode.kt +0 -0
  238. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/AssetModules.kt +0 -0
  239. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/BuiltinModules.kt +0 -0
  240. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/DeviceModules.kt +0 -0
  241. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/ErrorOverlay.kt +0 -0
  242. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/HostModule.kt +0 -0
  243. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/MediaModules.kt +0 -0
  244. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/NativeModule.kt +0 -0
  245. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/NotificationsModule.kt +0 -0
  246. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/PermissionsModule.kt +0 -0
  247. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/PlatformModules.kt +0 -0
  248. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/StorageModules.kt +0 -0
  249. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/SystemModules.kt +0 -0
  250. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/plugins/GeneratedPlugins.kt +0 -0
  251. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/screens/PNKeyboard.kt +0 -0
  252. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/screens/PNScreenFragment.kt +0 -0
  253. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/screens/ScreenRegistry.kt +0 -0
  254. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/views/PNAccessibilityDelegate.kt +0 -0
  255. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/views/PNBorderDrawable.kt +0 -0
  256. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/views/PNEditText.kt +0 -0
  257. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/views/PNFrameLayout.kt +0 -0
  258. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/views/PNScrollViews.kt +0 -0
  259. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/res/anim/pn_fade_in.xml +0 -0
  260. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/res/anim/pn_fade_out.xml +0 -0
  261. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/res/anim/pn_hold.xml +0 -0
  262. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/res/anim/pn_slide_in_bottom.xml +0 -0
  263. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/res/anim/pn_slide_in_left.xml +0 -0
  264. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/res/anim/pn_slide_in_right.xml +0 -0
  265. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/res/anim/pn_slide_out_bottom.xml +0 -0
  266. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/res/anim/pn_slide_out_left.xml +0 -0
  267. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/res/anim/pn_slide_out_right.xml +0 -0
  268. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/res/drawable/pn_ic_arrow_back.xml +0 -0
  269. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/res/values/pn_ids.xml +0 -0
  270. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/main/res/xml/pn_file_paths.xml +0 -0
  271. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/test/java/com/pythonnative/generated/PNRecordFixtures.kt +0 -0
  272. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/test/java/com/pythonnative/runtime/AnimationSpecsTest.kt +0 -0
  273. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/test/java/com/pythonnative/runtime/AssetsAndSvgTest.kt +0 -0
  274. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/test/java/com/pythonnative/runtime/ContractFixtureTest.kt +0 -0
  275. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/test/java/com/pythonnative/runtime/GestureArbiterTest.kt +0 -0
  276. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/test/java/com/pythonnative/runtime/NativeLifecycleTest.kt +0 -0
  277. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/test/java/com/pythonnative/runtime/PNColorTest.kt +0 -0
  278. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/test/java/com/pythonnative/runtime/PNTransactionTest.kt +0 -0
  279. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/test/java/com/pythonnative/runtime/PromiseTest.kt +0 -0
  280. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/test/java/com/pythonnative/runtime/RoundOneRobolectricTest.kt +0 -0
  281. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/test/java/com/pythonnative/runtime/RoundTwoLogicTest.kt +0 -0
  282. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/test/java/com/pythonnative/runtime/RoundTwoRobolectricTest.kt +0 -0
  283. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/test/java/com/pythonnative/runtime/ScreenTransitionsTest.kt +0 -0
  284. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/android/src/test/java/com/pythonnative/runtime/StyleAccessibilityDeviceTest.kt +0 -0
  285. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Package.swift +0 -0
  286. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Animation/PNAnimationGraph.swift +0 -0
  287. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Animation/PNAnimator.swift +0 -0
  288. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Bridge/PNBridge.swift +0 -0
  289. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Bridge/PNCommit.swift +0 -0
  290. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Bridge/PNRegistry.swift +0 -0
  291. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Bridge/PNTransaction.swift +0 -0
  292. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Bridge/PNViewRegistry.swift +0 -0
  293. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNButtonManagers.swift +0 -0
  294. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNColor.swift +0 -0
  295. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNComponentManager.swift +0 -0
  296. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNContainerView.swift +0 -0
  297. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNControlManagers.swift +0 -0
  298. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNEffectManagers.swift +0 -0
  299. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNImageManager.swift +0 -0
  300. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNListStore.swift +0 -0
  301. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNOverlayManagers.swift +0 -0
  302. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNPressableManager.swift +0 -0
  303. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNScreenStackManager.swift +0 -0
  304. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNScrollViewManager.swift +0 -0
  305. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNSvgManager.swift +0 -0
  306. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNTabBarManager.swift +0 -0
  307. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNTextInputManager.swift +0 -0
  308. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNTextManager.swift +0 -0
  309. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNTransform.swift +0 -0
  310. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNViewManager.swift +0 -0
  311. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNViewState.swift +0 -0
  312. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNViewStyler.swift +0 -0
  313. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNVirtualListManager.swift +0 -0
  314. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNWebViewManager.swift +0 -0
  315. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Generated/NativeModules.swift +0 -0
  316. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Gestures/PNGestureCoordinator.swift +0 -0
  317. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Modules/AlertModule.swift +0 -0
  318. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Modules/EnvironmentModules.swift +0 -0
  319. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Modules/HostModule.swift +0 -0
  320. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Modules/ImagesModule.swift +0 -0
  321. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Modules/LifecycleModules.swift +0 -0
  322. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Modules/MediaModules.swift +0 -0
  323. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Modules/PNErrorOverlay.swift +0 -0
  324. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Modules/PNNativeModule.swift +0 -0
  325. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Modules/PermissionModules.swift +0 -0
  326. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Modules/SystemModules.swift +0 -0
  327. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Plugins/PNPluginRegistration.swift +0 -0
  328. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Resources/PrivacyInfo.xcprivacy +0 -0
  329. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Screens/PNScreenRegistry.swift +0 -0
  330. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Screens/PNViewController.swift +0 -0
  331. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Support/PNAssets.swift +0 -0
  332. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Support/PNCompat.swift +0 -0
  333. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Support/PNJSON.swift +0 -0
  334. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Support/PNLog.swift +0 -0
  335. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Support/PNWindow.swift +0 -0
  336. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Tests/NativeTests.xcodeproj/project.pbxproj +0 -0
  337. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Tests/NativeTests.xcodeproj/xcshareddata/xcschemes/NativeTests.xcscheme +0 -0
  338. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Tests/PythonNativeKitTests/Fixtures/validation.json +0 -0
  339. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Tests/PythonNativeKitTests/PNAnimationGraphTests.swift +0 -0
  340. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Tests/PythonNativeKitTests/PNAssetTests.swift +0 -0
  341. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Tests/PythonNativeKitTests/PNColorTests.swift +0 -0
  342. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Tests/PythonNativeKitTests/PNCommitTests.swift +0 -0
  343. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Tests/PythonNativeKitTests/PNContractFixtureTests.swift +0 -0
  344. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Tests/PythonNativeKitTests/PNContractParityTests.swift +0 -0
  345. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Tests/PythonNativeKitTests/PNGestureTests.swift +0 -0
  346. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Tests/PythonNativeKitTests/PNManagerTests.swift +0 -0
  347. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Tests/PythonNativeKitTests/PNModuleTests.swift +0 -0
  348. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Tests/PythonNativeKitTests/PNParityTests.swift +0 -0
  349. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Tests/PythonNativeKitTests/PNRecordFixtures.swift +0 -0
  350. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Tests/PythonNativeKitTests/PNTransactionTests.swift +0 -0
  351. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/ios/Tests/TestHost/main.swift +0 -0
  352. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/LICENSE +0 -0
  353. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/Package.swift +0 -0
  354. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/VENDORED.md +0 -0
  355. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/include/PNStyle.h +0 -0
  356. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/include/module.modulemap +0 -0
  357. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/include/yoga/YGConfig.h +0 -0
  358. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/include/yoga/YGEnums.h +0 -0
  359. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/include/yoga/YGMacros.h +0 -0
  360. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/include/yoga/YGNode.h +0 -0
  361. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/include/yoga/YGNodeLayout.h +0 -0
  362. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/include/yoga/YGNodeStyle.h +0 -0
  363. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/include/yoga/YGPixelGrid.h +0 -0
  364. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/include/yoga/YGValue.h +0 -0
  365. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/include/yoga/Yoga.h +0 -0
  366. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/python.cpp +0 -0
  367. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/CMakeLists.txt +0 -0
  368. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/YGConfig.cpp +0 -0
  369. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/YGConfig.h +0 -0
  370. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/YGEnums.cpp +0 -0
  371. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/YGEnums.h +0 -0
  372. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/YGMacros.h +0 -0
  373. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/YGNode.cpp +0 -0
  374. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/YGNode.h +0 -0
  375. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/YGNodeLayout.cpp +0 -0
  376. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/YGNodeLayout.h +0 -0
  377. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/YGNodeStyle.cpp +0 -0
  378. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/YGNodeStyle.h +0 -0
  379. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/YGPixelGrid.cpp +0 -0
  380. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/YGPixelGrid.h +0 -0
  381. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/YGValue.cpp +0 -0
  382. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/YGValue.h +0 -0
  383. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/Yoga.h +0 -0
  384. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/algorithm/AbsoluteLayout.cpp +0 -0
  385. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/algorithm/AbsoluteLayout.h +0 -0
  386. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/algorithm/Align.h +0 -0
  387. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/algorithm/Baseline.cpp +0 -0
  388. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/algorithm/Baseline.h +0 -0
  389. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/algorithm/BoundAxis.h +0 -0
  390. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/algorithm/Cache.cpp +0 -0
  391. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/algorithm/Cache.h +0 -0
  392. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/algorithm/CalculateLayout.cpp +0 -0
  393. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/algorithm/CalculateLayout.h +0 -0
  394. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/algorithm/FlexDirection.h +0 -0
  395. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/algorithm/FlexLine.cpp +0 -0
  396. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/algorithm/FlexLine.h +0 -0
  397. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/algorithm/PixelGrid.cpp +0 -0
  398. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/algorithm/PixelGrid.h +0 -0
  399. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/algorithm/SizingMode.h +0 -0
  400. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/algorithm/TrailingPosition.h +0 -0
  401. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/config/Config.cpp +0 -0
  402. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/config/Config.h +0 -0
  403. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/debug/AssertFatal.cpp +0 -0
  404. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/debug/AssertFatal.h +0 -0
  405. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/debug/Log.cpp +0 -0
  406. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/debug/Log.h +0 -0
  407. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/enums/Align.h +0 -0
  408. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/enums/BoxSizing.h +0 -0
  409. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/enums/Dimension.h +0 -0
  410. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/enums/Direction.h +0 -0
  411. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/enums/Display.h +0 -0
  412. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/enums/Edge.h +0 -0
  413. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/enums/Errata.h +0 -0
  414. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/enums/ExperimentalFeature.h +0 -0
  415. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/enums/FlexDirection.h +0 -0
  416. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/enums/Gutter.h +0 -0
  417. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/enums/Justify.h +0 -0
  418. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/enums/LogLevel.h +0 -0
  419. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/enums/MeasureMode.h +0 -0
  420. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/enums/NodeType.h +0 -0
  421. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/enums/Overflow.h +0 -0
  422. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/enums/PhysicalEdge.h +0 -0
  423. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/enums/PositionType.h +0 -0
  424. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/enums/Unit.h +0 -0
  425. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/enums/Wrap.h +0 -0
  426. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/enums/YogaEnums.h +0 -0
  427. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/event/event.cpp +0 -0
  428. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/event/event.h +0 -0
  429. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/module.modulemap +0 -0
  430. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/node/CachedMeasurement.h +0 -0
  431. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/node/LayoutResults.cpp +0 -0
  432. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/node/LayoutResults.h +0 -0
  433. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/node/LayoutableChildren.h +0 -0
  434. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/node/Node.cpp +0 -0
  435. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/node/Node.h +0 -0
  436. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/numeric/Comparison.h +0 -0
  437. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/numeric/FloatOptional.h +0 -0
  438. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/style/SmallValueBuffer.h +0 -0
  439. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/style/Style.h +0 -0
  440. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/style/StyleLength.h +0 -0
  441. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/style/StyleValueHandle.h +0 -0
  442. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native/yoga/yoga/style/StyleValuePool.h +0 -0
  443. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_modules/__init__.py +0 -0
  444. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_modules/accessibility_info.py +0 -0
  445. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_modules/app_state.py +0 -0
  446. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_modules/battery.py +0 -0
  447. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_modules/biometrics.py +0 -0
  448. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_modules/camera.py +0 -0
  449. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_modules/clipboard.py +0 -0
  450. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_modules/device.py +0 -0
  451. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_modules/dimensions.py +0 -0
  452. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_modules/fallback.py +0 -0
  453. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_modules/file_system.py +0 -0
  454. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_modules/haptics.py +0 -0
  455. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_modules/images.py +0 -0
  456. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_modules/keyboard.py +0 -0
  457. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_modules/linking.py +0 -0
  458. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_modules/localization.py +0 -0
  459. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_modules/location.py +0 -0
  460. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_modules/net_info.py +0 -0
  461. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_modules/notifications.py +0 -0
  462. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_modules/permissions.py +0 -0
  463. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_modules/registry.py +0 -0
  464. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_modules/secure_store.py +0 -0
  465. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_modules/share.py +0 -0
  466. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/native_views/__init__.py +0 -0
  467. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/navigation/host.py +0 -0
  468. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/net.py +0 -0
  469. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/platform.py +0 -0
  470. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/platform_metrics.py +0 -0
  471. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/profiling.py +0 -0
  472. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/project/__init__.py +0 -0
  473. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/project/artifacts.py +0 -0
  474. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/project/config.py +0 -0
  475. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/project/deps.py +0 -0
  476. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/project/devices.py +0 -0
  477. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/project/fingerprint.py +0 -0
  478. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/project/lockfile.py +0 -0
  479. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/project/plugins.py +0 -0
  480. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/project/runtime_assets.py +0 -0
  481. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/py.typed +0 -0
  482. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/query.py +0 -0
  483. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/reconciler/__init__.py +0 -0
  484. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/reconciler/children.py +0 -0
  485. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/refresh.py +0 -0
  486. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/runtime.py +0 -0
  487. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/sdk/commands.py +0 -0
  488. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/sdk/contract_codegen.py +0 -0
  489. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/sdk/native_types.py +0 -0
  490. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/sdk/schema.py +0 -0
  491. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/sdk/services.py +0 -0
  492. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/sdk/templates/contracts.kt +0 -0
  493. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/sdk/templates/contracts.swift +0 -0
  494. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/sdk/templates/values.kt +0 -0
  495. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/sdk/templates/values.swift +0 -0
  496. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/suspense.py +0 -0
  497. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/build.gradle +0 -0
  498. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/proguard-rules.pro +0 -0
  499. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/androidTest/java/com/pythonnative/android_template/ExampleInstrumentedTest.kt +0 -0
  500. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/debug/AndroidManifest.xml +0 -0
  501. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/AndroidManifest.xml +0 -0
  502. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/java/com/pythonnative/android_template/MainActivity.kt +0 -0
  503. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/java/com/pythonnative/android_template/ScreenFragment.kt +0 -0
  504. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/res/drawable/ic_launcher_background.xml +0 -0
  505. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +0 -0
  506. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/res/layout/activity_main.xml +0 -0
  507. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +0 -0
  508. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +0 -0
  509. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-hdpi/ic_launcher.webp +0 -0
  510. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp +0 -0
  511. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-mdpi/ic_launcher.webp +0 -0
  512. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp +0 -0
  513. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-xhdpi/ic_launcher.webp +0 -0
  514. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp +0 -0
  515. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp +0 -0
  516. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp +0 -0
  517. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp +0 -0
  518. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp +0 -0
  519. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/res/navigation/nav_graph.xml +0 -0
  520. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/res/values/colors.xml +0 -0
  521. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/res/values/strings.xml +0 -0
  522. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/res/values/themes.xml +0 -0
  523. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/res/values-night/themes.xml +0 -0
  524. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/res/xml/backup_rules.xml +0 -0
  525. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/main/res/xml/data_extraction_rules.xml +0 -0
  526. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/app/src/test/java/com/pythonnative/android_template/ExampleUnitTest.kt +0 -0
  527. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/build.gradle +0 -0
  528. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/gradle/wrapper/gradle-wrapper.jar +0 -0
  529. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/gradle/wrapper/gradle-wrapper.properties +0 -0
  530. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/gradle.properties +0 -0
  531. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/gradlew +0 -0
  532. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/gradlew.bat +0 -0
  533. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/android_template/settings.gradle +0 -0
  534. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/ios_template/ios_template/AppDelegate.swift +0 -0
  535. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/ios_template/ios_template/Assets.xcassets/AccentColor.colorset/Contents.json +0 -0
  536. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/ios_template/ios_template/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -0
  537. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/ios_template/ios_template/Assets.xcassets/Contents.json +0 -0
  538. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/ios_template/ios_template/Base.lproj/LaunchScreen.storyboard +0 -0
  539. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/ios_template/ios_template/BridgingHeader.h +0 -0
  540. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/ios_template/ios_template/Info.plist +0 -0
  541. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/ios_template/ios_template/PrivacyInfo.xcprivacy +0 -0
  542. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/ios_template/ios_template/PythonRuntime.swift +0 -0
  543. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/ios_template/ios_template/SceneDelegate.swift +0 -0
  544. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/ios_template/ios_template/ViewController.swift +0 -0
  545. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/ios_template/ios_template.xcodeproj/project.pbxproj +0 -0
  546. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/ios_template/ios_template.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -0
  547. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/ios_template/ios_templateTests/ios_templateTests.swift +0 -0
  548. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/ios_template/ios_templateUITests/ios_templateUITests.swift +0 -0
  549. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/templates/ios_template/ios_templateUITests/ios_templateUITestsLaunchTests.swift +0 -0
  550. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/testing/__init__.py +0 -0
  551. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/testing/clock.py +0 -0
  552. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/testing/harness.py +0 -0
  553. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative/testing/queries.py +0 -0
  554. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative.egg-info/dependency_links.txt +0 -0
  555. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative.egg-info/entry_points.txt +0 -0
  556. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative.egg-info/requires.txt +0 -0
  557. {pythonnative-0.47.0 → pythonnative-0.48.0}/src/pythonnative.egg-info/top_level.txt +0 -0
  558. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_alert.py +0 -0
  559. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_animated.py +0 -0
  560. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_animated_easing.py +0 -0
  561. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_animated_graph.py +0 -0
  562. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_assets.py +0 -0
  563. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_async_hooks.py +0 -0
  564. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_bridge.py +0 -0
  565. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_codegen.py +0 -0
  566. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_contract_fixtures.py +0 -0
  567. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_device_modules.py +0 -0
  568. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_element.py +0 -0
  569. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_events.py +0 -0
  570. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_extended_components.py +0 -0
  571. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_gesture_activation.py +0 -0
  572. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_gesture_composition.py +0 -0
  573. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_gestures.py +0 -0
  574. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_handles.py +0 -0
  575. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_hosts.py +0 -0
  576. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_incremental_pipeline.py +0 -0
  577. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_interaction_props.py +0 -0
  578. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_ios_log.py +0 -0
  579. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_metric_hooks.py +0 -0
  580. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_native_lists.py +0 -0
  581. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_native_modules.py +0 -0
  582. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_native_values.py +0 -0
  583. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_net.py +0 -0
  584. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_platform.py +0 -0
  585. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_platform_metrics.py +0 -0
  586. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_ref.py +0 -0
  587. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_release_workflow.py +0 -0
  588. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_runtime.py +0 -0
  589. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_runtime_contracts.py +0 -0
  590. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_runtime_overhaul.py +0 -0
  591. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_sdk.py +0 -0
  592. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_storage.py +0 -0
  593. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_suspense.py +0 -0
  594. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_testing_library.py +0 -0
  595. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_transitions.py +0 -0
  596. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_typed_events.py +0 -0
  597. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_utils.py +0 -0
  598. {pythonnative-0.47.0 → pythonnative-0.48.0}/tests/test_web_transport.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pythonnative
3
- Version: 0.47.0
3
+ Version: 0.48.0
4
4
  Summary: Cross-platform native UI toolkit for Android and iOS
5
5
  Author: Owen Carey
6
6
  License: MIT License
@@ -81,7 +81,8 @@ PythonNative is a cross-platform toolkit for building native Android and iOS app
81
81
  - **Native widgets and layout:** Swift and Kotlin component managers own UIKit and Android widgets. The shared Yoga C++ engine computes layout beside the controls, using platform measurements for text and intrinsic sizes.
82
82
  - **Standard asyncio:** Components, effects, event handlers, and tasks run on a dedicated Python application thread. Native UI threads handle widgets, scrolling, and animation frames. Component-owned tasks are canceled on unmount.
83
83
  - **Incremental reconciliation:** State changes update affected component subtrees. Versioned bridge commits validate operations and acknowledge revisions; events and controlled text inputs carry identities that prevent stale updates.
84
- - **Native lists and navigation:** UIKit collection views and Android recycler views recycle cells for fixed or variable row sizes, grids, sections, and horizontal lists. Native navigation containers present logical screen roots at every nesting level while providers and component state remain in the shared Python tree; navigators take screen options, groups, themes, tab-bar styles, and a navigation ref usable outside components.
84
+ - **Typed, Pythonic authoring:** Components return `pn.Node` and their signatures are their props, so a strict type checker verifies element trees and conditional children. Screens are components whose parameters are their route params (`nav.push(ItemScreen(id=42))`), navigators are module-level values with deep links derived from each screen's `path`, one `Theme` dataclass styles the app and its navigators, `StyleSheet` namespaces give styles typed names, and `pn.Store` holds app state with selector-based re-renders. `pn lint` checks the rules of hooks.
85
+ - **Native lists and navigation:** UIKit collection views and Android recycler views recycle cells for fixed or variable row sizes, grids, sections, and horizontal lists. Native navigation containers present logical screen roots at every nesting level while providers and component state remain in the shared Python tree; navigators take screen options, groups, tab-bar styles, and a navigation ref usable outside components.
85
86
  - **Animation and gestures:** Serialized animation graphs support timing with named or bezier easing, springs, React Native's decay model, arithmetic, interpolation, and native scroll and gesture bindings. Swift and Kotlin recognize mobile gestures with Gesture Handler-style activation offsets and update supported animation bindings without Python work on every frame.
86
87
  - **Assets and graphics:** Drop images, fonts, and SVGs under `app/assets/` and reference them by path. Density variants, bundled fonts, a vector `Icon` set, `Svg` drawing, gradients, and blur render natively on both platforms and in the browser preview.
87
88
  - **Device APIs:** Python facades expose camera, location, notifications, storage, permissions, keyboard, dimensions and pixel ratio, device info, localization, accessibility settings, and other native services, with a Python fallback for headless tests. Test permissions and platform behavior on your deployment targets.
@@ -108,7 +109,7 @@ import pythonnative as pn
108
109
 
109
110
 
110
111
  @pn.component
111
- def App():
112
+ def App() -> pn.Node:
112
113
  count, set_count = pn.use_state(0)
113
114
  return pn.Column(
114
115
  pn.Text(f"Count: {count}", style=pn.style(font_size=24, bold=True)),
@@ -116,7 +117,7 @@ def App():
116
117
  "Tap me",
117
118
  on_press=lambda: set_count(count + 1),
118
119
  ),
119
- style=pn.style(spacing=12, padding=16),
120
+ style=pn.style(gap=12, padding=16),
120
121
  )
121
122
  ```
122
123
 
@@ -35,7 +35,8 @@ PythonNative is a cross-platform toolkit for building native Android and iOS app
35
35
  - **Native widgets and layout:** Swift and Kotlin component managers own UIKit and Android widgets. The shared Yoga C++ engine computes layout beside the controls, using platform measurements for text and intrinsic sizes.
36
36
  - **Standard asyncio:** Components, effects, event handlers, and tasks run on a dedicated Python application thread. Native UI threads handle widgets, scrolling, and animation frames. Component-owned tasks are canceled on unmount.
37
37
  - **Incremental reconciliation:** State changes update affected component subtrees. Versioned bridge commits validate operations and acknowledge revisions; events and controlled text inputs carry identities that prevent stale updates.
38
- - **Native lists and navigation:** UIKit collection views and Android recycler views recycle cells for fixed or variable row sizes, grids, sections, and horizontal lists. Native navigation containers present logical screen roots at every nesting level while providers and component state remain in the shared Python tree; navigators take screen options, groups, themes, tab-bar styles, and a navigation ref usable outside components.
38
+ - **Typed, Pythonic authoring:** Components return `pn.Node` and their signatures are their props, so a strict type checker verifies element trees and conditional children. Screens are components whose parameters are their route params (`nav.push(ItemScreen(id=42))`), navigators are module-level values with deep links derived from each screen's `path`, one `Theme` dataclass styles the app and its navigators, `StyleSheet` namespaces give styles typed names, and `pn.Store` holds app state with selector-based re-renders. `pn lint` checks the rules of hooks.
39
+ - **Native lists and navigation:** UIKit collection views and Android recycler views recycle cells for fixed or variable row sizes, grids, sections, and horizontal lists. Native navigation containers present logical screen roots at every nesting level while providers and component state remain in the shared Python tree; navigators take screen options, groups, tab-bar styles, and a navigation ref usable outside components.
39
40
  - **Animation and gestures:** Serialized animation graphs support timing with named or bezier easing, springs, React Native's decay model, arithmetic, interpolation, and native scroll and gesture bindings. Swift and Kotlin recognize mobile gestures with Gesture Handler-style activation offsets and update supported animation bindings without Python work on every frame.
40
41
  - **Assets and graphics:** Drop images, fonts, and SVGs under `app/assets/` and reference them by path. Density variants, bundled fonts, a vector `Icon` set, `Svg` drawing, gradients, and blur render natively on both platforms and in the browser preview.
41
42
  - **Device APIs:** Python facades expose camera, location, notifications, storage, permissions, keyboard, dimensions and pixel ratio, device info, localization, accessibility settings, and other native services, with a Python fallback for headless tests. Test permissions and platform behavior on your deployment targets.
@@ -62,7 +63,7 @@ import pythonnative as pn
62
63
 
63
64
 
64
65
  @pn.component
65
- def App():
66
+ def App() -> pn.Node:
66
67
  count, set_count = pn.use_state(0)
67
68
  return pn.Column(
68
69
  pn.Text(f"Count: {count}", style=pn.style(font_size=24, bold=True)),
@@ -70,7 +71,7 @@ def App():
70
71
  "Tap me",
71
72
  on_press=lambda: set_count(count + 1),
72
73
  ),
73
- style=pn.style(spacing=12, padding=16),
74
+ style=pn.style(gap=12, padding=16),
74
75
  )
75
76
  ```
76
77
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pythonnative"
7
- version = "0.47.0"
7
+ version = "0.48.0"
8
8
  description = "Cross-platform native UI toolkit for Android and iOS"
9
9
  authors = [
10
10
  { name = "Owen Carey" }
@@ -18,16 +18,20 @@ Key building blocks:
18
18
  [`use_effect`][pythonnative.use_effect],
19
19
  [`use_reducer`][pythonnative.use_reducer], etc.) manage state, side
20
20
  effects, and context inside `@component` functions.
21
- - **Navigation** is built from
22
- [`NavigationContainer`][pythonnative.NavigationContainer] plus one of
23
- the [`create_stack_navigator`][pythonnative.create_stack_navigator],
24
- [`create_tab_navigator`][pythonnative.create_tab_navigator], or
25
- [`create_drawer_navigator`][pythonnative.create_drawer_navigator]
26
- factories.
27
- - **Styling** uses a single ``style`` dict per element (or a list of
28
- dicts), composable via [`StyleSheet`][pythonnative.StyleSheet].
29
- PythonNative ships a fully-typed [`Style`][pythonnative.style.Style]
30
- TypedDict so editors and ``mypy`` validate every key as you type.
21
+ - **Navigation**: screens are components whose parameters are their
22
+ route params, listed in module-level
23
+ [`StackNavigator`][pythonnative.StackNavigator],
24
+ [`TabNavigator`][pythonnative.TabNavigator], or
25
+ [`DrawerNavigator`][pythonnative.DrawerNavigator] values and rendered
26
+ by [`NavigationContainer`][pythonnative.NavigationContainer].
27
+ ``nav.push(ItemScreen(id=42))`` is checked by the type checker.
28
+ - **Styling** uses a ``style`` dict per element (or a list of dicts),
29
+ typed by the [`Style`][pythonnative.style.Style] ``TypedDict``.
30
+ [`StyleSheet`][pythonnative.StyleSheet] namespaces group named
31
+ styles, and one [`Theme`][pythonnative.Theme] styles the app and
32
+ its navigators.
33
+ - **State** lives in hooks for a component and in a typed
34
+ [`Store`][pythonnative.Store] for the app.
31
35
  - **Animations** use the ``Animated`` namespace. Serialized graphs
32
36
  connect values, arithmetic, interpolation, and style bindings.
33
37
  Native timing, spring, decay, scroll, and gesture drivers update
@@ -52,17 +56,17 @@ Example:
52
56
  import pythonnative as pn
53
57
 
54
58
  @pn.component
55
- def App():
59
+ def App() -> pn.Node:
56
60
  count, set_count = pn.use_state(0)
57
61
  return pn.Column(
58
62
  pn.Text(f"Count: {count}", style=pn.style(font_size=24)),
59
63
  pn.Button("+", on_press=lambda: set_count(count + 1)),
60
- style=pn.style(spacing=12),
64
+ style=pn.style(gap=12),
61
65
  )
62
66
  ```
63
67
  """
64
68
 
65
- __version__ = "0.47.0"
69
+ __version__ = "0.48.0"
66
70
 
67
71
  from . import appearance, diagnostics, gestures, icons, runtime, sdk, svg
68
72
  from .alerts import Alert
@@ -117,8 +121,9 @@ from .components import (
117
121
  WebNavigationEvent,
118
122
  WebView,
119
123
  )
124
+ from .components.props import AccessibilityProps, ViewProps
120
125
  from .diagnostics import HookOrderError
121
- from .element import Element
126
+ from .element import Element, Node
122
127
  from .gestures import GestureSpec, SwipeDirection
123
128
  from .handles import ScrollOffset, ScrollViewHandle, TextInputHandle, ViewHandle, WebViewHandle
124
129
  from .hooks import (
@@ -190,28 +195,24 @@ from .native_modules import (
190
195
  use_screen_reader_enabled,
191
196
  )
192
197
  from .navigation import (
193
- DARK_NAVIGATION_THEME,
194
- DEFAULT_NAVIGATION_THEME,
195
- LinkingConfig,
198
+ DrawerNavigator,
199
+ Group,
196
200
  Navigation,
197
- NavigationColors,
198
201
  NavigationContainer,
199
202
  NavigationRef,
200
203
  NavigationState,
201
- NavigationTheme,
204
+ Navigator,
202
205
  Route,
203
- ScreenGroup,
206
+ Screen,
204
207
  ScreenOptions,
208
+ StackNavigator,
205
209
  TabBarStyle,
206
- create_drawer_navigator,
207
- create_navigation_ref,
208
- create_stack_navigator,
209
- create_tab_navigator,
210
+ TabNavigator,
210
211
  use_focus_effect,
211
212
  use_is_focused,
212
213
  use_navigation,
213
- use_navigation_theme,
214
214
  use_route,
215
+ use_screen_options,
215
216
  )
216
217
  from .net import HTTPError, Response, fetch
217
218
  from .platform import Platform, get_platform
@@ -220,9 +221,9 @@ from .runtime import run_async, run_blocking
220
221
  from .scheduler import batch_updates
221
222
  from .sdk import Props, define_component, element_factory
222
223
  from .storage import AsyncStorage, use_persisted_state
224
+ from .store import Store, use_store
223
225
  from .style import (
224
- DEFAULT_DARK_THEME,
225
- DEFAULT_LIGHT_THEME,
226
+ ABSOLUTE_FILL,
226
227
  AccessibilityAction,
227
228
  AccessibilityState,
228
229
  AccessibilityValue,
@@ -254,15 +255,23 @@ from .style import (
254
255
  TextAlign,
255
256
  TextDecoration,
256
257
  TextTransform,
257
- Theme,
258
- ThemeContext,
259
258
  TransformSpec,
260
- default_theme,
261
259
  resolve_style,
262
260
  style,
263
- use_theme,
264
261
  )
265
262
  from .suspense import Resource, lazy, start_resource
263
+ from .theme import (
264
+ DARK_THEME,
265
+ LIGHT_THEME,
266
+ Colors,
267
+ Radii,
268
+ Spacing,
269
+ Theme,
270
+ ThemeProvider,
271
+ Typography,
272
+ use_styles,
273
+ use_theme,
274
+ )
266
275
 
267
276
  __all__ = [
268
277
  "UNSET",
@@ -314,6 +323,9 @@ __all__ = [
314
323
  "TouchableOpacity",
315
324
  "View",
316
325
  "WebView",
326
+ # Shared props
327
+ "AccessibilityProps",
328
+ "ViewProps",
317
329
  # Typed events
318
330
  "ContentSizeEvent",
319
331
  "KeyPressEvent",
@@ -334,6 +346,7 @@ __all__ = [
334
346
  # Core
335
347
  "Component",
336
348
  "Element",
349
+ "Node",
337
350
  "component",
338
351
  "create_screen",
339
352
  "memo",
@@ -373,28 +386,24 @@ __all__ = [
373
386
  "lazy",
374
387
  "start_resource",
375
388
  # Navigation
376
- "DARK_NAVIGATION_THEME",
377
- "DEFAULT_NAVIGATION_THEME",
378
- "LinkingConfig",
389
+ "DrawerNavigator",
390
+ "Group",
379
391
  "Navigation",
380
- "NavigationColors",
381
392
  "NavigationContainer",
382
393
  "NavigationRef",
383
394
  "NavigationState",
384
- "NavigationTheme",
395
+ "Navigator",
385
396
  "Route",
386
- "ScreenGroup",
397
+ "Screen",
387
398
  "ScreenOptions",
399
+ "StackNavigator",
388
400
  "TabBarStyle",
389
- "create_navigation_ref",
390
- "use_navigation_theme",
391
- "create_drawer_navigator",
392
- "create_stack_navigator",
393
- "create_tab_navigator",
401
+ "TabNavigator",
394
402
  "use_focus_effect",
395
403
  "use_is_focused",
396
404
  "use_navigation",
397
405
  "use_route",
406
+ "use_screen_options",
398
407
  # Styling - typed primitives
399
408
  "AccessibilityAction",
400
409
  "AccessibilityState",
@@ -405,8 +414,6 @@ __all__ = [
405
414
  "AutoCapitalize",
406
415
  "BorderStyle",
407
416
  "Color",
408
- "DEFAULT_DARK_THEME",
409
- "DEFAULT_LIGHT_THEME",
410
417
  "Dimension",
411
418
  "Display",
412
419
  "DynamicColor",
@@ -430,9 +437,16 @@ __all__ = [
430
437
  "TextDecoration",
431
438
  "TextTransform",
432
439
  "Theme",
433
- "ThemeContext",
440
+ "ThemeProvider",
441
+ "Colors",
442
+ "Typography",
443
+ "Spacing",
444
+ "Radii",
445
+ "LIGHT_THEME",
446
+ "DARK_THEME",
447
+ "ABSOLUTE_FILL",
448
+ "use_styles",
434
449
  "TransformSpec",
435
- "default_theme",
436
450
  "resolve_style",
437
451
  "style",
438
452
  "use_theme",
@@ -487,6 +501,9 @@ __all__ = [
487
501
  "Vibration",
488
502
  "use_app_state",
489
503
  "use_net_info",
504
+ # Stores
505
+ "Store",
506
+ "use_store",
490
507
  # Networking + persistence
491
508
  "AsyncStorage",
492
509
  "fetch",
@@ -2180,7 +2180,10 @@ def use_animated_value(initial: float = 0.0) -> AnimatedValue:
2180
2180
  """
2181
2181
  from .hooks import use_memo
2182
2182
 
2183
- return use_memo(lambda: AnimatedValue(initial), [])
2183
+ return use_memo(
2184
+ lambda: AnimatedValue(initial),
2185
+ [], # pn: ignore[PN103] the initial value is read once, like use_state
2186
+ )
2184
2187
 
2185
2188
 
2186
2189
  __all__ = [
@@ -120,5 +120,8 @@ def get_system_color_scheme() -> str:
120
120
  def reset_color_scheme() -> None:
121
121
  """Reset to system ``"light"`` with no override. Intended for tests."""
122
122
  global _system_scheme, _override_scheme
123
+ changed = get_color_scheme() != "light"
123
124
  _system_scheme = "light"
124
125
  _override_scheme = None
126
+ if changed:
127
+ _notify_subscribers()
@@ -44,6 +44,7 @@ from dataclasses import dataclass, field
44
44
  from pathlib import Path
45
45
  from typing import Any, Dict, Iterable, List, Mapping, Optional, Sequence, Tuple, Union
46
46
 
47
+ from ..utils import overlay_root
47
48
  from .fonts import FontFace, FontParseError, read_font_face, weight_from_name
48
49
 
49
50
  __all__ = [
@@ -437,8 +438,6 @@ def assets_roots() -> List[Path]:
437
438
  back to the native ``Assets`` module.
438
439
  """
439
440
  roots: List[Path] = []
440
- from ..hot_reload import overlay_root
441
-
442
441
  overlay = overlay_root()
443
442
  if overlay:
444
443
  roots.append(Path(overlay) / "app" / ASSETS_DIR)
@@ -560,7 +559,6 @@ def configure_native(paths: Optional[Iterable[str]] = None) -> bool:
560
559
  if paths is not None and not any(_is_asset_path(path) for path in paths):
561
560
  return False
562
561
  from ..bridge import has_transport
563
- from ..hot_reload import overlay_root
564
562
 
565
563
  overlay = overlay_root()
566
564
  if not overlay or not has_transport():
@@ -79,10 +79,11 @@ def start(dev: bool = False, strict: bool = False) -> Dict[str, Any]:
79
79
  if dev_mode:
80
80
  # Debug builds are dev clients: connect to `pn start` when
81
81
  # the build (or a remembered connection) names a server.
82
+ # Release bundles omit this module; they never pass dev=True.
82
83
  from . import devclient
83
84
 
84
85
  client = devclient.start_if_configured()
85
- status_["dev_server"] = client.url if client is not None else None
86
+ status_["dev_server"] = client.server_label if client is not None else None
86
87
  # An overlay from the last session may already hold assets the
87
88
  # bundle doesn't; point the native resolver at it right away.
88
89
  from .assets import configure_native
@@ -125,9 +125,9 @@ class FakeTransport:
125
125
  child.parent = parent
126
126
  elif code == "d":
127
127
  _, tag = op
128
- view = self.views.pop(tag, None)
129
- if view is None:
128
+ if tag not in self.views:
130
129
  raise AssertionError(f"destroy: unknown tag {tag}")
130
+ view = self.views.pop(tag)
131
131
  if view.parent is not None:
132
132
  view.parent.children.remove(view)
133
133
  view.parent = None