rustual-py 0.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (402) hide show
  1. rustual_py-0.2.0/Cargo.lock +621 -0
  2. rustual_py-0.2.0/Cargo.toml +23 -0
  3. rustual_py-0.2.0/LICENSE +29 -0
  4. rustual_py-0.2.0/PKG-INFO +177 -0
  5. rustual_py-0.2.0/README.md +162 -0
  6. rustual_py-0.2.0/crates/rustual/Cargo.toml +26 -0
  7. rustual_py-0.2.0/crates/rustual/LICENSE +29 -0
  8. rustual_py-0.2.0/crates/rustual/README.md +51 -0
  9. rustual_py-0.2.0/crates/rustual/examples/dashboard.rs +169 -0
  10. rustual_py-0.2.0/crates/rustual/examples/editor.rs +138 -0
  11. rustual_py-0.2.0/crates/rustual/examples/form.rs +124 -0
  12. rustual_py-0.2.0/crates/rustual/examples/hello.rs +69 -0
  13. rustual_py-0.2.0/crates/rustual/examples/markdown.rs +107 -0
  14. rustual_py-0.2.0/crates/rustual/examples/modes.rs +148 -0
  15. rustual_py-0.2.0/crates/rustual/examples/navigator.rs +131 -0
  16. rustual_py-0.2.0/crates/rustual/examples/palette.rs +79 -0
  17. rustual_py-0.2.0/crates/rustual/examples/readme.rs +29 -0
  18. rustual_py-0.2.0/crates/rustual/examples/table.rs +208 -0
  19. rustual_py-0.2.0/crates/rustual/examples/widgets_extra.rs +223 -0
  20. rustual_py-0.2.0/crates/rustual/src/animation.rs +1261 -0
  21. rustual_py-0.2.0/crates/rustual/src/app.rs +1619 -0
  22. rustual_py-0.2.0/crates/rustual/src/binding.rs +293 -0
  23. rustual_py-0.2.0/crates/rustual/src/command.rs +558 -0
  24. rustual_py-0.2.0/crates/rustual/src/compositor.rs +566 -0
  25. rustual_py-0.2.0/crates/rustual/src/context.rs +658 -0
  26. rustual_py-0.2.0/crates/rustual/src/dom.rs +474 -0
  27. rustual_py-0.2.0/crates/rustual/src/driver.rs +305 -0
  28. rustual_py-0.2.0/crates/rustual/src/events.rs +224 -0
  29. rustual_py-0.2.0/crates/rustual/src/layout/arrange.rs +160 -0
  30. rustual_py-0.2.0/crates/rustual/src/layout/box_model.rs +585 -0
  31. rustual_py-0.2.0/crates/rustual/src/layout/dock.rs +60 -0
  32. rustual_py-0.2.0/crates/rustual/src/layout/grid.rs +217 -0
  33. rustual_py-0.2.0/crates/rustual/src/layout/horizontal.rs +69 -0
  34. rustual_py-0.2.0/crates/rustual/src/layout/mod.rs +296 -0
  35. rustual_py-0.2.0/crates/rustual/src/layout/tests.rs +1141 -0
  36. rustual_py-0.2.0/crates/rustual/src/layout/vertical.rs +70 -0
  37. rustual_py-0.2.0/crates/rustual/src/lib.rs +66 -0
  38. rustual_py-0.2.0/crates/rustual/src/message.rs +103 -0
  39. rustual_py-0.2.0/crates/rustual/src/pilot.rs +445 -0
  40. rustual_py-0.2.0/crates/rustual/src/screen.rs +38 -0
  41. rustual_py-0.2.0/crates/rustual/src/screens.rs +644 -0
  42. rustual_py-0.2.0/crates/rustual/src/scrollbar.rs +514 -0
  43. rustual_py-0.2.0/crates/rustual/src/terminal.rs +289 -0
  44. rustual_py-0.2.0/crates/rustual/src/tooltip.rs +227 -0
  45. rustual_py-0.2.0/crates/rustual/src/transition.rs +554 -0
  46. rustual_py-0.2.0/crates/rustual/src/ux.rs +196 -0
  47. rustual_py-0.2.0/crates/rustual/src/widget.rs +548 -0
  48. rustual_py-0.2.0/crates/rustual/src/widgets/button.rs +376 -0
  49. rustual_py-0.2.0/crates/rustual/src/widgets/checkbox.rs +47 -0
  50. rustual_py-0.2.0/crates/rustual/src/widgets/collapsible.rs +339 -0
  51. rustual_py-0.2.0/crates/rustual/src/widgets/command_palette.rs +544 -0
  52. rustual_py-0.2.0/crates/rustual/src/widgets/containers.rs +146 -0
  53. rustual_py-0.2.0/crates/rustual/src/widgets/content_switcher.rs +99 -0
  54. rustual_py-0.2.0/crates/rustual/src/widgets/data_table.rs +2074 -0
  55. rustual_py-0.2.0/crates/rustual/src/widgets/digits.rs +183 -0
  56. rustual_py-0.2.0/crates/rustual/src/widgets/directory_tree.rs +440 -0
  57. rustual_py-0.2.0/crates/rustual/src/widgets/footer.rs +325 -0
  58. rustual_py-0.2.0/crates/rustual/src/widgets/header.rs +334 -0
  59. rustual_py-0.2.0/crates/rustual/src/widgets/help_panel.rs +201 -0
  60. rustual_py-0.2.0/crates/rustual/src/widgets/input.rs +1175 -0
  61. rustual_py-0.2.0/crates/rustual/src/widgets/key_panel.rs +220 -0
  62. rustual_py-0.2.0/crates/rustual/src/widgets/link.rs +182 -0
  63. rustual_py-0.2.0/crates/rustual/src/widgets/list_view.rs +522 -0
  64. rustual_py-0.2.0/crates/rustual/src/widgets/loading_indicator.rs +119 -0
  65. rustual_py-0.2.0/crates/rustual/src/widgets/log.rs +321 -0
  66. rustual_py-0.2.0/crates/rustual/src/widgets/markdown/blocks.rs +555 -0
  67. rustual_py-0.2.0/crates/rustual/src/widgets/markdown/inline.rs +294 -0
  68. rustual_py-0.2.0/crates/rustual/src/widgets/markdown/mod.rs +506 -0
  69. rustual_py-0.2.0/crates/rustual/src/widgets/markdown/parse.rs +483 -0
  70. rustual_py-0.2.0/crates/rustual/src/widgets/markdown/table.rs +277 -0
  71. rustual_py-0.2.0/crates/rustual/src/widgets/markdown/viewer.rs +446 -0
  72. rustual_py-0.2.0/crates/rustual/src/widgets/masked_input.rs +965 -0
  73. rustual_py-0.2.0/crates/rustual/src/widgets/mod.rs +98 -0
  74. rustual_py-0.2.0/crates/rustual/src/widgets/option_list.rs +834 -0
  75. rustual_py-0.2.0/crates/rustual/src/widgets/placeholder.rs +192 -0
  76. rustual_py-0.2.0/crates/rustual/src/widgets/pretty.rs +848 -0
  77. rustual_py-0.2.0/crates/rustual/src/widgets/progress_bar.rs +719 -0
  78. rustual_py-0.2.0/crates/rustual/src/widgets/radio_button.rs +51 -0
  79. rustual_py-0.2.0/crates/rustual/src/widgets/radio_set.rs +325 -0
  80. rustual_py-0.2.0/crates/rustual/src/widgets/rich_log.rs +397 -0
  81. rustual_py-0.2.0/crates/rustual/src/widgets/rule.rs +189 -0
  82. rustual_py-0.2.0/crates/rustual/src/widgets/select.rs +727 -0
  83. rustual_py-0.2.0/crates/rustual/src/widgets/selection_list.rs +769 -0
  84. rustual_py-0.2.0/crates/rustual/src/widgets/sparkline.rs +259 -0
  85. rustual_py-0.2.0/crates/rustual/src/widgets/static_.rs +147 -0
  86. rustual_py-0.2.0/crates/rustual/src/widgets/switch.rs +314 -0
  87. rustual_py-0.2.0/crates/rustual/src/widgets/tabbed_content.rs +435 -0
  88. rustual_py-0.2.0/crates/rustual/src/widgets/tabs.rs +920 -0
  89. rustual_py-0.2.0/crates/rustual/src/widgets/text_area/document.rs +466 -0
  90. rustual_py-0.2.0/crates/rustual/src/widgets/text_area/edit.rs +326 -0
  91. rustual_py-0.2.0/crates/rustual/src/widgets/text_area/highlight.rs +269 -0
  92. rustual_py-0.2.0/crates/rustual/src/widgets/text_area/mod.rs +1982 -0
  93. rustual_py-0.2.0/crates/rustual/src/widgets/text_area/navigator.rs +321 -0
  94. rustual_py-0.2.0/crates/rustual/src/widgets/text_area/theme.rs +211 -0
  95. rustual_py-0.2.0/crates/rustual/src/widgets/text_area/wrap.rs +361 -0
  96. rustual_py-0.2.0/crates/rustual/src/widgets/toast.rs +266 -0
  97. rustual_py-0.2.0/crates/rustual/src/widgets/toggle_button.rs +358 -0
  98. rustual_py-0.2.0/crates/rustual/src/widgets/tooltip.rs +60 -0
  99. rustual_py-0.2.0/crates/rustual/src/widgets/tree.rs +1273 -0
  100. rustual_py-0.2.0/crates/rustual/src/widgets/welcome.rs +149 -0
  101. rustual_py-0.2.0/crates/rustual/src/workers.rs +352 -0
  102. rustual_py-0.2.0/crates/rustual/tests/animation.rs +316 -0
  103. rustual_py-0.2.0/crates/rustual/tests/command_palette.rs +212 -0
  104. rustual_py-0.2.0/crates/rustual/tests/core_check_action.rs +49 -0
  105. rustual_py-0.2.0/crates/rustual/tests/core_clipboard.rs +73 -0
  106. rustual_py-0.2.0/crates/rustual/tests/core_keymap.rs +60 -0
  107. rustual_py-0.2.0/crates/rustual/tests/core_loading.rs +101 -0
  108. rustual_py-0.2.0/crates/rustual/tests/core_maximize.rs +147 -0
  109. rustual_py-0.2.0/crates/rustual/tests/core_screens.rs +260 -0
  110. rustual_py-0.2.0/crates/rustual/tests/core_screenshot.rs +88 -0
  111. rustual_py-0.2.0/crates/rustual/tests/core_workers.rs +113 -0
  112. rustual_py-0.2.0/crates/rustual/tests/key_panel.rs +64 -0
  113. rustual_py-0.2.0/crates/rustual/tests/layout_regressions.rs +85 -0
  114. rustual_py-0.2.0/crates/rustual/tests/links.rs +77 -0
  115. rustual_py-0.2.0/crates/rustual/tests/perf_smoke.rs +36 -0
  116. rustual_py-0.2.0/crates/rustual/tests/readme.rs +28 -0
  117. rustual_py-0.2.0/crates/rustual/tests/runtime.rs +341 -0
  118. rustual_py-0.2.0/crates/rustual/tests/scrollbar.rs +224 -0
  119. rustual_py-0.2.0/crates/rustual/tests/tooltip.rs +76 -0
  120. rustual_py-0.2.0/crates/rustual/tests/transitions.rs +287 -0
  121. rustual_py-0.2.0/crates/rustual/tests/visual_smoke.rs +35 -0
  122. rustual_py-0.2.0/crates/rustual/tests/widget_collapsible.rs +132 -0
  123. rustual_py-0.2.0/crates/rustual/tests/widget_data_table.rs +405 -0
  124. rustual_py-0.2.0/crates/rustual/tests/widget_digits.rs +59 -0
  125. rustual_py-0.2.0/crates/rustual/tests/widget_directory_tree.rs +185 -0
  126. rustual_py-0.2.0/crates/rustual/tests/widget_footer.rs +199 -0
  127. rustual_py-0.2.0/crates/rustual/tests/widget_header.rs +123 -0
  128. rustual_py-0.2.0/crates/rustual/tests/widget_help_panel.rs +178 -0
  129. rustual_py-0.2.0/crates/rustual/tests/widget_input.rs +427 -0
  130. rustual_py-0.2.0/crates/rustual/tests/widget_list_view.rs +135 -0
  131. rustual_py-0.2.0/crates/rustual/tests/widget_loading_indicator.rs +47 -0
  132. rustual_py-0.2.0/crates/rustual/tests/widget_log.rs +208 -0
  133. rustual_py-0.2.0/crates/rustual/tests/widget_markdown.rs +703 -0
  134. rustual_py-0.2.0/crates/rustual/tests/widget_masked_input.rs +173 -0
  135. rustual_py-0.2.0/crates/rustual/tests/widget_option_list.rs +161 -0
  136. rustual_py-0.2.0/crates/rustual/tests/widget_placeholder.rs +90 -0
  137. rustual_py-0.2.0/crates/rustual/tests/widget_pretty.rs +83 -0
  138. rustual_py-0.2.0/crates/rustual/tests/widget_progress_bar.rs +128 -0
  139. rustual_py-0.2.0/crates/rustual/tests/widget_progress_gradient.rs +49 -0
  140. rustual_py-0.2.0/crates/rustual/tests/widget_rule.rs +76 -0
  141. rustual_py-0.2.0/crates/rustual/tests/widget_select.rs +166 -0
  142. rustual_py-0.2.0/crates/rustual/tests/widget_selection_list.rs +214 -0
  143. rustual_py-0.2.0/crates/rustual/tests/widget_sparkline.rs +97 -0
  144. rustual_py-0.2.0/crates/rustual/tests/widget_tabbed_content.rs +269 -0
  145. rustual_py-0.2.0/crates/rustual/tests/widget_tabs.rs +220 -0
  146. rustual_py-0.2.0/crates/rustual/tests/widget_text_area.rs +507 -0
  147. rustual_py-0.2.0/crates/rustual/tests/widget_toast.rs +116 -0
  148. rustual_py-0.2.0/crates/rustual/tests/widget_toggles.rs +407 -0
  149. rustual_py-0.2.0/crates/rustual/tests/widget_tree.rs +263 -0
  150. rustual_py-0.2.0/crates/rustual/tests/widget_welcome.rs +49 -0
  151. rustual_py-0.2.0/crates/rustual-css/Cargo.toml +16 -0
  152. rustual_py-0.2.0/crates/rustual-css/LICENSE +29 -0
  153. rustual_py-0.2.0/crates/rustual-css/README.md +17 -0
  154. rustual_py-0.2.0/crates/rustual-css/src/lib.rs +38 -0
  155. rustual_py-0.2.0/crates/rustual-css/src/model.rs +48 -0
  156. rustual_py-0.2.0/crates/rustual-css/src/parser.rs +411 -0
  157. rustual_py-0.2.0/crates/rustual-css/src/properties.rs +1192 -0
  158. rustual_py-0.2.0/crates/rustual-css/src/scalar.rs +124 -0
  159. rustual_py-0.2.0/crates/rustual-css/src/selector.rs +465 -0
  160. rustual_py-0.2.0/crates/rustual-css/src/styles.rs +489 -0
  161. rustual_py-0.2.0/crates/rustual-css/src/stylesheet.rs +335 -0
  162. rustual_py-0.2.0/crates/rustual-css/src/theme.rs +909 -0
  163. rustual_py-0.2.0/crates/rustual-css/src/tokenizer.rs +498 -0
  164. rustual_py-0.2.0/crates/rustual-css/src/transition.rs +252 -0
  165. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/App.tcss +55 -0
  166. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Bar.tcss +19 -0
  167. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/BindingsTable.tcss +6 -0
  168. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Button.tcss +247 -0
  169. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Center.tcss +7 -0
  170. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/CenterMiddle.tcss +7 -0
  171. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Collapsible.tcss +22 -0
  172. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/CollapsibleTitle.tcss +20 -0
  173. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/CommandInput.tcss +9 -0
  174. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/CommandList.tcss +51 -0
  175. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/CommandPalette.tcss +83 -0
  176. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Container.tcss +8 -0
  177. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/ContentSwitcher.tcss +6 -0
  178. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Contents.tcss +7 -0
  179. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/DOMNode.tcss +0 -0
  180. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/DataTable.tcss +82 -0
  181. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Digits.tcss +8 -0
  182. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/DirectoryTree.tcss +38 -0
  183. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/ETAStatus.tcss +6 -0
  184. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Footer.tcss +52 -0
  185. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/FooterKey.tcss +39 -0
  186. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Grid.tcss +7 -0
  187. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Header.tcss +12 -0
  188. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/HeaderClock.tcss +8 -0
  189. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/HeaderClockSpace.tcss +7 -0
  190. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/HeaderIcon.tcss +12 -0
  191. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/HeaderTitle.tcss +8 -0
  192. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/HelpPanel.tcss +62 -0
  193. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Horizontal.tcss +8 -0
  194. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/HorizontalGroup.tcss +8 -0
  195. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/HorizontalScroll.tcss +7 -0
  196. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Input.tcss +64 -0
  197. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/ItemGrid.tcss +7 -0
  198. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/KeyGroup.tcss +5 -0
  199. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/KeyPanel.tcss +37 -0
  200. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Label.tcss +32 -0
  201. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Lazy.tcss +5 -0
  202. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Link.tcss +12 -0
  203. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/ListView.tcss +31 -0
  204. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/LoadingIndicator.tcss +15 -0
  205. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Log.tcss +10 -0
  206. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Markdown.tcss +35 -0
  207. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/MarkdownBlock.tcss +6 -0
  208. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/MarkdownBlockQuote.tcss +15 -0
  209. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/MarkdownBullet.tcss +9 -0
  210. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/MarkdownBulletList.tcss +16 -0
  211. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/MarkdownFence.tcss +28 -0
  212. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/MarkdownH1.tcss +8 -0
  213. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/MarkdownH2.tcss +7 -0
  214. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/MarkdownH3.tcss +9 -0
  215. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/MarkdownH4.tcss +8 -0
  216. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/MarkdownH5.tcss +8 -0
  217. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/MarkdownH6.tcss +8 -0
  218. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/MarkdownHeader.tcss +7 -0
  219. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/MarkdownHorizontalRule.tcss +8 -0
  220. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/MarkdownList.tcss +11 -0
  221. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/MarkdownListItem.tcss +12 -0
  222. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/MarkdownOrderedList.tcss +16 -0
  223. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/MarkdownParagraph.tcss +5 -0
  224. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/MarkdownTable.tcss +9 -0
  225. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/MarkdownTableContent.tcss +29 -0
  226. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/MarkdownTableOfContents.tcss +16 -0
  227. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/MarkdownViewer.tcss +15 -0
  228. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Middle.tcss +7 -0
  229. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/ModalScreen.tcss +10 -0
  230. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/OptionList.tcss +45 -0
  231. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/PercentageStatus.tcss +6 -0
  232. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Placeholder.tcss +14 -0
  233. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Pretty.tcss +5 -0
  234. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/ProgressBar.tcss +7 -0
  235. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/RadioSet.tcss +56 -0
  236. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Reveal.tcss +5 -0
  237. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/RichLog.tcss +10 -0
  238. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Right.tcss +7 -0
  239. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Rule.tcss +17 -0
  240. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Screen.tcss +33 -0
  241. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/ScrollView.tcss +6 -0
  242. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/ScrollableContainer.tcss +8 -0
  243. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/SearchIcon.tcss +8 -0
  244. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Select.tcss +54 -0
  245. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/SelectCurrent.tcss +44 -0
  246. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/SelectionList.tcss +28 -0
  247. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Sparkline.tcss +11 -0
  248. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Static.tcss +5 -0
  249. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Switch.tcss +63 -0
  250. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Tab.tcss +32 -0
  251. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/TabPane.tcss +5 -0
  252. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/TabbedContent.tcss +8 -0
  253. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Tabs.tcss +30 -0
  254. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/TextArea.tcss +81 -0
  255. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Toast.tcss +50 -0
  256. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/ToastHolder.tcss +8 -0
  257. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/ToastRack.tcss +14 -0
  258. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/ToggleButton.tcss +65 -0
  259. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Tooltip.tcss +17 -0
  260. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Tree.tcss +68 -0
  261. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Underline.tcss +16 -0
  262. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Vertical.tcss +8 -0
  263. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/VerticalGroup.tcss +8 -0
  264. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/VerticalScroll.tcss +7 -0
  265. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Welcome.tcss +21 -0
  266. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/default_css/Widget.tcss +20 -0
  267. rustual_py-0.2.0/crates/rustual-css/tests/fixtures/theme_variables.tsv +3192 -0
  268. rustual_py-0.2.0/crates/rustual-css/tests/textual_compat.rs +106 -0
  269. rustual_py-0.2.0/crates/rustual-py/.coverage +0 -0
  270. rustual_py-0.2.0/crates/rustual-py/Cargo.toml +19 -0
  271. rustual_py-0.2.0/crates/rustual-py/LICENSE +29 -0
  272. rustual_py-0.2.0/crates/rustual-py/README.md +162 -0
  273. rustual_py-0.2.0/crates/rustual-py/bench/bench.py +116 -0
  274. rustual_py-0.2.0/crates/rustual-py/examples/content.py +85 -0
  275. rustual_py-0.2.0/crates/rustual-py/examples/counter.py +55 -0
  276. rustual_py-0.2.0/crates/rustual-py/examples/data.py +80 -0
  277. rustual_py-0.2.0/crates/rustual-py/examples/forms.py +96 -0
  278. rustual_py-0.2.0/crates/rustual-py/examples/stopwatch.py +111 -0
  279. rustual_py-0.2.0/crates/rustual-py/examples/stopwatch.tcss +51 -0
  280. rustual_py-0.2.0/crates/rustual-py/examples/workers.py +41 -0
  281. rustual_py-0.2.0/crates/rustual-py/src/adapter.rs +630 -0
  282. rustual_py-0.2.0/crates/rustual-py/src/bridge.rs +344 -0
  283. rustual_py-0.2.0/crates/rustual-py/src/lib.rs +109 -0
  284. rustual_py-0.2.0/crates/rustual-py/src/ops.rs +776 -0
  285. rustual_py-0.2.0/crates/rustual-py/src/runner.rs +382 -0
  286. rustual_py-0.2.0/crates/rustual-py/src/widgets/basic.rs +365 -0
  287. rustual_py-0.2.0/crates/rustual-py/src/widgets/content.rs +965 -0
  288. rustual_py-0.2.0/crates/rustual-py/src/widgets/data.rs +1368 -0
  289. rustual_py-0.2.0/crates/rustual-py/src/widgets/forms.rs +707 -0
  290. rustual_py-0.2.0/crates/rustual-py/src/widgets/mod.rs +252 -0
  291. rustual_py-0.2.0/crates/rustual-py/src/widgets/rich.rs +187 -0
  292. rustual_py-0.2.0/crates/rustual-py/tests/test_animate.py +34 -0
  293. rustual_py-0.2.0/crates/rustual-py/tests/test_basic.py +62 -0
  294. rustual_py-0.2.0/crates/rustual-py/tests/test_check_action.py +38 -0
  295. rustual_py-0.2.0/crates/rustual-py/tests/test_core.py +393 -0
  296. rustual_py-0.2.0/crates/rustual-py/tests/test_events.py +101 -0
  297. rustual_py-0.2.0/crates/rustual-py/tests/test_input.py +44 -0
  298. rustual_py-0.2.0/crates/rustual-py/tests/test_readme.py +41 -0
  299. rustual_py-0.2.0/crates/rustual-py/tests/test_rich.py +49 -0
  300. rustual_py-0.2.0/crates/rustual-py/tests/test_stopwatch.py +31 -0
  301. rustual_py-0.2.0/crates/rustual-py/tests/test_theme.py +23 -0
  302. rustual_py-0.2.0/crates/rustual-py/tests/test_threads.py +89 -0
  303. rustual_py-0.2.0/crates/rustual-py/tests/test_widgets_content.py +489 -0
  304. rustual_py-0.2.0/crates/rustual-py/tests/test_widgets_data.py +514 -0
  305. rustual_py-0.2.0/crates/rustual-py/tests/test_widgets_forms.py +505 -0
  306. rustual_py-0.2.0/crates/rustual-py/uv.lock +423 -0
  307. rustual_py-0.2.0/crates/rustual-render/Cargo.toml +17 -0
  308. rustual_py-0.2.0/crates/rustual-render/LICENSE +29 -0
  309. rustual_py-0.2.0/crates/rustual-render/README.md +17 -0
  310. rustual_py-0.2.0/crates/rustual-render/src/border.rs +223 -0
  311. rustual_py-0.2.0/crates/rustual-render/src/canvas.rs +519 -0
  312. rustual_py-0.2.0/crates/rustual-render/src/cells.rs +113 -0
  313. rustual_py-0.2.0/crates/rustual-render/src/color.rs +555 -0
  314. rustual_py-0.2.0/crates/rustual-render/src/color_names.rs +170 -0
  315. rustual_py-0.2.0/crates/rustual-render/src/export.rs +219 -0
  316. rustual_py-0.2.0/crates/rustual-render/src/geometry.rs +426 -0
  317. rustual_py-0.2.0/crates/rustual-render/src/lib.rs +35 -0
  318. rustual_py-0.2.0/crates/rustual-render/src/markup.rs +356 -0
  319. rustual_py-0.2.0/crates/rustual-render/src/strip.rs +263 -0
  320. rustual_py-0.2.0/crates/rustual-render/src/style.rs +446 -0
  321. rustual_py-0.2.0/crates/rustual-render/src/text.rs +652 -0
  322. rustual_py-0.2.0/pyproject.toml +34 -0
  323. rustual_py-0.2.0/python/rustual/__init__.py +21 -0
  324. rustual_py-0.2.0/python/rustual/_animator.py +156 -0
  325. rustual_py-0.2.0/python/rustual/_bridge.py +72 -0
  326. rustual_py-0.2.0/python/rustual/_context.py +168 -0
  327. rustual_py-0.2.0/python/rustual/_on.py +38 -0
  328. rustual_py-0.2.0/python/rustual/_rich.py +72 -0
  329. rustual_py-0.2.0/python/rustual/app.py +509 -0
  330. rustual_py-0.2.0/python/rustual/binding.py +65 -0
  331. rustual_py-0.2.0/python/rustual/color.py +119 -0
  332. rustual_py-0.2.0/python/rustual/containers.py +77 -0
  333. rustual_py-0.2.0/python/rustual/content.py +56 -0
  334. rustual_py-0.2.0/python/rustual/coordinate.py +24 -0
  335. rustual_py-0.2.0/python/rustual/css/__init__.py +0 -0
  336. rustual_py-0.2.0/python/rustual/css/query.py +167 -0
  337. rustual_py-0.2.0/python/rustual/events.py +244 -0
  338. rustual_py-0.2.0/python/rustual/geometry.py +87 -0
  339. rustual_py-0.2.0/python/rustual/highlight.py +125 -0
  340. rustual_py-0.2.0/python/rustual/message.py +111 -0
  341. rustual_py-0.2.0/python/rustual/pilot.py +167 -0
  342. rustual_py-0.2.0/python/rustual/py.typed +0 -0
  343. rustual_py-0.2.0/python/rustual/reactive.py +303 -0
  344. rustual_py-0.2.0/python/rustual/renderables/__init__.py +1 -0
  345. rustual_py-0.2.0/python/rustual/renderables/gradient.py +75 -0
  346. rustual_py-0.2.0/python/rustual/screen.py +112 -0
  347. rustual_py-0.2.0/python/rustual/signal.py +38 -0
  348. rustual_py-0.2.0/python/rustual/theme.py +47 -0
  349. rustual_py-0.2.0/python/rustual/validation.py +210 -0
  350. rustual_py-0.2.0/python/rustual/widget.py +1305 -0
  351. rustual_py-0.2.0/python/rustual/widgets/__init__.py +86 -0
  352. rustual_py-0.2.0/python/rustual/widgets/_button.py +95 -0
  353. rustual_py-0.2.0/python/rustual/widgets/_checkbox.py +29 -0
  354. rustual_py-0.2.0/python/rustual/widgets/_collapsible.py +84 -0
  355. rustual_py-0.2.0/python/rustual/widgets/_content_switcher.py +59 -0
  356. rustual_py-0.2.0/python/rustual/widgets/_data_table.py +504 -0
  357. rustual_py-0.2.0/python/rustual/widgets/_detached.py +50 -0
  358. rustual_py-0.2.0/python/rustual/widgets/_digits.py +43 -0
  359. rustual_py-0.2.0/python/rustual/widgets/_directory_tree.py +114 -0
  360. rustual_py-0.2.0/python/rustual/widgets/_footer.py +36 -0
  361. rustual_py-0.2.0/python/rustual/widgets/_header.py +36 -0
  362. rustual_py-0.2.0/python/rustual/widgets/_help_panel.py +25 -0
  363. rustual_py-0.2.0/python/rustual/widgets/_helpers.py +29 -0
  364. rustual_py-0.2.0/python/rustual/widgets/_input.py +196 -0
  365. rustual_py-0.2.0/python/rustual/widgets/_key_panel.py +25 -0
  366. rustual_py-0.2.0/python/rustual/widgets/_label.py +33 -0
  367. rustual_py-0.2.0/python/rustual/widgets/_link.py +69 -0
  368. rustual_py-0.2.0/python/rustual/widgets/_list_view.py +173 -0
  369. rustual_py-0.2.0/python/rustual/widgets/_loading_indicator.py +24 -0
  370. rustual_py-0.2.0/python/rustual/widgets/_log.py +150 -0
  371. rustual_py-0.2.0/python/rustual/widgets/_markdown.py +250 -0
  372. rustual_py-0.2.0/python/rustual/widgets/_masked_input.py +137 -0
  373. rustual_py-0.2.0/python/rustual/widgets/_option_list.py +360 -0
  374. rustual_py-0.2.0/python/rustual/widgets/_placeholder.py +58 -0
  375. rustual_py-0.2.0/python/rustual/widgets/_pretty.py +42 -0
  376. rustual_py-0.2.0/python/rustual/widgets/_progress_bar.py +83 -0
  377. rustual_py-0.2.0/python/rustual/widgets/_radio_button.py +34 -0
  378. rustual_py-0.2.0/python/rustual/widgets/_radio_set.py +123 -0
  379. rustual_py-0.2.0/python/rustual/widgets/_rule.py +100 -0
  380. rustual_py-0.2.0/python/rustual/widgets/_select.py +205 -0
  381. rustual_py-0.2.0/python/rustual/widgets/_selection_list.py +240 -0
  382. rustual_py-0.2.0/python/rustual/widgets/_sparkline.py +44 -0
  383. rustual_py-0.2.0/python/rustual/widgets/_static.py +64 -0
  384. rustual_py-0.2.0/python/rustual/widgets/_switch.py +74 -0
  385. rustual_py-0.2.0/python/rustual/widgets/_tabbed_content.py +256 -0
  386. rustual_py-0.2.0/python/rustual/widgets/_tabs.py +240 -0
  387. rustual_py-0.2.0/python/rustual/widgets/_text_area.py +471 -0
  388. rustual_py-0.2.0/python/rustual/widgets/_toggle_button.py +100 -0
  389. rustual_py-0.2.0/python/rustual/widgets/_tree.py +444 -0
  390. rustual_py-0.2.0/python/rustual/widgets/_welcome.py +29 -0
  391. rustual_py-0.2.0/python/rustual/widgets/collapsible.py +5 -0
  392. rustual_py-0.2.0/python/rustual/widgets/data_table.py +33 -0
  393. rustual_py-0.2.0/python/rustual/widgets/directory_tree.py +5 -0
  394. rustual_py-0.2.0/python/rustual/widgets/markdown.py +5 -0
  395. rustual_py-0.2.0/python/rustual/widgets/option_list.py +5 -0
  396. rustual_py-0.2.0/python/rustual/widgets/rule.py +5 -0
  397. rustual_py-0.2.0/python/rustual/widgets/select.py +5 -0
  398. rustual_py-0.2.0/python/rustual/widgets/selection_list.py +5 -0
  399. rustual_py-0.2.0/python/rustual/widgets/tabbed_content.py +5 -0
  400. rustual_py-0.2.0/python/rustual/widgets/text_area.py +21 -0
  401. rustual_py-0.2.0/python/rustual/widgets/tree.py +23 -0
  402. rustual_py-0.2.0/python/rustual/worker.py +351 -0
