PyWebWinUI3 1.0.0b47__tar.gz → 1.0.2__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 (151) hide show
  1. pywebwinui3-1.0.2/PKG-INFO +282 -0
  2. pywebwinui3-1.0.2/PyWebWinUI3.egg-info/PKG-INFO +282 -0
  3. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/PyWebWinUI3.egg-info/SOURCES.txt +15 -14
  4. pywebwinui3-1.0.2/README.md +257 -0
  5. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/__init__.py +1 -1
  6. pywebwinui3-1.0.2/pywebwinui3/core.py +176 -0
  7. pywebwinui3-1.0.2/pywebwinui3/event.py +147 -0
  8. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/qt.py +180 -314
  9. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/type.py +1 -3
  10. pywebwinui3-1.0.2/pywebwinui3/util.py +194 -0
  11. pywebwinui3-1.0.2/pywebwinui3/web/_app/immutable/assets/2.dPO3j65h.css +1 -0
  12. pywebwinui3-1.0.2/pywebwinui3/web/_app/immutable/chunks/B8k5Ccj7.js +1 -0
  13. pywebwinui3-1.0.2/pywebwinui3/web/_app/immutable/chunks/BHMqm3g9.js +2 -0
  14. pywebwinui3-1.0.2/pywebwinui3/web/_app/immutable/chunks/BSWpFUU-.js +1 -0
  15. pywebwinui3-1.0.0b47/pywebwinui3/web/_app/immutable/chunks/DuPwkB53.js → pywebwinui3-1.0.2/pywebwinui3/web/_app/immutable/chunks/CEpW9fsN.js +1 -1
  16. pywebwinui3-1.0.2/pywebwinui3/web/_app/immutable/chunks/Cd1tg9Ma.js +1 -0
  17. pywebwinui3-1.0.2/pywebwinui3/web/_app/immutable/chunks/DNMsE6fi.js +1 -0
  18. pywebwinui3-1.0.0b47/pywebwinui3/web/_app/immutable/chunks/oIQI43DZ.js → pywebwinui3-1.0.2/pywebwinui3/web/_app/immutable/chunks/DQYyt0Qv.js +1 -1
  19. pywebwinui3-1.0.2/pywebwinui3/web/_app/immutable/chunks/DbLPBgK4.js +1 -0
  20. pywebwinui3-1.0.2/pywebwinui3/web/_app/immutable/chunks/fGsU50sd.js +1 -0
  21. pywebwinui3-1.0.2/pywebwinui3/web/_app/immutable/entry/app.CPz0HPhz.js +2 -0
  22. pywebwinui3-1.0.2/pywebwinui3/web/_app/immutable/entry/start.CyHEmn6u.js +1 -0
  23. pywebwinui3-1.0.2/pywebwinui3/web/_app/immutable/nodes/0.CqNsePPe.js +54 -0
  24. pywebwinui3-1.0.2/pywebwinui3/web/_app/immutable/nodes/1.DAr48YPc.js +1 -0
  25. pywebwinui3-1.0.2/pywebwinui3/web/_app/immutable/nodes/2.ClEcS3Ed.js +94 -0
  26. pywebwinui3-1.0.2/pywebwinui3/web/_app/version.json +1 -0
  27. pywebwinui3-1.0.2/pywebwinui3/web/index.html +101 -0
  28. pywebwinui3-1.0.0b47/PKG-INFO +0 -92
  29. pywebwinui3-1.0.0b47/PyWebWinUI3.egg-info/PKG-INFO +0 -92
  30. pywebwinui3-1.0.0b47/README.md +0 -67
  31. pywebwinui3-1.0.0b47/pywebwinui3/core.py +0 -307
  32. pywebwinui3-1.0.0b47/pywebwinui3/event.py +0 -100
  33. pywebwinui3-1.0.0b47/pywebwinui3/util.py +0 -113
  34. pywebwinui3-1.0.0b47/pywebwinui3/web/_app/immutable/assets/2.QxDX12Lu.css +0 -1
  35. pywebwinui3-1.0.0b47/pywebwinui3/web/_app/immutable/chunks/C5fctQ8t.js +0 -1
  36. pywebwinui3-1.0.0b47/pywebwinui3/web/_app/immutable/chunks/Ci7cjEab.js +0 -1
  37. pywebwinui3-1.0.0b47/pywebwinui3/web/_app/immutable/chunks/KfJIcf5l.js +0 -1
  38. pywebwinui3-1.0.0b47/pywebwinui3/web/_app/immutable/chunks/jnH-TXHS.js +0 -1
  39. pywebwinui3-1.0.0b47/pywebwinui3/web/_app/immutable/chunks/ln01AzD2.js +0 -1
  40. pywebwinui3-1.0.0b47/pywebwinui3/web/_app/immutable/chunks/wKeSOqcH.js +0 -2
  41. pywebwinui3-1.0.0b47/pywebwinui3/web/_app/immutable/entry/app.B8g-5a_g.js +0 -2
  42. pywebwinui3-1.0.0b47/pywebwinui3/web/_app/immutable/entry/start.USYC9hvK.js +0 -1
  43. pywebwinui3-1.0.0b47/pywebwinui3/web/_app/immutable/nodes/0.DYoNlsbe.js +0 -51
  44. pywebwinui3-1.0.0b47/pywebwinui3/web/_app/immutable/nodes/1.OYLU2HfN.js +0 -1
  45. pywebwinui3-1.0.0b47/pywebwinui3/web/_app/immutable/nodes/2.7WUBssxh.js +0 -90
  46. pywebwinui3-1.0.0b47/pywebwinui3/web/_app/version.json +0 -1
  47. pywebwinui3-1.0.0b47/pywebwinui3/web/index.html +0 -99
  48. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/LICENSE +0 -0
  49. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/MANIFEST.in +0 -0
  50. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/NOTICE +0 -0
  51. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/PyWebWinUI3.egg-info/dependency_links.txt +0 -0
  52. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/PyWebWinUI3.egg-info/requires.txt +0 -0
  53. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/PyWebWinUI3.egg-info/top_level.txt +0 -0
  54. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.0.woff2 +0 -0
  55. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.1.woff2 +0 -0
  56. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.10.woff2 +0 -0
  57. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.11.woff2 +0 -0
  58. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.12.woff2 +0 -0
  59. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.13.woff2 +0 -0
  60. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.14.woff2 +0 -0
  61. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.15.woff2 +0 -0
  62. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.16.woff2 +0 -0
  63. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.17.woff2 +0 -0
  64. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.18.woff2 +0 -0
  65. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.19.woff2 +0 -0
  66. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.2.woff2 +0 -0
  67. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.20.woff2 +0 -0
  68. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.21.woff2 +0 -0
  69. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.22.woff2 +0 -0
  70. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.23.woff2 +0 -0
  71. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.24.woff2 +0 -0
  72. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.25.woff2 +0 -0
  73. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.26.woff2 +0 -0
  74. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.27.woff2 +0 -0
  75. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.28.woff2 +0 -0
  76. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.29.woff2 +0 -0
  77. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.3.woff2 +0 -0
  78. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.30.woff2 +0 -0
  79. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.31.woff2 +0 -0
  80. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.32.woff2 +0 -0
  81. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.33.woff2 +0 -0
  82. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.34.woff2 +0 -0
  83. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.35.woff2 +0 -0
  84. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.36.woff2 +0 -0
  85. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.37.woff2 +0 -0
  86. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.38.woff2 +0 -0
  87. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.39.woff2 +0 -0
  88. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.4.woff2 +0 -0
  89. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.40.woff2 +0 -0
  90. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.41.woff2 +0 -0
  91. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.42.woff2 +0 -0
  92. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.43.woff2 +0 -0
  93. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.44.woff2 +0 -0
  94. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.45.woff2 +0 -0
  95. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.46.woff2 +0 -0
  96. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.47.woff2 +0 -0
  97. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.48.woff2 +0 -0
  98. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.49.woff2 +0 -0
  99. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.5.woff2 +0 -0
  100. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.50.woff2 +0 -0
  101. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.51.woff2 +0 -0
  102. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.52.woff2 +0 -0
  103. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.53.woff2 +0 -0
  104. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.54.woff2 +0 -0
  105. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.55.woff2 +0 -0
  106. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.56.woff2 +0 -0
  107. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.57.woff2 +0 -0
  108. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.58.woff2 +0 -0
  109. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.59.woff2 +0 -0
  110. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.6.woff2 +0 -0
  111. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.60.woff2 +0 -0
  112. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.61.woff2 +0 -0
  113. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.62.woff2 +0 -0
  114. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.63.woff2 +0 -0
  115. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.64.woff2 +0 -0
  116. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.65.woff2 +0 -0
  117. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.66.woff2 +0 -0
  118. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.67.woff2 +0 -0
  119. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.68.woff2 +0 -0
  120. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.69.woff2 +0 -0
  121. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.7.woff2 +0 -0
  122. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.70.woff2 +0 -0
  123. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.71.woff2 +0 -0
  124. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.72.woff2 +0 -0
  125. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.73.woff2 +0 -0
  126. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.74.woff2 +0 -0
  127. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.75.woff2 +0 -0
  128. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.76.woff2 +0 -0
  129. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.77.woff2 +0 -0
  130. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.78.woff2 +0 -0
  131. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.79.woff2 +0 -0
  132. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.8.woff2 +0 -0
  133. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.80.woff2 +0 -0
  134. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.81.woff2 +0 -0
  135. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.82.woff2 +0 -0
  136. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.83.woff2 +0 -0
  137. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.84.woff2 +0 -0
  138. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.85.woff2 +0 -0
  139. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.86.woff2 +0 -0
  140. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.87.woff2 +0 -0
  141. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.88.woff2 +0 -0
  142. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.89.woff2 +0 -0
  143. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.9.woff2 +0 -0
  144. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.90.woff2 +0 -0
  145. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/PretendardVariable.subset.91.woff2 +0 -0
  146. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/Pretendard/Variable-dynamic-subset.min.css +0 -0
  147. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/SegoeFluentIcons.ttf +0 -0
  148. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/pywebwinui3/web/_app/env.js +0 -0
  149. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/requirements.txt +0 -0
  150. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/setup.cfg +0 -0
  151. {pywebwinui3-1.0.0b47 → pywebwinui3-1.0.2}/setup.py +0 -0
