pythonnative 0.42.0__tar.gz → 0.43.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.
- {pythonnative-0.42.0/src/pythonnative.egg-info → pythonnative-0.43.0}/PKG-INFO +1 -1
- {pythonnative-0.42.0 → pythonnative-0.43.0}/pyproject.toml +2 -1
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/__init__.py +1 -1
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/animated.py +12 -1
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/bridge/__init__.py +1 -2
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/bridge/commits.py +85 -7
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/bridge/fake.py +1 -1
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/component.py +23 -28
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/components/__init__.py +0 -3
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/components/lists.py +94 -320
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/components/text.py +4 -1
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/server.py +7 -0
- pythonnative-0.43.0/src/pythonnative/devserver/static/contracts.js +48 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/static/renderer.js +103 -58
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/element.py +17 -11
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/hooks.py +79 -16
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/hot_reload.py +16 -18
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/layout.py +8 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/build.gradle +2 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/AndroidManifest.xml +3 -0
- pythonnative-0.43.0/src/pythonnative/native/android/src/main/java/com/pythonnative/generated/NativeModules.kt +420 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/generated/NativeProps.kt +331 -0
- pythonnative-0.43.0/src/pythonnative/native/android/src/main/java/com/pythonnative/generated/PNContracts.kt +202 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/PNBridge.kt +10 -3
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/CommitState.kt +20 -8
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/PNTransaction.kt +1 -23
- pythonnative-0.43.0/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/TransactionApplier.kt +126 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/ViewRegistry.kt +4 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ComponentManager.kt +0 -5
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ScreenStackManager.kt +26 -5
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/TextInputManager.kt +7 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/TextManager.kt +1 -1
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/VirtualListManager.kt +6 -2
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/WebViewManager.kt +3 -3
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/layout/NativeLayout.kt +18 -5
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/MediaModules.kt +21 -6
- pythonnative-0.43.0/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/NotificationsModule.kt +94 -0
- pythonnative-0.43.0/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/views/PNEditText.kt +35 -0
- pythonnative-0.43.0/src/pythonnative/native/android/src/test/java/com/pythonnative/runtime/ContractFixtureTest.kt +19 -0
- pythonnative-0.43.0/src/pythonnative/native/android/src/test/java/com/pythonnative/runtime/NativeLifecycleTest.kt +103 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/test/java/com/pythonnative/runtime/PNTransactionTest.kt +2 -22
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Package.swift +2 -1
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Bridge/PNBridge.swift +6 -2
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Bridge/PNCommit.swift +32 -12
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Bridge/PNRegistry.swift +3 -5
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Bridge/PNTransaction.swift +64 -40
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNButtonManagers.swift +3 -2
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNComponentManager.swift +4 -1
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNContainerView.swift +0 -10
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNScreenStackManager.swift +40 -9
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNTextInputManager.swift +61 -7
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNTextManager.swift +6 -5
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNVirtualListManager.swift +13 -4
- pythonnative-0.43.0/src/pythonnative/native/ios/Sources/PythonNativeKit/Generated/NativeModules.swift +448 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Generated/NativeProps.swift +333 -0
- pythonnative-0.43.0/src/pythonnative/native/ios/Sources/PythonNativeKit/Generated/PNContracts.swift +101 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Layout/PNLayout.swift +29 -7
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Modules/MediaModules.swift +20 -2
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Modules/PNNativeModule.swift +5 -1
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Modules/PermissionModules.swift +1 -0
- pythonnative-0.43.0/src/pythonnative/native/ios/Tests/NativeTests.xcodeproj/project.pbxproj +128 -0
- pythonnative-0.43.0/src/pythonnative/native/ios/Tests/NativeTests.xcodeproj/xcshareddata/xcschemes/NativeTests.xcscheme +24 -0
- pythonnative-0.43.0/src/pythonnative/native/ios/Tests/PythonNativeKitTests/Fixtures/validation.json +222 -0
- pythonnative-0.43.0/src/pythonnative/native/ios/Tests/PythonNativeKitTests/PNContractFixtureTests.swift +17 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Tests/PythonNativeKitTests/PNGestureTests.swift +1 -1
- pythonnative-0.43.0/src/pythonnative/native/ios/Tests/PythonNativeKitTests/PNLifecycleTests.swift +80 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Tests/PythonNativeKitTests/PNManagerTests.swift +1 -1
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Tests/PythonNativeKitTests/PNModuleTests.swift +12 -8
- pythonnative-0.43.0/src/pythonnative/native/ios/Tests/PythonNativeKitTests/PNTransactionTests.swift +55 -0
- pythonnative-0.43.0/src/pythonnative/native/ios/Tests/TestHost/main.swift +16 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native_modules/camera.py +7 -6
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native_modules/fallback.py +3 -3
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native_modules/location.py +11 -7
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native_modules/notifications.py +6 -10
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native_modules/registry.py +30 -26
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native_views/bridge_backend.py +77 -8
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/navigation/navigators.py +5 -6
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/navigation/screen.py +1 -7
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/profiling.py +20 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/project/android.py +6 -1
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/project/plugins.py +3 -16
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/reconciler/boundaries.py +8 -10
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/reconciler/core.py +91 -20
- pythonnative-0.43.0/src/pythonnative/reconciler/journal.py +92 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/reconciler/layout_pass.py +2 -2
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/reconciler/vnode.py +6 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/scheduler.py +12 -6
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/sdk/_components.py +2 -25
- pythonnative-0.43.0/src/pythonnative/sdk/builtins.py +168 -0
- pythonnative-0.43.0/src/pythonnative/sdk/commands.py +47 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/sdk/module_codegen.py +2 -2
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/sdk/schema.py +101 -11
- pythonnative-0.43.0/src/pythonnative/sdk/services.py +144 -0
- pythonnative-0.43.0/src/pythonnative/sdk/templates/contracts.kt +92 -0
- pythonnative-0.43.0/src/pythonnative/sdk/templates/contracts.swift +101 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/testing/backend.py +47 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0/src/pythonnative.egg-info}/PKG-INFO +1 -1
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative.egg-info/SOURCES.txt +14 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_animated_graph.py +10 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_bridge.py +105 -16
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_components.py +7 -7
- pythonnative-0.43.0/tests/test_contract_fixtures.py +27 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_element.py +1 -1
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_extended_components.py +6 -7
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_hooks.py +4 -4
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_inbox.py +1 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_native_lists.py +31 -5
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_native_modules.py +1 -1
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_new_components.py +6 -7
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_runtime_contracts.py +3 -3
- pythonnative-0.43.0/tests/test_runtime_overhaul.py +283 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_sdk.py +4 -4
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_web_transport.py +14 -4
- pythonnative-0.42.0/src/pythonnative/native/android/src/main/java/com/pythonnative/generated/NativeModules.kt +0 -5
- pythonnative-0.42.0/src/pythonnative/native/android/src/main/java/com/pythonnative/generated/PNContracts.kt +0 -129
- pythonnative-0.42.0/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/TransactionApplier.kt +0 -117
- pythonnative-0.42.0/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/NotificationsModule.kt +0 -100
- pythonnative-0.42.0/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/views/PNEditText.kt +0 -18
- pythonnative-0.42.0/src/pythonnative/native/ios/Sources/PythonNativeKit/Generated/NativeModules.swift +0 -1
- pythonnative-0.42.0/src/pythonnative/native/ios/Sources/PythonNativeKit/Generated/PNContracts.swift +0 -46
- pythonnative-0.42.0/src/pythonnative/native/ios/Tests/PythonNativeKitTests/PNTransactionTests.swift +0 -91
- pythonnative-0.42.0/src/pythonnative/sdk/builtins.py +0 -91
- pythonnative-0.42.0/src/pythonnative/sdk/templates/contracts.kt +0 -46
- pythonnative-0.42.0/src/pythonnative/sdk/templates/contracts.swift +0 -46
- {pythonnative-0.42.0 → pythonnative-0.43.0}/.github/workflows/release.yml +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/LICENSE +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/MANIFEST.in +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/README.md +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/scripts/check-distributions.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/scripts/cibuildwheel.toml +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/scripts/release-assets.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/setup.cfg +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/setup.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/_ios_log.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/alerts.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/animation_graph.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/appearance.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/bootstrap.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/bridge/android.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/bridge/codec.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/bridge/ios.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/bridge/web.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/cli/__init__.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/cli/pn.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/components/_base.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/components/controls.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/components/layout.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/components/media.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/components/overlays.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/components/pressable.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/components/structural.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devclient.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/__init__.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/static/animation_graph.js +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/static/bridge.js +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/static/colors.js +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/static/host.js +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/static/index.html +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/static/layout.js +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/static/preview.css +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/static/shell.js +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/static/yoga/LICENSE +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/static/yoga/binaries/yoga-wasm-base64-esm.js +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/static/yoga/src/generated/YGEnums.d.ts +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/static/yoga/src/generated/YGEnums.js +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/static/yoga/src/generated/YGEnums.js.map +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/static/yoga/src/index.d.ts +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/static/yoga/src/index.js +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/static/yoga/src/index.js.map +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/static/yoga/src/load.d.ts +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/static/yoga/src/load.js +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/static/yoga/src/load.js.map +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/static/yoga/src/wrapAssembly.d.ts +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/static/yoga/src/wrapAssembly.js +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/static/yoga/src/wrapAssembly.js.map +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/watcher.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/devserver/ws.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/diagnostics.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/equality.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/events.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/gestures.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/hosts/__init__.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/hosts/base.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/hosts/native.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/mutations.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/gradle.properties +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/settings.gradle +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/cpp/CMakeLists.txt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/cpp/yoga_jni.cpp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/PythonHost.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/animation/AnimationGraph.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/animation/AnimationSpecs.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/animation/PNAnimator.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/JsonUtil.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/MainThread.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/PNLog.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/PNRegistry.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/BuiltinComponents.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ButtonManager.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ContainerManagers.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ControlManagers.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/DatePickerManager.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ImageLoader.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ImageManager.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ModalManager.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/PNColor.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/PickerManager.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/PortalManager.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/PressableManager.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ScrollViewManager.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/SegmentedControlManager.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/StatusBarManager.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/TabBarManager.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ViewStyler.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/gestures/GestureArbiter.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/gestures/GestureCoordinator.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/gestures/GestureRecognizers.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/layout/YogaNode.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/BuiltinModules.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/DeviceModules.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/HostModule.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/NativeModule.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/PermissionsModule.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/StorageModules.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/SystemModules.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/plugins/GeneratedPlugins.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/screens/PNScreenFragment.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/screens/ScreenRegistry.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/views/PNAccessibilityDelegate.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/views/PNBorderDrawable.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/main/java/com/pythonnative/runtime/views/PNFrameLayout.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/test/java/com/pythonnative/runtime/AnimationSpecsTest.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/test/java/com/pythonnative/runtime/GestureArbiterTest.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/test/java/com/pythonnative/runtime/PNColorTest.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/android/src/test/java/com/pythonnative/runtime/PromiseTest.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Animation/PNAnimationGraph.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Animation/PNAnimator.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Bridge/PNViewRegistry.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNColor.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNControlManagers.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNImageManager.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNOverlayManagers.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNPressableManager.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNScrollViewManager.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNTabBarManager.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNTransform.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNViewManager.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNViewState.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNViewStyler.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Components/PNWebViewManager.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Gestures/PNGestureCoordinator.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Modules/AlertModule.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Modules/HostModule.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Modules/LifecycleModules.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Modules/SystemModules.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Plugins/PNPluginRegistration.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Screens/PNScreenRegistry.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Screens/PNViewController.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Support/PNCompat.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Support/PNJSON.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Support/PNLog.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Sources/PythonNativeKit/Support/PNWindow.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Tests/PythonNativeKitTests/PNAnimationGraphTests.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Tests/PythonNativeKitTests/PNColorTests.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/ios/Tests/PythonNativeKitTests/PNCommitTests.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/LICENSE +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/Package.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/VENDORED.md +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/include/PNStyle.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/include/module.modulemap +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/include/yoga/YGConfig.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/include/yoga/YGEnums.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/include/yoga/YGMacros.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/include/yoga/YGNode.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/include/yoga/YGNodeLayout.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/include/yoga/YGNodeStyle.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/include/yoga/YGPixelGrid.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/include/yoga/YGValue.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/include/yoga/Yoga.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/python.cpp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/style.cpp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/CMakeLists.txt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/YGConfig.cpp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/YGConfig.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/YGEnums.cpp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/YGEnums.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/YGMacros.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/YGNode.cpp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/YGNode.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/YGNodeLayout.cpp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/YGNodeLayout.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/YGNodeStyle.cpp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/YGNodeStyle.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/YGPixelGrid.cpp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/YGPixelGrid.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/YGValue.cpp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/YGValue.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/Yoga.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/algorithm/AbsoluteLayout.cpp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/algorithm/AbsoluteLayout.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/algorithm/Align.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/algorithm/Baseline.cpp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/algorithm/Baseline.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/algorithm/BoundAxis.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/algorithm/Cache.cpp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/algorithm/Cache.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/algorithm/CalculateLayout.cpp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/algorithm/CalculateLayout.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/algorithm/FlexDirection.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/algorithm/FlexLine.cpp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/algorithm/FlexLine.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/algorithm/PixelGrid.cpp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/algorithm/PixelGrid.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/algorithm/SizingMode.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/algorithm/TrailingPosition.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/config/Config.cpp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/config/Config.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/debug/AssertFatal.cpp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/debug/AssertFatal.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/debug/Log.cpp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/debug/Log.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/enums/Align.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/enums/BoxSizing.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/enums/Dimension.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/enums/Direction.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/enums/Display.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/enums/Edge.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/enums/Errata.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/enums/ExperimentalFeature.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/enums/FlexDirection.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/enums/Gutter.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/enums/Justify.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/enums/LogLevel.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/enums/MeasureMode.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/enums/NodeType.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/enums/Overflow.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/enums/PhysicalEdge.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/enums/PositionType.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/enums/Unit.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/enums/Wrap.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/enums/YogaEnums.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/event/event.cpp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/event/event.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/module.modulemap +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/node/CachedMeasurement.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/node/LayoutResults.cpp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/node/LayoutResults.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/node/LayoutableChildren.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/node/Node.cpp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/node/Node.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/numeric/Comparison.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/numeric/FloatOptional.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/style/SmallValueBuffer.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/style/Style.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/style/StyleLength.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/style/StyleValueHandle.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native/yoga/yoga/style/StyleValuePool.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native_modules/__init__.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native_modules/app_state.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native_modules/battery.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native_modules/biometrics.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native_modules/clipboard.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native_modules/file_system.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native_modules/haptics.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native_modules/linking.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native_modules/net_info.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native_modules/permissions.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native_modules/secure_store.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native_modules/share.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native_views/__init__.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/native_views/base.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/navigation/__init__.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/navigation/container.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/navigation/handle.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/navigation/hooks.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/navigation/host.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/navigation/linking.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/navigation/state.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/net.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/platform.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/platform_metrics.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/preview.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/project/__init__.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/project/builder.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/project/config.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/project/deps.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/project/devices.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/project/doctor.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/project/fingerprint.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/project/icons.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/project/ios.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/project/lockfile.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/project/permissions.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/project/runtime_assets.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/py.typed +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/query.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/reconciler/__init__.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/reconciler/children.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/refresh.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/runtime.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/sdk/__init__.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/sdk/codegen.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/storage.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/style.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/suspense.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/build.gradle +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/proguard-rules.pro +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/androidTest/java/com/pythonnative/android_template/ExampleInstrumentedTest.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/debug/AndroidManifest.xml +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/AndroidManifest.xml +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/java/com/pythonnative/android_template/MainActivity.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/java/com/pythonnative/android_template/ScreenFragment.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/res/drawable/ic_launcher_background.xml +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/res/layout/activity_main.xml +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-hdpi/ic_launcher.webp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-mdpi/ic_launcher.webp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-xhdpi/ic_launcher.webp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/res/navigation/nav_graph.xml +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/res/values/colors.xml +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/res/values/strings.xml +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/res/values/themes.xml +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/res/values-night/themes.xml +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/res/xml/backup_rules.xml +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/main/res/xml/data_extraction_rules.xml +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/app/src/test/java/com/pythonnative/android_template/ExampleUnitTest.kt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/build.gradle +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/gradle/wrapper/gradle-wrapper.jar +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/gradle/wrapper/gradle-wrapper.properties +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/gradle.properties +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/gradlew +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/gradlew.bat +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/android_template/settings.gradle +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/ios_template/ios_template/AppDelegate.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/ios_template/ios_template/Assets.xcassets/AccentColor.colorset/Contents.json +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/ios_template/ios_template/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/ios_template/ios_template/Assets.xcassets/Contents.json +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/ios_template/ios_template/Base.lproj/LaunchScreen.storyboard +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/ios_template/ios_template/BridgingHeader.h +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/ios_template/ios_template/Info.plist +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/ios_template/ios_template/PythonRuntime.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/ios_template/ios_template/SceneDelegate.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/ios_template/ios_template/ViewController.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/ios_template/ios_template.xcodeproj/project.pbxproj +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/ios_template/ios_template.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/ios_template/ios_templateTests/ios_templateTests.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/ios_template/ios_templateUITests/ios_templateUITests.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/templates/ios_template/ios_templateUITests/ios_templateUITestsLaunchTests.swift +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/testing/__init__.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/testing/harness.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative/utils.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative.egg-info/dependency_links.txt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative.egg-info/entry_points.txt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative.egg-info/requires.txt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/src/pythonnative.egg-info/top_level.txt +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_alert.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_animated.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_appearance.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_async_hooks.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_cli.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_codegen.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_core_semantics.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_devclient.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_devserver.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_devserver_ws.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_events.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_gesture_composition.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_gestures.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_hosts.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_hot_reload.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_incremental_render.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_interaction_props.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_ios_log.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_layout.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_metric_hooks.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_mutations.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_native_views.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_navigation.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_net.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_platform.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_platform_metrics.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_reconciler.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_ref.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_release_packaging.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_release_workflow.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_runtime.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_smoke.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_storage.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_style.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_suspense.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_transitions.py +0 -0
- {pythonnative-0.42.0 → pythonnative-0.43.0}/tests/test_utils.py +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pythonnative"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.43.0"
|
|
8
8
|
description = "Cross-platform native UI toolkit for Android and iOS"
|
|
9
9
|
authors = [
|
|
10
10
|
{ name = "Owen Carey" }
|
|
@@ -51,6 +51,7 @@ dev = [
|
|
|
51
51
|
# platform tags (project/deps.py), and the test suite exercises that
|
|
52
52
|
# path. `uv sync` does not seed pip the way `uv venv --seed` did.
|
|
53
53
|
"pip>=24.0",
|
|
54
|
+
"websockets>=15",
|
|
54
55
|
]
|
|
55
56
|
docs = [
|
|
56
57
|
"mkdocs>=1.5",
|
|
@@ -1339,8 +1339,14 @@ def _resolve_style_with_values(style: StyleProp) -> Tuple[Dict[str, Any], Dict[s
|
|
|
1339
1339
|
flat = resolve_style(style)
|
|
1340
1340
|
bindings: Dict[str, AnimatedNode] = {}
|
|
1341
1341
|
plain: Dict[str, Any] = {}
|
|
1342
|
+
transforms: List[Dict[str, Any]] = []
|
|
1342
1343
|
for k, v in flat.items():
|
|
1343
|
-
if
|
|
1344
|
+
if k in _ANIMATED_TRANSFORM_KEYS:
|
|
1345
|
+
if isinstance(v, AnimatedNode):
|
|
1346
|
+
bindings[k] = v
|
|
1347
|
+
v = v.value
|
|
1348
|
+
transforms.append({k: v})
|
|
1349
|
+
elif isinstance(v, AnimatedNode):
|
|
1344
1350
|
bindings[k] = v
|
|
1345
1351
|
plain[k] = v.value
|
|
1346
1352
|
elif k == "transform" and v is not None:
|
|
@@ -1361,6 +1367,11 @@ def _resolve_style_with_values(style: StyleProp) -> Tuple[Dict[str, Any], Dict[s
|
|
|
1361
1367
|
plain[k] = plain_entries
|
|
1362
1368
|
else:
|
|
1363
1369
|
plain[k] = v
|
|
1370
|
+
if transforms:
|
|
1371
|
+
# Native styles use the same transform shape for the initial frame
|
|
1372
|
+
# and later renders, even when Animated accepts a top-level binding.
|
|
1373
|
+
existing = plain.get("transform") or []
|
|
1374
|
+
plain["transform"] = (existing if isinstance(existing, list) else [existing]) + transforms
|
|
1364
1375
|
return plain, bindings
|
|
1365
1376
|
|
|
1366
1377
|
|
|
@@ -217,8 +217,7 @@ def native_callback(kind: str, tag: int, name: str, payload: str) -> Optional[st
|
|
|
217
217
|
from ..native_views import get_registry
|
|
218
218
|
|
|
219
219
|
backend = get_registry()
|
|
220
|
-
|
|
221
|
-
backend.on_layout(codec.loads(payload))
|
|
220
|
+
backend.accept_layout(codec.loads(payload))
|
|
222
221
|
return None
|
|
223
222
|
if kind == "event":
|
|
224
223
|
return _on_event(int(tag), name, payload)
|
|
@@ -7,11 +7,13 @@ poisons that surface until the host explicitly resets and remounts it.
|
|
|
7
7
|
|
|
8
8
|
from __future__ import annotations
|
|
9
9
|
|
|
10
|
-
import copy
|
|
11
10
|
import math
|
|
11
|
+
from collections.abc import Iterator, MutableMapping
|
|
12
12
|
from dataclasses import dataclass, field
|
|
13
13
|
from typing import Any
|
|
14
14
|
|
|
15
|
+
from ..profiling import count, profiled
|
|
16
|
+
|
|
15
17
|
PROTOCOL_VERSION = 2
|
|
16
18
|
|
|
17
19
|
|
|
@@ -29,6 +31,59 @@ class ViewState:
|
|
|
29
31
|
children: list[int] = field(default_factory=list)
|
|
30
32
|
|
|
31
33
|
|
|
34
|
+
class ViewOverlay(MutableMapping[int, ViewState]):
|
|
35
|
+
"""Copy only records written by a candidate commit.
|
|
36
|
+
|
|
37
|
+
Publishing consumes the candidate and updates its owned base in place. A
|
|
38
|
+
rejected candidate is simply discarded. There is no chain of old revisions.
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
def __init__(self, base: MutableMapping[int, ViewState]) -> None:
|
|
42
|
+
self.base = base
|
|
43
|
+
self.changed: dict[int, ViewState] = {}
|
|
44
|
+
self.deleted: set[int] = set()
|
|
45
|
+
|
|
46
|
+
def __getitem__(self, tag: int) -> ViewState:
|
|
47
|
+
if tag in self.deleted:
|
|
48
|
+
raise KeyError(tag)
|
|
49
|
+
return self.changed[tag] if tag in self.changed else self.base[tag]
|
|
50
|
+
|
|
51
|
+
def __setitem__(self, tag: int, value: ViewState) -> None:
|
|
52
|
+
self.deleted.discard(tag)
|
|
53
|
+
self.changed[tag] = value
|
|
54
|
+
|
|
55
|
+
def __delitem__(self, tag: int) -> None:
|
|
56
|
+
self[tag]
|
|
57
|
+
self.changed.pop(tag, None)
|
|
58
|
+
self.deleted.add(tag)
|
|
59
|
+
|
|
60
|
+
def __iter__(self) -> Iterator[int]:
|
|
61
|
+
yield from (tag for tag in self.base if tag not in self.deleted and tag not in self.changed)
|
|
62
|
+
yield from self.changed
|
|
63
|
+
|
|
64
|
+
def __len__(self) -> int:
|
|
65
|
+
return (
|
|
66
|
+
len(self.base)
|
|
67
|
+
- sum(tag in self.base for tag in self.deleted)
|
|
68
|
+
+ sum(tag not in self.base for tag in self.changed)
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
def edit(self, tag: int) -> ViewState:
|
|
72
|
+
"""Return a writable copy of this record, copying it at most once."""
|
|
73
|
+
if tag not in self.changed:
|
|
74
|
+
view = self[tag]
|
|
75
|
+
self.changed[tag] = ViewState(view.type_name, dict(view.props), view.parent, list(view.children))
|
|
76
|
+
count("commit.records_copied")
|
|
77
|
+
return self.changed[tag]
|
|
78
|
+
|
|
79
|
+
def publish(self) -> MutableMapping[int, ViewState]:
|
|
80
|
+
"""Apply accepted records to the owned base without a revision chain."""
|
|
81
|
+
for tag in self.deleted:
|
|
82
|
+
del self.base[tag]
|
|
83
|
+
self.base.update(self.changed)
|
|
84
|
+
return self.base
|
|
85
|
+
|
|
86
|
+
|
|
32
87
|
@dataclass
|
|
33
88
|
class CommitState:
|
|
34
89
|
"""Committed revision and structural state for one native surface."""
|
|
@@ -36,8 +91,9 @@ class CommitState:
|
|
|
36
91
|
application: str = ""
|
|
37
92
|
surface: int = 0
|
|
38
93
|
revision: int = 0
|
|
39
|
-
views:
|
|
94
|
+
views: MutableMapping[int, ViewState] = field(default_factory=dict)
|
|
40
95
|
|
|
96
|
+
@profiled("validation")
|
|
41
97
|
def prepare(self, envelope: Any) -> CommitState:
|
|
42
98
|
"""Validate without mutating this state and return the candidate state."""
|
|
43
99
|
if not isinstance(envelope, dict) or envelope.get("version") != PROTOCOL_VERSION:
|
|
@@ -52,7 +108,9 @@ class CommitState:
|
|
|
52
108
|
ops = envelope.get("ops")
|
|
53
109
|
if not isinstance(ops, list):
|
|
54
110
|
raise CommitError("Commit ops must be a list")
|
|
55
|
-
|
|
111
|
+
if isinstance(self.views, ViewOverlay):
|
|
112
|
+
raise CommitError("Publish the previous candidate before preparing another commit")
|
|
113
|
+
result = CommitState(application, surface, revision, ViewOverlay(self.views))
|
|
56
114
|
for index, op in enumerate(ops):
|
|
57
115
|
try:
|
|
58
116
|
result._validate_op(op)
|
|
@@ -60,6 +118,16 @@ class CommitState:
|
|
|
60
118
|
raise CommitError(f"Invalid op {index}: {exc}") from exc
|
|
61
119
|
return result
|
|
62
120
|
|
|
121
|
+
def publish(self) -> CommitState:
|
|
122
|
+
"""Accept a successfully mounted candidate; the prior state is consumed."""
|
|
123
|
+
if isinstance(self.views, ViewOverlay):
|
|
124
|
+
self.views = self.views.publish()
|
|
125
|
+
return self
|
|
126
|
+
|
|
127
|
+
def _edit(self, tag: int) -> ViewState:
|
|
128
|
+
assert isinstance(self.views, ViewOverlay)
|
|
129
|
+
return self.views.edit(tag)
|
|
130
|
+
|
|
63
131
|
def _validate_op(self, op: Any) -> None:
|
|
64
132
|
if not isinstance(op, list) or len(op) < 2:
|
|
65
133
|
raise ValueError("Expected an operation array")
|
|
@@ -70,12 +138,14 @@ class CommitState:
|
|
|
70
138
|
if code == "c":
|
|
71
139
|
if tag in self.views or not isinstance(op[2], str) or not op[2] or not isinstance(op[3], dict):
|
|
72
140
|
raise ValueError("Invalid or duplicate create")
|
|
141
|
+
self._validate_props(op[2], op[3], False)
|
|
73
142
|
self.views[tag] = ViewState(op[2], dict(op[3]))
|
|
74
143
|
return
|
|
75
|
-
view = self.views[tag]
|
|
144
|
+
view = self.views[tag] if code == "f" else self._edit(tag)
|
|
76
145
|
if code == "u":
|
|
77
146
|
if not isinstance(op[2], dict):
|
|
78
147
|
raise ValueError("Update requires a property mapping")
|
|
148
|
+
self._validate_props(view.type_name, op[2], True)
|
|
79
149
|
for name, value in op[2].items():
|
|
80
150
|
if value is None:
|
|
81
151
|
view.props.pop(name, None)
|
|
@@ -85,14 +155,14 @@ class CommitState:
|
|
|
85
155
|
child_tag, index = op[2:]
|
|
86
156
|
if type(child_tag) is not int or type(index) is not int or index < 0:
|
|
87
157
|
raise ValueError("Invalid child or insertion index")
|
|
88
|
-
child = self.
|
|
158
|
+
child = self._edit(child_tag)
|
|
89
159
|
ancestor: int | None = tag
|
|
90
160
|
while ancestor is not None:
|
|
91
161
|
if ancestor == child_tag:
|
|
92
162
|
raise ValueError("Insertion creates a cycle")
|
|
93
163
|
ancestor = self.views[ancestor].parent
|
|
94
164
|
if child.parent is not None:
|
|
95
|
-
self.
|
|
165
|
+
self._edit(child.parent).children.remove(child_tag)
|
|
96
166
|
if index > len(view.children):
|
|
97
167
|
raise ValueError("Insertion index exceeds child count")
|
|
98
168
|
view.children.insert(index, child_tag)
|
|
@@ -101,7 +171,7 @@ class CommitState:
|
|
|
101
171
|
if view.children:
|
|
102
172
|
raise ValueError("Destroy children before their parent")
|
|
103
173
|
if view.parent is not None:
|
|
104
|
-
self.
|
|
174
|
+
self._edit(view.parent).children.remove(tag)
|
|
105
175
|
del self.views[tag]
|
|
106
176
|
elif code == "f":
|
|
107
177
|
if any(type(n) not in (float, int) or not math.isfinite(n) for n in op[2:]):
|
|
@@ -109,6 +179,14 @@ class CommitState:
|
|
|
109
179
|
if op[4] < 0 or op[5] < 0:
|
|
110
180
|
raise ValueError("Frame sizes must be nonnegative")
|
|
111
181
|
|
|
182
|
+
@staticmethod
|
|
183
|
+
def _validate_props(name: str, props: dict[str, Any], partial: bool) -> None:
|
|
184
|
+
from ..sdk.schema import COMPONENTS
|
|
185
|
+
|
|
186
|
+
schema = COMPONENTS.get(name)
|
|
187
|
+
if schema is not None:
|
|
188
|
+
schema.validate(props, partial=partial)
|
|
189
|
+
|
|
112
190
|
def acknowledgement(self) -> dict[str, Any]:
|
|
113
191
|
"""Identify the exact revision native successfully mounted."""
|
|
114
192
|
return {"ok": True, "application": self.application, "surface": self.surface, "revision": self.revision}
|
|
@@ -98,7 +98,7 @@ class FakeTransport:
|
|
|
98
98
|
self.transactions.append(ops)
|
|
99
99
|
for op in ops:
|
|
100
100
|
self._apply_one(op)
|
|
101
|
-
self.commit_state = candidate
|
|
101
|
+
self.commit_state = candidate.publish()
|
|
102
102
|
return codec.dumps(candidate.acknowledgement())
|
|
103
103
|
|
|
104
104
|
def _apply_one(self, op: List[Any]) -> None:
|
|
@@ -46,7 +46,7 @@ from __future__ import annotations
|
|
|
46
46
|
|
|
47
47
|
import functools
|
|
48
48
|
import inspect
|
|
49
|
-
from typing import Any, Awaitable, Callable, Dict, Generic,
|
|
49
|
+
from typing import Any, Awaitable, Callable, Dict, Generic, Mapping, Optional, ParamSpec, Union, overload
|
|
50
50
|
|
|
51
51
|
from .element import Element, Node
|
|
52
52
|
|
|
@@ -82,7 +82,7 @@ class Component(Generic[P]):
|
|
|
82
82
|
"memoized",
|
|
83
83
|
"props_equal",
|
|
84
84
|
"accepts_children",
|
|
85
|
-
"
|
|
85
|
+
"_signature",
|
|
86
86
|
"_declares_key",
|
|
87
87
|
"_is_async",
|
|
88
88
|
"refresh_signature",
|
|
@@ -94,13 +94,10 @@ class Component(Generic[P]):
|
|
|
94
94
|
if isinstance(fn, Component):
|
|
95
95
|
raise TypeError(f"{fn!r} is already a component; remove the duplicate @component")
|
|
96
96
|
sig = inspect.signature(fn)
|
|
97
|
-
positional: List[str] = []
|
|
98
97
|
accepts_children = False
|
|
99
98
|
declares_key = False
|
|
100
99
|
for name, param in sig.parameters.items():
|
|
101
|
-
if param.kind
|
|
102
|
-
positional.append(name)
|
|
103
|
-
elif param.kind is inspect.Parameter.VAR_POSITIONAL:
|
|
100
|
+
if param.kind is inspect.Parameter.VAR_POSITIONAL:
|
|
104
101
|
accepts_children = True
|
|
105
102
|
if name == "key":
|
|
106
103
|
declares_key = True
|
|
@@ -110,9 +107,9 @@ class Component(Generic[P]):
|
|
|
110
107
|
self.fn = fn
|
|
111
108
|
self.display_name = display_name or getattr(fn, "__name__", "Component")
|
|
112
109
|
self.memoized = False
|
|
113
|
-
self.props_equal: Optional[Callable[[
|
|
110
|
+
self.props_equal: Optional[Callable[[Mapping[str, Any], Mapping[str, Any]], bool]] = None
|
|
114
111
|
self.accepts_children = accepts_children
|
|
115
|
-
self.
|
|
112
|
+
self._signature = sig
|
|
116
113
|
self._declares_key = declares_key
|
|
117
114
|
self._is_async = inspect.iscoroutinefunction(fn)
|
|
118
115
|
self.__wrapped__ = fn
|
|
@@ -126,21 +123,16 @@ class Component(Generic[P]):
|
|
|
126
123
|
"""Describe a render of this component with the given props."""
|
|
127
124
|
props: Dict[str, Any] = dict(kwargs)
|
|
128
125
|
key = props.pop("key", None) if not self._declares_key else props.get("key")
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
126
|
+
bound = self._signature.bind(*args, **props)
|
|
127
|
+
bound.apply_defaults()
|
|
128
|
+
children = ()
|
|
129
|
+
props = {}
|
|
130
|
+
for name, value in bound.arguments.items():
|
|
131
|
+
kind = self._signature.parameters[name].kind
|
|
132
|
+
if kind is inspect.Parameter.VAR_POSITIONAL:
|
|
133
|
+
children = value
|
|
133
134
|
else:
|
|
134
|
-
|
|
135
|
-
if len(args) > len(names):
|
|
136
|
-
raise TypeError(
|
|
137
|
-
f"{self.display_name}() takes {len(names)} positional argument(s) but "
|
|
138
|
-
f"{len(args)} were given. Declare *children to accept child elements."
|
|
139
|
-
)
|
|
140
|
-
for name, value in zip(names, args):
|
|
141
|
-
if name in props:
|
|
142
|
-
raise TypeError(f"{self.display_name}() got multiple values for argument {name!r}")
|
|
143
|
-
props[name] = value
|
|
135
|
+
props[name] = value
|
|
144
136
|
return Element(self, props, children, key=key if isinstance(key, str) or key is None else str(key))
|
|
145
137
|
|
|
146
138
|
# ------------------------------------------------------------------
|
|
@@ -155,9 +147,12 @@ class Component(Generic[P]):
|
|
|
155
147
|
(an element, a list, ``None``, or a coroutine for ``async def``
|
|
156
148
|
bodies).
|
|
157
149
|
"""
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
150
|
+
arguments = dict(element.props)
|
|
151
|
+
for name, param in self._signature.parameters.items():
|
|
152
|
+
if param.kind is inspect.Parameter.VAR_POSITIONAL:
|
|
153
|
+
arguments[name] = element.children
|
|
154
|
+
bound = inspect.BoundArguments(self._signature, arguments)
|
|
155
|
+
return self.fn(*bound.args, **bound.kwargs)
|
|
161
156
|
|
|
162
157
|
@property
|
|
163
158
|
def is_async(self) -> bool:
|
|
@@ -204,20 +199,20 @@ def component(fn: RenderFn[P]) -> Component[P]:
|
|
|
204
199
|
|
|
205
200
|
@overload
|
|
206
201
|
def memo(
|
|
207
|
-
target: Component[P], *, equal: Optional[Callable[[
|
|
202
|
+
target: Component[P], *, equal: Optional[Callable[[Mapping[str, Any], Mapping[str, Any]], bool]] = None
|
|
208
203
|
) -> Component[P]: ...
|
|
209
204
|
|
|
210
205
|
|
|
211
206
|
@overload
|
|
212
207
|
def memo(
|
|
213
|
-
target: None = None, *, equal: Optional[Callable[[
|
|
208
|
+
target: None = None, *, equal: Optional[Callable[[Mapping[str, Any], Mapping[str, Any]], bool]] = None
|
|
214
209
|
) -> Callable[[Component[P]], Component[P]]: ...
|
|
215
210
|
|
|
216
211
|
|
|
217
212
|
def memo(
|
|
218
213
|
target: Optional[Component[P]] = None,
|
|
219
214
|
*,
|
|
220
|
-
equal: Optional[Callable[[
|
|
215
|
+
equal: Optional[Callable[[Mapping[str, Any], Mapping[str, Any]], bool]] = None,
|
|
221
216
|
) -> Any:
|
|
222
217
|
"""Skip a component's render when its props haven't changed.
|
|
223
218
|
|
|
@@ -56,11 +56,8 @@ from .lists import ( # noqa: F401
|
|
|
56
56
|
FlatList,
|
|
57
57
|
ListController,
|
|
58
58
|
SectionList,
|
|
59
|
-
_dispatch_scroll_command,
|
|
60
|
-
_native_lists_supported,
|
|
61
59
|
_NativeList,
|
|
62
60
|
_RowSpec,
|
|
63
|
-
_VirtualizedList,
|
|
64
61
|
)
|
|
65
62
|
from .media import Image, ImageBackground, WebView
|
|
66
63
|
from .overlays import Modal, Portal
|