@@ -0,0 +1,621 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "bitflags"
7
+ version = "2.13.2"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06"
10
+
11
+ [[package]]
12
+ name = "cfg-if"
13
+ version = "1.0.5"
14
+ source = "registry+https://github.com/rust-lang/crates.io-index"
15
+ checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600"
16
+
17
+ [[package]]
18
+ name = "convert_case"
19
+ version = "0.10.0"
20
+ source = "registry+https://github.com/rust-lang/crates.io-index"
21
+ checksum = "633458d4ef8c78b72454de2d54fd6ab2e60f9e02be22f3c6104cdc8a4e0fceb9"
22
+ dependencies = [
23
+ "unicode-segmentation",
24
+ ]
25
+
26
+ [[package]]
27
+ name = "crossterm"
28
+ version = "0.29.0"
29
+ source = "registry+https://github.com/rust-lang/crates.io-index"
30
+ checksum = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b"
31
+ dependencies = [
32
+ "bitflags",
33
+ "crossterm_winapi",
34
+ "derive_more",
35
+ "document-features",
36
+ "futures-core",
37
+ "mio",
38
+ "parking_lot",
39
+ "rustix",
40
+ "signal-hook",
41
+ "signal-hook-mio",
42
+ "winapi",
43
+ ]
44
+
45
+ [[package]]
46
+ name = "crossterm_winapi"
47
+ version = "0.9.1"
48
+ source = "registry+https://github.com/rust-lang/crates.io-index"
49
+ checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b"
50
+ dependencies = [
51
+ "winapi",
52
+ ]
53
+
54
+ [[package]]
55
+ name = "derive_more"
56
+ version = "2.1.1"
57
+ source = "registry+https://github.com/rust-lang/crates.io-index"
58
+ checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134"
59
+ dependencies = [
60
+ "derive_more-impl",
61
+ ]
62
+
63
+ [[package]]
64
+ name = "derive_more-impl"
65
+ version = "2.1.1"
66
+ source = "registry+https://github.com/rust-lang/crates.io-index"
67
+ checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb"
68
+ dependencies = [
69
+ "convert_case",
70
+ "proc-macro2",
71
+ "quote",
72
+ "rustc_version",
73
+ "syn 2.0.119",
74
+ ]
75
+
76
+ [[package]]
77
+ name = "document-features"
78
+ version = "0.2.12"
79
+ source = "registry+https://github.com/rust-lang/crates.io-index"
80
+ checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61"
81
+ dependencies = [
82
+ "litrs",
83
+ ]
84
+
85
+ [[package]]
86
+ name = "errno"
87
+ version = "0.3.14"
88
+ source = "registry+https://github.com/rust-lang/crates.io-index"
89
+ checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
90
+ dependencies = [
91
+ "libc",
92
+ "windows-sys",
93
+ ]
94
+
95
+ [[package]]
96
+ name = "futures"
97
+ version = "0.3.34"
98
+ source = "registry+https://github.com/rust-lang/crates.io-index"
99
+ checksum = "9a31d2a3fbaaeb2af2368bbdd904aa8e812d3c04a1ee10d3171f52d556e5d0a3"
100
+ dependencies = [
101
+ "futures-channel",
102
+ "futures-core",
103
+ "futures-executor",
104
+ "futures-io",
105
+ "futures-sink",
106
+ "futures-task",
107
+ "futures-util",
108
+ ]
109
+
110
+ [[package]]
111
+ name = "futures-channel"
112
+ version = "0.3.34"
113
+ source = "registry+https://github.com/rust-lang/crates.io-index"
114
+ checksum = "b1f9e3d69d39e4862ffed03ed071a76f9a13ba1d9109d355b0f0aa6b15e393c4"
115
+ dependencies = [
116
+ "futures-core",
117
+ "futures-sink",
118
+ ]
119
+
120
+ [[package]]
121
+ name = "futures-core"
122
+ version = "0.3.34"
123
+ source = "registry+https://github.com/rust-lang/crates.io-index"
124
+ checksum = "92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e"
125
+
126
+ [[package]]
127
+ name = "futures-executor"
128
+ version = "0.3.34"
129
+ source = "registry+https://github.com/rust-lang/crates.io-index"
130
+ checksum = "031b47cf1a3c6cc8bc2fc76cd437f521619387907d469316e7c0bc278f1f5432"
131
+ dependencies = [
132
+ "futures-core",
133
+ "futures-task",
134
+ "futures-util",
135
+ ]
136
+
137
+ [[package]]
138
+ name = "futures-io"
139
+ version = "0.3.34"
140
+ source = "registry+https://github.com/rust-lang/crates.io-index"
141
+ checksum = "53c0fa8157de1303bfffdaa1cc2a673bfffb60102f76b0ef4441659124373fed"
142
+
143
+ [[package]]
144
+ name = "futures-macro"
145
+ version = "0.3.34"
146
+ source = "registry+https://github.com/rust-lang/crates.io-index"
147
+ checksum = "9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44"
148
+ dependencies = [
149
+ "proc-macro2",
150
+ "quote",
151
+ "syn 3.0.9",
152
+ ]
153
+
154
+ [[package]]
155
+ name = "futures-sink"
156
+ version = "0.3.34"
157
+ source = "registry+https://github.com/rust-lang/crates.io-index"
158
+ checksum = "1944426bf7d03f1d14f708785e4b33efd750b36d48a157b836b3efc15ede8e1d"
159
+
160
+ [[package]]
161
+ name = "futures-task"
162
+ version = "0.3.34"
163
+ source = "registry+https://github.com/rust-lang/crates.io-index"
164
+ checksum = "cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd"
165
+
166
+ [[package]]
167
+ name = "futures-util"
168
+ version = "0.3.34"
169
+ source = "registry+https://github.com/rust-lang/crates.io-index"
170
+ checksum = "0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc"
171
+ dependencies = [
172
+ "futures-channel",
173
+ "futures-core",
174
+ "futures-io",
175
+ "futures-macro",
176
+ "futures-sink",
177
+ "futures-task",
178
+ "memchr",
179
+ "pin-project-lite",
180
+ "slab",
181
+ ]
182
+
183
+ [[package]]
184
+ name = "heck"
185
+ version = "0.5.0"
186
+ source = "registry+https://github.com/rust-lang/crates.io-index"
187
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
188
+
189
+ [[package]]
190
+ name = "libc"
191
+ version = "0.2.190"
192
+ source = "registry+https://github.com/rust-lang/crates.io-index"
193
+ checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78"
194
+
195
+ [[package]]
196
+ name = "linux-raw-sys"
197
+ version = "0.12.1"
198
+ source = "registry+https://github.com/rust-lang/crates.io-index"
199
+ checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53"
200
+
201
+ [[package]]
202
+ name = "litrs"
203
+ version = "1.0.1"
204
+ source = "registry+https://github.com/rust-lang/crates.io-index"
205
+ checksum = "4744e383959f0db86ede514b809b1c53251889093803c05267acc7d4e7030d70"
206
+
207
+ [[package]]
208
+ name = "lock_api"
209
+ version = "0.4.14"
210
+ source = "registry+https://github.com/rust-lang/crates.io-index"
211
+ checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965"
212
+ dependencies = [
213
+ "scopeguard",
214
+ ]
215
+
216
+ [[package]]
217
+ name = "log"
218
+ version = "0.4.34"
219
+ source = "registry+https://github.com/rust-lang/crates.io-index"
220
+ checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6"
221
+
222
+ [[package]]
223
+ name = "memchr"
224
+ version = "2.8.3"
225
+ source = "registry+https://github.com/rust-lang/crates.io-index"
226
+ checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
227
+
228
+ [[package]]
229
+ name = "mio"
230
+ version = "1.2.4"
231
+ source = "registry+https://github.com/rust-lang/crates.io-index"
232
+ checksum = "1788edb87fdc09c7e26304471e2f5be8cdefb1b6930d6e3985fc02ff53bf86ee"
233
+ dependencies = [
234
+ "libc",
235
+ "log",
236
+ "wasi",
237
+ "windows-sys",
238
+ ]
239
+
240
+ [[package]]
241
+ name = "once_cell"
242
+ version = "1.21.4"
243
+ source = "registry+https://github.com/rust-lang/crates.io-index"
244
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
245
+
246
+ [[package]]
247
+ name = "parking_lot"
248
+ version = "0.12.5"
249
+ source = "registry+https://github.com/rust-lang/crates.io-index"
250
+ checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a"
251
+ dependencies = [
252
+ "lock_api",
253
+ "parking_lot_core",
254
+ ]
255
+
256
+ [[package]]
257
+ name = "parking_lot_core"
258
+ version = "0.9.12"
259
+ source = "registry+https://github.com/rust-lang/crates.io-index"
260
+ checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1"
261
+ dependencies = [
262
+ "cfg-if",
263
+ "libc",
264
+ "redox_syscall",
265
+ "smallvec",
266
+ "windows-link",
267
+ ]
268
+
269
+ [[package]]
270
+ name = "pin-project-lite"
271
+ version = "0.2.17"
272
+ source = "registry+https://github.com/rust-lang/crates.io-index"
273
+ checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
274
+
275
+ [[package]]
276
+ name = "portable-atomic"
277
+ version = "1.15.0"
278
+ source = "registry+https://github.com/rust-lang/crates.io-index"
279
+ checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85"
280
+
281
+ [[package]]
282
+ name = "proc-macro2"
283
+ version = "1.0.107"
284
+ source = "registry+https://github.com/rust-lang/crates.io-index"
285
+ checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
286
+ dependencies = [
287
+ "unicode-ident",
288
+ ]
289
+
290
+ [[package]]
291
+ name = "pulldown-cmark"
292
+ version = "0.13.4"
293
+ source = "registry+https://github.com/rust-lang/crates.io-index"
294
+ checksum = "e9f068eba8e7071c5f9511831b44f32c740d5adf574e990f946ddb53db2f314e"
295
+ dependencies = [
296
+ "bitflags",
297
+ "memchr",
298
+ "unicase",
299
+ ]
300
+
301
+ [[package]]
302
+ name = "pyo3"
303
+ version = "0.30.1"
304
+ source = "registry+https://github.com/rust-lang/crates.io-index"
305
+ checksum = "229ca13b8a15bb0d1487b81ab975bfcd97513416499a8312011b6036e42e0de4"
306
+ dependencies = [
307
+ "libc",
308
+ "once_cell",
309
+ "portable-atomic",
310
+ "pyo3-build-config",
311
+ "pyo3-ffi",
312
+ "pyo3-macros",
313
+ ]
314
+
315
+ [[package]]
316
+ name = "pyo3-build-config"
317
+ version = "0.30.1"
318
+ source = "registry+https://github.com/rust-lang/crates.io-index"
319
+ checksum = "70130e2b6dd1ee589a8788026a429561ca5c40fa7a2fa7914c2282eddae24700"
320
+ dependencies = [
321
+ "target-lexicon",
322
+ ]
323
+
324
+ [[package]]
325
+ name = "pyo3-ffi"
326
+ version = "0.30.1"
327
+ source = "registry+https://github.com/rust-lang/crates.io-index"
328
+ checksum = "5e7ff73c555c286d212d4ce7e5fbda845a973c4f61bd5f160f5f2c3c2a04d1c4"
329
+ dependencies = [
330
+ "libc",
331
+ "pyo3-build-config",
332
+ ]
333
+
334
+ [[package]]
335
+ name = "pyo3-macros"
336
+ version = "0.30.1"
337
+ source = "registry+https://github.com/rust-lang/crates.io-index"
338
+ checksum = "c46d2e5862c7bb8207e3b639f713dda3c499933444784154c11d013c5a691b60"
339
+ dependencies = [
340
+ "proc-macro2",
341
+ "pyo3-macros-backend",
342
+ "quote",
343
+ "syn 3.0.9",
344
+ ]
345
+
346
+ [[package]]
347
+ name = "pyo3-macros-backend"
348
+ version = "0.30.1"
349
+ source = "registry+https://github.com/rust-lang/crates.io-index"
350
+ checksum = "38b89f066f2ae72a2aef52d1537ca2fcd104440ebfadee06e97aa90738a25b9b"
351
+ dependencies = [
352
+ "heck",
353
+ "proc-macro2",
354
+ "quote",
355
+ "syn 3.0.9",
356
+ ]
357
+
358
+ [[package]]
359
+ name = "quote"
360
+ version = "1.0.47"
361
+ source = "registry+https://github.com/rust-lang/crates.io-index"
362
+ checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
363
+ dependencies = [
364
+ "proc-macro2",
365
+ ]
366
+
367
+ [[package]]
368
+ name = "redox_syscall"
369
+ version = "0.5.18"
370
+ source = "registry+https://github.com/rust-lang/crates.io-index"
371
+ checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
372
+ dependencies = [
373
+ "bitflags",
374
+ ]
375
+
376
+ [[package]]
377
+ name = "rustc_version"
378
+ version = "0.4.1"
379
+ source = "registry+https://github.com/rust-lang/crates.io-index"
380
+ checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
381
+ dependencies = [
382
+ "semver",
383
+ ]
384
+
385
+ [[package]]
386
+ name = "rustix"
387
+ version = "1.1.5"
388
+ source = "registry+https://github.com/rust-lang/crates.io-index"
389
+ checksum = "891efababe418670775f199f0d233d84843c227a0949a883ce15b37c78d6629d"
390
+ dependencies = [
391
+ "bitflags",
392
+ "errno",
393
+ "libc",
394
+ "linux-raw-sys",
395
+ "windows-sys",
396
+ ]
397
+
398
+ [[package]]
399
+ name = "rustual"
400
+ version = "0.2.0"
401
+ dependencies = [
402
+ "crossterm",
403
+ "futures",
404
+ "pulldown-cmark",
405
+ "rustual-css",
406
+ "rustual-render",
407
+ "slotmap",
408
+ "tokio",
409
+ "unicode-width",
410
+ ]
411
+
412
+ [[package]]
413
+ name = "rustual-css"
414
+ version = "0.2.0"
415
+ dependencies = [
416
+ "rustual-render",
417
+ ]
418
+
419
+ [[package]]
420
+ name = "rustual-py"
421
+ version = "0.2.0"
422
+ dependencies = [
423
+ "pyo3",
424
+ "rustual",
425
+ "slotmap",
426
+ "tokio",
427
+ ]
428
+
429
+ [[package]]
430
+ name = "rustual-render"
431
+ version = "0.2.0"
432
+ dependencies = [
433
+ "unicode-segmentation",
434
+ "unicode-width",
435
+ ]
436
+
437
+ [[package]]
438
+ name = "scopeguard"
439
+ version = "1.2.0"
440
+ source = "registry+https://github.com/rust-lang/crates.io-index"
441
+ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
442
+
443
+ [[package]]
444
+ name = "semver"
445
+ version = "1.0.28"
446
+ source = "registry+https://github.com/rust-lang/crates.io-index"
447
+ checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd"
448
+
449
+ [[package]]
450
+ name = "signal-hook"
451
+ version = "0.3.18"
452
+ source = "registry+https://github.com/rust-lang/crates.io-index"
453
+ checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2"
454
+ dependencies = [
455
+ "libc",
456
+ "signal-hook-registry",
457
+ ]
458
+
459
+ [[package]]
460
+ name = "signal-hook-mio"
461
+ version = "0.2.5"
462
+ source = "registry+https://github.com/rust-lang/crates.io-index"
463
+ checksum = "b75a19a7a740b25bc7944bdee6172368f988763b744e3d4dfe753f6b4ece40cc"
464
+ dependencies = [
465
+ "libc",
466
+ "mio",
467
+ "signal-hook",
468
+ ]
469
+
470
+ [[package]]
471
+ name = "signal-hook-registry"
472
+ version = "1.4.8"
473
+ source = "registry+https://github.com/rust-lang/crates.io-index"
474
+ checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b"
475
+ dependencies = [
476
+ "errno",
477
+ "libc",
478
+ ]
479
+
480
+ [[package]]
481
+ name = "slab"
482
+ version = "0.4.12"
483
+ source = "registry+https://github.com/rust-lang/crates.io-index"
484
+ checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
485
+
486
+ [[package]]
487
+ name = "slotmap"
488
+ version = "1.1.1"
489
+ source = "registry+https://github.com/rust-lang/crates.io-index"
490
+ checksum = "bdd58c3c93c3d278ca835519292445cb4b0d4dc59ccfdf7ceadaab3f8aeb4038"
491
+ dependencies = [
492
+ "version_check",
493
+ ]
494
+
495
+ [[package]]
496
+ name = "smallvec"
497
+ version = "1.16.3"
498
+ source = "registry+https://github.com/rust-lang/crates.io-index"
499
+ checksum = "5b3dc8af474f516a851ff4bd12db780f948b9250ad37211e4eec0bccea54e01b"
500
+
501
+ [[package]]
502
+ name = "syn"
503
+ version = "2.0.119"
504
+ source = "registry+https://github.com/rust-lang/crates.io-index"
505
+ checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
506
+ dependencies = [
507
+ "proc-macro2",
508
+ "quote",
509
+ "unicode-ident",
510
+ ]
511
+
512
+ [[package]]
513
+ name = "syn"
514
+ version = "3.0.9"
515
+ source = "registry+https://github.com/rust-lang/crates.io-index"
516
+ checksum = "d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b"
517
+ dependencies = [
518
+ "proc-macro2",
519
+ "quote",
520
+ "unicode-ident",
521
+ ]
522
+
523
+ [[package]]
524
+ name = "target-lexicon"
525
+ version = "0.13.5"
526
+ source = "registry+https://github.com/rust-lang/crates.io-index"
527
+ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
528
+
529
+ [[package]]
530
+ name = "tokio"
531
+ version = "1.53.3"
532
+ source = "registry+https://github.com/rust-lang/crates.io-index"
533
+ checksum = "ce3335fa71841cda333a58d7615b03901380ecf09d59b3296d21f8bbac0dde4e"
534
+ dependencies = [
535
+ "pin-project-lite",
536
+ "tokio-macros",
537
+ ]
538
+
539
+ [[package]]
540
+ name = "tokio-macros"
541
+ version = "2.7.2"
542
+ source = "registry+https://github.com/rust-lang/crates.io-index"
543
+ checksum = "78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e"
544
+ dependencies = [
545
+ "proc-macro2",
546
+ "quote",
547
+ "syn 3.0.9",
548
+ ]
549
+
550
+ [[package]]
551
+ name = "unicase"
552
+ version = "2.10.0"
553
+ source = "registry+https://github.com/rust-lang/crates.io-index"
554
+ checksum = "357cc3acc6a036009fd6c973ed009037c732d60d0b4f6c673e9041497482a28f"
555
+
556
+ [[package]]
557
+ name = "unicode-ident"
558
+ version = "1.0.27"
559
+ source = "registry+https://github.com/rust-lang/crates.io-index"
560
+ checksum = "a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563"
561
+
562
+ [[package]]
563
+ name = "unicode-segmentation"
564
+ version = "1.13.3"
565
+ source = "registry+https://github.com/rust-lang/crates.io-index"
566
+ checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8"
567
+
568
+ [[package]]
569
+ name = "unicode-width"
570
+ version = "0.2.2"
571
+ source = "registry+https://github.com/rust-lang/crates.io-index"
572
+ checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254"
573
+
574
+ [[package]]
575
+ name = "version_check"
576
+ version = "0.9.5"
577
+ source = "registry+https://github.com/rust-lang/crates.io-index"
578
+ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
579
+
580
+ [[package]]
581
+ name = "wasi"
582
+ version = "0.11.1+wasi-snapshot-preview1"
583
+ source = "registry+https://github.com/rust-lang/crates.io-index"
584
+ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
585
+
586
+ [[package]]
587
+ name = "winapi"
588
+ version = "0.3.9"
589
+ source = "registry+https://github.com/rust-lang/crates.io-index"
590
+ checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
591
+ dependencies = [
592
+ "winapi-i686-pc-windows-gnu",
593
+ "winapi-x86_64-pc-windows-gnu",
594
+ ]
595
+
596
+ [[package]]
597
+ name = "winapi-i686-pc-windows-gnu"
598
+ version = "0.4.0"
599
+ source = "registry+https://github.com/rust-lang/crates.io-index"
600
+ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
601
+
602
+ [[package]]
603
+ name = "winapi-x86_64-pc-windows-gnu"
604
+ version = "0.4.0"
605
+ source = "registry+https://github.com/rust-lang/crates.io-index"
606
+ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
607
+
608
+ [[package]]
609
+ name = "windows-link"
610
+ version = "0.2.1"
611
+ source = "registry+https://github.com/rust-lang/crates.io-index"
612
+ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
613
+
614
+ [[package]]
615
+ name = "windows-sys"
616
+ version = "0.61.2"
617
+ source = "registry+https://github.com/rust-lang/crates.io-index"
618
+ checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
619
+ dependencies = [
620
+ "windows-link",
621
+ ]
@@ -0,0 +1,23 @@
1
+ [workspace]
2
+ resolver = "2"
3
+ members = ["crates/rustual-render", "crates/rustual-css", "crates/rustual", "crates/rustual-py"]
4
+
5
+ [workspace.package]
6
+ version = "0.2.0"
7
+ edition = "2021"
8
+ license = "MIT"
9
+ rust-version = "1.86"
10
+ repository = "https://github.com/Awareness10/rustual"
11
+ homepage = "https://github.com/Awareness10/rustual"
12
+ authors = ["The rustual authors"]
13
+
14
+ [workspace.dependencies]
15
+ rustual-render = { path = "crates/rustual-render", version = "0.2.0" }
16
+ rustual-css = { path = "crates/rustual-css", version = "0.2.0" }
17
+ unicode-width = "0.2"
18
+ unicode-segmentation = "1.12"
19
+ crossterm = { version = "0.29", features = ["event-stream"] }
20
+ tokio = { version = "1", features = ["rt-multi-thread", "macros", "time", "sync"] }
21
+ futures = "0.3"
22
+ slotmap = "1"
23
+ pulldown-cmark = { version = "0.13", default-features = false }
@@ -0,0 +1,29 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 The rustual authors
4
+
5
+ rustual is a Rust re-creation of Textual and Rich and contains code, CSS and
6
+ designs ported from them:
7
+
8
+ Textual: Copyright (c) 2021 Will McGugan
9
+ Rich: Copyright (c) 2020 Will McGugan
10
+
11
+ Both are distributed under the MIT License, reproduced below.
12
+
13
+ Permission is hereby granted, free of charge, to any person obtaining a copy
14
+ of this software and associated documentation files (the "Software"), to deal
15
+ in the Software without restriction, including without limitation the rights
16
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
17
+ copies of the Software, and to permit persons to whom the Software is
18
+ furnished to do so, subject to the following conditions:
19
+
20
+ The above copyright notice and this permission notice shall be included in all
21
+ copies or substantial portions of the Software.
22
+
23
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
28
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
29
+ SOFTWARE.