@@ -0,0 +1,282 @@
1
+ Metadata-Version: 2.4
2
+ Name: PyWebWinUI3
3
+ Version: 1.0.2
4
+ Summary: Create modern WinUI3-style desktop UIs in Python effortlessly using PySide6 and QtWebEngine.
5
+ Home-page: https://github.com/Haruna5718/PyWebWinUI3
6
+ Author: Haruna5718
7
+ Author-email: me@haruna5718.dev
8
+ License: Apache 2.0
9
+ Keywords: PyWebWinUI3,pywebwinui3,Haruna5718,pyside6,qtwebengine,winui3,pypi
10
+ Description-Content-Type: text/markdown
11
+ License-File: LICENSE
12
+ License-File: NOTICE
13
+ Requires-Dist: PySide6
14
+ Requires-Dist: pywin32
15
+ Dynamic: author
16
+ Dynamic: author-email
17
+ Dynamic: description
18
+ Dynamic: description-content-type
19
+ Dynamic: home-page
20
+ Dynamic: keywords
21
+ Dynamic: license
22
+ Dynamic: license-file
23
+ Dynamic: requires-dist
24
+ Dynamic: summary
25
+
26
+ # PyWebWinUI3
27
+
28
+ PyWebWinUI3 is a Windows desktop UI framework that combines:
29
+
30
+ - a Python backend
31
+ - a frameless PySide6 / Qt shell
32
+ - a Svelte frontend rendered inside Qt WebEngine
33
+ - an XAML-like page format for declaring UI
34
+
35
+ The goal is to make desktop apps feel like WinUI3-style apps while still being driven from Python.
36
+
37
+ ## What It Does
38
+
39
+ PyWebWinUI3 lets you:
40
+
41
+ - declare pages in XAML-like markup
42
+ - bind controls to Python values
43
+ - react to value changes and lifecycle events from Python
44
+ - use a static bundled frontend without running a local web server
45
+ - keep a modern Windows-style shell with theme and accent synchronization
46
+
47
+ At runtime, Python owns the application state, Qt hosts the window and WebEngine, and the Svelte app renders the page tree received from Python.
48
+
49
+ ## Platform
50
+
51
+ PyWebWinUI3 is currently aimed at Windows.
52
+
53
+ Runtime dependencies:
54
+
55
+ - `PySide6`
56
+ - `pywin32`
57
+
58
+ ## Installation
59
+
60
+ ```bash
61
+ pip install PyWebWinUI3
62
+ ```
63
+
64
+ ## Quick Start
65
+
66
+ ```python
67
+ from pywebwinui3.core import MainWindow
68
+ from pywebwinui3.type import Status
69
+
70
+ app = MainWindow("PyWebWinUI3")
71
+
72
+ app.addSettings("Settings.xaml")
73
+ app.addPage("Dashboard.xaml")
74
+ app.addPage("test.xaml")
75
+
76
+ app.values["test_input"] = "Hello, world"
77
+ app.values["test_switch"] = False
78
+
79
+ @app.onValueChange("test_noticeSample")
80
+ def show_notice(*_):
81
+ app.notice(Status.Attention, "Title", "This is a sample notice")
82
+
83
+ app.start()
84
+ ```
85
+
86
+ ## Minimal Page Example
87
+
88
+ ```xml
89
+ <Page path="settings" icon="&#xE713;" name="Settings" title="Settings">
90
+ <Box>
91
+ <Horizontal>
92
+ <Text>App theme</Text>
93
+ <Space />
94
+ <Select value="system_theme">
95
+ <Option value="dark">Dark</Option>
96
+ <Option value="light">Light</Option>
97
+ <Option value="system">Use system setting</Option>
98
+ </Select>
99
+ </Horizontal>
100
+ </Box>
101
+ </Page>
102
+ ```
103
+
104
+ ## Core Concepts
105
+
106
+ ### `MainWindow`
107
+
108
+ `pywebwinui3.core.MainWindow` is the main entry point.
109
+
110
+ Important methods:
111
+
112
+ - `addPage(...)`
113
+ - `addSettings(...)`
114
+ - `start(debug=False, min_width=900, min_height=600)`
115
+ - `notice(level, title, description, item=None)`
116
+ - `pin(state)`
117
+ - `syncValue(key, value)`
118
+
119
+ ### `values`
120
+
121
+ `app.values` is the shared state dictionary between Python and the frontend.
122
+
123
+ Typical usage:
124
+
125
+ ```python
126
+ app.values["user_name"] = "Haruna"
127
+ app.values["is_enabled"] = True
128
+ app.values["progress"] = 50
129
+ ```
130
+
131
+ The frontend reads these values directly, and user input writes back into the same store.
132
+
133
+ Built-in system values include keys such as:
134
+
135
+ - `system_title`
136
+ - `system_icon`
137
+ - `system_theme`
138
+ - `system_theme_resolved`
139
+ - `system_accent`
140
+ - `system_pages`
141
+ - `system_settings`
142
+ - `system_nofication`
143
+ - `system_pin`
144
+ - `system_window_width`
145
+ - `system_window_height`
146
+
147
+ ### Events
148
+
149
+ `MainWindow` exposes decorator-style event hooks:
150
+
151
+ - `@app.onValueChange(key)`
152
+ - `@app.onAccentColorChange()`
153
+ - `@app.onThemeChange()`
154
+ - `@app.onSetup()`
155
+ - `@app.onExit()`
156
+
157
+ Example:
158
+
159
+ ```python
160
+ @app.onValueChange("user_name")
161
+ def on_user_name_change(*_):
162
+ print(app.values["user_name"])
163
+ ```
164
+
165
+ ### Notifications
166
+
167
+ Use `app.notice(...)` to push InfoBar-style messages into the frontend.
168
+
169
+ ```python
170
+ from pywebwinui3.type import Status
171
+
172
+ app.notice(Status.Success, "Saved", "Settings were saved successfully")
173
+ ```
174
+
175
+ Status values:
176
+
177
+ - `Status.Attention`
178
+ - `Status.Success`
179
+ - `Status.Caution`
180
+ - `Status.Critical`
181
+ - `Status.Neutral`
182
+
183
+ ## Markup Model
184
+
185
+ Pages are loaded into a JSON tree and rendered by the frontend.
186
+
187
+ Common tags currently implemented:
188
+
189
+ - `Page`
190
+ - `Box`
191
+ - `Horizontal`
192
+ - `Vertical`
193
+ - `Text`
194
+ - `Button`
195
+ - `Input`
196
+ - `Slider`
197
+ - `Switch`
198
+ - `Check`
199
+ - `Radio`
200
+ - `Select`
201
+ - `Option`
202
+ - `Image`
203
+ - `Webview`
204
+ - `Progressbar`
205
+ - `Line`
206
+ - `Space`
207
+ - `Expender`
208
+ - `If`
209
+ - `Match`
210
+ - `Repeat`
211
+
212
+ ## Binding Model
213
+
214
+ PyWebWinUI3 supports two main binding styles:
215
+
216
+ - direct value binding through attributes like `value="test_input"`
217
+ - formatted text / expressions inside strings such as `{user_name}`
218
+
219
+ The frontend compiles and caches formatted expressions, while Python remains the source of truth for state.
220
+
221
+ Path-like targets such as nested array access are also handled by the runtime value system when used by supported controls.
222
+
223
+ ## Resource Resolution
224
+
225
+ Relative resource paths are resolved from the Python caller's directory first, then from the packaged frontend bundle directory.
226
+
227
+ This lets you write things like:
228
+
229
+ - local XAML files via `addPage("Dashboard.xaml")`
230
+ - local images in markup
231
+ - bundled web assets shipped with the package
232
+
233
+ External URLs such as `https://...` and `file://...` are passed through as-is.
234
+
235
+ ## Window / Shell Behavior
236
+
237
+ The desktop shell is implemented in Qt and provides:
238
+
239
+ - frameless custom window chrome
240
+ - theme and accent synchronization with Windows
241
+ - always-on-top pinning
242
+ - WebChannel bridge between Python and the frontend
243
+ - external link handling through the desktop layer
244
+
245
+ ## Project Structure
246
+
247
+ ```text
248
+ PyWebWinUI3/
249
+ ├─ pywebwinui3/
250
+ │ ├─ core.py # public Python API
251
+ │ ├─ qt.py # Qt shell and bridge
252
+ │ ├─ util.py # XAML loader, sync dict, accent watcher
253
+ │ ├─ event.py # event system
254
+ │ ├─ type.py # status and theme resource constants
255
+ │ └─ web/ # built frontend bundle shipped to users
256
+ ├─ frontend/ # Svelte source
257
+ ├─ example/ # sample application and XAML pages
258
+ └─ setup.py
259
+ ```
260
+
261
+ ## Development Notes
262
+
263
+ If you are only using the package, you do not need to build the frontend manually.
264
+
265
+ If you are working on the framework itself:
266
+
267
+ - Python runtime code lives in `pywebwinui3/`
268
+ - Svelte source lives in `frontend/`
269
+ - the distributable frontend bundle lives in `pywebwinui3/web/`
270
+
271
+ ## Example
272
+
273
+ See:
274
+
275
+ - `example/example.py`
276
+ - `example/Settings.xaml`
277
+ - `example/Dashboard.xaml`
278
+ - `example/Test.xaml`
279
+
280
+ ## License
281
+
282
+ Apache-2.0
@@ -0,0 +1,282 @@
1
+ Metadata-Version: 2.4
2
+ Name: PyWebWinUI3
3
+ Version: 1.0.2
4
+ Summary: Create modern WinUI3-style desktop UIs in Python effortlessly using PySide6 and QtWebEngine.
5
+ Home-page: https://github.com/Haruna5718/PyWebWinUI3
6
+ Author: Haruna5718
7
+ Author-email: me@haruna5718.dev
8
+ License: Apache 2.0
9
+ Keywords: PyWebWinUI3,pywebwinui3,Haruna5718,pyside6,qtwebengine,winui3,pypi
10
+ Description-Content-Type: text/markdown
11
+ License-File: LICENSE
12
+ License-File: NOTICE
13
+ Requires-Dist: PySide6
14
+ Requires-Dist: pywin32
15
+ Dynamic: author
16
+ Dynamic: author-email
17
+ Dynamic: description
18
+ Dynamic: description-content-type
19
+ Dynamic: home-page
20
+ Dynamic: keywords
21
+ Dynamic: license
22
+ Dynamic: license-file
23
+ Dynamic: requires-dist
24
+ Dynamic: summary
25
+
26
+ # PyWebWinUI3
27
+
28
+ PyWebWinUI3 is a Windows desktop UI framework that combines:
29
+
30
+ - a Python backend
31
+ - a frameless PySide6 / Qt shell
32
+ - a Svelte frontend rendered inside Qt WebEngine
33
+ - an XAML-like page format for declaring UI
34
+
35
+ The goal is to make desktop apps feel like WinUI3-style apps while still being driven from Python.
36
+
37
+ ## What It Does
38
+
39
+ PyWebWinUI3 lets you:
40
+
41
+ - declare pages in XAML-like markup
42
+ - bind controls to Python values
43
+ - react to value changes and lifecycle events from Python
44
+ - use a static bundled frontend without running a local web server
45
+ - keep a modern Windows-style shell with theme and accent synchronization
46
+
47
+ At runtime, Python owns the application state, Qt hosts the window and WebEngine, and the Svelte app renders the page tree received from Python.
48
+
49
+ ## Platform
50
+
51
+ PyWebWinUI3 is currently aimed at Windows.
52
+
53
+ Runtime dependencies:
54
+
55
+ - `PySide6`
56
+ - `pywin32`
57
+
58
+ ## Installation
59
+
60
+ ```bash
61
+ pip install PyWebWinUI3
62
+ ```
63
+
64
+ ## Quick Start
65
+
66
+ ```python
67
+ from pywebwinui3.core import MainWindow
68
+ from pywebwinui3.type import Status
69
+
70
+ app = MainWindow("PyWebWinUI3")
71
+
72
+ app.addSettings("Settings.xaml")
73
+ app.addPage("Dashboard.xaml")
74
+ app.addPage("test.xaml")
75
+
76
+ app.values["test_input"] = "Hello, world"
77
+ app.values["test_switch"] = False
78
+
79
+ @app.onValueChange("test_noticeSample")
80
+ def show_notice(*_):
81
+ app.notice(Status.Attention, "Title", "This is a sample notice")
82
+
83
+ app.start()
84
+ ```
85
+
86
+ ## Minimal Page Example
87
+
88
+ ```xml
89
+ <Page path="settings" icon="&#xE713;" name="Settings" title="Settings">
90
+ <Box>
91
+ <Horizontal>
92
+ <Text>App theme</Text>
93
+ <Space />
94
+ <Select value="system_theme">
95
+ <Option value="dark">Dark</Option>
96
+ <Option value="light">Light</Option>
97
+ <Option value="system">Use system setting</Option>
98
+ </Select>
99
+ </Horizontal>
100
+ </Box>
101
+ </Page>
102
+ ```
103
+
104
+ ## Core Concepts
105
+
106
+ ### `MainWindow`
107
+
108
+ `pywebwinui3.core.MainWindow` is the main entry point.
109
+
110
+ Important methods:
111
+
112
+ - `addPage(...)`
113
+ - `addSettings(...)`
114
+ - `start(debug=False, min_width=900, min_height=600)`
115
+ - `notice(level, title, description, item=None)`
116
+ - `pin(state)`
117
+ - `syncValue(key, value)`
118
+
119
+ ### `values`
120
+
121
+ `app.values` is the shared state dictionary between Python and the frontend.
122
+
123
+ Typical usage:
124
+
125
+ ```python
126
+ app.values["user_name"] = "Haruna"
127
+ app.values["is_enabled"] = True
128
+ app.values["progress"] = 50
129
+ ```
130
+
131
+ The frontend reads these values directly, and user input writes back into the same store.
132
+
133
+ Built-in system values include keys such as:
134
+
135
+ - `system_title`
136
+ - `system_icon`
137
+ - `system_theme`
138
+ - `system_theme_resolved`
139
+ - `system_accent`
140
+ - `system_pages`
141
+ - `system_settings`
142
+ - `system_nofication`
143
+ - `system_pin`
144
+ - `system_window_width`
145
+ - `system_window_height`
146
+
147
+ ### Events
148
+
149
+ `MainWindow` exposes decorator-style event hooks:
150
+
151
+ - `@app.onValueChange(key)`
152
+ - `@app.onAccentColorChange()`
153
+ - `@app.onThemeChange()`
154
+ - `@app.onSetup()`
155
+ - `@app.onExit()`
156
+
157
+ Example:
158
+
159
+ ```python
160
+ @app.onValueChange("user_name")
161
+ def on_user_name_change(*_):
162
+ print(app.values["user_name"])
163
+ ```
164
+
165
+ ### Notifications
166
+
167
+ Use `app.notice(...)` to push InfoBar-style messages into the frontend.
168
+
169
+ ```python
170
+ from pywebwinui3.type import Status
171
+
172
+ app.notice(Status.Success, "Saved", "Settings were saved successfully")
173
+ ```
174
+
175
+ Status values:
176
+
177
+ - `Status.Attention`
178
+ - `Status.Success`
179
+ - `Status.Caution`
180
+ - `Status.Critical`
181
+ - `Status.Neutral`
182
+
183
+ ## Markup Model
184
+
185
+ Pages are loaded into a JSON tree and rendered by the frontend.
186
+
187
+ Common tags currently implemented:
188
+
189
+ - `Page`
190
+ - `Box`
191
+ - `Horizontal`
192
+ - `Vertical`
193
+ - `Text`
194
+ - `Button`
195
+ - `Input`
196
+ - `Slider`
197
+ - `Switch`
198
+ - `Check`
199
+ - `Radio`
200
+ - `Select`
201
+ - `Option`
202
+ - `Image`
203
+ - `Webview`
204
+ - `Progressbar`
205
+ - `Line`
206
+ - `Space`
207
+ - `Expender`
208
+ - `If`
209
+ - `Match`
210
+ - `Repeat`
211
+
212
+ ## Binding Model
213
+
214
+ PyWebWinUI3 supports two main binding styles:
215
+
216
+ - direct value binding through attributes like `value="test_input"`
217
+ - formatted text / expressions inside strings such as `{user_name}`
218
+
219
+ The frontend compiles and caches formatted expressions, while Python remains the source of truth for state.
220
+
221
+ Path-like targets such as nested array access are also handled by the runtime value system when used by supported controls.
222
+
223
+ ## Resource Resolution
224
+
225
+ Relative resource paths are resolved from the Python caller's directory first, then from the packaged frontend bundle directory.
226
+
227
+ This lets you write things like:
228
+
229
+ - local XAML files via `addPage("Dashboard.xaml")`
230
+ - local images in markup
231
+ - bundled web assets shipped with the package
232
+
233
+ External URLs such as `https://...` and `file://...` are passed through as-is.
234
+
235
+ ## Window / Shell Behavior
236
+
237
+ The desktop shell is implemented in Qt and provides:
238
+
239
+ - frameless custom window chrome
240
+ - theme and accent synchronization with Windows
241
+ - always-on-top pinning
242
+ - WebChannel bridge between Python and the frontend
243
+ - external link handling through the desktop layer
244
+
245
+ ## Project Structure
246
+
247
+ ```text
248
+ PyWebWinUI3/
249
+ ├─ pywebwinui3/
250
+ │ ├─ core.py # public Python API
251
+ │ ├─ qt.py # Qt shell and bridge
252
+ │ ├─ util.py # XAML loader, sync dict, accent watcher
253
+ │ ├─ event.py # event system
254
+ │ ├─ type.py # status and theme resource constants
255
+ │ └─ web/ # built frontend bundle shipped to users
256
+ ├─ frontend/ # Svelte source
257
+ ├─ example/ # sample application and XAML pages
258
+ └─ setup.py
259
+ ```
260
+
261
+ ## Development Notes
262
+
263
+ If you are only using the package, you do not need to build the frontend manually.
264
+
265
+ If you are working on the framework itself:
266
+
267
+ - Python runtime code lives in `pywebwinui3/`
268
+ - Svelte source lives in `frontend/`
269
+ - the distributable frontend bundle lives in `pywebwinui3/web/`
270
+
271
+ ## Example
272
+
273
+ See:
274
+
275
+ - `example/example.py`
276
+ - `example/Settings.xaml`
277
+ - `example/Dashboard.xaml`
278
+ - `example/Test.xaml`
279
+
280
+ ## License
281
+
282
+ Apache-2.0
@@ -112,17 +112,18 @@ pywebwinui3/web/Pretendard/PretendardVariable.subset.91.woff2
112
112
  pywebwinui3/web/Pretendard/Variable-dynamic-subset.min.css
