axiom-coding-agent-setup 1.0.9 → 1.0.11

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 (107) hide show
  1. package/.agents/skills/agent-browser/SKILL.md +55 -0
  2. package/.agents/skills/developing-with-streamlit/SKILL.md +220 -0
  3. package/.agents/skills/developing-with-streamlit/skills/building-streamlit-chat-ui/SKILL.md +195 -0
  4. package/.agents/skills/developing-with-streamlit/skills/building-streamlit-custom-components-v2/SKILL.md +233 -0
  5. package/.agents/skills/developing-with-streamlit/skills/building-streamlit-custom-components-v2/references/packaged-components.md +212 -0
  6. package/.agents/skills/developing-with-streamlit/skills/building-streamlit-custom-components-v2/references/state-sync.md +149 -0
  7. package/.agents/skills/developing-with-streamlit/skills/building-streamlit-custom-components-v2/references/theme-css-variables.md +243 -0
  8. package/.agents/skills/developing-with-streamlit/skills/building-streamlit-custom-components-v2/references/troubleshooting.md +121 -0
  9. package/.agents/skills/developing-with-streamlit/skills/building-streamlit-dashboards/SKILL.md +147 -0
  10. package/.agents/skills/developing-with-streamlit/skills/building-streamlit-multipage-apps/SKILL.md +218 -0
  11. package/.agents/skills/developing-with-streamlit/skills/choosing-streamlit-selection-widgets/SKILL.md +139 -0
  12. package/.agents/skills/developing-with-streamlit/skills/connecting-streamlit-to-snowflake/SKILL.md +188 -0
  13. package/.agents/skills/developing-with-streamlit/skills/creating-streamlit-themes/SKILL.md +486 -0
  14. package/.agents/skills/developing-with-streamlit/skills/displaying-streamlit-data/SKILL.md +199 -0
  15. package/.agents/skills/developing-with-streamlit/skills/improving-streamlit-design/SKILL.md +191 -0
  16. package/.agents/skills/developing-with-streamlit/skills/optimizing-streamlit-performance/SKILL.md +323 -0
  17. package/.agents/skills/developing-with-streamlit/skills/organizing-streamlit-code/SKILL.md +91 -0
  18. package/.agents/skills/developing-with-streamlit/skills/setting-up-streamlit-environment/SKILL.md +128 -0
  19. package/.agents/skills/developing-with-streamlit/skills/using-streamlit-cli/SKILL.md +165 -0
  20. package/.agents/skills/developing-with-streamlit/skills/using-streamlit-custom-components/SKILL.md +170 -0
  21. package/.agents/skills/developing-with-streamlit/skills/using-streamlit-layouts/SKILL.md +229 -0
  22. package/.agents/skills/developing-with-streamlit/skills/using-streamlit-markdown/SKILL.md +207 -0
  23. package/.agents/skills/developing-with-streamlit/skills/using-streamlit-session-state/SKILL.md +144 -0
  24. package/.agents/skills/developing-with-streamlit/templates/.gitattributes +3 -0
  25. package/.agents/skills/developing-with-streamlit/templates/apps/README.md +188 -0
  26. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-companies/pyproject.toml +12 -0
  27. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-companies/streamlit_app.py +365 -0
  28. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-compute/pyproject.toml +12 -0
  29. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-compute/streamlit_app.py +461 -0
  30. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-compute-snowflake/.streamlit/secrets.toml.example +20 -0
  31. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-compute-snowflake/pyproject.toml +11 -0
  32. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-compute-snowflake/snowflake.yml +18 -0
  33. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-compute-snowflake/streamlit_app.py +527 -0
  34. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-feature-usage/pyproject.toml +12 -0
  35. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-feature-usage/streamlit_app.py +307 -0
  36. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-metrics/pyproject.toml +12 -0
  37. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-metrics/streamlit_app.py +426 -0
  38. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-metrics-snowflake/.streamlit/secrets.toml.example +20 -0
  39. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-metrics-snowflake/pyproject.toml +11 -0
  40. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-metrics-snowflake/snowflake.yml +18 -0
  41. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-metrics-snowflake/streamlit_app.py +463 -0
  42. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-seattle-weather/pyproject.toml +12 -0
  43. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-seattle-weather/streamlit_app.py +252 -0
  44. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-stock-peers/pyproject.toml +12 -0
  45. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-stock-peers/streamlit_app.py +342 -0
  46. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-stock-peers-snowflake/.streamlit/secrets.toml.example +20 -0
  47. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-stock-peers-snowflake/pyproject.toml +11 -0
  48. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-stock-peers-snowflake/snowflake.yml +18 -0
  49. package/.agents/skills/developing-with-streamlit/templates/apps/dashboard-stock-peers-snowflake/streamlit_app.py +384 -0
  50. package/.agents/skills/developing-with-streamlit/templates/themes/README.md +128 -0
  51. package/.agents/skills/developing-with-streamlit/templates/themes/_configs/dracula.toml +39 -0
  52. package/.agents/skills/developing-with-streamlit/templates/themes/_configs/github.toml +37 -0
  53. package/.agents/skills/developing-with-streamlit/templates/themes/_configs/minimal.toml +39 -0
  54. package/.agents/skills/developing-with-streamlit/templates/themes/_configs/nord.toml +39 -0
  55. package/.agents/skills/developing-with-streamlit/templates/themes/_configs/snowflake.toml +42 -0
  56. package/.agents/skills/developing-with-streamlit/templates/themes/_configs/solarized-light.toml +38 -0
  57. package/.agents/skills/developing-with-streamlit/templates/themes/_configs/spotify.toml +34 -0
  58. package/.agents/skills/developing-with-streamlit/templates/themes/_configs/stripe.toml +35 -0
  59. package/.agents/skills/developing-with-streamlit/templates/themes/_shared/streamlit_app.py +336 -0
  60. package/.agents/skills/developing-with-streamlit/templates/themes/_templates/pyproject.toml.tmpl +12 -0
  61. package/.agents/skills/developing-with-streamlit/templates/themes/dracula/.streamlit/config.toml +39 -0
  62. package/.agents/skills/developing-with-streamlit/templates/themes/dracula/pyproject.toml +10 -0
  63. package/.agents/skills/developing-with-streamlit/templates/themes/dracula/streamlit_app.py +337 -0
  64. package/.agents/skills/developing-with-streamlit/templates/themes/github/.streamlit/config.toml +37 -0
  65. package/.agents/skills/developing-with-streamlit/templates/themes/github/pyproject.toml +10 -0
  66. package/.agents/skills/developing-with-streamlit/templates/themes/github/streamlit_app.py +337 -0
  67. package/.agents/skills/developing-with-streamlit/templates/themes/manage.py +332 -0
  68. package/.agents/skills/developing-with-streamlit/templates/themes/minimal/.streamlit/config.toml +39 -0
  69. package/.agents/skills/developing-with-streamlit/templates/themes/minimal/pyproject.toml +10 -0
  70. package/.agents/skills/developing-with-streamlit/templates/themes/minimal/streamlit_app.py +337 -0
  71. package/.agents/skills/developing-with-streamlit/templates/themes/nord/.streamlit/config.toml +39 -0
  72. package/.agents/skills/developing-with-streamlit/templates/themes/nord/pyproject.toml +10 -0
  73. package/.agents/skills/developing-with-streamlit/templates/themes/nord/streamlit_app.py +337 -0
  74. package/.agents/skills/developing-with-streamlit/templates/themes/snowflake/.streamlit/config.toml +42 -0
  75. package/.agents/skills/developing-with-streamlit/templates/themes/snowflake/pyproject.toml +10 -0
  76. package/.agents/skills/developing-with-streamlit/templates/themes/snowflake/streamlit_app.py +337 -0
  77. package/.agents/skills/developing-with-streamlit/templates/themes/solarized-light/.streamlit/config.toml +38 -0
  78. package/.agents/skills/developing-with-streamlit/templates/themes/solarized-light/pyproject.toml +10 -0
  79. package/.agents/skills/developing-with-streamlit/templates/themes/solarized-light/streamlit_app.py +337 -0
  80. package/.agents/skills/developing-with-streamlit/templates/themes/spotify/.streamlit/config.toml +34 -0
  81. package/.agents/skills/developing-with-streamlit/templates/themes/spotify/pyproject.toml +10 -0
  82. package/.agents/skills/developing-with-streamlit/templates/themes/spotify/streamlit_app.py +337 -0
  83. package/.agents/skills/developing-with-streamlit/templates/themes/stripe/.streamlit/config.toml +35 -0
  84. package/.agents/skills/developing-with-streamlit/templates/themes/stripe/pyproject.toml +10 -0
  85. package/.agents/skills/developing-with-streamlit/templates/themes/stripe/streamlit_app.py +337 -0
  86. package/.agents/skills/fastapi/SKILL.md +436 -0
  87. package/.agents/skills/fastapi/references/dependencies.md +142 -0
  88. package/.agents/skills/fastapi/references/other-tools.md +76 -0
  89. package/.agents/skills/fastapi/references/streaming.md +105 -0
  90. package/.agents/skills/frontend-design/LICENSE.txt +177 -0
  91. package/.agents/skills/frontend-design/SKILL.md +42 -0
  92. package/.agents/skills/gradio/SKILL.md +84 -0
  93. package/.agents/skills/gradio/references/api-signatures.md +115 -0
  94. package/.agents/skills/gradio/references/event-listeners.md +130 -0
  95. package/.agents/skills/gradio/references/examples.md +613 -0
  96. package/.agents/skills/ui-ux-pro-max/SKILL.md +659 -0
  97. package/.agents/skills/ui-ux-pro-max/data +1 -0
  98. package/.agents/skills/ui-ux-pro-max/scripts +1 -0
  99. package/.agents/stack.md +187 -187
  100. package/.env.axiom +8 -0
  101. package/AGENTS.md +2 -1
  102. package/README.md +19 -3
  103. package/bin/cli.js +11 -1
  104. package/opencode.json +12 -4
  105. package/package.json +1 -1
  106. package/skills-lock.json +36 -0
  107. package/.agents/skills/n8n-patterns/SKILL.md +0 -272
