ui.py 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. import os
  2. __all__ = [
  3. 'deprecated',
  4. 'element',
  5. 'aggrid',
  6. 'audio',
  7. 'avatar',
  8. 'badge',
  9. 'button',
  10. 'card',
  11. 'card_actions',
  12. 'card_section',
  13. 'chart',
  14. 'chat_message',
  15. 'checkbox',
  16. 'color_input',
  17. 'color_picker',
  18. 'colors',
  19. 'column',
  20. 'dark_mode',
  21. 'date',
  22. 'dialog',
  23. 'expansion',
  24. 'grid',
  25. 'html',
  26. 'icon',
  27. 'image',
  28. 'input',
  29. 'interactive_image',
  30. 'joystick',
  31. 'keyboard',
  32. 'knob',
  33. 'label',
  34. 'link',
  35. 'link_target',
  36. 'log',
  37. 'markdown',
  38. 'menu',
  39. 'menu_item',
  40. 'mermaid',
  41. 'number',
  42. 'circular_progress',
  43. 'linear_progress',
  44. 'query',
  45. 'radio',
  46. 'row',
  47. 'scene',
  48. 'scroll_area',
  49. 'select',
  50. 'separator',
  51. 'slider',
  52. 'spinner',
  53. 'splitter',
  54. 'step',
  55. 'stepper',
  56. 'stepper_navigation',
  57. 'switch',
  58. 'table',
  59. 'tab',
  60. 'tab_panel',
  61. 'tab_panels',
  62. 'tabs',
  63. 'textarea',
  64. 'time',
  65. 'toggle',
  66. 'tooltip',
  67. 'tree',
  68. 'upload',
  69. 'video',
  70. 'download',
  71. 'add_body_html',
  72. 'add_head_html',
  73. 'run_javascript',
  74. 'notify',
  75. 'open',
  76. 'refreshable',
  77. 'timer',
  78. 'update',
  79. 'page',
  80. 'drawer',
  81. 'footer',
  82. 'header',
  83. 'left_drawer',
  84. 'page_sticky',
  85. 'right_drawer',
  86. 'run',
  87. 'run_with',
  88. ]
  89. from .deprecation import deprecated
  90. from .element import Element as element
  91. from .elements.aggrid import AgGrid as aggrid
  92. from .elements.audio import Audio as audio
  93. from .elements.avatar import Avatar as avatar
  94. from .elements.badge import Badge as badge
  95. from .elements.button import Button as button
  96. from .elements.card import Card as card
  97. from .elements.card import CardActions as card_actions
  98. from .elements.card import CardSection as card_section
  99. from .elements.chart import Chart as chart
  100. from .elements.chat_message import ChatMessage as chat_message
  101. from .elements.checkbox import Checkbox as checkbox
  102. from .elements.color_input import ColorInput as color_input
  103. from .elements.color_picker import ColorPicker as color_picker
  104. from .elements.colors import Colors as colors
  105. from .elements.column import Column as column
  106. from .elements.dark_mode import DarkMode as dark_mode
  107. from .elements.date import Date as date
  108. from .elements.dialog import Dialog as dialog
  109. from .elements.expansion import Expansion as expansion
  110. from .elements.grid import Grid as grid
  111. from .elements.html import Html as html
  112. from .elements.icon import Icon as icon
  113. from .elements.image import Image as image
  114. from .elements.input import Input as input
  115. from .elements.interactive_image import InteractiveImage as interactive_image
  116. from .elements.joystick import Joystick as joystick
  117. from .elements.keyboard import Keyboard as keyboard
  118. from .elements.knob import Knob as knob
  119. from .elements.label import Label as label
  120. from .elements.link import Link as link
  121. from .elements.link import LinkTarget as link_target
  122. from .elements.log import Log as log
  123. from .elements.markdown import Markdown as markdown
  124. from .elements.menu import Menu as menu
  125. from .elements.menu import MenuItem as menu_item
  126. from .elements.mermaid import Mermaid as mermaid
  127. from .elements.number import Number as number
  128. from .elements.progress import CircularProgress as circular_progress
  129. from .elements.progress import LinearProgress as linear_progress
  130. from .elements.query import query
  131. from .elements.radio import Radio as radio
  132. from .elements.row import Row as row
  133. from .elements.scene import Scene as scene
  134. from .elements.scroll_area import ScrollArea as scroll_area
  135. from .elements.select import Select as select
  136. from .elements.separator import Separator as separator
  137. from .elements.slider import Slider as slider
  138. from .elements.spinner import Spinner as spinner
  139. from .elements.splitter import Splitter as splitter
  140. from .elements.stepper import Step as step
  141. from .elements.stepper import Stepper as stepper
  142. from .elements.stepper import StepperNavigation as stepper_navigation
  143. from .elements.switch import Switch as switch
  144. from .elements.table import Table as table
  145. from .elements.tabs import Tab as tab
  146. from .elements.tabs import TabPanel as tab_panel
  147. from .elements.tabs import TabPanels as tab_panels
  148. from .elements.tabs import Tabs as tabs
  149. from .elements.textarea import Textarea as textarea
  150. from .elements.time import Time as time
  151. from .elements.toggle import Toggle as toggle
  152. from .elements.tooltip import Tooltip as tooltip
  153. from .elements.tree import Tree as tree
  154. from .elements.upload import Upload as upload
  155. from .elements.video import Video as video
  156. from .functions.download import download
  157. from .functions.html import add_body_html, add_head_html
  158. from .functions.javascript import run_javascript
  159. from .functions.notify import notify
  160. from .functions.open import open
  161. from .functions.refreshable import refreshable
  162. from .functions.timer import Timer as timer
  163. from .functions.update import update
  164. from .page import page
  165. from .page_layout import Drawer as drawer
  166. from .page_layout import Footer as footer
  167. from .page_layout import Header as header
  168. from .page_layout import LeftDrawer as left_drawer
  169. from .page_layout import PageSticky as page_sticky
  170. from .page_layout import RightDrawer as right_drawer
  171. from .run import run
  172. from .run_with import run_with
  173. from .globals import optional_features
  174. try:
  175. from .elements.plotly import Plotly as plotly
  176. optional_features.append('plotly')
  177. except ImportError:
  178. def plotly(*args, **kwargs):
  179. raise ImportError('Plotly is not installed. Please run "pip install plotly".')
  180. __all__.append('plotly')
  181. if os.environ.get('MATPLOTLIB', 'true').lower() == 'true':
  182. try:
  183. from .elements.line_plot import LinePlot as line_plot
  184. from .elements.pyplot import Pyplot as pyplot
  185. plot = deprecated(pyplot, 'ui.plot', 'ui.pyplot', 317)
  186. optional_features.append('matplotlib')
  187. except ImportError:
  188. def line_plot(*args, **kwargs):
  189. raise ImportError('Matplotlib is not installed. Please run "pip install matplotlib".')
  190. def pyplot(*args, **kwargs):
  191. raise ImportError('Matplotlib is not installed. Please run "pip install matplotlib".')
  192. def plot(*args, **kwargs):
  193. raise ImportError('Matplotlib is not installed. Please run "pip install matplotlib".')
  194. __all__.extend(['line_plot', 'pyplot', 'plot'])