aerolith 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (360) hide show
  1. aerolith-1.0.0/.gitignore +31 -0
  2. aerolith-1.0.0/LICENSE +25 -0
  3. aerolith-1.0.0/PKG-INFO +55 -0
  4. aerolith-1.0.0/README.md +36 -0
  5. aerolith-1.0.0/pyproject.toml +36 -0
  6. aerolith-1.0.0/src/aerolith/__init__.py +28 -0
  7. aerolith-1.0.0/src/aerolith/static/aerolith/aerolith.css +1766 -0
  8. aerolith-1.0.0/src/aerolith/static/aerolith/aerolith.js +133 -0
  9. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/badge-error@1x.png +0 -0
  10. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/badge-error@2x.png +0 -0
  11. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/badge-error@3x.png +0 -0
  12. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/badge-info@1x.png +0 -0
  13. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/badge-info@2x.png +0 -0
  14. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/badge-info@3x.png +0 -0
  15. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/badge-ok@1x.png +0 -0
  16. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/badge-ok@2x.png +0 -0
  17. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/badge-ok@3x.png +0 -0
  18. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/badge-warn@1x.png +0 -0
  19. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/badge-warn@2x.png +0 -0
  20. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/badge-warn@3x.png +0 -0
  21. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/bar.dark@1x.png +0 -0
  22. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/bar.dark@2x.png +0 -0
  23. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/bar.dark@3x.png +0 -0
  24. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/bar@1x.png +0 -0
  25. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/bar@2x.png +0 -0
  26. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/bar@3x.png +0 -0
  27. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-disabled-l@1x.png +0 -0
  28. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-disabled-l@2x.png +0 -0
  29. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-disabled-l@3x.png +0 -0
  30. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-disabled-m@1x.png +0 -0
  31. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-disabled-m@2x.png +0 -0
  32. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-disabled-m@3x.png +0 -0
  33. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-disabled-s@1x.png +0 -0
  34. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-disabled-s@2x.png +0 -0
  35. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-disabled-s@3x.png +0 -0
  36. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-l-active.dark@1x.png +0 -0
  37. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-l-active.dark@2x.png +0 -0
  38. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-l-active.dark@3x.png +0 -0
  39. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-l-active@1x.png +0 -0
  40. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-l-active@2x.png +0 -0
  41. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-l-active@3x.png +0 -0
  42. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-l-hover.dark@1x.png +0 -0
  43. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-l-hover.dark@2x.png +0 -0
  44. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-l-hover.dark@3x.png +0 -0
  45. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-l-hover@1x.png +0 -0
  46. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-l-hover@2x.png +0 -0
  47. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-l-hover@3x.png +0 -0
  48. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-l.dark@1x.png +0 -0
  49. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-l.dark@2x.png +0 -0
  50. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-l.dark@3x.png +0 -0
  51. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-l@1x.png +0 -0
  52. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-l@2x.png +0 -0
  53. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-l@3x.png +0 -0
  54. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-m-active.dark@1x.png +0 -0
  55. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-m-active.dark@2x.png +0 -0
  56. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-m-active.dark@3x.png +0 -0
  57. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-m-active@1x.png +0 -0
  58. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-m-active@2x.png +0 -0
  59. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-m-active@3x.png +0 -0
  60. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-m-hover.dark@1x.png +0 -0
  61. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-m-hover.dark@2x.png +0 -0
  62. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-m-hover.dark@3x.png +0 -0
  63. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-m-hover@1x.png +0 -0
  64. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-m-hover@2x.png +0 -0
  65. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-m-hover@3x.png +0 -0
  66. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-m.dark@1x.png +0 -0
  67. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-m.dark@2x.png +0 -0
  68. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-m.dark@3x.png +0 -0
  69. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-m@1x.png +0 -0
  70. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-m@2x.png +0 -0
  71. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-m@3x.png +0 -0
  72. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-s-active.dark@1x.png +0 -0
  73. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-s-active.dark@2x.png +0 -0
  74. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-s-active.dark@3x.png +0 -0
  75. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-s-active@1x.png +0 -0
  76. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-s-active@2x.png +0 -0
  77. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-s-active@3x.png +0 -0
  78. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-s-hover.dark@1x.png +0 -0
  79. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-s-hover.dark@2x.png +0 -0
  80. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-s-hover.dark@3x.png +0 -0
  81. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-s-hover@1x.png +0 -0
  82. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-s-hover@2x.png +0 -0
  83. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-s-hover@3x.png +0 -0
  84. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-s.dark@1x.png +0 -0
  85. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-s.dark@2x.png +0 -0
  86. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-s.dark@3x.png +0 -0
  87. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-s@1x.png +0 -0
  88. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-s@2x.png +0 -0
  89. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-glass-s@3x.png +0 -0
  90. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-l-active@1x.png +0 -0
  91. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-l-active@2x.png +0 -0
  92. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-l-active@3x.png +0 -0
  93. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-l-hover@1x.png +0 -0
  94. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-l-hover@2x.png +0 -0
  95. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-l-hover@3x.png +0 -0
  96. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-l@1x.png +0 -0
  97. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-l@2x.png +0 -0
  98. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-l@3x.png +0 -0
  99. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-m-active@1x.png +0 -0
  100. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-m-active@2x.png +0 -0
  101. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-m-active@3x.png +0 -0
  102. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-m-hover@1x.png +0 -0
  103. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-m-hover@2x.png +0 -0
  104. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-m-hover@3x.png +0 -0
  105. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-m@1x.png +0 -0
  106. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-m@2x.png +0 -0
  107. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-m@3x.png +0 -0
  108. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-s-active@1x.png +0 -0
  109. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-s-active@2x.png +0 -0
  110. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-s-active@3x.png +0 -0
  111. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-s-hover@1x.png +0 -0
  112. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-s-hover@2x.png +0 -0
  113. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-s-hover@3x.png +0 -0
  114. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-s@1x.png +0 -0
  115. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-s@2x.png +0 -0
  116. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-primary-s@3x.png +0 -0
  117. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-l-active@1x.png +0 -0
  118. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-l-active@2x.png +0 -0
  119. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-l-active@3x.png +0 -0
  120. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-l-hover@1x.png +0 -0
  121. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-l-hover@2x.png +0 -0
  122. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-l-hover@3x.png +0 -0
  123. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-l@1x.png +0 -0
  124. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-l@2x.png +0 -0
  125. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-l@3x.png +0 -0
  126. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-m-active@1x.png +0 -0
  127. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-m-active@2x.png +0 -0
  128. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-m-active@3x.png +0 -0
  129. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-m-hover@1x.png +0 -0
  130. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-m-hover@2x.png +0 -0
  131. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-m-hover@3x.png +0 -0
  132. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-m@1x.png +0 -0
  133. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-m@2x.png +0 -0
  134. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-m@3x.png +0 -0
  135. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-s-active@1x.png +0 -0
  136. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-s-active@2x.png +0 -0
  137. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-s-active@3x.png +0 -0
  138. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-s-hover@1x.png +0 -0
  139. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-s-hover@2x.png +0 -0
  140. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-s-hover@3x.png +0 -0
  141. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-s@1x.png +0 -0
  142. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-s@2x.png +0 -0
  143. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/btn-secondary-s@3x.png +0 -0
  144. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/card-hover.dark@1x.png +0 -0
  145. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/card-hover.dark@2x.png +0 -0
  146. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/card-hover.dark@3x.png +0 -0
  147. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/card-hover@1x.png +0 -0
  148. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/card-hover@2x.png +0 -0
  149. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/card-hover@3x.png +0 -0
  150. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/card.dark@1x.png +0 -0
  151. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/card.dark@2x.png +0 -0
  152. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/card.dark@3x.png +0 -0
  153. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/card@1x.png +0 -0
  154. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/card@2x.png +0 -0
  155. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/card@3x.png +0 -0
  156. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/check-mixed.dark@1x.png +0 -0
  157. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/check-mixed.dark@2x.png +0 -0
  158. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/check-mixed.dark@3x.png +0 -0
  159. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/check-mixed@1x.png +0 -0
  160. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/check-mixed@2x.png +0 -0
  161. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/check-mixed@3x.png +0 -0
  162. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/check-on.dark@1x.png +0 -0
  163. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/check-on.dark@2x.png +0 -0
  164. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/check-on.dark@3x.png +0 -0
  165. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/check-on@1x.png +0 -0
  166. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/check-on@2x.png +0 -0
  167. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/check-on@3x.png +0 -0
  168. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/check.dark@1x.png +0 -0
  169. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/check.dark@2x.png +0 -0
  170. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/check.dark@3x.png +0 -0
  171. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/check@1x.png +0 -0
  172. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/check@2x.png +0 -0
  173. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/check@3x.png +0 -0
  174. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/choice-on.dark@1x.png +0 -0
  175. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/choice-on.dark@2x.png +0 -0
  176. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/choice-on.dark@3x.png +0 -0
  177. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/choice-on@1x.png +0 -0
  178. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/choice-on@2x.png +0 -0
  179. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/choice-on@3x.png +0 -0
  180. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/close-hover@1x.png +0 -0
  181. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/close-hover@2x.png +0 -0
  182. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/close-hover@3x.png +0 -0
  183. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/close@1x.png +0 -0
  184. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/close@2x.png +0 -0
  185. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/close@3x.png +0 -0
  186. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/compare-grip@1x.png +0 -0
  187. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/compare-grip@2x.png +0 -0
  188. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/compare-grip@3x.png +0 -0
  189. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/dialog.dark@1x.png +0 -0
  190. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/dialog.dark@2x.png +0 -0
  191. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/dialog.dark@3x.png +0 -0
  192. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/dialog@1x.png +0 -0
  193. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/dialog@2x.png +0 -0
  194. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/dialog@3x.png +0 -0
  195. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/drop-over.dark@1x.png +0 -0
  196. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/drop-over.dark@2x.png +0 -0
  197. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/drop-over.dark@3x.png +0 -0
  198. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/drop-over@1x.png +0 -0
  199. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/drop-over@2x.png +0 -0
  200. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/drop-over@3x.png +0 -0
  201. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/drop.dark@1x.png +0 -0
  202. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/drop.dark@2x.png +0 -0
  203. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/drop.dark@3x.png +0 -0
  204. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/drop@1x.png +0 -0
  205. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/drop@2x.png +0 -0
  206. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/drop@3x.png +0 -0
  207. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/field-focus.dark@1x.png +0 -0
  208. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/field-focus.dark@2x.png +0 -0
  209. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/field-focus.dark@3x.png +0 -0
  210. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/field-focus@1x.png +0 -0
  211. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/field-focus@2x.png +0 -0
  212. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/field-focus@3x.png +0 -0
  213. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/field.dark@1x.png +0 -0
  214. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/field.dark@2x.png +0 -0
  215. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/field.dark@3x.png +0 -0
  216. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/field@1x.png +0 -0
  217. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/field@2x.png +0 -0
  218. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/field@3x.png +0 -0
  219. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-glass-active.dark@1x.png +0 -0
  220. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-glass-active.dark@2x.png +0 -0
  221. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-glass-active.dark@3x.png +0 -0
  222. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-glass-active@1x.png +0 -0
  223. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-glass-active@2x.png +0 -0
  224. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-glass-active@3x.png +0 -0
  225. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-glass-hover.dark@1x.png +0 -0
  226. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-glass-hover.dark@2x.png +0 -0
  227. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-glass-hover.dark@3x.png +0 -0
  228. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-glass-hover@1x.png +0 -0
  229. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-glass-hover@2x.png +0 -0
  230. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-glass-hover@3x.png +0 -0
  231. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-glass.dark@1x.png +0 -0
  232. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-glass.dark@2x.png +0 -0
  233. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-glass.dark@3x.png +0 -0
  234. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-glass@1x.png +0 -0
  235. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-glass@2x.png +0 -0
  236. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-glass@3x.png +0 -0
  237. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-primary-active@1x.png +0 -0
  238. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-primary-active@2x.png +0 -0
  239. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-primary-active@3x.png +0 -0
  240. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-primary-hover@1x.png +0 -0
  241. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-primary-hover@2x.png +0 -0
  242. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-primary-hover@3x.png +0 -0
  243. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-primary@1x.png +0 -0
  244. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-primary@2x.png +0 -0
  245. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/iconbtn-primary@3x.png +0 -0
  246. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/icons-16@1x.png +0 -0
  247. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/icons-16@2x.png +0 -0
  248. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/icons-16@3x.png +0 -0
  249. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/icons-24@1x.png +0 -0
  250. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/icons-24@2x.png +0 -0
  251. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/icons-24@3x.png +0 -0
  252. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/lens.dark@1x.png +0 -0
  253. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/lens.dark@2x.png +0 -0
  254. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/lens.dark@3x.png +0 -0
  255. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/lens@1x.png +0 -0
  256. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/lens@2x.png +0 -0
  257. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/lens@3x.png +0 -0
  258. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/orb-error@1x.png +0 -0
  259. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/orb-error@2x.png +0 -0
  260. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/orb-error@3x.png +0 -0
  261. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/orb-info@1x.png +0 -0
  262. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/orb-info@2x.png +0 -0
  263. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/orb-info@3x.png +0 -0
  264. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/orb-ok@1x.png +0 -0
  265. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/orb-ok@2x.png +0 -0
  266. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/orb-ok@3x.png +0 -0
  267. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/orb-warn@1x.png +0 -0
  268. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/orb-warn@2x.png +0 -0
  269. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/orb-warn@3x.png +0 -0
  270. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/panel.dark@1x.png +0 -0
  271. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/panel.dark@2x.png +0 -0
  272. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/panel.dark@3x.png +0 -0
  273. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/panel@1x.png +0 -0
  274. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/panel@2x.png +0 -0
  275. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/panel@3x.png +0 -0
  276. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/progress-fill@1x.png +0 -0
  277. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/progress-fill@2x.png +0 -0
  278. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/progress-fill@3x.png +0 -0
  279. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/progress-tube.dark@1x.png +0 -0
  280. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/progress-tube.dark@2x.png +0 -0
  281. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/progress-tube.dark@3x.png +0 -0
  282. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/progress-tube@1x.png +0 -0
  283. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/progress-tube@2x.png +0 -0
  284. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/progress-tube@3x.png +0 -0
  285. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/radio-on.dark@1x.png +0 -0
  286. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/radio-on.dark@2x.png +0 -0
  287. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/radio-on.dark@3x.png +0 -0
  288. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/radio-on@1x.png +0 -0
  289. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/radio-on@2x.png +0 -0
  290. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/radio-on@3x.png +0 -0
  291. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/radio.dark@1x.png +0 -0
  292. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/radio.dark@2x.png +0 -0
  293. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/radio.dark@3x.png +0 -0
  294. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/radio@1x.png +0 -0
  295. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/radio@2x.png +0 -0
  296. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/radio@3x.png +0 -0
  297. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/rail-error@1x.png +0 -0
  298. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/rail-error@2x.png +0 -0
  299. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/rail-error@3x.png +0 -0
  300. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/rail-info@1x.png +0 -0
  301. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/rail-info@2x.png +0 -0
  302. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/rail-info@3x.png +0 -0
  303. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/rail-ok@1x.png +0 -0
  304. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/rail-ok@2x.png +0 -0
  305. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/rail-ok@3x.png +0 -0
  306. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/rail-warn@1x.png +0 -0
  307. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/rail-warn@2x.png +0 -0
  308. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/rail-warn@3x.png +0 -0
  309. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/seg-chip-hover@1x.png +0 -0
  310. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/seg-chip-hover@2x.png +0 -0
  311. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/seg-chip-hover@3x.png +0 -0
  312. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/seg-chip@1x.png +0 -0
  313. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/seg-chip@2x.png +0 -0
  314. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/seg-chip@3x.png +0 -0
  315. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/seg-tray.dark@1x.png +0 -0
  316. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/seg-tray.dark@2x.png +0 -0
  317. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/seg-tray.dark@3x.png +0 -0
  318. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/seg-tray@1x.png +0 -0
  319. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/seg-tray@2x.png +0 -0
  320. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/seg-tray@3x.png +0 -0
  321. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/slider-fill@1x.png +0 -0
  322. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/slider-fill@2x.png +0 -0
  323. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/slider-fill@3x.png +0 -0
  324. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/slider-rail.dark@1x.png +0 -0
  325. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/slider-rail.dark@2x.png +0 -0
  326. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/slider-rail.dark@3x.png +0 -0
  327. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/slider-rail@1x.png +0 -0
  328. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/slider-rail@2x.png +0 -0
  329. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/slider-rail@3x.png +0 -0
  330. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/slider-thumb@1x.png +0 -0
  331. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/slider-thumb@2x.png +0 -0
  332. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/slider-thumb@3x.png +0 -0
  333. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/spin@1x.png +0 -0
  334. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/spin@2x.png +0 -0
  335. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/spin@3x.png +0 -0
  336. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-knob-moon@1x.png +0 -0
  337. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-knob-moon@2x.png +0 -0
  338. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-knob-moon@3x.png +0 -0
  339. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-knob-on@1x.png +0 -0
  340. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-knob-on@2x.png +0 -0
  341. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-knob-on@3x.png +0 -0
  342. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-knob-sun@1x.png +0 -0
  343. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-knob-sun@2x.png +0 -0
  344. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-knob-sun@3x.png +0 -0
  345. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-knob@1x.png +0 -0
  346. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-knob@2x.png +0 -0
  347. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-knob@3x.png +0 -0
  348. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-track-on.dark@1x.png +0 -0
  349. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-track-on.dark@2x.png +0 -0
  350. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-track-on.dark@3x.png +0 -0
  351. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-track-on@1x.png +0 -0
  352. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-track-on@2x.png +0 -0
  353. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-track-on@3x.png +0 -0
  354. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-track.dark@1x.png +0 -0
  355. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-track.dark@2x.png +0 -0
  356. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-track.dark@3x.png +0 -0
  357. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-track@1x.png +0 -0
  358. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-track@2x.png +0 -0
  359. aerolith-1.0.0/src/aerolith/static/aerolith/sprites/toggle-track@3x.png +0 -0
  360. aerolith-1.0.0/src/aerolith/static/aerolith/sprites.json +6049 -0
