drawlib 0.3.0__tar.gz → 0.3.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 (646) hide show
  1. drawlib-0.3.0/docs/README_PYPI.md → drawlib-0.3.2/PKG-INFO +36 -11
  2. drawlib-0.3.0/PKG-INFO → drawlib-0.3.2/docs/README_PYPI.md +14 -32
  3. {drawlib-0.3.0 → drawlib-0.3.2}/pyproject.toml +4 -7
  4. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/__init__.py +41 -25
  5. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_anim/_animation.py +1 -1
  6. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/_common/__init__.py +16 -0
  7. drawlib-0.3.2/src/drawlib/_builder/_common/browser.py +267 -0
  8. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/_common/cache.py +11 -4
  9. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/_common/cache_manager.py +9 -2
  10. drawlib-0.3.2/src/drawlib/_builder/_common/office.py +128 -0
  11. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/doc_builder/__init__.py +16 -3
  12. drawlib-0.3.2/src/drawlib/_builder/doc_builder/_docx_xml.py +683 -0
  13. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/doc_builder/compiler/__init__.py +3 -1
  14. drawlib-0.3.2/src/drawlib/_builder/doc_builder/compiler/docx.py +134 -0
  15. drawlib-0.3.2/src/drawlib/_builder/doc_builder/exporter_docx.py +1069 -0
  16. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/doc_builder/exporter_pdf.py +40 -126
  17. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/doc_builder/processor/processor.py +15 -1
  18. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/image_builder.py +1 -3
  19. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/rules_builder.py +135 -58
  20. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/__init__.py +7 -0
  21. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/_common/_types.py +8 -0
  22. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/area_chart/_chart.py +1 -2
  23. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/bar_chart/_chart.py +1 -2
  24. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/gantt_chart/_chart.py +1 -2
  25. drawlib-0.3.2/src/drawlib/_charts/heatmap_chart/__init__.py +24 -0
  26. drawlib-0.3.2/src/drawlib/_charts/heatmap_chart/_chart.py +398 -0
  27. drawlib-0.3.2/src/drawlib/_charts/heatmap_chart/_models.py +525 -0
  28. drawlib-0.3.2/src/drawlib/_charts/heatmap_chart/_overlay.py +352 -0
  29. drawlib-0.3.2/src/drawlib/_charts/heatmap_chart/_overlay_renderer.py +248 -0
  30. drawlib-0.3.2/src/drawlib/_charts/heatmap_chart/_renderer.py +340 -0
  31. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/line_chart/_base.py +1 -2
  32. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/line_chart/_line.py +1 -2
  33. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/pie_chart/_chart.py +1 -2
  34. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/radar_chart/_chart.py +1 -2
  35. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/scatter_chart/_chart.py +1 -2
  36. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/_visualizers/styles/base.py +2 -1
  37. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/commands/build.py +150 -3
  38. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/commands/cache.py +13 -4
  39. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/commands/colors.py +36 -35
  40. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/commands/rules.py +77 -10
  41. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/commands/serve.py +2 -1
  42. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/commands/show.py +2 -1
  43. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/commands/styles.py +37 -42
  44. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l1_core/__init__.py +3 -0
  45. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l1_core/_settings.py +13 -9
  46. drawlib-0.3.2/src/drawlib/_core/l1_core/_validator.py +82 -0
  47. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l3_colors/_base_colors.py +1 -0
  48. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l3_colors/_color_utils.py +1 -2
  49. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l3_images/_dimage.py +2 -1
  50. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l3_math/_geometry.py +4 -4
  51. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l3_styles/__init__.py +2 -0
  52. drawlib-0.3.2/src/drawlib/_core/l3_styles/_base_styles.py +646 -0
  53. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l3_styles/_style.py +20 -1
  54. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l4_canvas/_base.py +1 -1
  55. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l4_canvas/_canvas.py +1 -1
  56. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l4_canvas/_image.py +2 -1
  57. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l4_canvas/_image_code.py +2 -2
  58. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l4_canvas/_line.py +2 -2
  59. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l4_canvas/_shapes/_arrow.py +1 -1
  60. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l4_canvas/_shapes/_badge.py +1 -2
  61. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l4_canvas/_shapes/_basic.py +1 -1
  62. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l4_canvas/_shapes/_container.py +1 -1
  63. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l4_canvas/_shapes/_path_utils.py +51 -38
  64. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l4_canvas/_shapes/_polygon.py +1 -1
  65. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l4_canvas/_shapes/_shape_utils.py +2 -4
  66. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l4_canvas/_shapes/_symbol.py +1 -1
  67. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l4_canvas/_text.py +1 -2
  68. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/architecture/_diagram.py +1 -2
  69. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/class_diagram/_diagram.py +1 -2
  70. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/er/_diagram.py +1 -2
  71. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/flow/_diagram.py +1 -2
  72. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/sequence/_diagram.py +1 -2
  73. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/state/_diagram.py +1 -2
  74. drawlib-0.3.2/src/drawlib/_icons/__init__.py +156 -0
  75. drawlib-0.3.2/src/drawlib/_icons/font_icons/__init__.py +44 -0
  76. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/font_icons/_base.py +1 -2
  77. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/font_icons/_font_icon.py +1 -2
  78. drawlib-0.3.2/src/drawlib/_icons/png_icons/__init__.py +103 -0
  79. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/_base.py +1 -2
  80. drawlib-0.3.2/src/drawlib/_preset_colors/__init__.py +74 -0
  81. drawlib-0.3.2/src/drawlib/_preset_styles/__init__.py +70 -0
  82. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_preset_styles/_style_default.py +2254 -2268
  83. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_preset_styles/_style_google.py +2599 -2606
  84. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_preset_styles/_style_monochrome.py +344 -338
  85. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_preset_styles/_utils.py +57 -43
  86. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/agent_instruction.md +28 -19
  87. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/anim_guide.md +6 -5
  88. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/api.md +174 -57
  89. drawlib-0.3.2/src/drawlib/_rules/charts/area.md +171 -0
  90. drawlib-0.3.2/src/drawlib/_rules/charts/bar.md +194 -0
  91. drawlib-0.3.2/src/drawlib/_rules/charts/gantt.md +215 -0
  92. drawlib-0.3.2/src/drawlib/_rules/charts/heatmap.md +222 -0
  93. drawlib-0.3.2/src/drawlib/_rules/charts/line.md +180 -0
  94. drawlib-0.3.2/src/drawlib/_rules/charts/overview.md +345 -0
  95. drawlib-0.3.2/src/drawlib/_rules/charts/pie.md +141 -0
  96. drawlib-0.3.2/src/drawlib/_rules/charts/radar.md +167 -0
  97. drawlib-0.3.2/src/drawlib/_rules/charts/scatter.md +185 -0
  98. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/cli.md +237 -115
  99. drawlib-0.3.2/src/drawlib/_rules/diagrams/architecture.md +333 -0
  100. drawlib-0.3.2/src/drawlib/_rules/diagrams/class_diagram.md +271 -0
  101. drawlib-0.3.2/src/drawlib/_rules/diagrams/er.md +273 -0
  102. drawlib-0.3.2/src/drawlib/_rules/diagrams/flow.md +266 -0
  103. drawlib-0.3.2/src/drawlib/_rules/diagrams/overview.md +213 -0
  104. drawlib-0.3.2/src/drawlib/_rules/diagrams/sequence.md +272 -0
  105. drawlib-0.3.2/src/drawlib/_rules/diagrams/state.md +275 -0
  106. drawlib-0.3.2/src/drawlib/_rules/graph/architecture.md +161 -0
  107. drawlib-0.3.2/src/drawlib/_rules/graph/grid.md +150 -0
  108. drawlib-0.3.2/src/drawlib/_rules/graph/layer.md +126 -0
  109. drawlib-0.3.2/src/drawlib/_rules/graph/overview.md +268 -0
  110. drawlib-0.3.2/src/drawlib/_rules/graph/radial.md +130 -0
  111. drawlib-0.3.2/src/drawlib/_rules/graph/tree.md +130 -0
  112. drawlib-0.3.2/src/drawlib/_rules/icons/ai.md +104 -0
  113. drawlib-0.3.2/src/drawlib/_rules/icons/aws.md +89 -0
  114. drawlib-0.3.2/src/drawlib/_rules/icons/azure.md +86 -0
  115. drawlib-0.3.2/src/drawlib/_rules/icons/business.md +93 -0
  116. drawlib-0.3.2/src/drawlib/_rules/icons/client.md +94 -0
  117. drawlib-0.3.2/src/drawlib/_rules/icons/cloud.md +94 -0
  118. drawlib-0.3.2/src/drawlib/_rules/icons/cnative.md +101 -0
  119. drawlib-0.3.2/src/drawlib/_rules/icons/code.md +91 -0
  120. drawlib-0.3.2/src/drawlib/_rules/icons/data.md +104 -0
  121. drawlib-0.3.2/src/drawlib/_rules/icons/devops.md +107 -0
  122. drawlib-0.3.2/src/drawlib/_rules/icons/facility.md +92 -0
  123. drawlib-0.3.2/src/drawlib/_rules/icons/gcp.md +111 -0
  124. drawlib-0.3.2/src/drawlib/_rules/icons/itservice.md +108 -0
  125. drawlib-0.3.2/src/drawlib/_rules/icons/network.md +106 -0
  126. drawlib-0.3.2/src/drawlib/_rules/icons/overview.md +109 -0
  127. drawlib-0.3.2/src/drawlib/_rules/icons/phosphor.md +128 -0
  128. drawlib-0.3.2/src/drawlib/_rules/icons/security.md +94 -0
  129. drawlib-0.3.2/src/drawlib/_rules/icons/server.md +98 -0
  130. drawlib-0.3.2/src/drawlib/_rules/icons/social.md +103 -0
  131. drawlib-0.3.2/src/drawlib/_rules/icons/workspace.md +105 -0
  132. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/lib_anim.md +4 -2
  133. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/lib_canvas.md +1 -1
  134. drawlib-0.3.2/src/drawlib/_rules/lib_images.md +249 -0
  135. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/lib_lines.md +29 -29
  136. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/lib_math.md +2 -2
  137. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/lib_preset_colors.md +29 -6
  138. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/lib_preset_styles.md +144 -147
  139. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/lib_slide.md +47 -3
  140. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/lib_tools.md +63 -9
  141. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/lib_types.md +1 -1
  142. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/overview.md +166 -125
  143. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/project_doc.md +49 -21
  144. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/project_images.md +5 -4
  145. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/project_overview.md +25 -20
  146. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/project_site.md +9 -8
  147. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/project_slide.md +43 -6
  148. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/review_guide.md +14 -12
  149. drawlib-0.3.2/src/drawlib/_rules/shapes/arrow.md +234 -0
  150. drawlib-0.3.2/src/drawlib/_rules/shapes/badge.md +276 -0
  151. drawlib-0.3.2/src/drawlib/_rules/shapes/basic.md +289 -0
  152. drawlib-0.3.2/src/drawlib/_rules/shapes/container.md +234 -0
  153. drawlib-0.3.2/src/drawlib/_rules/shapes/overview.md +214 -0
  154. drawlib-0.3.2/src/drawlib/_rules/shapes/polygon.md +337 -0
  155. drawlib-0.3.2/src/drawlib/_rules/shapes/symbol.md +231 -0
  156. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/slide_guide.md +9 -9
  157. drawlib-0.3.2/src/drawlib/_rules/smartarts/box_list.md +99 -0
  158. drawlib-0.3.2/src/drawlib/_rules/smartarts/bullet_points.md +123 -0
  159. drawlib-0.3.2/src/drawlib/_rules/smartarts/calendar.md +305 -0
  160. drawlib-0.3.2/src/drawlib/_rules/smartarts/card_list.md +158 -0
  161. drawlib-0.3.2/src/drawlib/_rules/smartarts/chevron_process.md +109 -0
  162. drawlib-0.3.2/src/drawlib/_rules/smartarts/cycle.md +145 -0
  163. drawlib-0.3.2/src/drawlib/_rules/smartarts/geomap.md +100 -0
  164. drawlib-0.3.2/src/drawlib/_rules/smartarts/grid_layout.md +133 -0
  165. drawlib-0.3.2/src/drawlib/_rules/smartarts/kpi_cards.md +150 -0
  166. drawlib-0.3.2/src/drawlib/_rules/smartarts/mindmap.md +192 -0
  167. drawlib-0.3.2/src/drawlib/_rules/smartarts/overview.md +226 -0
  168. drawlib-0.3.2/src/drawlib/_rules/smartarts/panel.md +161 -0
  169. drawlib-0.3.2/src/drawlib/_rules/smartarts/pyramid.md +114 -0
  170. drawlib-0.3.2/src/drawlib/_rules/smartarts/roadmap.md +183 -0
  171. drawlib-0.3.2/src/drawlib/_rules/smartarts/source_code.md +165 -0
  172. drawlib-0.3.2/src/drawlib/_rules/smartarts/table.md +183 -0
  173. drawlib-0.3.2/src/drawlib/_rules/smartarts/tree.md +177 -0
  174. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/style_guide.md +13 -10
  175. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_slide/__init__.py +2 -0
  176. drawlib-0.3.2/src/drawlib/_slide/_pptx_dom.py +1293 -0
  177. drawlib-0.3.2/src/drawlib/_slide/_pptx_writer.py +628 -0
  178. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_slide/compiler.py +83 -11
  179. drawlib-0.3.2/src/drawlib/_slide/compiler_pptx.py +117 -0
  180. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_slide/helpers.py +1 -2
  181. drawlib-0.3.2/src/drawlib/_smartarts/__init__.py +131 -0
  182. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_boxlist.py +2 -1
  183. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_bulletpoints.py +2 -1
  184. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_calendar/_day.py +1 -2
  185. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_calendar/_month.py +1 -2
  186. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_calendar/_week.py +1 -2
  187. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_cardlist.py +2 -1
  188. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_chevronprocess.py +2 -1
  189. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_cycle.py +2 -1
  190. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_geomap/_geomap.py +1 -1
  191. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_gridlayout.py +2 -1
  192. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_kpicards.py +2 -1
  193. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_mindmap.py +1 -2
  194. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_panel.py +1 -2
  195. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_pyramid.py +2 -1
  196. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_roadmap.py +2 -1
  197. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_sourcecode.py +2 -2
  198. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_table.py +2 -1
  199. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_tree.py +2 -1
  200. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/css/targets/doc.css +16 -2
  201. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/css/targets/pdf.css +16 -2
  202. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/css/targets/site.css +134 -4
  203. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/site/template.html.template +72 -12
  204. drawlib-0.3.2/src/drawlib/charts/__init__.py +71 -0
  205. drawlib-0.3.2/src/drawlib/charts/heatmap.py +40 -0
  206. drawlib-0.3.2/src/drawlib/diagrams/__init__.py +58 -0
  207. drawlib-0.3.2/src/drawlib/icons.py +196 -0
  208. drawlib-0.3.2/src/drawlib/preset_colors.py +82 -0
  209. drawlib-0.3.2/src/drawlib/preset_styles.py +70 -0
  210. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/slide.py +2 -0
  211. drawlib-0.3.2/src/drawlib/smartarts.py +104 -0
  212. drawlib-0.3.2/src/drawlib/styles.py +73 -0
  213. drawlib-0.3.2/src/drawlib/tools.py +115 -0
  214. drawlib-0.3.0/src/drawlib/_core/l3_styles/_base_styles.py +0 -564
  215. drawlib-0.3.0/src/drawlib/_icons/__init__.py +0 -90
  216. drawlib-0.3.0/src/drawlib/_icons/font_icons/__init__.py +0 -20
  217. drawlib-0.3.0/src/drawlib/_icons/png_icons/__init__.py +0 -84
  218. drawlib-0.3.0/src/drawlib/_preset_colors/__init__.py +0 -40
  219. drawlib-0.3.0/src/drawlib/_preset_styles/__init__.py +0 -40
  220. drawlib-0.3.0/src/drawlib/_rules/lib_charts.md +0 -1025
  221. drawlib-0.3.0/src/drawlib/_rules/lib_diagrams.md +0 -1132
  222. drawlib-0.3.0/src/drawlib/_rules/lib_graph.md +0 -696
  223. drawlib-0.3.0/src/drawlib/_rules/lib_icons.md +0 -1030
  224. drawlib-0.3.0/src/drawlib/_rules/lib_images.md +0 -188
  225. drawlib-0.3.0/src/drawlib/_rules/lib_shapes.md +0 -2686
  226. drawlib-0.3.0/src/drawlib/_rules/lib_smartarts.md +0 -1518
  227. drawlib-0.3.0/src/drawlib/_smartarts/__init__.py +0 -75
  228. drawlib-0.3.0/src/drawlib/charts/__init__.py +0 -34
  229. drawlib-0.3.0/src/drawlib/diagrams/__init__.py +0 -30
  230. drawlib-0.3.0/src/drawlib/icons.py +0 -126
  231. drawlib-0.3.0/src/drawlib/preset_colors.py +0 -46
  232. drawlib-0.3.0/src/drawlib/preset_styles.py +0 -38
  233. drawlib-0.3.0/src/drawlib/smartarts.py +0 -84
  234. drawlib-0.3.0/src/drawlib/styles.py +0 -36
  235. drawlib-0.3.0/src/drawlib/tools.py +0 -65
  236. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/__main__.py +0 -0
  237. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_anim/__init__.py +0 -0
  238. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/__init__.py +0 -0
  239. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/_common/progress.py +0 -0
  240. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/_common/styles_loader.py +0 -0
  241. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/_image_ast.py +0 -0
  242. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/doc_builder/compiler/base.py +0 -0
  243. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/doc_builder/compiler/html.py +0 -0
  244. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/doc_builder/compiler/markdown.py +0 -0
  245. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/doc_builder/compiler/pdf.py +0 -0
  246. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/doc_builder/detector.py +0 -0
  247. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/doc_builder/exporter_html.py +0 -0
  248. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/doc_builder/exporter_md.py +0 -0
  249. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/doc_builder/highlight.py +0 -0
  250. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/doc_builder/merger.py +0 -0
  251. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/doc_builder/navbar.py +0 -0
  252. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/doc_builder/parser_md.py +0 -0
  253. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/doc_builder/processor/__init__.py +0 -0
  254. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/doc_builder/processor/options.py +0 -0
  255. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/doc_builder/processor/parser.py +0 -0
  256. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/doc_builder/processor/viewer.py +0 -0
  257. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/doc_builder/progress.py +0 -0
  258. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_builder/doc_builder/styles_utils.py +0 -0
  259. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cached_assets/.gitignore +0 -0
  260. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cached_assets/__init__.py +0 -0
  261. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/_common/__init__.py +0 -0
  262. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/_common/_axis.py +0 -0
  263. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/_common/_base.py +0 -0
  264. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/_common/_legend.py +0 -0
  265. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/_common/_style_utils.py +0 -0
  266. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/area_chart/__init__.py +0 -0
  267. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/area_chart/_series.py +0 -0
  268. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/bar_chart/__init__.py +0 -0
  269. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/bar_chart/_renderer.py +0 -0
  270. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/bar_chart/_series.py +0 -0
  271. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/gantt_chart/__init__.py +0 -0
  272. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/gantt_chart/_item.py +0 -0
  273. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/gantt_chart/_renderer.py +0 -0
  274. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/line_chart/__init__.py +0 -0
  275. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/line_chart/_renderer.py +0 -0
  276. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/line_chart/_series.py +0 -0
  277. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/pie_chart/__init__.py +0 -0
  278. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/pie_chart/_renderer.py +0 -0
  279. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/pie_chart/_slice.py +0 -0
  280. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/radar_chart/__init__.py +0 -0
  281. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/radar_chart/_renderer.py +0 -0
  282. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/radar_chart/_series.py +0 -0
  283. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/scatter_chart/__init__.py +0 -0
  284. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/scatter_chart/_point.py +0 -0
  285. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_charts/scatter_chart/_renderer.py +0 -0
  286. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/__init__.py +0 -0
  287. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/_drawlib.py +0 -0
  288. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/_help.py +0 -0
  289. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/_visualizers/__init__.py +0 -0
  290. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/_visualizers/_common.py +0 -0
  291. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/_visualizers/colors/__init__.py +0 -0
  292. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/_visualizers/colors/base.py +0 -0
  293. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/_visualizers/colors/css.py +0 -0
  294. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/_visualizers/colors/default.py +0 -0
  295. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/_visualizers/colors/google.py +0 -0
  296. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/_visualizers/colors/monochrome.py +0 -0
  297. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/_visualizers/styles/__init__.py +0 -0
  298. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/_visualizers/styles/default.py +0 -0
  299. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/_visualizers/styles/google.py +0 -0
  300. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/_visualizers/styles/monochrome.py +0 -0
  301. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/commands/__init__.py +0 -0
  302. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/commands/css.py +0 -0
  303. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/commands/init.py +0 -0
  304. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_cli/main.py +0 -0
  305. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/__init__.py +0 -0
  306. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l1_core/_const.py +0 -0
  307. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l1_core/_logging.py +0 -0
  308. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l1_core/_path_utils.py +0 -0
  309. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l2_types/__init__.py +0 -0
  310. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l2_types/_color.py +0 -0
  311. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l2_types/_font.py +0 -0
  312. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l2_types/_geometry.py +0 -0
  313. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l2_types/_image.py +0 -0
  314. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l2_types/_path.py +0 -0
  315. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l2_types/_primitive.py +0 -0
  316. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l2_types/_style.py +0 -0
  317. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l3_colors/__init__.py +0 -0
  318. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l3_colors/_color.py +0 -0
  319. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l3_external/__init__.py +0 -0
  320. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l3_external/_cache.py +0 -0
  321. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l3_external/_download.py +0 -0
  322. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l3_external/_package.py +0 -0
  323. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l3_fonts/__init__.py +0 -0
  324. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l3_fonts/_metadata.py +0 -0
  325. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l3_fonts/_names.py +0 -0
  326. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l3_fonts/_resources.py +0 -0
  327. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l3_images/__init__.py +0 -0
  328. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l3_math/__init__.py +0 -0
  329. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l3_math/_routing.py +0 -0
  330. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l4_canvas/__init__.py +0 -0
  331. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l4_canvas/_line_utils.py +0 -0
  332. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l4_canvas/_shapes/__init__.py +0 -0
  333. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l4_canvas/_shapes/_arrow_builders.py +0 -0
  334. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l4_canvas/_shapes/_badge_builders.py +0 -0
  335. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l4_canvas/_shapes/_container_builders.py +0 -0
  336. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l4_canvas/_shapes/_symbol_builders.py +0 -0
  337. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_core/l4_canvas/_text_utils.py +0 -0
  338. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/__init__.py +0 -0
  339. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/_common.py +0 -0
  340. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/architecture/__init__.py +0 -0
  341. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/architecture/_edge.py +0 -0
  342. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/architecture/_group.py +0 -0
  343. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/architecture/_icons.py +0 -0
  344. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/architecture/_junction.py +0 -0
  345. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/architecture/_node.py +0 -0
  346. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/architecture/_render_edges.py +0 -0
  347. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/architecture/_renderer.py +0 -0
  348. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/architecture/_types.py +0 -0
  349. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/class_diagram/__init__.py +0 -0
  350. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/class_diagram/_class_node.py +0 -0
  351. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/class_diagram/_relationship.py +0 -0
  352. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/class_diagram/_render_node.py +0 -0
  353. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/class_diagram/_render_relationship.py +0 -0
  354. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/class_diagram/_renderer.py +0 -0
  355. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/class_diagram/_types.py +0 -0
  356. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/er/__init__.py +0 -0
  357. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/er/_entity.py +0 -0
  358. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/er/_relationship.py +0 -0
  359. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/er/_renderer.py +0 -0
  360. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/er/_types.py +0 -0
  361. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/flow/__init__.py +0 -0
  362. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/flow/_edge.py +0 -0
  363. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/flow/_junction.py +0 -0
  364. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/flow/_lane.py +0 -0
  365. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/flow/_node.py +0 -0
  366. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/flow/_nodes.py +0 -0
  367. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/flow/_render_edges.py +0 -0
  368. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/flow/_render_lanes.py +0 -0
  369. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/flow/_renderer.py +0 -0
  370. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/flow/_types.py +0 -0
  371. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/sequence/__init__.py +0 -0
  372. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/sequence/_block.py +0 -0
  373. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/sequence/_group.py +0 -0
  374. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/sequence/_layout.py +0 -0
  375. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/sequence/_message.py +0 -0
  376. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/sequence/_note.py +0 -0
  377. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/sequence/_participant.py +0 -0
  378. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/sequence/_render_elements.py +0 -0
  379. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/sequence/_renderer.py +0 -0
  380. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/sequence/_types.py +0 -0
  381. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/state/__init__.py +0 -0
  382. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/state/_render_node.py +0 -0
  383. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/state/_render_transition.py +0 -0
  384. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/state/_renderer.py +0 -0
  385. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/state/_state_node.py +0 -0
  386. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/state/_transition.py +0 -0
  387. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_diagrams/state/_types.py +0 -0
  388. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_graph/__init__.py +0 -0
  389. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_graph/_architecture/__init__.py +0 -0
  390. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_graph/_architecture/_graph.py +0 -0
  391. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_graph/_architecture/_solver.py +0 -0
  392. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_graph/_common/__init__.py +0 -0
  393. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_graph/_common/_base.py +0 -0
  394. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_graph/_common/_models.py +0 -0
  395. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_graph/_common/_routing.py +0 -0
  396. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_graph/_grid/__init__.py +0 -0
  397. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_graph/_grid/_graph.py +0 -0
  398. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_graph/_grid/_solver.py +0 -0
  399. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_graph/_layered/__init__.py +0 -0
  400. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_graph/_layered/_graph.py +0 -0
  401. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_graph/_layered/_solver.py +0 -0
  402. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_graph/_radial/__init__.py +0 -0
  403. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_graph/_radial/_graph.py +0 -0
  404. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_graph/_radial/_solver.py +0 -0
  405. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_graph/_tree/__init__.py +0 -0
  406. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_graph/_tree/_graph.py +0 -0
  407. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_graph/_tree/_solver.py +0 -0
  408. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_http_server/__init__.py +0 -0
  409. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_http_server/_link_scanner.py +0 -0
  410. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_http_server/_server.py +0 -0
  411. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/_utils.py +0 -0
  412. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/font_icons/phosphor/__init__.py +0 -0
  413. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/font_icons/phosphor/_base.py +0 -0
  414. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/font_icons/phosphor/_generated.py +0 -0
  415. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/ai/__init__.py +0 -0
  416. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/ai/_base.py +0 -0
  417. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/ai/_generated.py +0 -0
  418. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/aws/__init__.py +0 -0
  419. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/aws/_base.py +0 -0
  420. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/aws/_generated.py +0 -0
  421. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/azure/__init__.py +0 -0
  422. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/azure/_base.py +0 -0
  423. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/azure/_generated.py +0 -0
  424. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/business/__init__.py +0 -0
  425. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/business/_base.py +0 -0
  426. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/business/_generated.py +0 -0
  427. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/client/__init__.py +0 -0
  428. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/client/_base.py +0 -0
  429. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/client/_generated.py +0 -0
  430. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/cloud/__init__.py +0 -0
  431. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/cloud/_base.py +0 -0
  432. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/cloud/_generated.py +0 -0
  433. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/cnative/__init__.py +0 -0
  434. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/cnative/_base.py +0 -0
  435. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/cnative/_generated.py +0 -0
  436. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/code/__init__.py +0 -0
  437. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/code/_base.py +0 -0
  438. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/code/_generated.py +0 -0
  439. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/data/__init__.py +0 -0
  440. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/data/_base.py +0 -0
  441. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/data/_generated.py +0 -0
  442. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/devops/__init__.py +0 -0
  443. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/devops/_base.py +0 -0
  444. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/devops/_generated.py +0 -0
  445. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/facility/__init__.py +0 -0
  446. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/facility/_base.py +0 -0
  447. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/facility/_generated.py +0 -0
  448. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/gcp/__init__.py +0 -0
  449. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/gcp/_base.py +0 -0
  450. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/gcp/_generated.py +0 -0
  451. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/itservice/__init__.py +0 -0
  452. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/itservice/_base.py +0 -0
  453. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/itservice/_generated.py +0 -0
  454. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/network/__init__.py +0 -0
  455. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/network/_base.py +0 -0
  456. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/network/_generated.py +0 -0
  457. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_ai/__init__.py +0 -0
  458. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_ai/_base.py +0 -0
  459. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_ai/_generated.py +0 -0
  460. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_business/__init__.py +0 -0
  461. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_business/_base.py +0 -0
  462. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_business/_generated.py +0 -0
  463. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_client/__init__.py +0 -0
  464. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_client/_base.py +0 -0
  465. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_client/_generated.py +0 -0
  466. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_cloud/__init__.py +0 -0
  467. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_cloud/_base.py +0 -0
  468. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_cloud/_generated.py +0 -0
  469. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_cnative/__init__.py +0 -0
  470. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_cnative/_base.py +0 -0
  471. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_cnative/_generated.py +0 -0
  472. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_code/__init__.py +0 -0
  473. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_code/_base.py +0 -0
  474. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_code/_generated.py +0 -0
  475. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_data/__init__.py +0 -0
  476. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_data/_base.py +0 -0
  477. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_data/_generated.py +0 -0
  478. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_devops/__init__.py +0 -0
  479. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_devops/_base.py +0 -0
  480. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_devops/_generated.py +0 -0
  481. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_facility/__init__.py +0 -0
  482. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_facility/_base.py +0 -0
  483. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_facility/_generated.py +0 -0
  484. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_itservice/__init__.py +0 -0
  485. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_itservice/_base.py +0 -0
  486. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_itservice/_generated.py +0 -0
  487. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_network/__init__.py +0 -0
  488. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_network/_base.py +0 -0
  489. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_network/_generated.py +0 -0
  490. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_security/__init__.py +0 -0
  491. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_security/_base.py +0 -0
  492. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_security/_generated.py +0 -0
  493. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_server/__init__.py +0 -0
  494. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_server/_base.py +0 -0
  495. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_server/_generated.py +0 -0
  496. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_social/__init__.py +0 -0
  497. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_social/_base.py +0 -0
  498. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_social/_generated.py +0 -0
  499. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_workspace/__init__.py +0 -0
  500. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_workspace/_base.py +0 -0
  501. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/original_workspace/_generated.py +0 -0
  502. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/security/__init__.py +0 -0
  503. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/security/_base.py +0 -0
  504. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/security/_generated.py +0 -0
  505. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/server/__init__.py +0 -0
  506. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/server/_base.py +0 -0
  507. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/server/_generated.py +0 -0
  508. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/social/__init__.py +0 -0
  509. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/social/_base.py +0 -0
  510. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/social/_generated.py +0 -0
  511. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/workspace/__init__.py +0 -0
  512. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/workspace/_base.py +0 -0
  513. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_icons/png_icons/workspace/_generated.py +0 -0
  514. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_preset_colors/_color_css.py +0 -0
  515. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_preset_colors/_color_default.py +0 -0
  516. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_preset_colors/_color_google.py +0 -0
  517. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_preset_colors/_color_monochrome.py +0 -0
  518. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_release_assets.py +0 -0
  519. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/__init__.py +0 -0
  520. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/_assets/avenger/readme.txt +0 -0
  521. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/_assets/avenger/regular.ttf +0 -0
  522. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/_assets/linux.png +0 -0
  523. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/lib_fonts.md +0 -0
  524. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/lib_styles.md +0 -0
  525. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_rules/lib_text.md +0 -0
  526. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_slide/_assets.py +0 -0
  527. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_slide/_blocks.py +0 -0
  528. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_slide/base.py +0 -0
  529. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_calendar/__init__.py +0 -0
  530. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_calendar/_models.py +0 -0
  531. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_common/__init__.py +0 -0
  532. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_common/_card_helpers.py +0 -0
  533. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_geomap/__init__.py +0 -0
  534. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_geomap/_loader.py +0 -0
  535. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_geomap/_presets.py +0 -0
  536. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_geomap/_projection.py +0 -0
  537. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_smartarts/_geomap/_types.py +0 -0
  538. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/__init__.py +0 -0
  539. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/_css.py +0 -0
  540. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/_models.py +0 -0
  541. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/_project.py +0 -0
  542. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/css/components/code.css +0 -0
  543. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/css/components/markdown.css +0 -0
  544. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/css/targets/slide.css +0 -0
  545. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/css/themes/default-auto.css.template +0 -0
  546. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/css/themes/default-dark.css.template +0 -0
  547. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/css/themes/default.css.template +0 -0
  548. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/css/themes/github.css.template +0 -0
  549. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/css/themes/google-auto.css.template +0 -0
  550. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/css/themes/google-dark.css.template +0 -0
  551. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/css/themes/google.css.template +0 -0
  552. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/css/themes/minimal.css.template +0 -0
  553. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/css/themes/monochrome.css.template +0 -0
  554. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/langs/__init__.py +0 -0
  555. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/langs/_map_css.py +0 -0
  556. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/langs/_map_html.py +0 -0
  557. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/langs/_map_style_font.py +0 -0
  558. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/langs/_models.py +0 -0
  559. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/langs/_patch.py +0 -0
  560. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/langs/_registry.py +0 -0
  561. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/__init__.py +0 -0
  562. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/_assets/_logo.png +0 -0
  563. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/_assets/_logo_dark.png +0 -0
  564. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/_assets/favicon.png +0 -0
  565. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/_assets/linux.png +0 -0
  566. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/_shared/output_html_readme.md +0 -0
  567. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/_shared/styles.py.template +0 -0
  568. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/_shared/utils.py +0 -0
  569. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/doc/build.sh.template +0 -0
  570. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/doc/build_html.sh.template +0 -0
  571. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/doc/build_image.sh.template +0 -0
  572. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/doc/build_markdown.sh.template +0 -0
  573. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/doc/build_pdf.sh.template +0 -0
  574. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/doc/docs/en/00_cover.md +0 -0
  575. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/doc/docs/en/01_overview.md +0 -0
  576. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/doc/docs/en/02_design.md +0 -0
  577. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/doc/docs/en/README.md +0 -0
  578. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/doc/docs/ja/00_cover.md +0 -0
  579. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/doc/docs/ja/01_overview.md +0 -0
  580. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/doc/docs/ja/02_design.md +0 -0
  581. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/doc/docs/ja/README.md +0 -0
  582. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/doc/serve.sh.template +0 -0
  583. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/doc/template.html.template +0 -0
  584. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/images/build.sh.template +0 -0
  585. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/images/build_image.sh.template +0 -0
  586. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/images/docs/en/README.md +0 -0
  587. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/images/docs/en/sample1.py +0 -0
  588. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/images/docs/en/sample2.py +0 -0
  589. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/images/docs/ja/README.md +0 -0
  590. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/images/docs/ja/sample1.py +0 -0
  591. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/images/docs/ja/sample2.py +0 -0
  592. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/site/build.sh.template +0 -0
  593. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/site/build_html.sh.template +0 -0
  594. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/site/build_image.sh.template +0 -0
  595. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/site/build_markdown.sh.template +0 -0
  596. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/site/docs/en/README.md +0 -0
  597. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/site/docs/en/architecture/index.md +0 -0
  598. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/site/docs/en/index.md +0 -0
  599. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/site/docs/en/navbar.md +0 -0
  600. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/site/docs/en/workflow/index.md +0 -0
  601. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/site/docs/ja/README.md +0 -0
  602. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/site/docs/ja/architecture/index.md +0 -0
  603. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/site/docs/ja/index.md +0 -0
  604. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/site/docs/ja/navbar.md +0 -0
  605. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/site/docs/ja/workflow/index.md +0 -0
  606. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/site/serve.sh.template +0 -0
  607. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/slide/build.sh.template +0 -0
  608. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/slide/build_html.sh.template +0 -0
  609. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/slide/build_image.sh.template +0 -0
  610. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/slide/build_pdf.sh.template +0 -0
  611. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/slide/docs/en/01_title.md +0 -0
  612. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/slide/docs/en/02_agenda.md +0 -0
  613. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/slide/docs/en/03_architecture.md +0 -0
  614. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/slide/docs/en/README.md +0 -0
  615. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/slide/docs/ja/01_title.md +0 -0
  616. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/slide/docs/ja/02_agenda.md +0 -0
  617. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/slide/docs/ja/03_architecture.md +0 -0
  618. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/slide/docs/ja/README.md +0 -0
  619. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/slide/output_readme.md +0 -0
  620. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/slide/serve.sh.template +0 -0
  621. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/_templates/project/slide/slide.js +0 -0
  622. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/anim.py +0 -0
  623. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/canvas.py +0 -0
  624. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/charts/area.py +0 -0
  625. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/charts/bar.py +0 -0
  626. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/charts/gantt.py +0 -0
  627. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/charts/line.py +0 -0
  628. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/charts/pie.py +0 -0
  629. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/charts/radar.py +0 -0
  630. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/charts/scatter.py +0 -0
  631. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/diagrams/architecture.py +0 -0
  632. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/diagrams/class_diagram.py +0 -0
  633. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/diagrams/er.py +0 -0
  634. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/diagrams/flow.py +0 -0
  635. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/diagrams/sequence.py +0 -0
  636. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/diagrams/state.py +0 -0
  637. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/fonts.py +0 -0
  638. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/graph.py +0 -0
  639. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/images.py +0 -0
  640. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/lines.py +0 -0
  641. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/math.py +0 -0
  642. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/py.typed +0 -0
  643. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/shapes.py +0 -0
  644. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/text.py +0 -0
  645. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/types.py +0 -0
  646. {drawlib-0.3.0 → drawlib-0.3.2}/src/drawlib/utils.py +0 -0