113
113
  pywebwinui3/web/_app/env.js
114
114
  pywebwinui3/web/_app/version.json
115
- pywebwinui3/web/_app/immutable/assets/2.QxDX12Lu.css
116
- pywebwinui3/web/_app/immutable/chunks/C5fctQ8t.js
117
- pywebwinui3/web/_app/immutable/chunks/Ci7cjEab.js
118
- pywebwinui3/web/_app/immutable/chunks/DuPwkB53.js
119
- pywebwinui3/web/_app/immutable/chunks/KfJIcf5l.js
120
- pywebwinui3/web/_app/immutable/chunks/jnH-TXHS.js
121
- pywebwinui3/web/_app/immutable/chunks/ln01AzD2.js
122
- pywebwinui3/web/_app/immutable/chunks/oIQI43DZ.js
123
- pywebwinui3/web/_app/immutable/chunks/wKeSOqcH.js
124
- pywebwinui3/web/_app/immutable/entry/app.B8g-5a_g.js
125
- pywebwinui3/web/_app/immutable/entry/start.USYC9hvK.js
126
- pywebwinui3/web/_app/immutable/nodes/0.DYoNlsbe.js
127
- pywebwinui3/web/_app/immutable/nodes/1.OYLU2HfN.js
128
- pywebwinui3/web/_app/immutable/nodes/2.7WUBssxh.js
115
+ pywebwinui3/web/_app/immutable/assets/2.dPO3j65h.css
116
+ pywebwinui3/web/_app/immutable/chunks/B8k5Ccj7.js
117
+ pywebwinui3/web/_app/immutable/chunks/BHMqm3g9.js
118
+ pywebwinui3/web/_app/immutable/chunks/BSWpFUU-.js
119
+ pywebwinui3/web/_app/immutable/chunks/CEpW9fsN.js
120
+ pywebwinui3/web/_app/immutable/chunks/Cd1tg9Ma.js
121
+ pywebwinui3/web/_app/immutable/chunks/DNMsE6fi.js
122
+ pywebwinui3/web/_app/immutable/chunks/DQYyt0Qv.js
123
+ pywebwinui3/web/_app/immutable/chunks/DbLPBgK4.js
124
+ pywebwinui3/web/_app/immutable/chunks/fGsU50sd.js
125
+ pywebwinui3/web/_app/immutable/entry/app.CPz0HPhz.js
126
+ pywebwinui3/web/_app/immutable/entry/start.CyHEmn6u.js
127
+ pywebwinui3/web/_app/immutable/nodes/0.CqNsePPe.js
128
+ pywebwinui3/web/_app/immutable/nodes/1.DAr48YPc.js
129
+ pywebwinui3/web/_app/immutable/nodes/2.ClEcS3Ed.js