@@ -0,0 +1,42 @@
1
+ # Snowflake Theme for Streamlit
2
+ # The Data Cloud company aesthetic - clean, professional, icy blue branding
3
+ [theme]
4
+ primaryColor = "#29B5E8"
5
+ backgroundColor = "#ffffff"
6
+ secondaryBackgroundColor = "#f4f9fc"
7
+ codeBackgroundColor = "#e8f4f8"
8
+ textColor = "#11567F"
9
+ linkColor = "#29B5E8"
10
+ borderColor = "#d0e8f2"
11
+ showWidgetBorder = true
12
+ showSidebarBorder = true
13
+ baseRadius = "8px"
14
+ buttonRadius = "8px"
15
+ font = "Inter:https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
16
+ codeFont = "'JetBrains Mono':https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap"
17
+ codeFontSize = "13px"
18
+ codeTextColor = "#11567F"
19
+ baseFontSize = 14
20
+ baseFontWeight = 400
21
+ headingFontSizes = ["32px", "24px", "20px", "16px", "14px", "12px"]
22
+ headingFontWeights = [600, 600, 600, 500, 500, 500]
23
+ linkUnderline = false
24
+ chartCategoricalColors = ["#29B5E8", "#FF8B00", "#36B37E", "#6554C0", "#DE350B", "#11567F", "#FFAB00", "#00A3BF"]
25
+
26
+ # Snowflake color palette
27
+ blueColor = "#29B5E8"
28
+ greenColor = "#36B37E"
29
+ yellowColor = "#FFAB00"
30
+ orangeColor = "#FF8B00"
31
+ redColor = "#DE350B"
32
+ violetColor = "#6554C0"
33
+
34
+ dataframeBorderColor = "#d0e8f2"
35
+ dataframeHeaderBackgroundColor = "#e8f4f8"
36
+
37
+ [theme.sidebar]
38
+ backgroundColor = "#11567F"
39
+ secondaryBackgroundColor = "#174D6A"
40
+ codeBackgroundColor = "#0E4D6B"
41
+ textColor = "#ffffff"
42
+ borderColor = "#1E6D94"
@@ -0,0 +1,38 @@
1
+ # Solarized Light Theme for Streamlit
2
+ # Precision colors designed for readability and reduced eye strain
3
+ [theme]
4
+ primaryColor = "#268bd2"
5
+ backgroundColor = "#fdf6e3"
6
+ secondaryBackgroundColor = "#eee8d5"
7
+ codeBackgroundColor = "#eee8d5"
8
+ textColor = "#657b83"
9
+ linkColor = "#268bd2"
10
+ borderColor = "#93a1a1"
11
+ showWidgetBorder = true
12
+ showSidebarBorder = true
13
+ baseRadius = "4px"
14
+ buttonRadius = "4px"
15
+ font = "'Source Sans 3':https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600;700&display=swap"
16
+ codeFont = "'Source Code Pro':https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400;500&display=swap"
17
+ codeFontSize = "0.875rem"
18
+ codeTextColor = "#586e75"
19
+ baseFontSize = 14
20
+ baseFontWeight = 400
21
+ headingFontSizes = ["32px", "24px", "20px", "16px", "14px", "12px"]
22
+ headingFontWeights = [600, 600, 600, 600, 600, 600]
23
+ linkUnderline = false
24
+ chartCategoricalColors = ["#268bd2", "#2aa198", "#859900", "#b58900", "#cb4b16", "#dc322f", "#d33682"]
25
+
26
+ # Solarized color palette
27
+ blueColor = "#268bd2"
28
+ greenColor = "#859900"
29
+ yellowColor = "#b58900"
30
+ orangeColor = "#cb4b16"
31
+ redColor = "#dc322f"
32
+ violetColor = "#6c71c4"
33
+
34
+ [theme.sidebar]
35
+ backgroundColor = "#eee8d5"
36
+ secondaryBackgroundColor = "#fdf6e3"
37
+ codeBackgroundColor = "#fdf6e3"
38
+ borderColor = "#93a1a1"
@@ -0,0 +1,34 @@
1
+ # Spotify Theme for Streamlit
2
+ # Bold, energetic, high contrast with signature green
3
+ [theme]
4
+ base = "dark"
5
+ primaryColor = "#1DB954"
6
+ backgroundColor = "#191414"
7
+ secondaryBackgroundColor = "#282828"
8
+ codeBackgroundColor = "#282828"
9
+ textColor = "#ffffff"
10
+ linkColor = "#1DB954"
11
+ borderColor = "#404040"
12
+ showWidgetBorder = false
13
+ showSidebarBorder = false
14
+ baseRadius = "8px"
15
+ buttonRadius = "full"
16
+ font = "Inter:https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
17
+ codeFont = "'Fira Code':https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500&display=swap"
18
+ codeFontSize = "0.85rem"
19
+ baseFontSize = 16
20
+ baseFontWeight = 400
21
+ headingFontWeights = [800, 700, 700, 600, 600, 600]
22
+ headingFontSizes = ["48px", "36px", "28px", "22px", "18px", "16px"]
23
+ chartCategoricalColors = ["#1DB954", "#1ED760", "#B3B3B3", "#535353", "#191414", "#FFFFFF", "#509BF5"]
24
+
25
+ # Spotify color palette
26
+ greenColor = "#1DB954"
27
+ blueColor = "#509BF5"
28
+ grayColor = "#B3B3B3"
29
+
30
+ [theme.sidebar]
31
+ backgroundColor = "#000000"
32
+ secondaryBackgroundColor = "#282828"
33
+ codeBackgroundColor = "#282828"
34
+ borderColor = "#333333"
@@ -0,0 +1,35 @@
1
+ # Stripe Theme for Streamlit
2
+ # Polished, professional, modern with signature purple/indigo gradients
3
+ [theme]
4
+ primaryColor = "#635bff"
5
+ backgroundColor = "#ffffff"
6
+ secondaryBackgroundColor = "#f6f9fc"
7
+ codeBackgroundColor = "#f7f9fc"
8
+ textColor = "#425466"
9
+ linkColor = "#635bff"
10
+ borderColor = "#e3e8ee"
11
+ showWidgetBorder = true
12
+ showSidebarBorder = true
13
+ baseRadius = "8px"
14
+ buttonRadius = "8px"
15
+ font = "Inter:https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
16
+ codeFont = "'Source Code Pro':https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400;500&display=swap"
17
+ codeFontSize = "0.85rem"
18
+ codeTextColor = "#425466"
19
+ baseFontSize = 15
20
+ baseFontWeight = 400
21
+ headingFontSizes = ["40px", "32px", "24px", "20px", "16px", "14px"]
22
+ headingFontWeights = [600, 600, 600, 600, 600, 600]
23
+ linkUnderline = false
24
+ chartCategoricalColors = ["#635bff", "#00d4ff", "#0a2540", "#adbdcc", "#80e9ff", "#7a73ff", "#425466"]
25
+
26
+ # Stripe color palette
27
+ violetColor = "#635bff"
28
+ blueColor = "#00d4ff"
29
+ grayColor = "#adbdcc"
30
+
31
+ [theme.sidebar]
32
+ backgroundColor = "#f6f9fc"
33
+ secondaryBackgroundColor = "#ebeef1"
34
+ codeBackgroundColor = "#ebeef1"
35
+ borderColor = "#e3e8ee"
@@ -0,0 +1,336 @@
1
+ """
2
+ Streamlit Element Explorer - Theme Demo
3
+
4
+ A comprehensive single-page app showcasing all major Streamlit components
5
+ with custom theming. Use this to preview how your theme looks across
6
+ different element types.
7
+ """
8
+
9
+ import numpy as np
10
+ import pandas as pd
11
+ import streamlit as st
12
+
13
+ st.set_page_config(page_title="Element Explorer", page_icon="🎨", layout="wide")
14
+
15
+ # Initialize sample data in session state
16
+ if "chart_data" not in st.session_state:
17
+ np.random.seed(42)
18
+ st.session_state.chart_data = pd.DataFrame(
19
+ np.random.randn(20, 3), columns=["a", "b", "c"]
20
+ )
21
+
22
+ chart_data = st.session_state.chart_data
23
+
24
+ st.title("Streamlit Element Explorer")
25
+ st.markdown(
26
+ "Explore how Streamlit's built-in elements look with this theme. "
27
+ "Select a category below to preview different components."
28
+ )
29
+
30
+ # Navigation using segmented_control for better performance
31
+ section = st.segmented_control(
32
+ "Section",
33
+ ["Widgets", "Data", "Charts", "Text", "Layouts", "Chat", "Status"],
34
+ default="Widgets",
35
+ label_visibility="collapsed",
36
+ )
37
+
38
+ st.divider()
39
+
40
+ # -----------------------------------------------------------------------------
41
+ # WIDGETS SECTION
42
+ # -----------------------------------------------------------------------------
43
+ if section == "Widgets":
44
+ st.header("Widgets")
45
+
46
+ # Buttons
47
+ st.subheader("Buttons")
48
+ cols = st.columns(4)
49
+ cols[0].button("Primary", type="primary")
50
+ cols[1].button("Secondary", type="secondary")
51
+ cols[2].button("Tertiary", type="tertiary")
52
+ cols[3].link_button("Link", url="https://streamlit.io", icon=":material/open_in_new:")
53
+
54
+ # Form
55
+ with st.form(key="demo_form"):
56
+ st.subheader("Form")
57
+ form_cols = st.columns(2)
58
+ form_cols[0].text_input("Name", placeholder="Enter your name")
59
+ form_cols[1].text_input("Email", placeholder="you@example.com")
60
+ st.form_submit_button("Submit", type="primary")
61
+
62
+ # Selection widgets
63
+ st.subheader("Selection Widgets")
64
+ sel_cols = st.columns(2)
65
+
66
+ with sel_cols[0]:
67
+ st.checkbox("Checkbox option")
68
+ st.toggle("Toggle switch")
69
+ st.selectbox("Selectbox", options=["Option A", "Option B", "Option C"])
70
+ st.multiselect("Multiselect", options=["Tag 1", "Tag 2", "Tag 3"], default=["Tag 1"])
71
+
72
+ with sel_cols[1]:
73
+ st.radio("Radio buttons", options=["Choice 1", "Choice 2", "Choice 3"], horizontal=True)
74
+ st.pills("Pills", options=["Small", "Medium", "Large"], default="Medium")
75
+ st.segmented_control("Segmented", options=["Day", "Week", "Month"], default="Week")
76
+ st.caption("Feedback widget")
77
+ st.feedback("stars")
78
+
79
+ # Numeric & Sliders
80
+ st.subheader("Numeric Inputs")
81
+ num_cols = st.columns(3)
82
+ num_cols[0].number_input("Number input", value=42)
83
+ num_cols[1].slider("Slider", 0, 100, 50)
84
+ num_cols[2].select_slider("Select slider", options=["XS", "S", "M", "L", "XL"], value="M")
85
+
86
+ # Date/Time
87
+ st.subheader("Date & Time")
88
+ dt_cols = st.columns(2)
89
+ dt_cols[0].date_input("Date input")
90
+ dt_cols[1].time_input("Time input")
91
+
92
+ # Text inputs
93
+ st.subheader("Text Inputs")
94
+ txt_cols = st.columns(2)
95
+ txt_cols[0].text_input("Text input", placeholder="Type something...")
96
+ txt_cols[1].text_area("Text area", placeholder="Longer text goes here...", height=100)
97
+
98
+ # File upload
99
+ st.subheader("File Upload")
100
+ st.file_uploader("Upload a file", type=["csv", "txt", "pdf"])
101
+
102
+ # -----------------------------------------------------------------------------
103
+ # DATA SECTION
104
+ # -----------------------------------------------------------------------------
105
+ elif section == "Data":
106
+ st.header("Data Display")
107
+
108
+ # Metrics
109
+ st.subheader("Metrics")
110
+ m_cols = st.columns(4)
111
+ m_cols[0].metric("Revenue", "$45,231", "+12.5%")
112
+ m_cols[1].metric("Users", "2,847", "+8.2%")
113
+ m_cols[2].metric("Conversion", "3.24%", "-0.4%", delta_color="inverse")
114
+ m_cols[3].metric("Avg. Session", "4m 32s", "+1.2%")
115
+
116
+ st.divider()
117
+
118
+ # Dataframe
119
+ st.subheader("Dataframe")
120
+ df = pd.DataFrame({
121
+ "Name": ["Alice", "Bob", "Charlie", "Diana", "Eve"],
122
+ "Department": ["Engineering", "Sales", "Marketing", "Engineering", "Sales"],
123
+ "Salary": [95000, 78000, 82000, 105000, 71000],
124
+ "Start Date": pd.date_range("2022-01-15", periods=5, freq="3M"),
125
+ "Active": [True, True, False, True, True],
126
+ })
127
+ st.dataframe(
128
+ df,
129
+ hide_index=True,
130
+ column_config={
131
+ "Salary": st.column_config.NumberColumn(format="$%d"),
132
+ "Start Date": st.column_config.DateColumn(format="MMM DD, YYYY"),
133
+ "Active": st.column_config.CheckboxColumn("Active?"),
134
+ },
135
+ )
136
+
137
+ # Table
138
+ st.subheader("Static Table")
139
+ st.table(chart_data.head(5))
140
+
141
+ # JSON
142
+ st.subheader("JSON Display")
143
+ st.json({"name": "Streamlit", "version": "1.41.0", "features": ["themes", "widgets", "charts"]})
144
+
145
+ # -----------------------------------------------------------------------------
146
+ # CHARTS SECTION
147
+ # -----------------------------------------------------------------------------
148
+ elif section == "Charts":
149
+ st.header("Charts")
150
+
151
+ chart_cols = st.columns(2)
152
+
153
+ with chart_cols[0]:
154
+ st.subheader("Line Chart")
155
+ st.line_chart(chart_data, height=250)
156
+
157
+ st.subheader("Bar Chart")
158
+ st.bar_chart(chart_data, height=250)
159
+
160
+ with chart_cols[1]:
161
+ st.subheader("Area Chart")
162
+ st.area_chart(chart_data, height=250)
163
+
164
+ st.subheader("Scatter Chart")
165
+ st.scatter_chart(chart_data, height=250)
166
+
167
+ # -----------------------------------------------------------------------------
168
+ # TEXT SECTION
169
+ # -----------------------------------------------------------------------------
170
+ elif section == "Text":
171
+ st.header("Text Elements")
172
+
173
+ # Headers
174
+ st.subheader("Headers")
175
+ st.title("Title Element")
176
+ st.header("Header Element")
177
+ st.subheader("Subheader Element")
178
+ st.caption("Caption text - smaller, muted")
179
+
180
+ st.divider()
181
+
182
+ # Markdown
183
+ st.subheader("Markdown Formatting")
184
+ st.markdown(
185
+ "**Bold text**, *italic text*, ~~strikethrough~~, "
186
+ "`inline code`, [link](https://streamlit.io)"
187
+ )
188
+ st.markdown("Math: $E = mc^2$ and $\\int_0^\\infty e^{-x^2} dx = \\frac{\\sqrt{\\pi}}{2}$")
189
+ st.markdown("Emojis: 🚀 🎨 📊 ✨ and icons: :material/home: :material/settings:")
190
+
191
+ # Colored text
192
+ st.subheader("Colored Text")
193
+ color_cols = st.columns(3)
194
+ color_cols[0].markdown(":red[Red text] and :orange[Orange text]")
195
+ color_cols[1].markdown(":green[Green text] and :blue[Blue text]")
196
+ color_cols[2].markdown(":violet[Violet text] and :rainbow[Rainbow text]")
197
+
198
+ # Code blocks
199
+ st.subheader("Code Block")
200
+ st.code(
201
+ '''import streamlit as st
202
+
203
+ # Create a themed dashboard
204
+ st.set_page_config(page_title="My App", layout="wide")
205
+ st.title("Hello, Streamlit!")
206
+
207
+ # Display metrics
208
+ col1, col2 = st.columns(2)
209
+ col1.metric("Users", "1,234", "+5%")
210
+ col2.metric("Revenue", "$56K", "+12%")''',
211
+ language="python",
212
+ )
213
+
214
+ # -----------------------------------------------------------------------------
215
+ # LAYOUTS SECTION
216
+ # -----------------------------------------------------------------------------
217
+ elif section == "Layouts":
218
+ st.header("Layout Elements")
219
+
220
+ # Columns
221
+ st.subheader("Columns with Borders")
222
+ layout_cols = st.columns(3, border=True)
223
+ layout_cols[0].write("**Column 1**\n\nFirst column content")
224
+ layout_cols[1].write("**Column 2**\n\nSecond column content")
225
+ layout_cols[2].write("**Column 3**\n\nThird column content")
226
+
227
+ # Tabs
228
+ st.subheader("Tabs")
229
+ tab1, tab2, tab3 = st.tabs(["📈 Chart", "📋 Data", "⚙️ Settings"])
230
+ with tab1:
231
+ st.write("Chart tab content")
232
+ st.line_chart(chart_data["a"], height=150)
233
+ with tab2:
234
+ st.write("Data tab content")
235
+ st.dataframe(chart_data.head(3))
236
+ with tab3:
237
+ st.write("Settings tab content")
238
+ st.checkbox("Enable feature X")
239
+ st.checkbox("Enable feature Y", value=True)
240
+
241
+ # Expander
242
+ st.subheader("Expander")
243
+ with st.expander("Click to expand"):
244
+ st.write("This content is hidden by default.")
245
+ st.image("https://placehold.co/400x200/29B5E8/white?text=Expanded+Content")
246
+
247
+ # Popover
248
+ st.subheader("Popover")
249
+ pop_cols = st.columns(3)
250
+ with pop_cols[0].popover("Open popover", icon=":material/info:"):
251
+ st.write("Popover content here!")
252
+ st.slider("Popover slider", 0, 100, 50)
253
+
254
+ # Container
255
+ st.subheader("Container with Border")
256
+ with st.container(border=True):
257
+ st.write("**Bordered Container**")
258
+ st.write("Content inside a container with a visible border.")
259
+ st.button("Button inside container")
260
+
261
+ # -----------------------------------------------------------------------------
262
+ # CHAT SECTION
263
+ # -----------------------------------------------------------------------------
264
+ elif section == "Chat":
265
+ st.header("Chat Elements")
266
+
267
+ # Chat messages
268
+ st.subheader("Chat Messages")
269
+ with st.chat_message("user"):
270
+ st.write("Hello! How can I analyze my sales data?")
271
+
272
+ with st.chat_message("assistant"):
273
+ st.write("I can help you with that! Here are a few options:")
274
+ st.markdown("""
275
+ 1. **Revenue trends** - View monthly/quarterly patterns
276
+ 2. **Top products** - Identify best sellers
277
+ 3. **Customer segments** - Analyze by region or category
278
+ """)
279
+
280
+ with st.chat_message("user"):
281
+ st.write("Show me the revenue trends please.")
282
+
283
+ with st.chat_message("assistant"):
284
+ st.write("Here's your revenue trend for the past 20 periods:")
285
+ st.line_chart(chart_data["a"], height=200)
286
+
287
+ # Chat input
288
+ st.chat_input("Type a message...")
289
+
290
+ # -----------------------------------------------------------------------------
291
+ # STATUS SECTION
292
+ # -----------------------------------------------------------------------------
293
+ elif section == "Status":
294
+ st.header("Status Elements")
295
+
296
+ # Alert messages
297
+ st.subheader("Alert Messages")
298
+ st.error("Error: Something went wrong with the data pipeline.")
299
+ st.warning("Warning: API rate limit approaching (80% used).")
300
+ st.info("Info: New features available in the latest release.")
301
+ st.success("Success: Data exported successfully to warehouse.")
302
+
303
+ # Exception
304
+ st.subheader("Exception Display")
305
+ try:
306
+ raise ValueError("This is an example exception for demonstration")
307
+ except ValueError as e:
308
+ st.exception(e)
309
+
310
+ # Interactive status
311
+ st.subheader("Interactive Status")
312
+ status_cols = st.columns(3)
313
+ if status_cols[0].button("Show Toast", icon=":material/notifications:"):
314
+ st.toast("This is a toast notification!", icon="🔔")
315
+ if status_cols[1].button("Balloons", icon=":material/celebration:"):
316
+ st.balloons()
317
+ if status_cols[2].button("Snow", icon=":material/ac_unit:"):
318
+ st.snow()
319
+
320
+ # Progress
321
+ st.subheader("Progress Indicators")
322
+ st.progress(0.7, text="70% complete")
323
+ with st.spinner("Loading..."):
324
+ st.write("Spinner is active (non-blocking in this demo)")
325
+
326
+ # -----------------------------------------------------------------------------
327
+ # SIDEBAR
328
+ # -----------------------------------------------------------------------------
329
+ with st.sidebar:
330
+ st.header("Settings")
331
+ st.selectbox("Time Period", ["Last 7 days", "Last 30 days", "Last 90 days", "All time"])
332
+ st.multiselect("Metrics", ["Revenue", "Users", "Sessions"], default=["Revenue", "Users"])
333
+ st.slider("Confidence threshold", 0.0, 1.0, 0.8)
334
+ st.divider()
335
+ st.caption("Element Explorer v1.0")
336
+ st.caption("Theme: **{{title}}**")
@@ -0,0 +1,12 @@
1
+ # DO NOT EDIT — managed by manage.py, edit _templates/pyproject.toml.tmpl instead
2
+ [project]
3
+ name = "theme-{{slug}}"
4
+ version = "1.0.0"
5
+ description = "{{title}} theme for Streamlit"
6
+ requires-python = ">=3.11"
7
+ dependencies = [
8
+ "numpy>=1.26.0",
9
+ "pandas>=2.2.3",
10
+ "snowflake-connector-python>=3.3.0",
11
+ "streamlit[snowflake]>=1.54.0",
12
+ ]
@@ -0,0 +1,39 @@
1
+ # Dracula Theme for Streamlit
2
+ # Popular dark theme with vibrant colors on dark background
3
+ [theme]
4
+ base = "dark"
5
+ primaryColor = "#bd93f9"
6
+ backgroundColor = "#282a36"
7
+ secondaryBackgroundColor = "#21222c"
8
+ codeBackgroundColor = "#21222c"
9
+ textColor = "#f8f8f2"
10
+ linkColor = "#8be9fd"
11
+ borderColor = "#44475a"
12
+ showWidgetBorder = true
13
+ showSidebarBorder = true
14
+ baseRadius = "8px"
15
+ buttonRadius = "8px"
16
+ font = "'Fira Sans':https://fonts.googleapis.com/css2?family=Fira+Sans:wght@400;500;600;700&display=swap"
17
+ codeFont = "'JetBrains Mono':https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap"
18
+ codeFontSize = "0.875rem"
19
+ codeTextColor = "#f8f8f2"
20
+ baseFontSize = 14
21
+ baseFontWeight = 400
22
+ headingFontSizes = ["32px", "24px", "20px", "16px", "14px", "12px"]
23
+ headingFontWeights = [700, 600, 600, 600, 600, 600]
24
+ linkUnderline = false
25
+ chartCategoricalColors = ["#bd93f9", "#50fa7b", "#ff79c6", "#8be9fd", "#ffb86c", "#ff5555", "#f1fa8c"]
26
+
27
+ # Dracula color palette
28
+ violetColor = "#bd93f9"
29
+ greenColor = "#50fa7b"
30
+ redColor = "#ff5555"
31
+ blueColor = "#8be9fd"
32
+ yellowColor = "#f1fa8c"
33
+ orangeColor = "#ffb86c"
34
+
35
+ [theme.sidebar]
36
+ backgroundColor = "#21222c"
37
+ secondaryBackgroundColor = "#191a21"
38
+ codeBackgroundColor = "#191a21"
39
+ borderColor = "#44475a"
@@ -0,0 +1,10 @@
1
+ [project]
2
+ name = "theme-dracula"
3
+ version = "1.0.0"
4
+ description = "Dracula theme for Streamlit"
5
+ requires-python = ">=3.11"
6
+ dependencies = [
7
+ "numpy>=1.26.0",
8
+ "pandas>=2.2.3",
9
+ "streamlit>=1.53.0",
10
+ ]