@@ -1,3 +1,25 @@
1
+ Metadata-Version: 2.3
2
+ Name: drawlib
3
+ Version: 0.3.2
4
+ Summary: Python drawing library. Illustration as Code.
5
+ Author: Yuichi Ito
6
+ Author-email: Yuichi Ito <yuichi@yuichi.com>
7
+ License: Apache-2.0
8
+ Requires-Dist: matplotlib>=3.8
9
+ Requires-Dist: pydantic>=2.8
10
+ Requires-Dist: pygments>=2.18
11
+ Requires-Dist: markdown-it-py>=3.0
12
+ Requires-Dist: jinja2>=3.1
13
+ Requires-Dist: typer>=0.12.0
14
+ Requires-Dist: rich>=13.0.0
15
+ Requires-Dist: playwright>=1.49.0
16
+ Requires-Dist: python-docx>=1.2.0
17
+ Requires-Dist: python-pptx>=1.0.2
18
+ Requires-Python: >=3.11
19
+ Project-URL: Homepage, https://www.drawlib.com
20
+ Project-URL: Repository, https://github.com/yuichi110/drawlib
21
+ Description-Content-Type: text/markdown
22
+
1
23
  # Drawlib
2
24
 
3
25
  **Pure-Python Library for "Illustration as Code" & "Illustrated Documentation as Code"**
