ttkbootstrap 2.2.0__tar.gz → 2.2.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 (163) hide show
  1. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/LICENSE +21 -21
  2. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/MANIFEST.in +7 -7
  3. {ttkbootstrap-2.2.0/src/ttkbootstrap.egg-info → ttkbootstrap-2.2.2}/PKG-INFO +192 -192
  4. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/README.md +165 -165
  5. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/pyproject.toml +85 -85
  6. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/setup.cfg +4 -4
  7. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/__init__.py +429 -429
  8. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/__init__.pyi +2021 -2021
  9. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/__main__.py +167 -167
  10. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/assets/__init__.py +1 -1
  11. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/assets/elements/README.md +14 -14
  12. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/assets/elements/__init__.py +1 -1
  13. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/assets/elements/manifest.json +16 -16
  14. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/assets/icons/LICENSE +22 -22
  15. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/assets/icons/README.md +40 -40
  16. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/cli.py +124 -124
  17. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/colorutils.py +31 -31
  18. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/constants.py +614 -614
  19. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/convert_theme.py +323 -323
  20. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/dialogs/__init__.py +29 -29
  21. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/dialogs/base.py +230 -230
  22. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/dialogs/colorchooser.py +629 -629
  23. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/dialogs/colordropper.py +188 -188
  24. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/dialogs/datepicker.py +579 -579
  25. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/dialogs/filedialog.py +691 -691
  26. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/dialogs/fontdialog.py +316 -316
  27. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/dialogs/message.py +525 -506
  28. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/dialogs/query.py +512 -512
  29. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/internal/__init__.py +6 -6
  30. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/internal/busy.py +126 -126
  31. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/internal/configure_delegation.py +205 -205
  32. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/internal/positioning.py +312 -312
  33. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/internal/publisher.py +133 -133
  34. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/internal/utility.py +52 -52
  35. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/internal/wheel.py +153 -153
  36. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/localization/README.md +111 -111
  37. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/localization/__init__.py +12 -12
  38. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/localization/api.py +126 -126
  39. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/localization/msgcat.py +215 -215
  40. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/localization/msgs.py +1507 -1507
  41. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/menu.py +86 -86
  42. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/publisher.py +15 -15
  43. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/py.typed +1 -1
  44. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/__init__.py +72 -72
  45. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/_compat.py +279 -279
  46. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/assets.py +160 -160
  47. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/bootstyle.py +1347 -1347
  48. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/__init__.py +45 -45
  49. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/button.py +359 -359
  50. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/calendar.py +83 -83
  51. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/checkbutton.py +77 -77
  52. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/combobox.py +140 -140
  53. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/entry.py +66 -66
  54. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/floodgauge.py +93 -93
  55. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/frame.py +117 -117
  56. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/label.py +151 -151
  57. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/labelframe.py +52 -52
  58. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/menubutton.py +318 -318
  59. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/notebook.py +77 -77
  60. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/panedwindow.py +41 -41
  61. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/progressbar.py +225 -225
  62. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/radiobutton.py +75 -75
  63. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/registry.py +116 -116
  64. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/scale.py +108 -108
  65. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/scrollbar.py +234 -234
  66. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/separator.py +57 -57
  67. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/sizegrip.py +45 -45
  68. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/spinbox.py +102 -102
  69. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/toggle.py +200 -200
  70. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/toolbutton.py +307 -307
  71. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/treeview.py +228 -228
  72. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders/utils.py +73 -73
  73. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders_tk.py +461 -418
  74. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/builders_ttk.py +378 -378
  75. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/elements.py +189 -189
  76. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/engine.py +978 -978
  77. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/icons.py +606 -606
  78. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/layout.py +237 -237
  79. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/scaling.py +120 -120
  80. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/style/theme.py +966 -966
  81. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/themes/__init__.py +11 -11
  82. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/themes/builtin.py +147 -147
  83. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/themes/legacy.py +120 -120
  84. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/themes/standard.py +396 -396
  85. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/utility.py +34 -34
  86. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/utils/__init__.py +92 -92
  87. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/utils/color.py +224 -224
  88. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/utils/config.py +128 -128
  89. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/utils/fonts.py +185 -185
  90. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/utils/platform.py +21 -21
  91. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/utils/scaling.py +92 -92
  92. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/validation.py +306 -306
  93. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/widgets/__init__.py +82 -82
  94. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/widgets/dateentry.py +579 -579
  95. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/widgets/floodgauge.py +769 -769
  96. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/widgets/labeledscale.py +226 -226
  97. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/widgets/meter.py +870 -870
  98. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/widgets/scrolled.py +669 -669
  99. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/widgets/tableview.py +2917 -2917
  100. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/widgets/toast.py +415 -415
  101. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/widgets/tooltip.py +372 -372
  102. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/window.py +936 -936
  103. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2/src/ttkbootstrap.egg-info}/PKG-INFO +192 -192
  104. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkcreator/__main__.py +572 -572
  105. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_bootstyle_grammar.py +374 -374
  106. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_bootstyle_value_tokens.py +301 -301
  107. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_busy_api.py +143 -143
  108. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_cli_api.py +182 -182
  109. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_config_api.py +93 -93
  110. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_configure_delegation.py +143 -143
  111. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_convert_theme.py +317 -317
  112. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_dateentry_api.py +412 -412
  113. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_dialogs_api.py +545 -443
  114. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_durable_style_options.py +464 -464
  115. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_filedialog_api.py +533 -533
  116. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_floodgauge_api.py +195 -195
  117. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_fonts_api.py +235 -235
  118. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_icon_drop.py +91 -91
  119. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_icon_theme.py +227 -227
  120. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_labeledscale_tooltip_api.py +263 -263
  121. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_menu_api.py +112 -112
  122. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_menu_border.py +177 -139
  123. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_meter_api.py +171 -171
  124. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_mixin_api.py +238 -238
  125. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_scaling.py +625 -625
  126. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_scroll_events.py +157 -157
  127. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_scrolled_api.py +291 -291
  128. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_style_package.py +103 -103
  129. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_style_reference.py +114 -114
  130. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_surface_color.py +105 -105
  131. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_surface_families.py +187 -187
  132. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_surface_grammar.py +233 -233
  133. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_tableview_api.py +284 -284
  134. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_toast_api.py +226 -226
  135. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_toolkit.py +205 -205
  136. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_treeview_rowheight.py +120 -120
  137. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_utility_api.py +120 -120
  138. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_widget_catalog_coverage.py +81 -81
  139. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_widget_reexports.py +36 -36
  140. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_widget_stubs.py +299 -299
  141. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/tests/test_window_api.py +781 -781
  142. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/assets/app_icons/ttkbootstrap.ico +0 -0
  143. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/assets/app_icons/ttkbootstrap.png +0 -0
  144. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/assets/elements/checkbox-checked.png +0 -0
  145. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/assets/elements/checkbox-indeterminate.png +0 -0
  146. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/assets/elements/checkbox-unchecked.png +0 -0
  147. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/assets/elements/progressbar-default.png +0 -0
  148. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/assets/elements/progressbar-thin.png +0 -0
  149. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/assets/elements/radio.png +0 -0
  150. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/assets/elements/sizegrip.png +0 -0
  151. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/assets/elements/slider-handle.png +0 -0
  152. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/assets/elements/slider-track.png +0 -0
  153. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/assets/elements/switch-round.png +0 -0
  154. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/assets/elements/switch-square.png +0 -0
  155. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/assets/icons/bootstrap.ttf +0 -0
  156. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/assets/icons/glyphmap.json +0 -0
  157. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap/assets/icons/icon_metrics.json +0 -0
  158. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap.egg-info/SOURCES.txt +0 -0
  159. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap.egg-info/dependency_links.txt +0 -0
  160. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap.egg-info/entry_points.txt +0 -0
  161. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap.egg-info/requires.txt +0 -0
  162. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkbootstrap.egg-info/top_level.txt +0 -0
  163. {ttkbootstrap-2.2.0 → ttkbootstrap-2.2.2}/src/ttkcreator/__init__.py +0 -0
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2021 - 2026 Israel Dryer
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2021 - 2026 Israel Dryer
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,7 +1,7 @@
1
- include LICENSE
2
- include README.md
3
-
4
- graft src/ttkbootstrap
5
- graft src/ttkcreator
6
-
7
- global-exclude *.py[cod] __pycache__/* .DS_Store
1
+ include LICENSE
2
+ include README.md
3
+
4
+ graft src/ttkbootstrap
5
+ graft src/ttkcreator
6
+
7
+ global-exclude *.py[cod] __pycache__/* .DS_Store
@@ -1,192 +1,192 @@
1
- Metadata-Version: 2.4
2
- Name: ttkbootstrap
3
- Version: 2.2.0
4
- Summary: A supercharged theme extension for tkinter that enables on-demand modern flat style themes inspired by Bootstrap.
5
- Author-email: Israel Dryer <israel.dryer@gmail.com>
6
- License-Expression: MIT AND (Apache-2.0 OR BSD-2-Clause)
7
- Project-URL: Homepage, https://github.com/israel-dryer/ttkbootstrap
8
- Project-URL: Documentation, https://ttkbootstrap.readthedocs.io/en/latest/
9
- Keywords: tkinter,theme,ttk,bootstrap,gui,desktop,python3,ui,widgets,theming,cross-platform,modern,responsive,python-gui
10
- Classifier: Development Status :: 5 - Production/Stable
11
- Classifier: Environment :: Win32 (MS Windows)
12
- Classifier: Environment :: X11 Applications :: GTK
13
- Classifier: Intended Audience :: Developers
14
- Classifier: Programming Language :: Python :: 3
15
- Classifier: Programming Language :: Python :: 3.10
16
- Classifier: Programming Language :: Python :: 3.11
17
- Classifier: Programming Language :: Python :: 3.12
18
- Classifier: Programming Language :: Python :: 3.13
19
- Classifier: Programming Language :: Python :: 3.14
20
- Classifier: Topic :: Software Development :: User Interfaces
21
- Classifier: Operating System :: OS Independent
22
- Requires-Python: >=3.10
23
- Description-Content-Type: text/markdown
24
- License-File: LICENSE
25
- Requires-Dist: pillow<13,>=10
26
- Dynamic: license-file
27
-
28
- [![CI](https://github.com/israel-dryer/ttkbootstrap/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/israel-dryer/ttkbootstrap/actions/workflows/ci.yml)
29
- ![](https://img.shields.io/github/release/israel-dryer/ttkbootstrap.svg)
30
- [![Downloads](https://pepy.tech/badge/ttkbootstrap)](https://pepy.tech/project/ttkbootstrap)
31
- [![Downloads](https://pepy.tech/badge/ttkbootstrap/month)](https://pepy.tech/project/ttkbootstrap)
32
- ![](https://img.shields.io/github/issues/israel-dryer/ttkbootstrap.svg)
33
- ![](https://img.shields.io/github/license/israel-dryer/ttkbootstrap.svg)
34
- ![](https://img.shields.io/github/stars/israel-dryer/ttkbootstrap.svg)
35
- ![](https://img.shields.io/pypi/pyversions/ttkbootstrap.svg)
36
-
37
- # ttkbootstrap
38
-
39
- **Modern, themed tkinter — style any ttk widget with one keyword.**
40
-
41
- ttkbootstrap is a theming extension for tkinter. It generates flat,
42
- Bootstrap-inspired light and dark themes on demand and adds a single ``bootstyle``
43
- keyword to every ttk widget, so you describe *intent* — ``"primary"``,
44
- ``"success"``, ``"outline"`` — instead of hand-tuning colors or long ttk style
45
- names.
46
-
47
- <picture>
48
- <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/israel-dryer/ttkbootstrap/master/docs/_static/examples/home-hero-dark.png">
49
- <img alt="A ttkbootstrap window: color swatches above themed buttons, inputs, a meter, a table, and a notebook" src="https://raw.githubusercontent.com/israel-dryer/ttkbootstrap/master/docs/_static/examples/home-hero-light.png">
50
- </picture>
51
-
52
- ## Why ttkbootstrap
53
-
54
- - 🎨 **30 curated themes** — fifteen families, each in a coordinated light and dark variant, that switch at runtime.
55
- - ⌨️ **One-keyword styling** — `bootstyle="success"`, `bootstyle="info outline"`, `bootstyle="round toggle"`. The same keyword means the same thing on every widget.
56
- - 🧩 **Batteries-included** — styled ttk widgets plus a few extras (`Meter`, `DateEntry`, `Floodgauge`, `Tableview`) and fully themed dialogs.
57
- - 🛠️ **Your own themes & styles** — a declarative `Theme(...)` API and a public toolkit for building custom widget styles.
58
- - 🪶 **Pure Python** — one dependency (Pillow), Python 3.10+, no native extensions.
59
-
60
- It's a **styling layer for vanilla tkinter**, not a new framework: the widgets stay
61
- tkinter's, and everything you already know about tkinter still applies.
62
-
63
- ## Install
64
-
65
- ```bash
66
- python -m pip install ttkbootstrap
67
- ```
68
-
69
- Then see it running — this opens a window with every widget and a theme picker:
70
-
71
- ```bash
72
- ttkb demo
73
- ```
74
-
75
- ## Quickstart
76
-
77
- ```python
78
- import ttkbootstrap as ttk
79
-
80
- app = ttk.App(title="Hello")
81
-
82
- ttk.Label(app, text="Hello from ttkbootstrap!").pack(padx=16, pady=(16, 8))
83
- ttk.Button(app, text="Primary", bootstyle="primary").pack(padx=16, pady=4)
84
- ttk.Button(app, text="Success", bootstyle="success").pack(padx=16, pady=4)
85
- ttk.Button(app, text="Danger Outline", bootstyle="danger outline").pack(padx=16, pady=(4, 16))
86
-
87
- app.mainloop()
88
- ```
89
-
90
- <picture>
91
- <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/israel-dryer/ttkbootstrap/master/docs/_static/examples/quickstart-hello-dark.png">
92
- <img alt="The Hello window: a greeting label above primary, success, and danger-outline buttons" src="https://raw.githubusercontent.com/israel-dryer/ttkbootstrap/master/docs/_static/examples/quickstart-hello-light.png">
93
- </picture>
94
-
95
- ## The bootstyle keyword
96
-
97
- A `bootstyle` value is a small grammar — a **color**, plus an optional **modifier**
98
- and **widget type** — and the same keyword carries the same meaning across widgets:
99
-
100
- ```python
101
- ttk.Button(app, bootstyle="success")
102
- ttk.Progressbar(app, bootstyle="success")
103
- ttk.Entry(app, bootstyle="success")
104
- ```
105
-
106
- Add a modifier or a type for variants: `"info outline"`, `"success round toggle"`,
107
- `"warning striped"`. The vocabulary is closed, so a typo fails loudly instead of
108
- silently doing nothing. See the
109
- [bootstyle grammar](https://ttkbootstrap.readthedocs.io/en/latest/user-guide/foundations/bootstyle-grammar.html)
110
- for the full reference.
111
-
112
- ## Themes
113
-
114
- Thirty curated light and dark themes, switchable at runtime:
115
-
116
- ```python
117
- app.theme_use("bootstrap-dark") # any theme by name
118
- app.toggle_theme() # flip light <-> dark
119
- ```
120
-
121
- Browse them in the
122
- [themes gallery](https://ttkbootstrap.readthedocs.io/en/latest/themes.html).
123
-
124
- Design your own with the bundled editor — pick colors, preview them on live
125
- widgets, and export a `Theme(...)` snippet for your app:
126
-
127
- ```bash
128
- ttkb creator
129
- ```
130
-
131
- ## Command line
132
-
133
- Installing ttkbootstrap installs `ttkb`:
134
-
135
- | Command | What it does |
136
- | --- | --- |
137
- | `ttkb version` | Print the installed version |
138
- | `ttkb demo` | Open the widget demo |
139
- | `ttkb convert-theme <file>` | Convert a 1.x theme file to the 2.x `Theme(...)` form |
140
- | `ttkb creator` | Open ttkcreator, the theme designer |
141
-
142
- See the [command-line reference](https://ttkbootstrap.readthedocs.io/en/latest/reference/cli.html).
143
-
144
- ## Documentation
145
-
146
- - **[Documentation](https://ttkbootstrap.readthedocs.io/en/latest/)** — guides, the widget catalog, and the API reference.
147
- - **[Build your first app](https://ttkbootstrap.readthedocs.io/en/latest/user-guide/getting-started/build-your-first-app.html)** — a step-by-step walkthrough.
148
- - **[Migrating to 2.0](https://ttkbootstrap.readthedocs.io/en/latest/user-guide/getting-started/migrating.html)** — upgrading from 1.x.
149
- - **[Release notes](https://github.com/israel-dryer/ttkbootstrap/releases)** — what changed in each version.
150
-
151
- ## Upgrading from 1.x
152
-
153
- 2.0 is a cleanup-and-consolidation release with some breaking changes — a canonical
154
- `bootstyle` grammar, a new theme catalog, and `App` alongside `Window`. Most code
155
- keeps working: legacy theme names and older spellings are accepted with a
156
- deprecation warning. The
157
- [Migrating to 2.0](https://ttkbootstrap.readthedocs.io/en/latest/user-guide/getting-started/migrating.html)
158
- guide sorts every change into breaking / deprecated / notable / new.
159
-
160
- Custom themes moved out of the package and into your own code. To bring one
161
- forward, convert the file 1.x saved:
162
-
163
- ```bash
164
- ttkb convert-theme user.py -o brand.py
165
- ```
166
-
167
- ## Icons
168
-
169
- ttkbootstrap ships with the full [Bootstrap Icons](https://icons.getbootstrap.com/)
170
- set (2,000+ glyphs), rendered from a bundled font — theme-following, crisp at any
171
- size, and no extra dependency. Add one with the `icon=` keyword:
172
-
173
- ```python
174
- ttk.Button(app, text="Settings", icon="gear-fill", bootstyle="primary")
175
- ```
176
-
177
- Need other icon families — Font Awesome, Material, Lucide, and more? The
178
- [tkinter-icons](https://github.com/israel-dryer/tkinter-icons) extension adds
179
- sixteen icon sets (61,000+ icons) alongside the built-in set.
180
-
181
- ## Contributing
182
-
183
- Contributions are welcome — please check out our contributing guidelines.
184
-
185
- ## Support
186
-
187
- This project is proudly developed with the support of the
188
- <a href="https://www.jetbrains.com/pycharm/" target="_blank" rel="noopener">PyCharm IDE</a>, generously provided by JetBrains.
189
-
190
- <a href="https://www.jetbrains.com/" target="_blank" rel="noopener"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/f6d4e79d-97f4-4368-a944-affd423aa922"> <img width="250" alt="JetBrains logo" src="https://github.com/user-attachments/assets/1e42e5db-ffb5-4c8d-b238-3f5633fb7e6d"> </picture> </a>
191
-
192
- <sub> © 2025 JetBrains s.r.o. JetBrains and the JetBrains logo are registered trademarks of JetBrains s.r.o. </sub>
1
+ Metadata-Version: 2.4
2
+ Name: ttkbootstrap
3
+ Version: 2.2.2
4
+ Summary: Modern themes for Tkinter. Sleek, responsive styles inspired by Bootstrap. Includes ready-to-use widgets, 30+ themes, and tools for building beautiful, cross-platform desktop apps with ease.
5
+ Author-email: Israel Dryer <israel.dryer@gmail.com>
6
+ License-Expression: MIT AND (Apache-2.0 OR BSD-2-Clause)
7
+ Project-URL: Homepage, https://github.com/israel-dryer/ttkbootstrap
8
+ Project-URL: Documentation, https://www.ttkbootstrap.org/en/latest/
9
+ Keywords: tkinter,theme,ttk,bootstrap,gui,desktop,python3,ui,widgets,theming,cross-platform,modern,responsive,python-gui
10
+ Classifier: Development Status :: 5 - Production/Stable
11
+ Classifier: Environment :: Win32 (MS Windows)
12
+ Classifier: Environment :: X11 Applications :: GTK
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Programming Language :: Python :: 3.14
20
+ Classifier: Topic :: Software Development :: User Interfaces
21
+ Classifier: Operating System :: OS Independent
22
+ Requires-Python: >=3.10
23
+ Description-Content-Type: text/markdown
24
+ License-File: LICENSE
25
+ Requires-Dist: pillow<13,>=10
26
+ Dynamic: license-file
27
+
28
+ [![CI](https://github.com/israel-dryer/ttkbootstrap/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/israel-dryer/ttkbootstrap/actions/workflows/ci.yml)
29
+ ![](https://img.shields.io/github/release/israel-dryer/ttkbootstrap.svg)
30
+ [![Downloads](https://pepy.tech/badge/ttkbootstrap)](https://pepy.tech/project/ttkbootstrap)
31
+ [![Downloads](https://pepy.tech/badge/ttkbootstrap/month)](https://pepy.tech/project/ttkbootstrap)
32
+ ![](https://img.shields.io/github/issues/israel-dryer/ttkbootstrap.svg)
33
+ ![](https://img.shields.io/github/license/israel-dryer/ttkbootstrap.svg)
34
+ ![](https://img.shields.io/github/stars/israel-dryer/ttkbootstrap.svg)
35
+ ![](https://img.shields.io/pypi/pyversions/ttkbootstrap.svg)
36
+
37
+ # ttkbootstrap
38
+
39
+ **Modern, themed tkinter — style any ttk widget with one keyword.**
40
+
41
+ ttkbootstrap is a theming extension for tkinter. It generates flat,
42
+ Bootstrap-inspired light and dark themes on demand and adds a single ``bootstyle``
43
+ keyword to every ttk widget, so you describe *intent* — ``"primary"``,
44
+ ``"success"``, ``"outline"`` — instead of hand-tuning colors or long ttk style
45
+ names.
46
+
47
+ <picture>
48
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/israel-dryer/ttkbootstrap/master/docs/_static/examples/home-hero-dark.png">
49
+ <img alt="A ttkbootstrap window: color swatches above themed buttons, inputs, a meter, a table, and a notebook" src="https://raw.githubusercontent.com/israel-dryer/ttkbootstrap/master/docs/_static/examples/home-hero-light.png">
50
+ </picture>
51
+
52
+ ## Why ttkbootstrap
53
+
54
+ - 🎨 **30 curated themes** — fifteen families, each in a coordinated light and dark variant, that switch at runtime.
55
+ - ⌨️ **One-keyword styling** — `bootstyle="success"`, `bootstyle="info outline"`, `bootstyle="round toggle"`. The same keyword means the same thing on every widget.
56
+ - 🧩 **Batteries-included** — styled ttk widgets plus a few extras (`Meter`, `DateEntry`, `Floodgauge`, `Tableview`) and fully themed dialogs.
57
+ - 🛠️ **Your own themes & styles** — a declarative `Theme(...)` API and a public toolkit for building custom widget styles.
58
+ - 🪶 **Pure Python** — one dependency (Pillow), Python 3.10+, no native extensions.
59
+
60
+ It's a **styling layer for vanilla tkinter**, not a new framework: the widgets stay
61
+ tkinter's, and everything you already know about tkinter still applies.
62
+
63
+ ## Install
64
+
65
+ ```bash
66
+ python -m pip install ttkbootstrap
67
+ ```
68
+
69
+ Then see it running — this opens a window with every widget and a theme picker:
70
+
71
+ ```bash
72
+ ttkb demo
73
+ ```
74
+
75
+ ## Quickstart
76
+
77
+ ```python
78
+ import ttkbootstrap as ttk
79
+
80
+ app = ttk.App(title="Hello")
81
+
82
+ ttk.Label(app, text="Hello from ttkbootstrap!").pack(padx=16, pady=(16, 8))
83
+ ttk.Button(app, text="Primary", bootstyle="primary").pack(padx=16, pady=4)
84
+ ttk.Button(app, text="Success", bootstyle="success").pack(padx=16, pady=4)
85
+ ttk.Button(app, text="Danger Outline", bootstyle="danger outline").pack(padx=16, pady=(4, 16))
86
+
87
+ app.mainloop()
88
+ ```
89
+
90
+ <picture>
91
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/israel-dryer/ttkbootstrap/master/docs/_static/examples/quickstart-hello-dark.png">
92
+ <img alt="The Hello window: a greeting label above primary, success, and danger-outline buttons" src="https://raw.githubusercontent.com/israel-dryer/ttkbootstrap/master/docs/_static/examples/quickstart-hello-light.png">
93
+ </picture>
94
+
95
+ ## The bootstyle keyword
96
+
97
+ A `bootstyle` value is a small grammar — a **color**, plus an optional **modifier**
98
+ and **widget type** — and the same keyword carries the same meaning across widgets:
99
+
100
+ ```python
101
+ ttk.Button(app, bootstyle="success")
102
+ ttk.Progressbar(app, bootstyle="success")
103
+ ttk.Entry(app, bootstyle="success")
104
+ ```
105
+
106
+ Add a modifier or a type for variants: `"info outline"`, `"success round toggle"`,
107
+ `"warning striped"`. The vocabulary is closed, so a typo fails loudly instead of
108
+ silently doing nothing. See the
109
+ [bootstyle grammar](https://www.ttkbootstrap.org/en/latest/user-guide/foundations/bootstyle-grammar.html)
110
+ for the full reference.
111
+
112
+ ## Themes
113
+
114
+ Thirty curated light and dark themes, switchable at runtime:
115
+
116
+ ```python
117
+ app.theme_use("bootstrap-dark") # any theme by name
118
+ app.toggle_theme() # flip light <-> dark
119
+ ```
120
+
121
+ Browse them in the
122
+ [themes gallery](https://www.ttkbootstrap.org/en/latest/themes.html).
123
+
124
+ Design your own with the bundled editor — pick colors, preview them on live
125
+ widgets, and export a `Theme(...)` snippet for your app:
126
+
127
+ ```bash
128
+ ttkb creator
129
+ ```
130
+
131
+ ## Command line
132
+
133
+ Installing ttkbootstrap installs `ttkb`:
134
+
135
+ | Command | What it does |
136
+ | --- | --- |
137
+ | `ttkb version` | Print the installed version |
138
+ | `ttkb demo` | Open the widget demo |
139
+ | `ttkb convert-theme <file>` | Convert a 1.x theme file to the 2.x `Theme(...)` form |
140
+ | `ttkb creator` | Open ttkcreator, the theme designer |
141
+
142
+ See the [command-line reference](https://www.ttkbootstrap.org/en/latest/reference/cli.html).
143
+
144
+ ## Documentation
145
+
146
+ - **[Documentation](https://www.ttkbootstrap.org/en/latest/)** — guides, the widget catalog, and the API reference.
147
+ - **[Build your first app](https://www.ttkbootstrap.org/en/latest/user-guide/getting-started/build-your-first-app.html)** — a step-by-step walkthrough.
148
+ - **[Migrating to 2.0](https://www.ttkbootstrap.org/en/latest/user-guide/getting-started/migrating.html)** — upgrading from 1.x.
149
+ - **[Release notes](https://github.com/israel-dryer/ttkbootstrap/releases)** — what changed in each version.
150
+
151
+ ## Upgrading from 1.x
152
+
153
+ 2.0 is a cleanup-and-consolidation release with some breaking changes — a canonical
154
+ `bootstyle` grammar, a new theme catalog, and `App` alongside `Window`. Most code
155
+ keeps working: legacy theme names and older spellings are accepted with a
156
+ deprecation warning. The
157
+ [Migrating to 2.0](https://www.ttkbootstrap.org/en/latest/user-guide/getting-started/migrating.html)
158
+ guide sorts every change into breaking / deprecated / notable / new.
159
+
160
+ Custom themes moved out of the package and into your own code. To bring one
161
+ forward, convert the file 1.x saved:
162
+
163
+ ```bash
164
+ ttkb convert-theme user.py -o brand.py
165
+ ```
166
+
167
+ ## Icons
168
+
169
+ ttkbootstrap ships with the full [Bootstrap Icons](https://icons.getbootstrap.com/)
170
+ set (2,000+ glyphs), rendered from a bundled font — theme-following, crisp at any
171
+ size, and no extra dependency. Add one with the `icon=` keyword:
172
+
173
+ ```python
174
+ ttk.Button(app, text="Settings", icon="gear-fill", bootstyle="primary")
175
+ ```
176
+
177
+ Need other icon families — Font Awesome, Material, Lucide, and more? The
178
+ [tkinter-icons](https://github.com/israel-dryer/tkinter-icons) extension adds
179
+ sixteen icon sets (61,000+ icons) alongside the built-in set.
180
+
181
+ ## Contributing
182
+
183
+ Contributions are welcome — please check out our contributing guidelines.
184
+
185
+ ## Support
186
+
187
+ This project is proudly developed with the support of the
188
+ <a href="https://www.jetbrains.com/pycharm/" target="_blank" rel="noopener">PyCharm IDE</a>, generously provided by JetBrains.
189
+
190
+ <a href="https://www.jetbrains.com/" target="_blank" rel="noopener"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/f6d4e79d-97f4-4368-a944-affd423aa922"> <img width="250" alt="JetBrains logo" src="https://github.com/user-attachments/assets/1e42e5db-ffb5-4c8d-b238-3f5633fb7e6d"> </picture> </a>
191
+
192
+ <sub> © 2025 JetBrains s.r.o. JetBrains and the JetBrains logo are registered trademarks of JetBrains s.r.o. </sub>