@@ -0,0 +1,31 @@
1
+ # Whitelist: only the source tree is tracked. build/ (VM rebuild scripts, which hold a product
2
+ # key), media/ (installers), vm/ (disk images), wine/ (prefixes with Bryce) and work/ (renders)
3
+ # are local-only and never committed.
4
+ /*
5
+ !/.gitignore
6
+ !/.github/
7
+ !/README.md
8
+ !/LICENSE
9
+ !/CHANGELOG.md
10
+ !/package.json
11
+ !/composer.json
12
+ !/bry
13
+ !/docs/
14
+ !/harness/
15
+ !/library/
16
+ !/python/
17
+
18
+ # inside the tracked tree
19
+ library/work/
20
+ library/dist/test/
21
+ __pycache__/
22
+ *.pyc
23
+ *.bmp
24
+ *.brc
25
+ !harness/bryce_harness/brc_templates/*.brc
26
+ node_modules/
27
+ *.egg-info/
28
+ python/build/
29
+ python/dist/
30
+ python/src/aerolith/static/
31
+ python/LICENSE
aerolith-1.0.0/LICENSE ADDED
@@ -0,0 +1,25 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Immineal
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.
22
+
23
+ The rendered sprite images in library/dist/ are covered by the same license.
24
+ Bryce is a trademark of its respective owner. This project is not affiliated
25
+ with or endorsed by it, and contains no part of the Bryce software.
@@ -0,0 +1,55 @@
1
+ Metadata-Version: 2.5
2
+ Name: aerolith
3
+ Version: 1.0.0
4
+ Summary: Frutiger Aero UI for the web: the Aerolith CSS and Bryce-rendered sprites as static files for Django, Flask, FastAPI and friends.
5
+ Project-URL: Homepage, https://immineal.github.io/aerolith/
6
+ Project-URL: Source, https://github.com/immineal/aerolith
7
+ Project-URL: Issues, https://github.com/immineal/aerolith/issues
8
+ Author: Immineal
9
+ License-Expression: MIT
10
+ License-File: LICENSE
11
+ Keywords: bryce,css,django,flask,frutiger-aero,static-files,ui
12
+ Classifier: Framework :: Django
13
+ Classifier: Framework :: Flask
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Topic :: Software Development :: User Interfaces
17
+ Requires-Python: >=3.8
18
+ Description-Content-Type: text/markdown
19
+
20
+ # aerolith (Python package)
21
+
22
+ The [Aerolith](https://github.com/immineal/aerolith) CSS, its optional JS and the Bryce-rendered
23
+ sprites, packaged as static files for Python web apps. There is no Python logic beyond telling
24
+ you where the files are.
25
+
26
+ ```sh
27
+ pip install aerolith
28
+ ```
29
+
30
+ **Django:** add `"aerolith"` to `INSTALLED_APPS`, then
31
+
32
+ ```html
33
+ <link rel="stylesheet" href="{% static 'aerolith/aerolith.css' %}">
34
+ <script src="{% static 'aerolith/aerolith.js' %}" defer></script>
35
+ ```
36
+
37
+ **FastAPI / Starlette:**
38
+
39
+ ```python
40
+ from fastapi.staticfiles import StaticFiles
41
+ from aerolith import static_dir
42
+ app.mount("/aerolith", StaticFiles(directory=static_dir()), name="aerolith")
43
+ ```
44
+
45
+ **Flask:**
46
+
47
+ ```python
48
+ from flask import Blueprint
49
+ from aerolith import static_dir
50
+ app.register_blueprint(Blueprint("aerolith", __name__, static_folder=static_dir(),
51
+ static_url_path="/aerolith"))
52
+ ```
53
+
54
+ Then link `/aerolith/aerolith.css`. Components and markup: see the
55
+ [showcase](https://immineal.github.io/aerolith/) and the main README.
@@ -0,0 +1,36 @@
1
+ # aerolith (Python package)
2
+
3
+ The [Aerolith](https://github.com/immineal/aerolith) CSS, its optional JS and the Bryce-rendered
4
+ sprites, packaged as static files for Python web apps. There is no Python logic beyond telling
5
+ you where the files are.
6
+
7
+ ```sh
8
+ pip install aerolith
9
+ ```
10
+
11
+ **Django:** add `"aerolith"` to `INSTALLED_APPS`, then
12
+
13
+ ```html
14
+ <link rel="stylesheet" href="{% static 'aerolith/aerolith.css' %}">
15
+ <script src="{% static 'aerolith/aerolith.js' %}" defer></script>
16
+ ```
17
+
18
+ **FastAPI / Starlette:**
19
+
20
+ ```python
21
+ from fastapi.staticfiles import StaticFiles
22
+ from aerolith import static_dir
23
+ app.mount("/aerolith", StaticFiles(directory=static_dir()), name="aerolith")
24
+ ```
25
+
26
+ **Flask:**
27
+
28
+ ```python
29
+ from flask import Blueprint
30
+ from aerolith import static_dir
31
+ app.register_blueprint(Blueprint("aerolith", __name__, static_folder=static_dir(),
32
+ static_url_path="/aerolith"))
33
+ ```
34
+
35
+ Then link `/aerolith/aerolith.css`. Components and markup: see the
36
+ [showcase](https://immineal.github.io/aerolith/) and the main README.
@@ -0,0 +1,36 @@
1
+ [build-system]
2
+ requires = ["hatchling>=1.24"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "aerolith"
7
+ version = "1.0.0"
8
+ description = "Frutiger Aero UI for the web: the Aerolith CSS and Bryce-rendered sprites as static files for Django, Flask, FastAPI and friends."
9
+ readme = "README.md"
10
+ license = "MIT"
11
+ license-files = ["LICENSE"]
12
+ requires-python = ">=3.8"
13
+ authors = [{ name = "Immineal" }]
14
+ keywords = ["frutiger-aero", "css", "ui", "static-files", "django", "flask", "bryce"]
15
+ classifiers = [
16
+ "Framework :: Django",
17
+ "Framework :: Flask",
18
+ "Topic :: Software Development :: User Interfaces",
19
+ "Programming Language :: Python :: 3",
20
+ "Operating System :: OS Independent",
21
+ ]
22
+
23
+ [project.urls]
24
+ Homepage = "https://immineal.github.io/aerolith/"
25
+ Source = "https://github.com/immineal/aerolith"
26
+ Issues = "https://github.com/immineal/aerolith/issues"
27
+
28
+ [tool.hatch.build]
29
+ # the static files are copied in from library/dist by scripts/stage.py (they are not tracked twice)
30
+ artifacts = ["src/aerolith/static/**"]
31
+
32
+ [tool.hatch.build.targets.wheel]
33
+ packages = ["src/aerolith"]
34
+
35
+ [tool.hatch.build.targets.sdist]
36
+ include = ["src/aerolith", "README.md", "LICENSE"]
@@ -0,0 +1,28 @@
1
+ """Aerolith: Frutiger Aero UI rendered in Bryce 2, packaged as static files.
2
+
3
+ The CSS, the optional JS and the sprites live in ``aerolith/static/aerolith/``:
4
+
5
+ from aerolith import static_dir
6
+ static_dir() / "aerolith.css"
7
+
8
+ Django: add ``"aerolith"`` to INSTALLED_APPS, then ``{% static 'aerolith/aerolith.css' %}``.
9
+ Flask: ``app.add_url_rule`` / a Blueprint with ``static_folder=static_dir()``.
10
+ FastAPI / Starlette: ``app.mount("/aerolith", StaticFiles(directory=static_dir()))``.
11
+ """
12
+ from pathlib import Path
13
+
14
+ __version__ = "1.0.0"
15
+ __all__ = ["static_dir", "css_path", "js_path", "__version__"]
16
+
17
+
18
+ def static_dir() -> Path:
19
+ """Directory holding aerolith.css, aerolith.js and sprites/."""
20
+ return Path(__file__).resolve().parent / "static" / "aerolith"
21
+
22
+
23
+ def css_path() -> Path:
24
+ return static_dir() / "aerolith.css"
25
+
26
+
27
+ def js_path() -> Path:
28
+ return static_dir() / "aerolith.js"