@@ -36,7 +58,7 @@ Compose presentation-ready infographics (`drawlib.smartarts`) and quantitative d
36
58
  ![Charts and SmartArts Showcase](https://www.drawlib.com/pypi_images/03_showcase_charts_smartarts.png)
37
59
 
38
60
  - **SmartArts (`drawlib.smartarts`)**: `ChevronProcess`, `Cycle`, `Table`, `TreeNode`, `MindMapNode`, `Pyramid`, `BoxList`, `BulletPoints`, `GridLayout`, and syntax-highlighted `SourceCode`.
39
- - **Charts (`drawlib.charts`)**: Pure-Python `BarChart`, `LineChart`, `AreaChart`, `PieChart`, `RadarChart`, `ScatterChart`, and `GanttChart` styled with the same design tokens as your diagrams.
61
+ - **Charts (`drawlib.charts`)**: Pure-Python `BarChart`, `LineChart`, `AreaChart`, `PieChart`, `RadarChart`, `ScatterChart`, `GanttChart`, and `HeatmapChart` / `HeatmapOverlay` styled with the same design tokens as your diagrams.
40
62
 
41
63
  ---
42
64
 
@@ -63,8 +85,8 @@ Write Markdown files with embedded ```` ```drawlib ```` code blocks. A single `d
63
85
 
64
86
  - **4 Project Scaffolds (`drawlib init <type>`)**:
65
87
  - `drawlib init site`: Multi-page documentation website (`docs_html/`), GitHub Markdown (`docs/`), and PDF.
66
- - `drawlib init doc`: Linear technical specification / whitepaper (`*_html/`, `*_markdown/`, `*.pdf`).
67
- - `drawlib init slide`: 16:9 presentation slide deck with native SVG text and keyboard navigation (`slide_html/`, `slide.pdf`).
88
+ - `drawlib init doc`: Linear technical specification / whitepaper (`*_html/`, `*_markdown/`, `*.pdf`, plus on-demand editable MS Word `*.docx` via `drawlib build docx`).
89
+ - `drawlib init slide`: 16:9 presentation slide deck with native SVG text, Presenter View, and keyboard navigation (`slide_html/`, `slide.pdf`, plus on-demand editable MS PowerPoint `slide.pptx` via `drawlib build pptx`).
68
90
  - `drawlib init images`: Standalone batch Python illustration scripts (`images_src/` -> `images/`).
69
91
 
70
92
  ---
@@ -79,7 +101,7 @@ Drawlib is engineered from the ground up for **AI-native documentation and diagr
79
101
  2. **Code Synthesis & Grid Preview (`drawlib show -g`)**: The agent writes Python drawing blocks and Markdown prose, then renders a headless preview with a coordinate grid overlay.
80
102
  3. **Multimodal Inspection & Self-Repair**: The agent visually inspects the rendered PNG for text clipping, overlapping labels, or style imbalances, repairing coordinates and styles autonomously until the diagram passes inspection.
81
103
  - **Human Outer Loop (Intent & Review)**:
82
- - The developer stays focused on high-level architecture and intent—providing initial goals, reviewing the compiled **Published Docs** (HTML / PDF / GitHub MD / Slide), and iterating on direction without ever nudging pixels in a GUI tool.
104
+ - The developer stays focused on high-level architecture and intent—providing initial goals, reviewing the compiled **Published Docs** (HTML / PDF / MS Word / GitHub MD / Slide / MS PowerPoint), and iterating on direction without ever nudging pixels in a GUI tool.
83
105
 
84
106
  ---
85
107
 
@@ -89,14 +111,13 @@ Install `drawlib` from PyPI using `pip` or `uv`:
89
111
 
90
112
  ```bash
91
113
  pip install drawlib
114
+ # or: uv add drawlib
92
115
  ```
93
116
 
94
- To enable headless PDF export for documentation sites, linear documents, and slide decks, install the `[pdf]` extra and Chromium:
117
+ PDF, MS Word (`.docx`), and MS PowerPoint (`.pptx`) export work out of the box—`playwright`, `python-docx`, and `python-pptx` are standard dependencies, and headless Chromium (`chromium-headless-shell`) is downloaded automatically on your first `drawlib build pdf` or `drawlib build pptx` run.
95
118
 
96
- ```bash
97
- pip install "drawlib[pdf]"
98
- playwright install chromium
99
- ```
119
+ - **Offline / Air-Gapped / CI Environments**: Pre-download all fonts, icons, maps, and headless Chromium ahead of time with `drawlib cache download --all` (or headless Chromium only with `drawlib cache download --browser`).
120
+ - **Minimal Linux Containers** (e.g., `python:3.12-slim` lacking OS shared libraries such as `libnss3` or `libgbm1`): Install OS browser dependencies once via `playwright install-deps chromium` (or `playwright install --with-deps --only-shell chromium`).
100
121
 
101
122
  Verify the installation:
102
123
 
@@ -201,6 +222,10 @@ Compile or preview with the `drawlib` CLI:
201
222
  # Build HTML site, GitHub Markdown, or PDF
202
223
  ./docs_src/build.sh
203
224
 
225
+ # Optional on-demand export to editable MS Word (.docx) or MS PowerPoint (.pptx)
226
+ drawlib build docx doc_src/ -o spec.docx --generate-index
227
+ drawlib build pptx slide_src/ -o deck.pptx
228
+
204
229
  # Launch local HTTP server with broken-link check at http://localhost:8000
205
230
  drawlib serve docs_html/
206
231
 
@@ -215,11 +240,11 @@ drawlib show docs_src/index.md service_routing.png -g -o preview_grid.png
215
240
  | Command | Description |
216
241
  | :--- | :--- |
217
242
  | `drawlib init <site\|doc\|slide\|images>` | Scaffold a new documentation, slide deck, or image project |
218
- | `drawlib build <html\|markdown\|pdf\|image>` | Compile source files into HTML, Markdown, PDF, or PNG/WebP images |
243
+ | `drawlib build <html\|markdown\|pdf\|docx\|slide\|pptx\|image>` | Compile source files into HTML, Markdown, PDF, MS Word (`.docx`), HTML Slides, MS PowerPoint (`.pptx`), or PNG/WebP images |
219
244
  | `drawlib serve <html_dir> [--check]` | Start a local HTTP server for built HTML docs/slides with pre-flight link checks |
220
245
  | `drawlib show <file> [target] [-g]` | Render and inspect a single script or embedded Markdown diagram (with optional grid) |
221
246
  | `drawlib rules show [topic]` | On-demand CLI reference for AI agents to look up detailed API specs & best practices (`overview`, `style-guide`, `api`, `lib-*`) |
222
- | `drawlib cache <list\|download\|clear>` | Manage local font and icon asset caches (supports offline pre-caching via `--all`) |
247
+ | `drawlib cache <list\|download\|clear>` | Manage local font, icon, map, and headless Chromium caches (supports offline pre-caching via `--all` or `--browser`) |
223
248
 
224
249
  ---
225
250
 
@@ -1,24 +1,3 @@
1
- Metadata-Version: 2.3
2
- Name: drawlib
3
- Version: 0.3.0
4
- Summary: Python drawing library. Illustration as Code.
5
- Author: Yuichi Ito
6
- Author-email: Yuichi Ito <yuichi@yuichi.com>
7
- License: Apache-2.0
8
- Requires-Dist: matplotlib>=3.8
9
- Requires-Dist: pydantic>=2.8
10
- Requires-Dist: pygments>=2.18
11
- Requires-Dist: markdown-it-py>=3.0
12
- Requires-Dist: jinja2>=3.1
13
- Requires-Dist: typer>=0.12.0
14
- Requires-Dist: rich>=13.0.0
15
- Requires-Dist: playwright>=1.40.0 ; extra == 'pdf'
16
- Requires-Python: >=3.11
17
- Project-URL: Homepage, https://www.drawlib.com
18
- Project-URL: Repository, https://github.com/yuichi110/drawlib
19
- Provides-Extra: pdf
20
- Description-Content-Type: text/markdown
21
-
22
1
  # Drawlib
23
2
 
24
3
  **Pure-Python Library for "Illustration as Code" & "Illustrated Documentation as Code"**
@@ -57,7 +36,7 @@ Compose presentation-ready infographics (`drawlib.smartarts`) and quantitative d
57
36
  ![Charts and SmartArts Showcase](https://www.drawlib.com/pypi_images/03_showcase_charts_smartarts.png)
58
37
 
59
38
  - **SmartArts (`drawlib.smartarts`)**: `ChevronProcess`, `Cycle`, `Table`, `TreeNode`, `MindMapNode`, `Pyramid`, `BoxList`, `BulletPoints`, `GridLayout`, and syntax-highlighted `SourceCode`.
60
- - **Charts (`drawlib.charts`)**: Pure-Python `BarChart`, `LineChart`, `AreaChart`, `PieChart`, `RadarChart`, `ScatterChart`, and `GanttChart` styled with the same design tokens as your diagrams.
39
+ - **Charts (`drawlib.charts`)**: Pure-Python `BarChart`, `LineChart`, `AreaChart`, `PieChart`, `RadarChart`, `ScatterChart`, `GanttChart`, and `HeatmapChart` / `HeatmapOverlay` styled with the same design tokens as your diagrams.
61
40
 
62
41
  ---
63
42
 
@@ -84,8 +63,8 @@ Write Markdown files with embedded ```` ```drawlib ```` code blocks. A single `d
84
63
 
85
64
  - **4 Project Scaffolds (`drawlib init <type>`)**:
86
65
  - `drawlib init site`: Multi-page documentation website (`docs_html/`), GitHub Markdown (`docs/`), and PDF.
87
- - `drawlib init doc`: Linear technical specification / whitepaper (`*_html/`, `*_markdown/`, `*.pdf`).
88
- - `drawlib init slide`: 16:9 presentation slide deck with native SVG text and keyboard navigation (`slide_html/`, `slide.pdf`).
66
+ - `drawlib init doc`: Linear technical specification / whitepaper (`*_html/`, `*_markdown/`, `*.pdf`, plus on-demand editable MS Word `*.docx` via `drawlib build docx`).
67
+ - `drawlib init slide`: 16:9 presentation slide deck with native SVG text, Presenter View, and keyboard navigation (`slide_html/`, `slide.pdf`, plus on-demand editable MS PowerPoint `slide.pptx` via `drawlib build pptx`).
89
68
  - `drawlib init images`: Standalone batch Python illustration scripts (`images_src/` -> `images/`).
90
69
 
91
70
  ---
@@ -100,7 +79,7 @@ Drawlib is engineered from the ground up for **AI-native documentation and diagr
100
79
  2. **Code Synthesis & Grid Preview (`drawlib show -g`)**: The agent writes Python drawing blocks and Markdown prose, then renders a headless preview with a coordinate grid overlay.
101
80
  3. **Multimodal Inspection & Self-Repair**: The agent visually inspects the rendered PNG for text clipping, overlapping labels, or style imbalances, repairing coordinates and styles autonomously until the diagram passes inspection.
102
81
  - **Human Outer Loop (Intent & Review)**:
103
- - The developer stays focused on high-level architecture and intent—providing initial goals, reviewing the compiled **Published Docs** (HTML / PDF / GitHub MD / Slide), and iterating on direction without ever nudging pixels in a GUI tool.
82
+ - The developer stays focused on high-level architecture and intent—providing initial goals, reviewing the compiled **Published Docs** (HTML / PDF / MS Word / GitHub MD / Slide / MS PowerPoint), and iterating on direction without ever nudging pixels in a GUI tool.
104
83
 
105
84
  ---
106
85
 
@@ -110,14 +89,13 @@ Install `drawlib` from PyPI using `pip` or `uv`:
110
89
 
111
90
  ```bash
112
91
  pip install drawlib
92
+ # or: uv add drawlib
113
93
  ```
114
94
 
115
- To enable headless PDF export for documentation sites, linear documents, and slide decks, install the `[pdf]` extra and Chromium:
95
+ PDF, MS Word (`.docx`), and MS PowerPoint (`.pptx`) export work out of the box—`playwright`, `python-docx`, and `python-pptx` are standard dependencies, and headless Chromium (`chromium-headless-shell`) is downloaded automatically on your first `drawlib build pdf` or `drawlib build pptx` run.
116
96
 
117
- ```bash
118
- pip install "drawlib[pdf]"
119
- playwright install chromium
120
- ```
97
+ - **Offline / Air-Gapped / CI Environments**: Pre-download all fonts, icons, maps, and headless Chromium ahead of time with `drawlib cache download --all` (or headless Chromium only with `drawlib cache download --browser`).
98
+ - **Minimal Linux Containers** (e.g., `python:3.12-slim` lacking OS shared libraries such as `libnss3` or `libgbm1`): Install OS browser dependencies once via `playwright install-deps chromium` (or `playwright install --with-deps --only-shell chromium`).
121
99
 
122
100
  Verify the installation:
123
101
 
@@ -222,6 +200,10 @@ Compile or preview with the `drawlib` CLI:
222
200
  # Build HTML site, GitHub Markdown, or PDF
223
201
  ./docs_src/build.sh
224
202
 
203
+ # Optional on-demand export to editable MS Word (.docx) or MS PowerPoint (.pptx)
204
+ drawlib build docx doc_src/ -o spec.docx --generate-index
205
+ drawlib build pptx slide_src/ -o deck.pptx
206
+
225
207
  # Launch local HTTP server with broken-link check at http://localhost:8000
226
208
  drawlib serve docs_html/
227
209
 
@@ -236,11 +218,11 @@ drawlib show docs_src/index.md service_routing.png -g -o preview_grid.png
236
218
  | Command | Description |
237
219
  | :--- | :--- |
238
220
  | `drawlib init <site\|doc\|slide\|images>` | Scaffold a new documentation, slide deck, or image project |
239
- | `drawlib build <html\|markdown\|pdf\|image>` | Compile source files into HTML, Markdown, PDF, or PNG/WebP images |
221
+ | `drawlib build <html\|markdown\|pdf\|docx\|slide\|pptx\|image>` | Compile source files into HTML, Markdown, PDF, MS Word (`.docx`), HTML Slides, MS PowerPoint (`.pptx`), or PNG/WebP images |
240
222
  | `drawlib serve <html_dir> [--check]` | Start a local HTTP server for built HTML docs/slides with pre-flight link checks |
241
223
  | `drawlib show <file> [target] [-g]` | Render and inspect a single script or embedded Markdown diagram (with optional grid) |
242
224
  | `drawlib rules show [topic]` | On-demand CLI reference for AI agents to look up detailed API specs & best practices (`overview`, `style-guide`, `api`, `lib-*`) |
243
- | `drawlib cache <list\|download\|clear>` | Manage local font and icon asset caches (supports offline pre-caching via `--all`) |
225
+ | `drawlib cache <list\|download\|clear>` | Manage local font, icon, map, and headless Chromium caches (supports offline pre-caching via `--all` or `--browser`) |
244
226
 
245
227
  ---
246
228
 
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "drawlib"
7
- version = "0.3.0"
7
+ version = "0.3.2"
8
8
  description = "Python drawing library. Illustration as Code."
9
9
  readme = "docs/README_PYPI.md"
10
10
  requires-python = ">=3.11"
@@ -18,6 +18,9 @@ dependencies = [
18
18
  "jinja2>=3.1",
19
19
  "typer>=0.12.0",
20
20
  "rich>=13.0.0",
21
+ "playwright>=1.49.0",
22
+ "python-docx>=1.2.0",
23
+ "python-pptx>=1.0.2",
21
24
  ]
22
25
 
23
26
  [project.urls]
@@ -27,11 +30,6 @@ Repository = "https://github.com/yuichi110/drawlib"
27
30
  [project.scripts]
28
31
  drawlib = "drawlib._cli.main:main"
29
32
 
30
- [project.optional-dependencies]
31
- pdf = [
32
- "playwright>=1.40.0",
33
- ]
34
-
35
33
  [dependency-groups]
36
34
  dev = [
37
35
  "types-pillow>=10.2.0.20240311",
@@ -44,7 +42,6 @@ dev = [
44
42
  "typer>=0.12.0",
45
43
  "rich>=13.0.0",
46
44
  "pytest-xdist>=3.8.0",
47
- "playwright>=1.40.0",
48
45
  ]
49
46
 
50
47
  [tool.ruff]
@@ -14,44 +14,60 @@ from __future__ import annotations
14
14
  import importlib
15
15
  from typing import TYPE_CHECKING, Any, Final
16
16
 
17
- from drawlib._core.l1_core import LIB_NAME, LIB_VERSION
17
+ from drawlib._core.l1_core._const import LIB_NAME, LIB_VERSION
18
18
 
19
19
  __version__: Final[str] = LIB_VERSION
20
20
 
21
21
  if TYPE_CHECKING:
22
22
  from drawlib import (
23
+ anim,
24
+ canvas,
25
+ charts,
26
+ diagrams,
27
+ fonts,
28
+ graph,
29
+ icons,
30
+ images,
31
+ lines,
32
+ math,
33
+ preset_colors,
34
+ preset_styles,
35
+ shapes,
36
+ slide,
37
+ smartarts,
38
+ styles,
39
+ text,
23
40
  tools,
41
+ types,
42
+ utils,
24
43
  )
25
44
 
26
- from drawlib import (
27
- anim,
28
- canvas,
29
- charts,
30
- diagrams,
31
- fonts,
32
- graph,
33
- icons,
34
- images,
35
- lines,
36
- math,
37
- preset_colors,
38
- preset_styles,
39
- shapes,
40
- slide,
41
- smartarts,
42
- styles,
43
- text,
44
- types,
45
- utils,
46
- )
47
-
48
- _LAZY_MODULES: dict[str, str] = {
45
+ _LAZY_MODULES: Final[dict[str, str]] = {
46
+ "anim": "drawlib.anim",
47
+ "canvas": "drawlib.canvas",
48
+ "charts": "drawlib.charts",
49
+ "diagrams": "drawlib.diagrams",
50
+ "fonts": "drawlib.fonts",
51
+ "graph": "drawlib.graph",
52
+ "icons": "drawlib.icons",
53
+ "images": "drawlib.images",
54
+ "lines": "drawlib.lines",
55
+ "math": "drawlib.math",
56
+ "preset_colors": "drawlib.preset_colors",
57
+ "preset_styles": "drawlib.preset_styles",
58
+ "shapes": "drawlib.shapes",
59
+ "slide": "drawlib.slide",
60
+ "smartarts": "drawlib.smartarts",
61
+ "styles": "drawlib.styles",
62
+ "text": "drawlib.text",
49
63
  "tools": "drawlib.tools",
64
+ "types": "drawlib.types",
65
+ "utils": "drawlib.utils",
50
66
  }
51
67
 
52
68
 
53
69
  def __getattr__(name: str) -> Any: # noqa: ANN401
54
- """Lazy-load heavy modules only when explicitly accessed."""
70
+ """Lazy-load submodules on first attribute access (PEP 562)."""
55
71
  if name in _LAZY_MODULES:
56
72
  module = importlib.import_module(_LAZY_MODULES[name])
57
73
  globals()[name] = module
@@ -17,8 +17,8 @@ from contextlib import contextmanager
17
17
  from typing import Literal
18
18
 
19
19
  from PIL import Image
20
- from pydantic import validate_call
21
20
 
21
+ from drawlib._core.l1_core import validate_call
22
22
  from drawlib._core.l2_types import PosInt
23
23
  from drawlib._core.l4_canvas import canvas
24
24
 
@@ -11,6 +11,11 @@
11
11
 
12
12
  from __future__ import annotations
13
13
 
14
+ from drawlib._builder._common.browser import (
15
+ import_sync_playwright,
16
+ install_headless_chromium,
17
+ launch_headless_chromium,
18
+ )
14
19
  from drawlib._builder._common.cache import (
15
20
  BuildImageCache,
16
21
  CliImageCache,
@@ -23,6 +28,11 @@ from drawlib._builder._common.cache_manager import (
23
28
  download_cache,
24
29
  list_cache,
25
30
  )
31
+ from drawlib._builder._common.office import (
32
+ ensure_static_office_image,
33
+ normalize_opc_zip_timestamps,
34
+ resolve_office_datetime,
35
+ )
26
36
  from drawlib._builder._common.progress import (
27
37
  BAR_WIDTH,
28
38
  FileBuildProgress,
@@ -44,13 +54,19 @@ __all__ = [
44
54
  "clear_cache",
45
55
  "clear_image_cache",
46
56
  "download_cache",
57
+ "ensure_static_office_image",
47
58
  "format_duplicate_output_error",
48
59
  "format_progress_line",
49
60
  "hash_file",
50
61
  "hash_text",
62
+ "import_sync_playwright",
63
+ "install_headless_chromium",
64
+ "launch_headless_chromium",
51
65
  "list_cache",
52
66
  "load_styles",
53
67
  "load_styles_and_utils",
54
68
  "load_utils",
69
+ "normalize_opc_zip_timestamps",
70
+ "resolve_office_datetime",
55
71
  "resolve_styles_and_utils",
56
72
  ]
@@ -0,0 +1,267 @@
1
+ # Copyright (c) 2026 Yuichi Ito (yuichi@yuichi.com)
2
+ #
3
+ # This software is licensed under the Apache License, Version 2.0.
4
+ # For more information, please visit: https://github.com/yuichi110/drawlib
5
+ #
6
+ # This software is provided "as is", without warranty of any kind,
7
+ # express or implied, including but not limited to the warranties of
8
+ # merchantability, fitness for a particular purpose and noninfringement.
9
+
10
+ """Shared Playwright headless Chromium launcher and on-demand installer."""
11
+
12
+ from __future__ import annotations
13
+
14
+ import contextlib
15
+ import os
16
+ import subprocess # noqa: S404
17
+ import sys
18
+ import tempfile
19
+ import threading
20
+ from collections.abc import Callable, Iterator, Sequence
21
+ from pathlib import Path
22
+ from typing import TYPE_CHECKING, Final
23
+
24
+ from drawlib._core.l1_core import logger
25
+
26
+ if TYPE_CHECKING:
27
+ from playwright.sync_api import Browser, Playwright, PlaywrightContextManager
28
+
29
+ _INSTALL_ARGS: Final[tuple[str, ...]] = ("install", "--only-shell", "chromium")
30
+ _DEFAULT_CHROMIUM_ARGS: Final[tuple[str, ...]] = (
31
+ "--font-render-hinting=medium",
32
+ "--enable-font-antialiasing",
33
+ )
34
+ _INSTALL_THREAD_LOCK = threading.Lock()
35
+
36
+
37
+ def _resolve_lock_file_paths() -> list[Path]:
38
+ """Return candidate per-user lock file paths in priority order."""
39
+ candidates: list[Path] = []
40
+ browsers_path = os.environ.get("PLAYWRIGHT_BROWSERS_PATH", "").strip()
41
+ if browsers_path and browsers_path != "0":
42
+ candidates.append(Path(browsers_path).expanduser() / ".drawlib_browser_install.lock")
43
+
44
+ if sys.platform == "win32":
45
+ local_app_data = os.environ.get("LOCALAPPDATA", str(Path.home()))
46
+ candidates.append(Path(local_app_data) / "drawlib" / "playwright_install.lock")
47
+ else:
48
+ xdg_cache = os.environ.get("XDG_CACHE_HOME", str(Path.home() / ".cache"))
49
+ candidates.append(Path(xdg_cache) / "drawlib" / "playwright_install.lock")
50
+
51
+ uid_suffix = str(os.getuid()) if hasattr(os, "getuid") else "user"
52
+ candidates.append(Path(tempfile.gettempdir()) / f"drawlib_{uid_suffix}" / "playwright_install.lock")
53
+ return candidates
54
+
55
+
56
+ @contextlib.contextmanager
57
+ def _browser_install_lock() -> Iterator[None]:
58
+ """Serialize concurrent headless Chromium downloads across threads and processes."""
59
+ with _INSTALL_THREAD_LOCK:
60
+ lock_handle = None
61
+ for lock_path in _resolve_lock_file_paths():
62
+ try:
63
+ lock_path.parent.mkdir(parents=True, exist_ok=True)
64
+ lock_handle = lock_path.open("a+", encoding="utf-8")
65
+ break
66
+ except OSError:
67
+ continue
68
+
69
+ if lock_handle is None:
70
+ yield
71
+ return
72
+
73
+ locked = False
74
+ try:
75
+ with contextlib.suppress(ImportError, OSError):
76
+ import fcntl
77
+
78
+ fcntl.flock(lock_handle.fileno(), fcntl.LOCK_EX)
79
+ locked = True
80
+ yield
81
+ finally:
82
+ if locked:
83
+ with contextlib.suppress(ImportError, OSError):
84
+ import fcntl
85
+
86
+ fcntl.flock(lock_handle.fileno(), fcntl.LOCK_UN)
87
+ with contextlib.suppress(OSError):
88
+ lock_handle.close()
89
+
90
+
91
+ def _is_missing_browser_executable_error(err: BaseException) -> bool:
92
+ """Return True if Playwright failed because the browser binary is not downloaded yet."""
93
+ err_lower = str(err).lower()
94
+ return (
95
+ "executable doesn't exist" in err_lower
96
+ or "looks like playwright was just installed or updated" in err_lower
97
+ )
98
+
99
+
100
+ def _is_missing_system_deps_error(err: BaseException) -> bool:
101
+ """Return True if Chromium failed due to missing Linux OS shared libraries."""
102
+ err_lower = str(err).lower()
103
+ return any(
104
+ marker in err_lower
105
+ for marker in (
106
+ "host system is missing dependencies",
107
+ "error while loading shared libraries",
108
+ "cannot open shared object file",
109
+ "install-deps",
110
+ )
111
+ )
112
+
113
+
114
+ def _format_missing_playwright_error(context_label: str) -> str:
115
+ """Format an actionable error message when the playwright Python package is missing."""
116
+ return (
117
+ f"\n[{context_label} Error]\n"
118
+ f"{context_label} requires the 'playwright' package.\n\n"
119
+ "Reinstall drawlib or install Playwright:\n"
120
+ " - For uv users:\n"
121
+ " uv sync\n"
122
+ " (or: uv add playwright)\n\n"
123
+ " - For pip users:\n"
124
+ " pip install drawlib\n"
125
+ " (or: pip install playwright)\n"
126
+ )
127
+
128
+
129
+ def _format_missing_system_deps_error(context_label: str, err: BaseException) -> str:
130
+ """Format an actionable error message for CI / minimal Linux containers missing OS libraries."""
131
+ return (
132
+ f"\n[{context_label} Error]\n"
133
+ "Headless Chromium could not start because required OS shared libraries are missing\n"
134
+ "(common in minimal Linux containers and CI pipelines).\n\n"
135
+ "Install the required system dependencies (requires root/sudo privileges):\n"
136
+ " - For uv users:\n"
137
+ " uv run playwright install --with-deps chromium\n"
138
+ " (or OS libraries only: uv run playwright install-deps chromium)\n\n"
139
+ " - For pip / Docker users:\n"
140
+ " playwright install --with-deps chromium\n"
141
+ " (or OS libraries only: playwright install-deps chromium)\n\n"
142
+ f"Details:\n{err}"
143
+ )
144
+
145
+
146
+ def _format_missing_browser_error(context_label: str, detail: str = "") -> str:
147
+ """Format an actionable error message when headless Chromium cannot be downloaded."""
148
+ extra = f"\nDetails:\n{detail}\n" if detail else ""
149
+ return (
150
+ f"\n[{context_label} Error]\n"
151
+ "Headless Chromium browser is not installed and could not be downloaded automatically.\n\n"
152
+ "To pre-download headless Chromium manually, run:\n"
153
+ " - Via drawlib CLI:\n"
154
+ " uv run drawlib cache download --browser\n"
155
+ " (or: drawlib cache download --browser)\n\n"
156
+ " - Via Playwright CLI:\n"
157
+ " uv run playwright install --only-shell chromium\n"
158
+ " (or: playwright install --only-shell chromium)\n"
159
+ f"{extra}"
160
+ )
161
+
162
+
163
+ def import_sync_playwright(
164
+ context_label: str = "PDF Export",
165
+ ) -> Callable[[], PlaywrightContextManager]:
166
+ """Lazily import and return `playwright.sync_api.sync_playwright`.
167
+
168
+ Args:
169
+ context_label (str): Human-readable feature name for error messages.
170
+
171
+ Returns:
172
+ Callable[[], PlaywrightContextManager]: Playwright sync context manager factory.
173
+
174
+ Raises:
175
+ RuntimeError: If the `playwright` package is not installed.
176
+ """
177
+ try:
178
+ from playwright.sync_api import sync_playwright
179
+ except ImportError as err:
180
+ raise RuntimeError(_format_missing_playwright_error(context_label)) from err
181
+ return sync_playwright
182
+
183
+
184
+ def install_headless_chromium(context_label: str = "Browser Setup") -> None:
185
+ """Download Playwright's lightweight `chromium-headless-shell` via its bundled driver.
186
+
187
+ Args:
188
+ context_label (str): Human-readable feature name for error messages.
189
+
190
+ Raises:
191
+ RuntimeError: If Playwright is missing, driver binaries are invalid, or download fails.
192
+ """
193
+ try:
194
+ from playwright._impl._driver import ( # noqa: PLC2701
195
+ compute_driver_executable,
196
+ get_driver_env,
197
+ )
198
+ except ImportError as err:
199
+ raise RuntimeError(_format_missing_playwright_error(context_label)) from err
200
+
201
+ driver_executable, driver_cli = compute_driver_executable()
202
+ exec_path = Path(driver_executable).resolve()
203
+ cli_path = Path(driver_cli).resolve()
204
+ if not exec_path.is_file() or not cli_path.is_file():
205
+ detail = f"Playwright driver executable not found ({exec_path}, {cli_path})."
206
+ raise RuntimeError(_format_missing_browser_error(context_label, detail=detail))
207
+
208
+ with _browser_install_lock():
209
+ logger.info("Downloading headless Chromium browser (first-time setup)...")
210
+ proc = subprocess.run( # noqa: S603
211
+ [str(exec_path), str(cli_path), *_INSTALL_ARGS],
212
+ env=get_driver_env(),
213
+ capture_output=True,
214
+ text=True,
215
+ check=False,
216
+ )
217
+ if proc.returncode != 0:
218
+ output = (proc.stderr or proc.stdout or "").strip()
219
+ detail = output or f"Playwright driver exited with status code {proc.returncode}."
220
+ raise RuntimeError(_format_missing_browser_error(context_label, detail=detail))
221
+ logger.info("Headless Chromium browser is ready.")
222
+
223
+
224
+ def launch_headless_chromium(
225
+ playwright: Playwright,
226
+ *,
227
+ args: Sequence[str] | None = None,
228
+ auto_install: bool = True,
229
+ context_label: str = "PDF Export",
230
+ ) -> Browser:
231
+ """Launch headless Chromium, automatically downloading `chromium-headless-shell` on first use.
232
+
233
+ Args:
234
+ playwright (Playwright): Active Playwright instance from `sync_playwright()`.
235
+ args (Sequence[str] | None): Chromium launch flags. Uses font-hinting defaults when None.
236
+ auto_install (bool): Automatically download `chromium-headless-shell` if missing.
237
+ context_label (str): Human-readable feature name for error messages.
238
+
239
+ Returns:
240
+ Browser: Launched headless Chromium browser instance.
241
+
242
+ Raises:
243
+ RuntimeError: If browser launch or on-demand installation fails.
244
+ """
245
+ launch_args = list(args) if args is not None else list(_DEFAULT_CHROMIUM_ARGS)
246
+ try:
247
+ return playwright.chromium.launch(headless=True, args=launch_args)
248
+ except Exception as err:
249
+ if _is_missing_system_deps_error(err):
250
+ raise RuntimeError(_format_missing_system_deps_error(context_label, err)) from err
251
+ if not _is_missing_browser_executable_error(err):
252
+ raise RuntimeError(f"Failed to launch Chromium browser: {err}") from err
253
+ if not auto_install:
254
+ raise RuntimeError(_format_missing_browser_error(context_label, detail=str(err))) from err
255
+
256
+ install_headless_chromium(context_label=context_label)
257
+
258
+ try:
259
+ return playwright.chromium.launch(headless=True, args=launch_args)
260
+ except Exception as retry_err:
261
+ if _is_missing_system_deps_error(retry_err):
262
+ raise RuntimeError(_format_missing_system_deps_error(context_label, retry_err)) from retry_err
263
+ if _is_missing_browser_executable_error(retry_err):
264
+ raise RuntimeError(
265
+ _format_missing_browser_error(context_label, detail=str(retry_err))
266
+ ) from retry_err
267
+ raise RuntimeError(f"Failed to launch Chromium browser: {retry_err}") from retry_err