ci: gate package installs through Aikido Safe-Chain#1994
ci: gate package installs through Aikido Safe-Chain#1994
Conversation
Every CI job that runs through the init-all composite action now routes `yarn install` / `uv sync` / `pip install` through Aikido Safe-Chain's PATH shims, which block known-malicious packages via a local proxy against Aikido Intel. Pinned to version 1.4.9 + SHA256 since this is a supply-chain security control. Linux-only; Windows matrix jobs rely on the Linux run catching the same lockfile-resolved deps. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
WalkthroughAdds OS-gated composite-action steps to Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant Workflow as GitHub Workflow
participant Runner as Actions Runner (Linux/Windows)
participant Releases as safe-chain Release
participant Installer as safe-chain setup-ci
participant Steps as Subsequent Steps (yarn, uv)
Workflow->>Runner: start job
Runner->>Releases: download pinned safe-chain binary
Releases-->>Runner: safe-chain binary
Runner->>Runner: verify SHA256\n(make executable on Linux)\nrun setup-ci
Runner->>Installer: install shims & bin
Runner->>Runner: append shim/bin to GITHUB_PATH
Runner->>Steps: execute subsequent steps
Steps->>Installer: resolve executables via shims
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
CI Report for edc8a94Package StatsDiffs are from stlite sharing editor
File TreeFile Sizes 5946 ./dist/android-chrome-192x192.png
18336 ./dist/android-chrome-512x512.png
5553 ./dist/apple-touch-icon.png
- 382845 ./dist/assets/index-6lmQz_T3.js
- 12530260 ./dist/assets/index-6lmQz_T3.js.map
16976 ./dist/assets/index-D-M48OQT.css
+ 382941 ./dist/assets/index-DSwl1Skm.js
+ 12530364 ./dist/assets/index-DSwl1Skm.js.map
246 ./dist/browserconfig.xml
1028 ./dist/favicon-16x16.png
1751 ./dist/favicon-32x32.png
15086 ./dist/favicon.ico
2263 ./dist/index.html
4517 ./dist/logo192.png
12188 ./dist/logo512.png
714 ./dist/manifest.json
3911 ./dist/mstile-150x150.png
43307 ./dist/ogp.png
67 ./dist/robots.txt
8806 ./dist/safari-pinned-tab.svg
4517 ./dist/samples/000_intro/data/logo.png
311 ./dist/samples/000_intro/pages/🎈_subpage.py
66 ./dist/samples/000_intro/stlite.json
3392 ./dist/samples/000_intro/streamlit_app.py
68 ./dist/samples/001_template/stlite.json
49 ./dist/samples/001_template/streamlit_app.py
1536 ./dist/samples/010_streamlit_hello/README.md
36065 ./dist/samples/010_streamlit_hello/agri.csv.gz
3290 ./dist/samples/010_streamlit_hello/animation_demo.py
2529 ./dist/samples/010_streamlit_hello/dataframe_demo.py
1491 ./dist/samples/010_streamlit_hello/hello.py
3744 ./dist/samples/010_streamlit_hello/mapping_demo.py
1772 ./dist/samples/010_streamlit_hello/plotting_demo.py
7 ./dist/samples/010_streamlit_hello/requirements.txt
69 ./dist/samples/010_streamlit_hello/stlite.json
1820 ./dist/samples/010_streamlit_hello/streamlit_app.py
1053 ./dist/samples/010_streamlit_hello/utils.py
2530 ./dist/samples/011_component_gallery/data/capitals.csv
1776 ./dist/samples/011_component_gallery/pages/annotations-in-altair.py
184083 ./dist/samples/011_component_gallery/pages/cat-purr.mp3
828 ./dist/samples/011_component_gallery/pages/charts.altair_chart.py
2169 ./dist/samples/011_component_gallery/pages/charts.altair_custom_colors.py
704 ./dist/samples/011_component_gallery/pages/charts.altair_selections.py
183 ./dist/samples/011_component_gallery/pages/charts.area_chart.py
309 ./dist/samples/011_component_gallery/pages/charts.area_chart1.py
344 ./dist/samples/011_component_gallery/pages/charts.area_chart2.py
170 ./dist/samples/011_component_gallery/pages/charts.area_chart_steamgraph.py
87 ./dist/samples/011_component_gallery/pages/charts.audio-purr.py
1773 ./dist/samples/011_component_gallery/pages/charts.audio.py
182 ./dist/samples/011_component_gallery/pages/charts.bar_chart.py
308 ./dist/samples/011_component_gallery/pages/charts.bar_chart1.py
339 ./dist/samples/011_component_gallery/pages/charts.bar_chart2.py
155 ./dist/samples/011_component_gallery/pages/charts.bar_chart_horizontal.py
148 ./dist/samples/011_component_gallery/pages/charts.bar_chart_unstacked.py
245 ./dist/samples/011_component_gallery/pages/charts.bokeh_chart.py
650 ./dist/samples/011_component_gallery/pages/charts.graphviz_chart.py
461 ./dist/samples/011_component_gallery/pages/charts.image.py
183 ./dist/samples/011_component_gallery/pages/charts.line_chart.py
309 ./dist/samples/011_component_gallery/pages/charts.line_chart1.py
253 ./dist/samples/011_component_gallery/pages/charts.line_chart2.py
217 ./dist/samples/011_component_gallery/pages/charts.map.py
426 ./dist/samples/011_component_gallery/pages/charts.map_color.py
375 ./dist/samples/011_component_gallery/pages/charts.plotly_chart.py
222 ./dist/samples/011_component_gallery/pages/charts.plotly_chart_config.py
196 ./dist/samples/011_component_gallery/pages/charts.plotly_chart_event_state.py
299 ./dist/samples/011_component_gallery/pages/charts.plotly_chart_event_state_selections.py
733 ./dist/samples/011_component_gallery/pages/charts.plotly_chart_theme.py
759 ./dist/samples/011_component_gallery/pages/charts.plotly_custom_colors.py
1040 ./dist/samples/011_component_gallery/pages/charts.pydeck_chart.py
895 ./dist/samples/011_component_gallery/pages/charts.pydeck_event_state_selections.py
199 ./dist/samples/011_component_gallery/pages/charts.pyplot.py
186 ./dist/samples/011_component_gallery/pages/charts.scatter_chart.py
319 ./dist/samples/011_component_gallery/pages/charts.scatter_chart1.py
305 ./dist/samples/011_component_gallery/pages/charts.scatter_chart2.py
529 ./dist/samples/011_component_gallery/pages/charts.vega_lite_chart.py
1016 ./dist/samples/011_component_gallery/pages/charts.vega_lite_theme.py
388 ./dist/samples/011_component_gallery/pages/charts.video.py
527 ./dist/samples/011_component_gallery/pages/charts.video2.py
887 ./dist/samples/011_component_gallery/pages/chat.echo.py
274 ./dist/samples/011_component_gallery/pages/chat.input-file-uploader.py
250 ./dist/samples/011_component_gallery/pages/chat.input-inline.py
137 ./dist/samples/011_component_gallery/pages/chat.input.py
268 ./dist/samples/011_component_gallery/pages/chat.input_audio.py
192 ./dist/samples/011_component_gallery/pages/chat.input_set_value.py
2645 ./dist/samples/011_component_gallery/pages/chat.llm.py
142 ./dist/samples/011_component_gallery/pages/chat.message.py
153 ./dist/samples/011_component_gallery/pages/chat.message1.py
1277 ./dist/samples/011_component_gallery/pages/chat.simple.py
1218 ./dist/samples/011_component_gallery/pages/components.cleanup_function.py
1072 ./dist/samples/011_component_gallery/pages/components.custom_anchors.py
1121 ./dist/samples/011_component_gallery/pages/components.interactive_svg.py
641 ./dist/samples/011_component_gallery/pages/components.markdown_links.py
800 ./dist/samples/011_component_gallery/pages/components.tailwind.py
1658 ./dist/samples/011_component_gallery/pages/components.text_input.py
651 ./dist/samples/011_component_gallery/pages/create-a-simple-grid.py
670 ./dist/samples/011_component_gallery/pages/data.areachart_column.py
1228 ./dist/samples/011_component_gallery/pages/data.audio_column.py
640 ./dist/samples/011_component_gallery/pages/data.barchart_column.py
572 ./dist/samples/011_component_gallery/pages/data.checkbox_column.py
542 ./dist/samples/011_component_gallery/pages/data.column.py
580 ./dist/samples/011_component_gallery/pages/data.column_config.empty.py
3119 ./dist/samples/011_component_gallery/pages/data.column_config.py
460 ./dist/samples/011_component_gallery/pages/data.data_editor.py
480 ./dist/samples/011_component_gallery/pages/data.data_editor1.py
410 ./dist/samples/011_component_gallery/pages/data.data_editor2.py
903 ./dist/samples/011_component_gallery/pages/data.data_editor3.py
814 ./dist/samples/011_component_gallery/pages/data.data_editor4.py
874 ./dist/samples/011_component_gallery/pages/data.data_editor_config.py
207 ./dist/samples/011_component_gallery/pages/data.dataframe.py
235 ./dist/samples/011_component_gallery/pages/data.dataframe1.py
614 ./dist/samples/011_component_gallery/pages/data.dataframe2.py
900 ./dist/samples/011_component_gallery/pages/data.dataframe_config.py
432 ./dist/samples/011_component_gallery/pages/data.dataframe_config_index.py
332 ./dist/samples/011_component_gallery/pages/data.dataframe_event_state_selections.py
643 ./dist/samples/011_component_gallery/pages/data.dataframe_programmatic_selections.py
654 ./dist/samples/011_component_gallery/pages/data.date_column.py
735 ./dist/samples/011_component_gallery/pages/data.datetime_column.py
1019 ./dist/samples/011_component_gallery/pages/data.image_column.py
239 ./dist/samples/011_component_gallery/pages/data.json.py
485 ./dist/samples/011_component_gallery/pages/data.json_column.py
669 ./dist/samples/011_component_gallery/pages/data.linechart_column.py
975 ./dist/samples/011_component_gallery/pages/data.link_column.py
668 ./dist/samples/011_component_gallery/pages/data.list_column.py
657 ./dist/samples/011_component_gallery/pages/data.multiselect_column_1.py
522 ./dist/samples/011_component_gallery/pages/data.multiselect_column_2.py
513 ./dist/samples/011_component_gallery/pages/data.number_column.py
487 ./dist/samples/011_component_gallery/pages/data.progress_column.py
766 ./dist/samples/011_component_gallery/pages/data.selectbox_column.py
206 ./dist/samples/011_component_gallery/pages/data.table.py
523 ./dist/samples/011_component_gallery/pages/data.table_auto_header.py
351 ./dist/samples/011_component_gallery/pages/data.table_confusion.py
155 ./dist/samples/011_component_gallery/pages/data.table_hide_header_and_index.py
444 ./dist/samples/011_component_gallery/pages/data.table_horizontal_border.py
443 ./dist/samples/011_component_gallery/pages/data.table_markdown.py
549 ./dist/samples/011_component_gallery/pages/data.text_column.py
636 ./dist/samples/011_component_gallery/pages/data.time_column.py
557 ./dist/samples/011_component_gallery/pages/data.video_column.py
2555 ./dist/samples/011_component_gallery/pages/dataframe-row-selections.py
528 ./dist/samples/011_component_gallery/pages/execution.dialog.py
461 ./dist/samples/011_component_gallery/pages/execution.fragment-rerun.py
543 ./dist/samples/011_component_gallery/pages/execution.fragment.py
296 ./dist/samples/011_component_gallery/pages/execution.fragment_balloon.py
411449 ./dist/samples/011_component_gallery/pages/flower.png
377 ./dist/samples/011_component_gallery/pages/forms.form1.py
185 ./dist/samples/011_component_gallery/pages/forms.form2.py
606 ./dist/samples/011_component_gallery/pages/forms.form_container.py
347 ./dist/samples/011_component_gallery/pages/forms.form_default.py
1442 ./dist/samples/011_component_gallery/pages/forms.form_overview.py
243 ./dist/samples/011_component_gallery/pages/forms.form_process1.py
468 ./dist/samples/011_component_gallery/pages/forms.form_process2.py
637 ./dist/samples/011_component_gallery/pages/forms.form_process3.py
39446 ./dist/samples/011_component_gallery/pages/images/horizontal_blue.png
32992 ./dist/samples/011_component_gallery/pages/images/horizontal_red.png
4241 ./dist/samples/011_component_gallery/pages/images/icon_blue.png
3763 ./dist/samples/011_component_gallery/pages/images/icon_red.png
577 ./dist/samples/011_component_gallery/pages/layout.columns1.py
267 ./dist/samples/011_component_gallery/pages/layout.columns2.py
176 ./dist/samples/011_component_gallery/pages/layout.columns_borders.py
203 ./dist/samples/011_component_gallery/pages/layout.columns_bottom_widgets.py
606 ./dist/samples/011_component_gallery/pages/layout.columns_vertical_alignment.py
284 ./dist/samples/011_component_gallery/pages/layout.container1.py
191 ./dist/samples/011_component_gallery/pages/layout.container2.py
169 ./dist/samples/011_component_gallery/pages/layout.container3.py
118 ./dist/samples/011_component_gallery/pages/layout.container4.py
152 ./dist/samples/011_component_gallery/pages/layout.container5.py
229 ./dist/samples/011_component_gallery/pages/layout.empty.py
586 ./dist/samples/011_component_gallery/pages/layout.empty_placeholder.py
444 ./dist/samples/011_component_gallery/pages/layout.expander-callback.py
216 ./dist/samples/011_component_gallery/pages/layout.expander-conditional-outside.py
237 ./dist/samples/011_component_gallery/pages/layout.expander-lazy-load.py
452 ./dist/samples/011_component_gallery/pages/layout.expander.py
484 ./dist/samples/011_component_gallery/pages/layout.popover-callback.py
234 ./dist/samples/011_component_gallery/pages/layout.popover-conditional-outside.py
237 ./dist/samples/011_component_gallery/pages/layout.popover-lazy-load.py
169 ./dist/samples/011_component_gallery/pages/layout.popover.py
263 ./dist/samples/011_component_gallery/pages/layout.popover2.py
129 ./dist/samples/011_component_gallery/pages/layout.space_horizontal.py
220 ./dist/samples/011_component_gallery/pages/layout.space_vertical.py
658 ./dist/samples/011_component_gallery/pages/layout.tabs-callback.py
605 ./dist/samples/011_component_gallery/pages/layout.tabs-conditional-outside.py
499 ./dist/samples/011_component_gallery/pages/layout.tabs-lazy-load.py
395 ./dist/samples/011_component_gallery/pages/layout.tabs1.py
268 ./dist/samples/011_component_gallery/pages/layout.tabs2.py
447 ./dist/samples/011_component_gallery/pages/layout.tabs3.py
118 ./dist/samples/011_component_gallery/pages/layouts.container4.py
476 ./dist/samples/011_component_gallery/pages/media.logo.py
110 ./dist/samples/011_component_gallery/pages/metric.example1.py
178 ./dist/samples/011_component_gallery/pages/metric.example2.py
175 ./dist/samples/011_component_gallery/pages/metric.example3.py
277 ./dist/samples/011_component_gallery/pages/metric.example4.py
502 ./dist/samples/011_component_gallery/pages/metric.example5.py
102 ./dist/samples/011_component_gallery/pages/status.exception.py
303 ./dist/samples/011_component_gallery/pages/status.progress.py
144 ./dist/samples/011_component_gallery/pages/status.spinner.py
250 ./dist/samples/011_component_gallery/pages/status.status.py
355 ./dist/samples/011_component_gallery/pages/status.status1.py
105 ./dist/samples/011_component_gallery/pages/status.toast.py
185 ./dist/samples/011_component_gallery/pages/status.toast1.py
262 ./dist/samples/011_component_gallery/pages/status.toast2.py
437557 ./dist/samples/011_component_gallery/pages/tailwind_example.js
221 ./dist/samples/011_component_gallery/pages/text.badge.py
56 ./dist/samples/011_component_gallery/pages/text.caption.py
566 ./dist/samples/011_component_gallery/pages/text.code-ascii.py
114 ./dist/samples/011_component_gallery/pages/text.code.py
329 ./dist/samples/011_component_gallery/pages/text.header.py
170 ./dist/samples/011_component_gallery/pages/text.latex.py
552 ./dist/samples/011_component_gallery/pages/text.markdown.py
240 ./dist/samples/011_component_gallery/pages/text.markdown1.py
356 ./dist/samples/011_component_gallery/pages/text.subheader.py
94 ./dist/samples/011_component_gallery/pages/text.text.py
444 ./dist/samples/011_component_gallery/pages/text.text_area.py
104 ./dist/samples/011_component_gallery/pages/text.title.py
65 ./dist/samples/011_component_gallery/pages/text.write1.py
155 ./dist/samples/011_component_gallery/pages/text.write2.py
332 ./dist/samples/011_component_gallery/pages/text.write3.py
733 ./dist/samples/011_component_gallery/pages/text.write_stream.py
64 ./dist/samples/011_component_gallery/pages/utilities.help.py
245 ./dist/samples/011_component_gallery/pages/utilities.help1.py
123 ./dist/samples/011_component_gallery/pages/utilities.help2.py
111 ./dist/samples/011_component_gallery/pages/utilities.html.py
122 ./dist/samples/011_component_gallery/pages/widget.audio_input.py
210 ./dist/samples/011_component_gallery/pages/widget.button.py
409 ./dist/samples/011_component_gallery/pages/widget.button_icons.py
336 ./dist/samples/011_component_gallery/pages/widget.button_shortcut.py
162 ./dist/samples/011_component_gallery/pages/widget.camera_input.py
88 ./dist/samples/011_component_gallery/pages/widget.checkbox.py
115 ./dist/samples/011_component_gallery/pages/widget.color_picker.py
143 ./dist/samples/011_component_gallery/pages/widget.date_input.py
341 ./dist/samples/011_component_gallery/pages/widget.date_input1.py
127 ./dist/samples/011_component_gallery/pages/widget.date_input_empty.py
190 ./dist/samples/011_component_gallery/pages/widget.datetime_input.py
150 ./dist/samples/011_component_gallery/pages/widget.datetime_input_empty.py
917 ./dist/samples/011_component_gallery/pages/widget.download_button.py
490 ./dist/samples/011_component_gallery/pages/widget.download_button_csv.py
247 ./dist/samples/011_component_gallery/pages/widget.download_button_deferred.py
208 ./dist/samples/011_component_gallery/pages/widget.download_button_file.py
338 ./dist/samples/011_component_gallery/pages/widget.download_button_text.py
213 ./dist/samples/011_component_gallery/pages/widget.feedback_stars.py
215 ./dist/samples/011_component_gallery/pages/widget.feedback_thumbs.py
230 ./dist/samples/011_component_gallery/pages/widget.file_uploader.py
202 ./dist/samples/011_component_gallery/pages/widget.file_uploader_directory.py
88 ./dist/samples/011_component_gallery/pages/widget.link_button.py
264 ./dist/samples/011_component_gallery/pages/widget.menu_button.py
196 ./dist/samples/011_component_gallery/pages/widget.multiselect.py
235 ./dist/samples/011_component_gallery/pages/widget.multiselect_accept_new_options.py
111 ./dist/samples/011_component_gallery/pages/widget.number_input.py
155 ./dist/samples/011_component_gallery/pages/widget.number_input_empty.py
203 ./dist/samples/011_component_gallery/pages/widget.pills_multi.py
409 ./dist/samples/011_component_gallery/pages/widget.pills_single.py
351 ./dist/samples/011_component_gallery/pages/widget.radio.py
693 ./dist/samples/011_component_gallery/pages/widget.radio1.py
205 ./dist/samples/011_component_gallery/pages/widget.radio_empty.py
215 ./dist/samples/011_component_gallery/pages/widget.segmented_control_multi.py
421 ./dist/samples/011_component_gallery/pages/widget.segmented_control_single.py
478 ./dist/samples/011_component_gallery/pages/widget.select_slider.py
167 ./dist/samples/011_component_gallery/pages/widget.selectbox.py
685 ./dist/samples/011_component_gallery/pages/widget.selectbox1.py
272 ./dist/samples/011_component_gallery/pages/widget.selectbox_accept_new_options.py
232 ./dist/samples/011_component_gallery/pages/widget.selectbox_empty.py
657 ./dist/samples/011_component_gallery/pages/widget.slider.py
503 ./dist/samples/011_component_gallery/pages/widget.text_area.py
124 ./dist/samples/011_component_gallery/pages/widget.text_input.py
884 ./dist/samples/011_component_gallery/pages/widget.text_input1.py
132 ./dist/samples/011_component_gallery/pages/widget.time_input.py
122 ./dist/samples/011_component_gallery/pages/widget.time_input_empty.py
102 ./dist/samples/011_component_gallery/pages/widget.toggle.py
144 ./dist/samples/011_component_gallery/pages/widgets.audio_input_high_rate.py
307 ./dist/samples/011_component_gallery/pages/widgets.change_parameters.py
558 ./dist/samples/011_component_gallery/pages/widgets.change_parameters_best.py
468 ./dist/samples/011_component_gallery/pages/widgets.form_callbacks.py
259 ./dist/samples/011_component_gallery/requirements.txt
71 ./dist/samples/011_component_gallery/stlite.json
1901 ./dist/samples/011_component_gallery/streamlit_app.py
36065 ./dist/samples/012_hello/agri.csv.gz
7239 ./dist/samples/012_hello/hello.py
45 ./dist/samples/012_hello/requirements.txt
51 ./dist/samples/012_hello/stlite.json
1637 ./dist/samples/012_mpa-hello/0_👋_Hello.py
36065 ./dist/samples/012_mpa-hello/agri.csv.gz
1691 ./dist/samples/012_mpa-hello/pages/1_📈_Plotting_Demo.py
3775 ./dist/samples/012_mpa-hello/pages/2_🌍_Mapping_Demo.py
2522 ./dist/samples/012_mpa-hello/pages/3_📊_DataFrame_Demo.py
1674 ./dist/samples/012_mpa-hello/pages/4_📷_Webcam_Demo.py
59 ./dist/samples/012_mpa-hello/requirements.txt
68 ./dist/samples/012_mpa-hello/stlite.json
957 ./dist/samples/012_mpa-hello/utils.py
295 ./dist/samples/012_navigation.multipage_widgets/app.py
60 ./dist/samples/012_navigation.multipage_widgets/stlite.json
495 ./dist/samples/012_tutorials_custom-navigation/README.md
649 ./dist/samples/012_tutorials_custom-navigation/app.py
1172 ./dist/samples/012_tutorials_custom-navigation/menu.py
504 ./dist/samples/012_tutorials_custom-navigation/pages/admin.py
497 ./dist/samples/012_tutorials_custom-navigation/pages/super-admin.py
341 ./dist/samples/012_tutorials_custom-navigation/pages/user.py
18 ./dist/samples/012_tutorials_custom-navigation/requirements.txt
71 ./dist/samples/012_tutorials_custom-navigation/stlite.json
496 ./dist/samples/012_tutorials_dynamic-navigation/README.md
104 ./dist/samples/012_tutorials_dynamic-navigation/admin/admin_1.py
104 ./dist/samples/012_tutorials_dynamic-navigation/admin/admin_2.py
39446 ./dist/samples/012_tutorials_dynamic-navigation/images/horizontal_blue.png
4241 ./dist/samples/012_tutorials_dynamic-navigation/images/icon_blue.png
106 ./dist/samples/012_tutorials_dynamic-navigation/request/request_1.py
106 ./dist/samples/012_tutorials_dynamic-navigation/request/request_2.py
106 ./dist/samples/012_tutorials_dynamic-navigation/respond/respond_1.py
106 ./dist/samples/012_tutorials_dynamic-navigation/respond/respond_2.py
105 ./dist/samples/012_tutorials_dynamic-navigation/settings.py
82 ./dist/samples/012_tutorials_dynamic-navigation/stlite.json
1940 ./dist/samples/012_tutorials_dynamic-navigation/streamlit_app.py
529 ./dist/samples/012_tutorials_fragments/README.md
0 ./dist/samples/012_tutorials_fragments/app.py
1294 ./dist/samples/012_tutorials_fragments/pages/tutorial-fragment-multiple-container.py
2897 ./dist/samples/012_tutorials_fragments/pages/tutorial-fragment-rerun.py
1748 ./dist/samples/012_tutorials_fragments/pages/tutorial-fragment-streaming.py
63 ./dist/samples/012_tutorials_fragments/stlite.json
489 ./dist/samples/012_utilities.switch_page/README.md
204 ./dist/samples/012_utilities.switch_page/pages/page_1.py
204 ./dist/samples/012_utilities.switch_page/pages/page_2.py
18 ./dist/samples/012_utilities.switch_page/requirements.txt
68 ./dist/samples/012_utilities.switch_page/stlite.json
204 ./dist/samples/012_utilities.switch_page/your_app.py
484 ./dist/samples/012_widget.page_link/README.md
289 ./dist/samples/012_widget.page_link/pages/page_1.py
289 ./dist/samples/012_widget.page_link/pages/page_2.py
18 ./dist/samples/012_widget.page_link/requirements.txt
65 ./dist/samples/012_widget.page_link/stlite.json
289 ./dist/samples/012_widget.page_link/your_app.py
332 ./dist/samples/020_custom_components/home.py
649 ./dist/samples/020_custom_components/pages/aggrid.py
1086 ./dist/samples/020_custom_components/pages/agraph.py
1260 ./dist/samples/020_custom_components/pages/cropper.py
344 ./dist/samples/020_custom_components/pages/d3_demo.py
1740 ./dist/samples/020_custom_components/pages/drawable_canvas.py
251 ./dist/samples/020_custom_components/pages/embedcode.py
5270 ./dist/samples/020_custom_components/pages/folium.py
1022 ./dist/samples/020_custom_components/pages/lottie.py
285 ./dist/samples/020_custom_components/pages/player.py
343 ./dist/samples/020_custom_components/pages/stmol.py
187 ./dist/samples/020_custom_components/requirements.txt
62 ./dist/samples/020_custom_components/stlite.json
4517 ./dist/samples/021_opencv/data/logo.png
14 ./dist/samples/021_opencv/requirements.txt
60 ./dist/samples/021_opencv/stlite.json
1092 ./dist/samples/021_opencv/streamlit_app.py
30 ./dist/samples/022_realtime_image_processing/requirements.txt
79 ./dist/samples/022_realtime_image_processing/stlite.json
2568 ./dist/samples/022_realtime_image_processing/streamlit_app.py
724 ./dist/samples/030_streamlit_e2e_tests/pages/empty_labels.py
733 ./dist/samples/030_streamlit_e2e_tests/pages/iframe_resizer.py
876 ./dist/samples/030_streamlit_e2e_tests/pages/redisplayed_widgets.py
1225 ./dist/samples/030_streamlit_e2e_tests/pages/session_state_frontend_sync.py
1400 ./dist/samples/030_streamlit_e2e_tests/pages/st_columns.py
1140 ./dist/samples/030_streamlit_e2e_tests/pages/st_disabled.py
616 ./dist/samples/030_streamlit_e2e_tests/pages/st_disconnect.py
1681 ./dist/samples/030_streamlit_e2e_tests/pages/st_download_button.py
2475 ./dist/samples/030_streamlit_e2e_tests/pages/st_exception.py
747 ./dist/samples/030_streamlit_e2e_tests/pages/st_experimental_get_query_params.py
856 ./dist/samples/030_streamlit_e2e_tests/pages/st_experimental_set_query_params.py
2405 ./dist/samples/030_streamlit_e2e_tests/pages/st_form_column_association.py
3329 ./dist/samples/030_streamlit_e2e_tests/pages/st_image.py
2160 ./dist/samples/030_streamlit_e2e_tests/pages/st_image_replay.py
810 ./dist/samples/030_streamlit_e2e_tests/pages/st_image_replay_old_image.py
1705 ./dist/samples/030_streamlit_e2e_tests/pages/st_image_svg_sizing.py
762 ./dist/samples/030_streamlit_e2e_tests/pages/st_json.py
1484 ./dist/samples/030_streamlit_e2e_tests/pages/st_map.py
969 ./dist/samples/030_streamlit_e2e_tests/pages/st_media_replay.py
2141 ./dist/samples/030_streamlit_e2e_tests/pages/st_pydeck_chart.py
1524 ./dist/samples/030_streamlit_e2e_tests/pages/st_pydeck_geo_layers.py
1263 ./dist/samples/030_streamlit_e2e_tests/pages/st_reuse_label.py
2551 ./dist/samples/030_streamlit_e2e_tests/pages/st_select_slider.py
1592 ./dist/samples/030_streamlit_e2e_tests/pages/st_session_state.py
1592 ./dist/samples/030_streamlit_e2e_tests/pages/st_set_page_config.py
1087 ./dist/samples/030_streamlit_e2e_tests/pages/st_sidebar.py
2458 ./dist/samples/030_streamlit_e2e_tests/pages/st_slider.py
1149 ./dist/samples/030_streamlit_e2e_tests/pages/st_tabs.py
2732 ./dist/samples/030_streamlit_e2e_tests/pages/st_tooltips.py
1108 ./dist/samples/030_streamlit_e2e_tests/pages/websocket_reconnects.py
730 ./dist/samples/030_streamlit_e2e_tests/pages/widget_state_heavy_usage.py
27 ./dist/samples/030_streamlit_e2e_tests/requirements.txt
75 ./dist/samples/030_streamlit_e2e_tests/stlite.json
117 ./dist/samples/030_streamlit_e2e_tests/streamlit_app.py |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/actions/init-all/action.yml:
- Around line 91-108: The CI step "Install Aikido Safe-Chain" only runs for
runner.os == 'Linux', leaving platform-agnostic dependency targets like make
venv and make node_modules unscanned on Windows; update the workflow to either
add a Windows branch that installs a Windows-safe-chain shim (create a new step
guarded by runner.os == 'Windows' that sets SAFE_CHAIN_VERSION/SAFE_CHAIN_SHA256
and downloads the Windows safe-chain binary or installer analogous to the Linux
step and adds its shims to GITHUB_PATH) or modify the dependency steps that call
make venv / make node_modules to be skipped on Windows (wrap those runs with if:
runner.os == 'Linux' or add an explicit conditional to only run them when the
safe-chain step has run), referencing the existing step name "Install Aikido
Safe-Chain", environment vars SAFE_CHAIN_VERSION/SAFE_CHAIN_SHA256, and the make
targets "make venv" and "make node_modules" so the protection covers Windows
jobs.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: ce0aa591-63b5-43ed-8ed4-36f6ff15d4d0
📒 Files selected for processing (1)
.github/actions/init-all/action.yml
Matrix jobs on windows-latest (desktop test/packaging) also resolve the same lockfile-pinned packages, so they deserve the same malware-proxy protection as Linux. Without it, a malicious postinstall script could execute on the Windows runner before the parallel Linux job flags the same package and fails the PR. Pinned to version 1.4.9 with its own SHA256 for the Windows binary. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
CI Report for b71fadfPackage StatsDiffs are from stlite sharing editor
File TreeFile Sizes 5946 ./dist/android-chrome-192x192.png
18336 ./dist/android-chrome-512x512.png
5553 ./dist/apple-touch-icon.png
- 382845 ./dist/assets/index-Cq9uvDGj.js
- 12530260 ./dist/assets/index-Cq9uvDGj.js.map
+ 382941 ./dist/assets/index-BRTlXxBO.js
+ 12530364 ./dist/assets/index-BRTlXxBO.js.map
16976 ./dist/assets/index-D-M48OQT.css
246 ./dist/browserconfig.xml
1028 ./dist/favicon-16x16.png
1751 ./dist/favicon-32x32.png
15086 ./dist/favicon.ico
2263 ./dist/index.html
4517 ./dist/logo192.png
12188 ./dist/logo512.png
714 ./dist/manifest.json
3911 ./dist/mstile-150x150.png
43307 ./dist/ogp.png
67 ./dist/robots.txt
8806 ./dist/safari-pinned-tab.svg
4517 ./dist/samples/000_intro/data/logo.png
311 ./dist/samples/000_intro/pages/🎈_subpage.py
66 ./dist/samples/000_intro/stlite.json
3392 ./dist/samples/000_intro/streamlit_app.py
68 ./dist/samples/001_template/stlite.json
49 ./dist/samples/001_template/streamlit_app.py
1536 ./dist/samples/010_streamlit_hello/README.md
36065 ./dist/samples/010_streamlit_hello/agri.csv.gz
3290 ./dist/samples/010_streamlit_hello/animation_demo.py
2529 ./dist/samples/010_streamlit_hello/dataframe_demo.py
1491 ./dist/samples/010_streamlit_hello/hello.py
3744 ./dist/samples/010_streamlit_hello/mapping_demo.py
1772 ./dist/samples/010_streamlit_hello/plotting_demo.py
7 ./dist/samples/010_streamlit_hello/requirements.txt
69 ./dist/samples/010_streamlit_hello/stlite.json
1820 ./dist/samples/010_streamlit_hello/streamlit_app.py
1053 ./dist/samples/010_streamlit_hello/utils.py
2530 ./dist/samples/011_component_gallery/data/capitals.csv
1776 ./dist/samples/011_component_gallery/pages/annotations-in-altair.py
184083 ./dist/samples/011_component_gallery/pages/cat-purr.mp3
828 ./dist/samples/011_component_gallery/pages/charts.altair_chart.py
2169 ./dist/samples/011_component_gallery/pages/charts.altair_custom_colors.py
704 ./dist/samples/011_component_gallery/pages/charts.altair_selections.py
183 ./dist/samples/011_component_gallery/pages/charts.area_chart.py
309 ./dist/samples/011_component_gallery/pages/charts.area_chart1.py
344 ./dist/samples/011_component_gallery/pages/charts.area_chart2.py
170 ./dist/samples/011_component_gallery/pages/charts.area_chart_steamgraph.py
87 ./dist/samples/011_component_gallery/pages/charts.audio-purr.py
1773 ./dist/samples/011_component_gallery/pages/charts.audio.py
182 ./dist/samples/011_component_gallery/pages/charts.bar_chart.py
308 ./dist/samples/011_component_gallery/pages/charts.bar_chart1.py
339 ./dist/samples/011_component_gallery/pages/charts.bar_chart2.py
155 ./dist/samples/011_component_gallery/pages/charts.bar_chart_horizontal.py
148 ./dist/samples/011_component_gallery/pages/charts.bar_chart_unstacked.py
245 ./dist/samples/011_component_gallery/pages/charts.bokeh_chart.py
650 ./dist/samples/011_component_gallery/pages/charts.graphviz_chart.py
461 ./dist/samples/011_component_gallery/pages/charts.image.py
183 ./dist/samples/011_component_gallery/pages/charts.line_chart.py
309 ./dist/samples/011_component_gallery/pages/charts.line_chart1.py
253 ./dist/samples/011_component_gallery/pages/charts.line_chart2.py
217 ./dist/samples/011_component_gallery/pages/charts.map.py
426 ./dist/samples/011_component_gallery/pages/charts.map_color.py
375 ./dist/samples/011_component_gallery/pages/charts.plotly_chart.py
222 ./dist/samples/011_component_gallery/pages/charts.plotly_chart_config.py
196 ./dist/samples/011_component_gallery/pages/charts.plotly_chart_event_state.py
299 ./dist/samples/011_component_gallery/pages/charts.plotly_chart_event_state_selections.py
733 ./dist/samples/011_component_gallery/pages/charts.plotly_chart_theme.py
759 ./dist/samples/011_component_gallery/pages/charts.plotly_custom_colors.py
1040 ./dist/samples/011_component_gallery/pages/charts.pydeck_chart.py
895 ./dist/samples/011_component_gallery/pages/charts.pydeck_event_state_selections.py
199 ./dist/samples/011_component_gallery/pages/charts.pyplot.py
186 ./dist/samples/011_component_gallery/pages/charts.scatter_chart.py
319 ./dist/samples/011_component_gallery/pages/charts.scatter_chart1.py
305 ./dist/samples/011_component_gallery/pages/charts.scatter_chart2.py
529 ./dist/samples/011_component_gallery/pages/charts.vega_lite_chart.py
1016 ./dist/samples/011_component_gallery/pages/charts.vega_lite_theme.py
388 ./dist/samples/011_component_gallery/pages/charts.video.py
527 ./dist/samples/011_component_gallery/pages/charts.video2.py
887 ./dist/samples/011_component_gallery/pages/chat.echo.py
274 ./dist/samples/011_component_gallery/pages/chat.input-file-uploader.py
250 ./dist/samples/011_component_gallery/pages/chat.input-inline.py
137 ./dist/samples/011_component_gallery/pages/chat.input.py
268 ./dist/samples/011_component_gallery/pages/chat.input_audio.py
192 ./dist/samples/011_component_gallery/pages/chat.input_set_value.py
2645 ./dist/samples/011_component_gallery/pages/chat.llm.py
142 ./dist/samples/011_component_gallery/pages/chat.message.py
153 ./dist/samples/011_component_gallery/pages/chat.message1.py
1277 ./dist/samples/011_component_gallery/pages/chat.simple.py
1218 ./dist/samples/011_component_gallery/pages/components.cleanup_function.py
1072 ./dist/samples/011_component_gallery/pages/components.custom_anchors.py
1121 ./dist/samples/011_component_gallery/pages/components.interactive_svg.py
641 ./dist/samples/011_component_gallery/pages/components.markdown_links.py
800 ./dist/samples/011_component_gallery/pages/components.tailwind.py
1658 ./dist/samples/011_component_gallery/pages/components.text_input.py
651 ./dist/samples/011_component_gallery/pages/create-a-simple-grid.py
670 ./dist/samples/011_component_gallery/pages/data.areachart_column.py
1228 ./dist/samples/011_component_gallery/pages/data.audio_column.py
640 ./dist/samples/011_component_gallery/pages/data.barchart_column.py
572 ./dist/samples/011_component_gallery/pages/data.checkbox_column.py
542 ./dist/samples/011_component_gallery/pages/data.column.py
580 ./dist/samples/011_component_gallery/pages/data.column_config.empty.py
3119 ./dist/samples/011_component_gallery/pages/data.column_config.py
460 ./dist/samples/011_component_gallery/pages/data.data_editor.py
480 ./dist/samples/011_component_gallery/pages/data.data_editor1.py
410 ./dist/samples/011_component_gallery/pages/data.data_editor2.py
903 ./dist/samples/011_component_gallery/pages/data.data_editor3.py
814 ./dist/samples/011_component_gallery/pages/data.data_editor4.py
874 ./dist/samples/011_component_gallery/pages/data.data_editor_config.py
207 ./dist/samples/011_component_gallery/pages/data.dataframe.py
235 ./dist/samples/011_component_gallery/pages/data.dataframe1.py
614 ./dist/samples/011_component_gallery/pages/data.dataframe2.py
900 ./dist/samples/011_component_gallery/pages/data.dataframe_config.py
432 ./dist/samples/011_component_gallery/pages/data.dataframe_config_index.py
332 ./dist/samples/011_component_gallery/pages/data.dataframe_event_state_selections.py
643 ./dist/samples/011_component_gallery/pages/data.dataframe_programmatic_selections.py
654 ./dist/samples/011_component_gallery/pages/data.date_column.py
735 ./dist/samples/011_component_gallery/pages/data.datetime_column.py
1019 ./dist/samples/011_component_gallery/pages/data.image_column.py
239 ./dist/samples/011_component_gallery/pages/data.json.py
485 ./dist/samples/011_component_gallery/pages/data.json_column.py
669 ./dist/samples/011_component_gallery/pages/data.linechart_column.py
975 ./dist/samples/011_component_gallery/pages/data.link_column.py
668 ./dist/samples/011_component_gallery/pages/data.list_column.py
657 ./dist/samples/011_component_gallery/pages/data.multiselect_column_1.py
522 ./dist/samples/011_component_gallery/pages/data.multiselect_column_2.py
513 ./dist/samples/011_component_gallery/pages/data.number_column.py
487 ./dist/samples/011_component_gallery/pages/data.progress_column.py
766 ./dist/samples/011_component_gallery/pages/data.selectbox_column.py
206 ./dist/samples/011_component_gallery/pages/data.table.py
523 ./dist/samples/011_component_gallery/pages/data.table_auto_header.py
351 ./dist/samples/011_component_gallery/pages/data.table_confusion.py
155 ./dist/samples/011_component_gallery/pages/data.table_hide_header_and_index.py
444 ./dist/samples/011_component_gallery/pages/data.table_horizontal_border.py
443 ./dist/samples/011_component_gallery/pages/data.table_markdown.py
549 ./dist/samples/011_component_gallery/pages/data.text_column.py
636 ./dist/samples/011_component_gallery/pages/data.time_column.py
557 ./dist/samples/011_component_gallery/pages/data.video_column.py
2555 ./dist/samples/011_component_gallery/pages/dataframe-row-selections.py
528 ./dist/samples/011_component_gallery/pages/execution.dialog.py
461 ./dist/samples/011_component_gallery/pages/execution.fragment-rerun.py
543 ./dist/samples/011_component_gallery/pages/execution.fragment.py
296 ./dist/samples/011_component_gallery/pages/execution.fragment_balloon.py
411449 ./dist/samples/011_component_gallery/pages/flower.png
377 ./dist/samples/011_component_gallery/pages/forms.form1.py
185 ./dist/samples/011_component_gallery/pages/forms.form2.py
606 ./dist/samples/011_component_gallery/pages/forms.form_container.py
347 ./dist/samples/011_component_gallery/pages/forms.form_default.py
1442 ./dist/samples/011_component_gallery/pages/forms.form_overview.py
243 ./dist/samples/011_component_gallery/pages/forms.form_process1.py
468 ./dist/samples/011_component_gallery/pages/forms.form_process2.py
637 ./dist/samples/011_component_gallery/pages/forms.form_process3.py
39446 ./dist/samples/011_component_gallery/pages/images/horizontal_blue.png
32992 ./dist/samples/011_component_gallery/pages/images/horizontal_red.png
4241 ./dist/samples/011_component_gallery/pages/images/icon_blue.png
3763 ./dist/samples/011_component_gallery/pages/images/icon_red.png
577 ./dist/samples/011_component_gallery/pages/layout.columns1.py
267 ./dist/samples/011_component_gallery/pages/layout.columns2.py
176 ./dist/samples/011_component_gallery/pages/layout.columns_borders.py
203 ./dist/samples/011_component_gallery/pages/layout.columns_bottom_widgets.py
606 ./dist/samples/011_component_gallery/pages/layout.columns_vertical_alignment.py
284 ./dist/samples/011_component_gallery/pages/layout.container1.py
191 ./dist/samples/011_component_gallery/pages/layout.container2.py
169 ./dist/samples/011_component_gallery/pages/layout.container3.py
118 ./dist/samples/011_component_gallery/pages/layout.container4.py
152 ./dist/samples/011_component_gallery/pages/layout.container5.py
229 ./dist/samples/011_component_gallery/pages/layout.empty.py
586 ./dist/samples/011_component_gallery/pages/layout.empty_placeholder.py
444 ./dist/samples/011_component_gallery/pages/layout.expander-callback.py
216 ./dist/samples/011_component_gallery/pages/layout.expander-conditional-outside.py
237 ./dist/samples/011_component_gallery/pages/layout.expander-lazy-load.py
452 ./dist/samples/011_component_gallery/pages/layout.expander.py
484 ./dist/samples/011_component_gallery/pages/layout.popover-callback.py
234 ./dist/samples/011_component_gallery/pages/layout.popover-conditional-outside.py
237 ./dist/samples/011_component_gallery/pages/layout.popover-lazy-load.py
169 ./dist/samples/011_component_gallery/pages/layout.popover.py
263 ./dist/samples/011_component_gallery/pages/layout.popover2.py
129 ./dist/samples/011_component_gallery/pages/layout.space_horizontal.py
220 ./dist/samples/011_component_gallery/pages/layout.space_vertical.py
658 ./dist/samples/011_component_gallery/pages/layout.tabs-callback.py
605 ./dist/samples/011_component_gallery/pages/layout.tabs-conditional-outside.py
499 ./dist/samples/011_component_gallery/pages/layout.tabs-lazy-load.py
395 ./dist/samples/011_component_gallery/pages/layout.tabs1.py
268 ./dist/samples/011_component_gallery/pages/layout.tabs2.py
447 ./dist/samples/011_component_gallery/pages/layout.tabs3.py
118 ./dist/samples/011_component_gallery/pages/layouts.container4.py
476 ./dist/samples/011_component_gallery/pages/media.logo.py
110 ./dist/samples/011_component_gallery/pages/metric.example1.py
178 ./dist/samples/011_component_gallery/pages/metric.example2.py
175 ./dist/samples/011_component_gallery/pages/metric.example3.py
277 ./dist/samples/011_component_gallery/pages/metric.example4.py
502 ./dist/samples/011_component_gallery/pages/metric.example5.py
102 ./dist/samples/011_component_gallery/pages/status.exception.py
303 ./dist/samples/011_component_gallery/pages/status.progress.py
144 ./dist/samples/011_component_gallery/pages/status.spinner.py
250 ./dist/samples/011_component_gallery/pages/status.status.py
355 ./dist/samples/011_component_gallery/pages/status.status1.py
105 ./dist/samples/011_component_gallery/pages/status.toast.py
185 ./dist/samples/011_component_gallery/pages/status.toast1.py
262 ./dist/samples/011_component_gallery/pages/status.toast2.py
437557 ./dist/samples/011_component_gallery/pages/tailwind_example.js
221 ./dist/samples/011_component_gallery/pages/text.badge.py
56 ./dist/samples/011_component_gallery/pages/text.caption.py
566 ./dist/samples/011_component_gallery/pages/text.code-ascii.py
114 ./dist/samples/011_component_gallery/pages/text.code.py
329 ./dist/samples/011_component_gallery/pages/text.header.py
170 ./dist/samples/011_component_gallery/pages/text.latex.py
552 ./dist/samples/011_component_gallery/pages/text.markdown.py
240 ./dist/samples/011_component_gallery/pages/text.markdown1.py
356 ./dist/samples/011_component_gallery/pages/text.subheader.py
94 ./dist/samples/011_component_gallery/pages/text.text.py
444 ./dist/samples/011_component_gallery/pages/text.text_area.py
104 ./dist/samples/011_component_gallery/pages/text.title.py
65 ./dist/samples/011_component_gallery/pages/text.write1.py
155 ./dist/samples/011_component_gallery/pages/text.write2.py
332 ./dist/samples/011_component_gallery/pages/text.write3.py
733 ./dist/samples/011_component_gallery/pages/text.write_stream.py
64 ./dist/samples/011_component_gallery/pages/utilities.help.py
245 ./dist/samples/011_component_gallery/pages/utilities.help1.py
123 ./dist/samples/011_component_gallery/pages/utilities.help2.py
111 ./dist/samples/011_component_gallery/pages/utilities.html.py
122 ./dist/samples/011_component_gallery/pages/widget.audio_input.py
210 ./dist/samples/011_component_gallery/pages/widget.button.py
409 ./dist/samples/011_component_gallery/pages/widget.button_icons.py
336 ./dist/samples/011_component_gallery/pages/widget.button_shortcut.py
162 ./dist/samples/011_component_gallery/pages/widget.camera_input.py
88 ./dist/samples/011_component_gallery/pages/widget.checkbox.py
115 ./dist/samples/011_component_gallery/pages/widget.color_picker.py
143 ./dist/samples/011_component_gallery/pages/widget.date_input.py
341 ./dist/samples/011_component_gallery/pages/widget.date_input1.py
127 ./dist/samples/011_component_gallery/pages/widget.date_input_empty.py
190 ./dist/samples/011_component_gallery/pages/widget.datetime_input.py
150 ./dist/samples/011_component_gallery/pages/widget.datetime_input_empty.py
917 ./dist/samples/011_component_gallery/pages/widget.download_button.py
490 ./dist/samples/011_component_gallery/pages/widget.download_button_csv.py
247 ./dist/samples/011_component_gallery/pages/widget.download_button_deferred.py
208 ./dist/samples/011_component_gallery/pages/widget.download_button_file.py
338 ./dist/samples/011_component_gallery/pages/widget.download_button_text.py
213 ./dist/samples/011_component_gallery/pages/widget.feedback_stars.py
215 ./dist/samples/011_component_gallery/pages/widget.feedback_thumbs.py
230 ./dist/samples/011_component_gallery/pages/widget.file_uploader.py
202 ./dist/samples/011_component_gallery/pages/widget.file_uploader_directory.py
88 ./dist/samples/011_component_gallery/pages/widget.link_button.py
264 ./dist/samples/011_component_gallery/pages/widget.menu_button.py
196 ./dist/samples/011_component_gallery/pages/widget.multiselect.py
235 ./dist/samples/011_component_gallery/pages/widget.multiselect_accept_new_options.py
111 ./dist/samples/011_component_gallery/pages/widget.number_input.py
155 ./dist/samples/011_component_gallery/pages/widget.number_input_empty.py
203 ./dist/samples/011_component_gallery/pages/widget.pills_multi.py
409 ./dist/samples/011_component_gallery/pages/widget.pills_single.py
351 ./dist/samples/011_component_gallery/pages/widget.radio.py
693 ./dist/samples/011_component_gallery/pages/widget.radio1.py
205 ./dist/samples/011_component_gallery/pages/widget.radio_empty.py
215 ./dist/samples/011_component_gallery/pages/widget.segmented_control_multi.py
421 ./dist/samples/011_component_gallery/pages/widget.segmented_control_single.py
478 ./dist/samples/011_component_gallery/pages/widget.select_slider.py
167 ./dist/samples/011_component_gallery/pages/widget.selectbox.py
685 ./dist/samples/011_component_gallery/pages/widget.selectbox1.py
272 ./dist/samples/011_component_gallery/pages/widget.selectbox_accept_new_options.py
232 ./dist/samples/011_component_gallery/pages/widget.selectbox_empty.py
657 ./dist/samples/011_component_gallery/pages/widget.slider.py
503 ./dist/samples/011_component_gallery/pages/widget.text_area.py
124 ./dist/samples/011_component_gallery/pages/widget.text_input.py
884 ./dist/samples/011_component_gallery/pages/widget.text_input1.py
132 ./dist/samples/011_component_gallery/pages/widget.time_input.py
122 ./dist/samples/011_component_gallery/pages/widget.time_input_empty.py
102 ./dist/samples/011_component_gallery/pages/widget.toggle.py
144 ./dist/samples/011_component_gallery/pages/widgets.audio_input_high_rate.py
307 ./dist/samples/011_component_gallery/pages/widgets.change_parameters.py
558 ./dist/samples/011_component_gallery/pages/widgets.change_parameters_best.py
468 ./dist/samples/011_component_gallery/pages/widgets.form_callbacks.py
259 ./dist/samples/011_component_gallery/requirements.txt
71 ./dist/samples/011_component_gallery/stlite.json
1901 ./dist/samples/011_component_gallery/streamlit_app.py
36065 ./dist/samples/012_hello/agri.csv.gz
7239 ./dist/samples/012_hello/hello.py
45 ./dist/samples/012_hello/requirements.txt
51 ./dist/samples/012_hello/stlite.json
1637 ./dist/samples/012_mpa-hello/0_👋_Hello.py
36065 ./dist/samples/012_mpa-hello/agri.csv.gz
1691 ./dist/samples/012_mpa-hello/pages/1_📈_Plotting_Demo.py
3775 ./dist/samples/012_mpa-hello/pages/2_🌍_Mapping_Demo.py
2522 ./dist/samples/012_mpa-hello/pages/3_📊_DataFrame_Demo.py
1674 ./dist/samples/012_mpa-hello/pages/4_📷_Webcam_Demo.py
59 ./dist/samples/012_mpa-hello/requirements.txt
68 ./dist/samples/012_mpa-hello/stlite.json
957 ./dist/samples/012_mpa-hello/utils.py
295 ./dist/samples/012_navigation.multipage_widgets/app.py
60 ./dist/samples/012_navigation.multipage_widgets/stlite.json
495 ./dist/samples/012_tutorials_custom-navigation/README.md
649 ./dist/samples/012_tutorials_custom-navigation/app.py
1172 ./dist/samples/012_tutorials_custom-navigation/menu.py
504 ./dist/samples/012_tutorials_custom-navigation/pages/admin.py
497 ./dist/samples/012_tutorials_custom-navigation/pages/super-admin.py
341 ./dist/samples/012_tutorials_custom-navigation/pages/user.py
18 ./dist/samples/012_tutorials_custom-navigation/requirements.txt
71 ./dist/samples/012_tutorials_custom-navigation/stlite.json
496 ./dist/samples/012_tutorials_dynamic-navigation/README.md
104 ./dist/samples/012_tutorials_dynamic-navigation/admin/admin_1.py
104 ./dist/samples/012_tutorials_dynamic-navigation/admin/admin_2.py
39446 ./dist/samples/012_tutorials_dynamic-navigation/images/horizontal_blue.png
4241 ./dist/samples/012_tutorials_dynamic-navigation/images/icon_blue.png
106 ./dist/samples/012_tutorials_dynamic-navigation/request/request_1.py
106 ./dist/samples/012_tutorials_dynamic-navigation/request/request_2.py
106 ./dist/samples/012_tutorials_dynamic-navigation/respond/respond_1.py
106 ./dist/samples/012_tutorials_dynamic-navigation/respond/respond_2.py
105 ./dist/samples/012_tutorials_dynamic-navigation/settings.py
82 ./dist/samples/012_tutorials_dynamic-navigation/stlite.json
1940 ./dist/samples/012_tutorials_dynamic-navigation/streamlit_app.py
529 ./dist/samples/012_tutorials_fragments/README.md
0 ./dist/samples/012_tutorials_fragments/app.py
1294 ./dist/samples/012_tutorials_fragments/pages/tutorial-fragment-multiple-container.py
2897 ./dist/samples/012_tutorials_fragments/pages/tutorial-fragment-rerun.py
1748 ./dist/samples/012_tutorials_fragments/pages/tutorial-fragment-streaming.py
63 ./dist/samples/012_tutorials_fragments/stlite.json
489 ./dist/samples/012_utilities.switch_page/README.md
204 ./dist/samples/012_utilities.switch_page/pages/page_1.py
204 ./dist/samples/012_utilities.switch_page/pages/page_2.py
18 ./dist/samples/012_utilities.switch_page/requirements.txt
68 ./dist/samples/012_utilities.switch_page/stlite.json
204 ./dist/samples/012_utilities.switch_page/your_app.py
484 ./dist/samples/012_widget.page_link/README.md
289 ./dist/samples/012_widget.page_link/pages/page_1.py
289 ./dist/samples/012_widget.page_link/pages/page_2.py
18 ./dist/samples/012_widget.page_link/requirements.txt
65 ./dist/samples/012_widget.page_link/stlite.json
289 ./dist/samples/012_widget.page_link/your_app.py
332 ./dist/samples/020_custom_components/home.py
649 ./dist/samples/020_custom_components/pages/aggrid.py
1086 ./dist/samples/020_custom_components/pages/agraph.py
1260 ./dist/samples/020_custom_components/pages/cropper.py
344 ./dist/samples/020_custom_components/pages/d3_demo.py
1740 ./dist/samples/020_custom_components/pages/drawable_canvas.py
251 ./dist/samples/020_custom_components/pages/embedcode.py
5270 ./dist/samples/020_custom_components/pages/folium.py
1022 ./dist/samples/020_custom_components/pages/lottie.py
285 ./dist/samples/020_custom_components/pages/player.py
343 ./dist/samples/020_custom_components/pages/stmol.py
187 ./dist/samples/020_custom_components/requirements.txt
62 ./dist/samples/020_custom_components/stlite.json
4517 ./dist/samples/021_opencv/data/logo.png
14 ./dist/samples/021_opencv/requirements.txt
60 ./dist/samples/021_opencv/stlite.json
1092 ./dist/samples/021_opencv/streamlit_app.py
30 ./dist/samples/022_realtime_image_processing/requirements.txt
79 ./dist/samples/022_realtime_image_processing/stlite.json
2568 ./dist/samples/022_realtime_image_processing/streamlit_app.py
724 ./dist/samples/030_streamlit_e2e_tests/pages/empty_labels.py
733 ./dist/samples/030_streamlit_e2e_tests/pages/iframe_resizer.py
876 ./dist/samples/030_streamlit_e2e_tests/pages/redisplayed_widgets.py
1225 ./dist/samples/030_streamlit_e2e_tests/pages/session_state_frontend_sync.py
1400 ./dist/samples/030_streamlit_e2e_tests/pages/st_columns.py
1140 ./dist/samples/030_streamlit_e2e_tests/pages/st_disabled.py
616 ./dist/samples/030_streamlit_e2e_tests/pages/st_disconnect.py
1681 ./dist/samples/030_streamlit_e2e_tests/pages/st_download_button.py
2475 ./dist/samples/030_streamlit_e2e_tests/pages/st_exception.py
747 ./dist/samples/030_streamlit_e2e_tests/pages/st_experimental_get_query_params.py
856 ./dist/samples/030_streamlit_e2e_tests/pages/st_experimental_set_query_params.py
2405 ./dist/samples/030_streamlit_e2e_tests/pages/st_form_column_association.py
3329 ./dist/samples/030_streamlit_e2e_tests/pages/st_image.py
2160 ./dist/samples/030_streamlit_e2e_tests/pages/st_image_replay.py
810 ./dist/samples/030_streamlit_e2e_tests/pages/st_image_replay_old_image.py
1705 ./dist/samples/030_streamlit_e2e_tests/pages/st_image_svg_sizing.py
762 ./dist/samples/030_streamlit_e2e_tests/pages/st_json.py
1484 ./dist/samples/030_streamlit_e2e_tests/pages/st_map.py
969 ./dist/samples/030_streamlit_e2e_tests/pages/st_media_replay.py
2141 ./dist/samples/030_streamlit_e2e_tests/pages/st_pydeck_chart.py
1524 ./dist/samples/030_streamlit_e2e_tests/pages/st_pydeck_geo_layers.py
1263 ./dist/samples/030_streamlit_e2e_tests/pages/st_reuse_label.py
2551 ./dist/samples/030_streamlit_e2e_tests/pages/st_select_slider.py
1592 ./dist/samples/030_streamlit_e2e_tests/pages/st_session_state.py
1592 ./dist/samples/030_streamlit_e2e_tests/pages/st_set_page_config.py
1087 ./dist/samples/030_streamlit_e2e_tests/pages/st_sidebar.py
2458 ./dist/samples/030_streamlit_e2e_tests/pages/st_slider.py
1149 ./dist/samples/030_streamlit_e2e_tests/pages/st_tabs.py
2732 ./dist/samples/030_streamlit_e2e_tests/pages/st_tooltips.py
1108 ./dist/samples/030_streamlit_e2e_tests/pages/websocket_reconnects.py
730 ./dist/samples/030_streamlit_e2e_tests/pages/widget_state_heavy_usage.py
27 ./dist/samples/030_streamlit_e2e_tests/requirements.txt
75 ./dist/samples/030_streamlit_e2e_tests/stlite.json
117 ./dist/samples/030_streamlit_e2e_tests/streamlit_app.py |
CI Report for 4c0e625Package StatsDiffs are from stlite sharing editor
File TreeFile Sizes 5946 ./dist/android-chrome-192x192.png
18336 ./dist/android-chrome-512x512.png
5553 ./dist/apple-touch-icon.png
- 382845 ./dist/assets/index-Cq9uvDGj.js
- 12530260 ./dist/assets/index-Cq9uvDGj.js.map
+ 382941 ./dist/assets/index-Bh1exFu_.js
+ 12530364 ./dist/assets/index-Bh1exFu_.js.map
16976 ./dist/assets/index-D-M48OQT.css
246 ./dist/browserconfig.xml
1028 ./dist/favicon-16x16.png
1751 ./dist/favicon-32x32.png
15086 ./dist/favicon.ico
2263 ./dist/index.html
4517 ./dist/logo192.png
12188 ./dist/logo512.png
714 ./dist/manifest.json
3911 ./dist/mstile-150x150.png
43307 ./dist/ogp.png
67 ./dist/robots.txt
8806 ./dist/safari-pinned-tab.svg
4517 ./dist/samples/000_intro/data/logo.png
311 ./dist/samples/000_intro/pages/🎈_subpage.py
66 ./dist/samples/000_intro/stlite.json
3392 ./dist/samples/000_intro/streamlit_app.py
68 ./dist/samples/001_template/stlite.json
49 ./dist/samples/001_template/streamlit_app.py
1536 ./dist/samples/010_streamlit_hello/README.md
36065 ./dist/samples/010_streamlit_hello/agri.csv.gz
3290 ./dist/samples/010_streamlit_hello/animation_demo.py
2529 ./dist/samples/010_streamlit_hello/dataframe_demo.py
1491 ./dist/samples/010_streamlit_hello/hello.py
3744 ./dist/samples/010_streamlit_hello/mapping_demo.py
1772 ./dist/samples/010_streamlit_hello/plotting_demo.py
7 ./dist/samples/010_streamlit_hello/requirements.txt
69 ./dist/samples/010_streamlit_hello/stlite.json
1820 ./dist/samples/010_streamlit_hello/streamlit_app.py
1053 ./dist/samples/010_streamlit_hello/utils.py
2530 ./dist/samples/011_component_gallery/data/capitals.csv
1776 ./dist/samples/011_component_gallery/pages/annotations-in-altair.py
184083 ./dist/samples/011_component_gallery/pages/cat-purr.mp3
828 ./dist/samples/011_component_gallery/pages/charts.altair_chart.py
2169 ./dist/samples/011_component_gallery/pages/charts.altair_custom_colors.py
704 ./dist/samples/011_component_gallery/pages/charts.altair_selections.py
183 ./dist/samples/011_component_gallery/pages/charts.area_chart.py
309 ./dist/samples/011_component_gallery/pages/charts.area_chart1.py
344 ./dist/samples/011_component_gallery/pages/charts.area_chart2.py
170 ./dist/samples/011_component_gallery/pages/charts.area_chart_steamgraph.py
87 ./dist/samples/011_component_gallery/pages/charts.audio-purr.py
1773 ./dist/samples/011_component_gallery/pages/charts.audio.py
182 ./dist/samples/011_component_gallery/pages/charts.bar_chart.py
308 ./dist/samples/011_component_gallery/pages/charts.bar_chart1.py
339 ./dist/samples/011_component_gallery/pages/charts.bar_chart2.py
155 ./dist/samples/011_component_gallery/pages/charts.bar_chart_horizontal.py
148 ./dist/samples/011_component_gallery/pages/charts.bar_chart_unstacked.py
245 ./dist/samples/011_component_gallery/pages/charts.bokeh_chart.py
650 ./dist/samples/011_component_gallery/pages/charts.graphviz_chart.py
461 ./dist/samples/011_component_gallery/pages/charts.image.py
183 ./dist/samples/011_component_gallery/pages/charts.line_chart.py
309 ./dist/samples/011_component_gallery/pages/charts.line_chart1.py
253 ./dist/samples/011_component_gallery/pages/charts.line_chart2.py
217 ./dist/samples/011_component_gallery/pages/charts.map.py
426 ./dist/samples/011_component_gallery/pages/charts.map_color.py
375 ./dist/samples/011_component_gallery/pages/charts.plotly_chart.py
222 ./dist/samples/011_component_gallery/pages/charts.plotly_chart_config.py
196 ./dist/samples/011_component_gallery/pages/charts.plotly_chart_event_state.py
299 ./dist/samples/011_component_gallery/pages/charts.plotly_chart_event_state_selections.py
733 ./dist/samples/011_component_gallery/pages/charts.plotly_chart_theme.py
759 ./dist/samples/011_component_gallery/pages/charts.plotly_custom_colors.py
1040 ./dist/samples/011_component_gallery/pages/charts.pydeck_chart.py
895 ./dist/samples/011_component_gallery/pages/charts.pydeck_event_state_selections.py
199 ./dist/samples/011_component_gallery/pages/charts.pyplot.py
186 ./dist/samples/011_component_gallery/pages/charts.scatter_chart.py
319 ./dist/samples/011_component_gallery/pages/charts.scatter_chart1.py
305 ./dist/samples/011_component_gallery/pages/charts.scatter_chart2.py
529 ./dist/samples/011_component_gallery/pages/charts.vega_lite_chart.py
1016 ./dist/samples/011_component_gallery/pages/charts.vega_lite_theme.py
388 ./dist/samples/011_component_gallery/pages/charts.video.py
527 ./dist/samples/011_component_gallery/pages/charts.video2.py
887 ./dist/samples/011_component_gallery/pages/chat.echo.py
274 ./dist/samples/011_component_gallery/pages/chat.input-file-uploader.py
250 ./dist/samples/011_component_gallery/pages/chat.input-inline.py
137 ./dist/samples/011_component_gallery/pages/chat.input.py
268 ./dist/samples/011_component_gallery/pages/chat.input_audio.py
192 ./dist/samples/011_component_gallery/pages/chat.input_set_value.py
2645 ./dist/samples/011_component_gallery/pages/chat.llm.py
142 ./dist/samples/011_component_gallery/pages/chat.message.py
153 ./dist/samples/011_component_gallery/pages/chat.message1.py
1277 ./dist/samples/011_component_gallery/pages/chat.simple.py
1218 ./dist/samples/011_component_gallery/pages/components.cleanup_function.py
1072 ./dist/samples/011_component_gallery/pages/components.custom_anchors.py
1121 ./dist/samples/011_component_gallery/pages/components.interactive_svg.py
641 ./dist/samples/011_component_gallery/pages/components.markdown_links.py
800 ./dist/samples/011_component_gallery/pages/components.tailwind.py
1658 ./dist/samples/011_component_gallery/pages/components.text_input.py
651 ./dist/samples/011_component_gallery/pages/create-a-simple-grid.py
670 ./dist/samples/011_component_gallery/pages/data.areachart_column.py
1228 ./dist/samples/011_component_gallery/pages/data.audio_column.py
640 ./dist/samples/011_component_gallery/pages/data.barchart_column.py
572 ./dist/samples/011_component_gallery/pages/data.checkbox_column.py
542 ./dist/samples/011_component_gallery/pages/data.column.py
580 ./dist/samples/011_component_gallery/pages/data.column_config.empty.py
3119 ./dist/samples/011_component_gallery/pages/data.column_config.py
460 ./dist/samples/011_component_gallery/pages/data.data_editor.py
480 ./dist/samples/011_component_gallery/pages/data.data_editor1.py
410 ./dist/samples/011_component_gallery/pages/data.data_editor2.py
903 ./dist/samples/011_component_gallery/pages/data.data_editor3.py
814 ./dist/samples/011_component_gallery/pages/data.data_editor4.py
874 ./dist/samples/011_component_gallery/pages/data.data_editor_config.py
207 ./dist/samples/011_component_gallery/pages/data.dataframe.py
235 ./dist/samples/011_component_gallery/pages/data.dataframe1.py
614 ./dist/samples/011_component_gallery/pages/data.dataframe2.py
900 ./dist/samples/011_component_gallery/pages/data.dataframe_config.py
432 ./dist/samples/011_component_gallery/pages/data.dataframe_config_index.py
332 ./dist/samples/011_component_gallery/pages/data.dataframe_event_state_selections.py
643 ./dist/samples/011_component_gallery/pages/data.dataframe_programmatic_selections.py
654 ./dist/samples/011_component_gallery/pages/data.date_column.py
735 ./dist/samples/011_component_gallery/pages/data.datetime_column.py
1019 ./dist/samples/011_component_gallery/pages/data.image_column.py
239 ./dist/samples/011_component_gallery/pages/data.json.py
485 ./dist/samples/011_component_gallery/pages/data.json_column.py
669 ./dist/samples/011_component_gallery/pages/data.linechart_column.py
975 ./dist/samples/011_component_gallery/pages/data.link_column.py
668 ./dist/samples/011_component_gallery/pages/data.list_column.py
657 ./dist/samples/011_component_gallery/pages/data.multiselect_column_1.py
522 ./dist/samples/011_component_gallery/pages/data.multiselect_column_2.py
513 ./dist/samples/011_component_gallery/pages/data.number_column.py
487 ./dist/samples/011_component_gallery/pages/data.progress_column.py
766 ./dist/samples/011_component_gallery/pages/data.selectbox_column.py
206 ./dist/samples/011_component_gallery/pages/data.table.py
523 ./dist/samples/011_component_gallery/pages/data.table_auto_header.py
351 ./dist/samples/011_component_gallery/pages/data.table_confusion.py
155 ./dist/samples/011_component_gallery/pages/data.table_hide_header_and_index.py
444 ./dist/samples/011_component_gallery/pages/data.table_horizontal_border.py
443 ./dist/samples/011_component_gallery/pages/data.table_markdown.py
549 ./dist/samples/011_component_gallery/pages/data.text_column.py
636 ./dist/samples/011_component_gallery/pages/data.time_column.py
557 ./dist/samples/011_component_gallery/pages/data.video_column.py
2555 ./dist/samples/011_component_gallery/pages/dataframe-row-selections.py
528 ./dist/samples/011_component_gallery/pages/execution.dialog.py
461 ./dist/samples/011_component_gallery/pages/execution.fragment-rerun.py
543 ./dist/samples/011_component_gallery/pages/execution.fragment.py
296 ./dist/samples/011_component_gallery/pages/execution.fragment_balloon.py
411449 ./dist/samples/011_component_gallery/pages/flower.png
377 ./dist/samples/011_component_gallery/pages/forms.form1.py
185 ./dist/samples/011_component_gallery/pages/forms.form2.py
606 ./dist/samples/011_component_gallery/pages/forms.form_container.py
347 ./dist/samples/011_component_gallery/pages/forms.form_default.py
1442 ./dist/samples/011_component_gallery/pages/forms.form_overview.py
243 ./dist/samples/011_component_gallery/pages/forms.form_process1.py
468 ./dist/samples/011_component_gallery/pages/forms.form_process2.py
637 ./dist/samples/011_component_gallery/pages/forms.form_process3.py
39446 ./dist/samples/011_component_gallery/pages/images/horizontal_blue.png
32992 ./dist/samples/011_component_gallery/pages/images/horizontal_red.png
4241 ./dist/samples/011_component_gallery/pages/images/icon_blue.png
3763 ./dist/samples/011_component_gallery/pages/images/icon_red.png
577 ./dist/samples/011_component_gallery/pages/layout.columns1.py
267 ./dist/samples/011_component_gallery/pages/layout.columns2.py
176 ./dist/samples/011_component_gallery/pages/layout.columns_borders.py
203 ./dist/samples/011_component_gallery/pages/layout.columns_bottom_widgets.py
606 ./dist/samples/011_component_gallery/pages/layout.columns_vertical_alignment.py
284 ./dist/samples/011_component_gallery/pages/layout.container1.py
191 ./dist/samples/011_component_gallery/pages/layout.container2.py
169 ./dist/samples/011_component_gallery/pages/layout.container3.py
118 ./dist/samples/011_component_gallery/pages/layout.container4.py
152 ./dist/samples/011_component_gallery/pages/layout.container5.py
229 ./dist/samples/011_component_gallery/pages/layout.empty.py
586 ./dist/samples/011_component_gallery/pages/layout.empty_placeholder.py
444 ./dist/samples/011_component_gallery/pages/layout.expander-callback.py
216 ./dist/samples/011_component_gallery/pages/layout.expander-conditional-outside.py
237 ./dist/samples/011_component_gallery/pages/layout.expander-lazy-load.py
452 ./dist/samples/011_component_gallery/pages/layout.expander.py
484 ./dist/samples/011_component_gallery/pages/layout.popover-callback.py
234 ./dist/samples/011_component_gallery/pages/layout.popover-conditional-outside.py
237 ./dist/samples/011_component_gallery/pages/layout.popover-lazy-load.py
169 ./dist/samples/011_component_gallery/pages/layout.popover.py
263 ./dist/samples/011_component_gallery/pages/layout.popover2.py
129 ./dist/samples/011_component_gallery/pages/layout.space_horizontal.py
220 ./dist/samples/011_component_gallery/pages/layout.space_vertical.py
658 ./dist/samples/011_component_gallery/pages/layout.tabs-callback.py
605 ./dist/samples/011_component_gallery/pages/layout.tabs-conditional-outside.py
499 ./dist/samples/011_component_gallery/pages/layout.tabs-lazy-load.py
395 ./dist/samples/011_component_gallery/pages/layout.tabs1.py
268 ./dist/samples/011_component_gallery/pages/layout.tabs2.py
447 ./dist/samples/011_component_gallery/pages/layout.tabs3.py
118 ./dist/samples/011_component_gallery/pages/layouts.container4.py
476 ./dist/samples/011_component_gallery/pages/media.logo.py
110 ./dist/samples/011_component_gallery/pages/metric.example1.py
178 ./dist/samples/011_component_gallery/pages/metric.example2.py
175 ./dist/samples/011_component_gallery/pages/metric.example3.py
277 ./dist/samples/011_component_gallery/pages/metric.example4.py
502 ./dist/samples/011_component_gallery/pages/metric.example5.py
102 ./dist/samples/011_component_gallery/pages/status.exception.py
303 ./dist/samples/011_component_gallery/pages/status.progress.py
144 ./dist/samples/011_component_gallery/pages/status.spinner.py
250 ./dist/samples/011_component_gallery/pages/status.status.py
355 ./dist/samples/011_component_gallery/pages/status.status1.py
105 ./dist/samples/011_component_gallery/pages/status.toast.py
185 ./dist/samples/011_component_gallery/pages/status.toast1.py
262 ./dist/samples/011_component_gallery/pages/status.toast2.py
437557 ./dist/samples/011_component_gallery/pages/tailwind_example.js
221 ./dist/samples/011_component_gallery/pages/text.badge.py
56 ./dist/samples/011_component_gallery/pages/text.caption.py
566 ./dist/samples/011_component_gallery/pages/text.code-ascii.py
114 ./dist/samples/011_component_gallery/pages/text.code.py
329 ./dist/samples/011_component_gallery/pages/text.header.py
170 ./dist/samples/011_component_gallery/pages/text.latex.py
552 ./dist/samples/011_component_gallery/pages/text.markdown.py
240 ./dist/samples/011_component_gallery/pages/text.markdown1.py
356 ./dist/samples/011_component_gallery/pages/text.subheader.py
94 ./dist/samples/011_component_gallery/pages/text.text.py
444 ./dist/samples/011_component_gallery/pages/text.text_area.py
104 ./dist/samples/011_component_gallery/pages/text.title.py
65 ./dist/samples/011_component_gallery/pages/text.write1.py
155 ./dist/samples/011_component_gallery/pages/text.write2.py
332 ./dist/samples/011_component_gallery/pages/text.write3.py
733 ./dist/samples/011_component_gallery/pages/text.write_stream.py
64 ./dist/samples/011_component_gallery/pages/utilities.help.py
245 ./dist/samples/011_component_gallery/pages/utilities.help1.py
123 ./dist/samples/011_component_gallery/pages/utilities.help2.py
111 ./dist/samples/011_component_gallery/pages/utilities.html.py
122 ./dist/samples/011_component_gallery/pages/widget.audio_input.py
210 ./dist/samples/011_component_gallery/pages/widget.button.py
409 ./dist/samples/011_component_gallery/pages/widget.button_icons.py
336 ./dist/samples/011_component_gallery/pages/widget.button_shortcut.py
162 ./dist/samples/011_component_gallery/pages/widget.camera_input.py
88 ./dist/samples/011_component_gallery/pages/widget.checkbox.py
115 ./dist/samples/011_component_gallery/pages/widget.color_picker.py
143 ./dist/samples/011_component_gallery/pages/widget.date_input.py
341 ./dist/samples/011_component_gallery/pages/widget.date_input1.py
127 ./dist/samples/011_component_gallery/pages/widget.date_input_empty.py
190 ./dist/samples/011_component_gallery/pages/widget.datetime_input.py
150 ./dist/samples/011_component_gallery/pages/widget.datetime_input_empty.py
917 ./dist/samples/011_component_gallery/pages/widget.download_button.py
490 ./dist/samples/011_component_gallery/pages/widget.download_button_csv.py
247 ./dist/samples/011_component_gallery/pages/widget.download_button_deferred.py
208 ./dist/samples/011_component_gallery/pages/widget.download_button_file.py
338 ./dist/samples/011_component_gallery/pages/widget.download_button_text.py
213 ./dist/samples/011_component_gallery/pages/widget.feedback_stars.py
215 ./dist/samples/011_component_gallery/pages/widget.feedback_thumbs.py
230 ./dist/samples/011_component_gallery/pages/widget.file_uploader.py
202 ./dist/samples/011_component_gallery/pages/widget.file_uploader_directory.py
88 ./dist/samples/011_component_gallery/pages/widget.link_button.py
264 ./dist/samples/011_component_gallery/pages/widget.menu_button.py
196 ./dist/samples/011_component_gallery/pages/widget.multiselect.py
235 ./dist/samples/011_component_gallery/pages/widget.multiselect_accept_new_options.py
111 ./dist/samples/011_component_gallery/pages/widget.number_input.py
155 ./dist/samples/011_component_gallery/pages/widget.number_input_empty.py
203 ./dist/samples/011_component_gallery/pages/widget.pills_multi.py
409 ./dist/samples/011_component_gallery/pages/widget.pills_single.py
351 ./dist/samples/011_component_gallery/pages/widget.radio.py
693 ./dist/samples/011_component_gallery/pages/widget.radio1.py
205 ./dist/samples/011_component_gallery/pages/widget.radio_empty.py
215 ./dist/samples/011_component_gallery/pages/widget.segmented_control_multi.py
421 ./dist/samples/011_component_gallery/pages/widget.segmented_control_single.py
478 ./dist/samples/011_component_gallery/pages/widget.select_slider.py
167 ./dist/samples/011_component_gallery/pages/widget.selectbox.py
685 ./dist/samples/011_component_gallery/pages/widget.selectbox1.py
272 ./dist/samples/011_component_gallery/pages/widget.selectbox_accept_new_options.py
232 ./dist/samples/011_component_gallery/pages/widget.selectbox_empty.py
657 ./dist/samples/011_component_gallery/pages/widget.slider.py
503 ./dist/samples/011_component_gallery/pages/widget.text_area.py
124 ./dist/samples/011_component_gallery/pages/widget.text_input.py
884 ./dist/samples/011_component_gallery/pages/widget.text_input1.py
132 ./dist/samples/011_component_gallery/pages/widget.time_input.py
122 ./dist/samples/011_component_gallery/pages/widget.time_input_empty.py
102 ./dist/samples/011_component_gallery/pages/widget.toggle.py
144 ./dist/samples/011_component_gallery/pages/widgets.audio_input_high_rate.py
307 ./dist/samples/011_component_gallery/pages/widgets.change_parameters.py
558 ./dist/samples/011_component_gallery/pages/widgets.change_parameters_best.py
468 ./dist/samples/011_component_gallery/pages/widgets.form_callbacks.py
259 ./dist/samples/011_component_gallery/requirements.txt
71 ./dist/samples/011_component_gallery/stlite.json
1901 ./dist/samples/011_component_gallery/streamlit_app.py
36065 ./dist/samples/012_hello/agri.csv.gz
7239 ./dist/samples/012_hello/hello.py
45 ./dist/samples/012_hello/requirements.txt
51 ./dist/samples/012_hello/stlite.json
1637 ./dist/samples/012_mpa-hello/0_👋_Hello.py
36065 ./dist/samples/012_mpa-hello/agri.csv.gz
1691 ./dist/samples/012_mpa-hello/pages/1_📈_Plotting_Demo.py
3775 ./dist/samples/012_mpa-hello/pages/2_🌍_Mapping_Demo.py
2522 ./dist/samples/012_mpa-hello/pages/3_📊_DataFrame_Demo.py
1674 ./dist/samples/012_mpa-hello/pages/4_📷_Webcam_Demo.py
59 ./dist/samples/012_mpa-hello/requirements.txt
68 ./dist/samples/012_mpa-hello/stlite.json
957 ./dist/samples/012_mpa-hello/utils.py
295 ./dist/samples/012_navigation.multipage_widgets/app.py
60 ./dist/samples/012_navigation.multipage_widgets/stlite.json
495 ./dist/samples/012_tutorials_custom-navigation/README.md
649 ./dist/samples/012_tutorials_custom-navigation/app.py
1172 ./dist/samples/012_tutorials_custom-navigation/menu.py
504 ./dist/samples/012_tutorials_custom-navigation/pages/admin.py
497 ./dist/samples/012_tutorials_custom-navigation/pages/super-admin.py
341 ./dist/samples/012_tutorials_custom-navigation/pages/user.py
18 ./dist/samples/012_tutorials_custom-navigation/requirements.txt
71 ./dist/samples/012_tutorials_custom-navigation/stlite.json
496 ./dist/samples/012_tutorials_dynamic-navigation/README.md
104 ./dist/samples/012_tutorials_dynamic-navigation/admin/admin_1.py
104 ./dist/samples/012_tutorials_dynamic-navigation/admin/admin_2.py
39446 ./dist/samples/012_tutorials_dynamic-navigation/images/horizontal_blue.png
4241 ./dist/samples/012_tutorials_dynamic-navigation/images/icon_blue.png
106 ./dist/samples/012_tutorials_dynamic-navigation/request/request_1.py
106 ./dist/samples/012_tutorials_dynamic-navigation/request/request_2.py
106 ./dist/samples/012_tutorials_dynamic-navigation/respond/respond_1.py
106 ./dist/samples/012_tutorials_dynamic-navigation/respond/respond_2.py
105 ./dist/samples/012_tutorials_dynamic-navigation/settings.py
82 ./dist/samples/012_tutorials_dynamic-navigation/stlite.json
1940 ./dist/samples/012_tutorials_dynamic-navigation/streamlit_app.py
529 ./dist/samples/012_tutorials_fragments/README.md
0 ./dist/samples/012_tutorials_fragments/app.py
1294 ./dist/samples/012_tutorials_fragments/pages/tutorial-fragment-multiple-container.py
2897 ./dist/samples/012_tutorials_fragments/pages/tutorial-fragment-rerun.py
1748 ./dist/samples/012_tutorials_fragments/pages/tutorial-fragment-streaming.py
63 ./dist/samples/012_tutorials_fragments/stlite.json
489 ./dist/samples/012_utilities.switch_page/README.md
204 ./dist/samples/012_utilities.switch_page/pages/page_1.py
204 ./dist/samples/012_utilities.switch_page/pages/page_2.py
18 ./dist/samples/012_utilities.switch_page/requirements.txt
68 ./dist/samples/012_utilities.switch_page/stlite.json
204 ./dist/samples/012_utilities.switch_page/your_app.py
484 ./dist/samples/012_widget.page_link/README.md
289 ./dist/samples/012_widget.page_link/pages/page_1.py
289 ./dist/samples/012_widget.page_link/pages/page_2.py
18 ./dist/samples/012_widget.page_link/requirements.txt
65 ./dist/samples/012_widget.page_link/stlite.json
289 ./dist/samples/012_widget.page_link/your_app.py
332 ./dist/samples/020_custom_components/home.py
649 ./dist/samples/020_custom_components/pages/aggrid.py
1086 ./dist/samples/020_custom_components/pages/agraph.py
1260 ./dist/samples/020_custom_components/pages/cropper.py
344 ./dist/samples/020_custom_components/pages/d3_demo.py
1740 ./dist/samples/020_custom_components/pages/drawable_canvas.py
251 ./dist/samples/020_custom_components/pages/embedcode.py
5270 ./dist/samples/020_custom_components/pages/folium.py
1022 ./dist/samples/020_custom_components/pages/lottie.py
285 ./dist/samples/020_custom_components/pages/player.py
343 ./dist/samples/020_custom_components/pages/stmol.py
187 ./dist/samples/020_custom_components/requirements.txt
62 ./dist/samples/020_custom_components/stlite.json
4517 ./dist/samples/021_opencv/data/logo.png
14 ./dist/samples/021_opencv/requirements.txt
60 ./dist/samples/021_opencv/stlite.json
1092 ./dist/samples/021_opencv/streamlit_app.py
30 ./dist/samples/022_realtime_image_processing/requirements.txt
79 ./dist/samples/022_realtime_image_processing/stlite.json
2568 ./dist/samples/022_realtime_image_processing/streamlit_app.py
724 ./dist/samples/030_streamlit_e2e_tests/pages/empty_labels.py
733 ./dist/samples/030_streamlit_e2e_tests/pages/iframe_resizer.py
876 ./dist/samples/030_streamlit_e2e_tests/pages/redisplayed_widgets.py
1225 ./dist/samples/030_streamlit_e2e_tests/pages/session_state_frontend_sync.py
1400 ./dist/samples/030_streamlit_e2e_tests/pages/st_columns.py
1140 ./dist/samples/030_streamlit_e2e_tests/pages/st_disabled.py
616 ./dist/samples/030_streamlit_e2e_tests/pages/st_disconnect.py
1681 ./dist/samples/030_streamlit_e2e_tests/pages/st_download_button.py
2475 ./dist/samples/030_streamlit_e2e_tests/pages/st_exception.py
747 ./dist/samples/030_streamlit_e2e_tests/pages/st_experimental_get_query_params.py
856 ./dist/samples/030_streamlit_e2e_tests/pages/st_experimental_set_query_params.py
2405 ./dist/samples/030_streamlit_e2e_tests/pages/st_form_column_association.py
3329 ./dist/samples/030_streamlit_e2e_tests/pages/st_image.py
2160 ./dist/samples/030_streamlit_e2e_tests/pages/st_image_replay.py
810 ./dist/samples/030_streamlit_e2e_tests/pages/st_image_replay_old_image.py
1705 ./dist/samples/030_streamlit_e2e_tests/pages/st_image_svg_sizing.py
762 ./dist/samples/030_streamlit_e2e_tests/pages/st_json.py
1484 ./dist/samples/030_streamlit_e2e_tests/pages/st_map.py
969 ./dist/samples/030_streamlit_e2e_tests/pages/st_media_replay.py
2141 ./dist/samples/030_streamlit_e2e_tests/pages/st_pydeck_chart.py
1524 ./dist/samples/030_streamlit_e2e_tests/pages/st_pydeck_geo_layers.py
1263 ./dist/samples/030_streamlit_e2e_tests/pages/st_reuse_label.py
2551 ./dist/samples/030_streamlit_e2e_tests/pages/st_select_slider.py
1592 ./dist/samples/030_streamlit_e2e_tests/pages/st_session_state.py
1592 ./dist/samples/030_streamlit_e2e_tests/pages/st_set_page_config.py
1087 ./dist/samples/030_streamlit_e2e_tests/pages/st_sidebar.py
2458 ./dist/samples/030_streamlit_e2e_tests/pages/st_slider.py
1149 ./dist/samples/030_streamlit_e2e_tests/pages/st_tabs.py
2732 ./dist/samples/030_streamlit_e2e_tests/pages/st_tooltips.py
1108 ./dist/samples/030_streamlit_e2e_tests/pages/websocket_reconnects.py
730 ./dist/samples/030_streamlit_e2e_tests/pages/widget_state_heavy_usage.py
27 ./dist/samples/030_streamlit_e2e_tests/requirements.txt
75 ./dist/samples/030_streamlit_e2e_tests/stlite.json
117 ./dist/samples/030_streamlit_e2e_tests/streamlit_app.py |
CI Report for c38390ePackage StatsDiffs are from stlite sharing editor
File TreeFile Sizes 5946 ./dist/android-chrome-192x192.png
18336 ./dist/android-chrome-512x512.png
5553 ./dist/apple-touch-icon.png
16976 ./dist/assets/index-D-M48OQT.css
- 382845 ./dist/assets/index-D-glotWX.js
- 12530257 ./dist/assets/index-D-glotWX.js.map
+ 382941 ./dist/assets/index-DPynqASi.js
+ 12530361 ./dist/assets/index-DPynqASi.js.map
246 ./dist/browserconfig.xml
1028 ./dist/favicon-16x16.png
1751 ./dist/favicon-32x32.png
15086 ./dist/favicon.ico
2263 ./dist/index.html
4517 ./dist/logo192.png
12188 ./dist/logo512.png
714 ./dist/manifest.json
3911 ./dist/mstile-150x150.png
43307 ./dist/ogp.png
67 ./dist/robots.txt
8806 ./dist/safari-pinned-tab.svg
4517 ./dist/samples/000_intro/data/logo.png
311 ./dist/samples/000_intro/pages/🎈_subpage.py
66 ./dist/samples/000_intro/stlite.json
3392 ./dist/samples/000_intro/streamlit_app.py
68 ./dist/samples/001_template/stlite.json
49 ./dist/samples/001_template/streamlit_app.py
1536 ./dist/samples/010_streamlit_hello/README.md
36065 ./dist/samples/010_streamlit_hello/agri.csv.gz
3290 ./dist/samples/010_streamlit_hello/animation_demo.py
2529 ./dist/samples/010_streamlit_hello/dataframe_demo.py
1491 ./dist/samples/010_streamlit_hello/hello.py
3744 ./dist/samples/010_streamlit_hello/mapping_demo.py
1772 ./dist/samples/010_streamlit_hello/plotting_demo.py
7 ./dist/samples/010_streamlit_hello/requirements.txt
69 ./dist/samples/010_streamlit_hello/stlite.json
1820 ./dist/samples/010_streamlit_hello/streamlit_app.py
1053 ./dist/samples/010_streamlit_hello/utils.py
2530 ./dist/samples/011_component_gallery/data/capitals.csv
1776 ./dist/samples/011_component_gallery/pages/annotations-in-altair.py
184083 ./dist/samples/011_component_gallery/pages/cat-purr.mp3
828 ./dist/samples/011_component_gallery/pages/charts.altair_chart.py
2169 ./dist/samples/011_component_gallery/pages/charts.altair_custom_colors.py
704 ./dist/samples/011_component_gallery/pages/charts.altair_selections.py
183 ./dist/samples/011_component_gallery/pages/charts.area_chart.py
309 ./dist/samples/011_component_gallery/pages/charts.area_chart1.py
344 ./dist/samples/011_component_gallery/pages/charts.area_chart2.py
170 ./dist/samples/011_component_gallery/pages/charts.area_chart_steamgraph.py
87 ./dist/samples/011_component_gallery/pages/charts.audio-purr.py
1773 ./dist/samples/011_component_gallery/pages/charts.audio.py
182 ./dist/samples/011_component_gallery/pages/charts.bar_chart.py
308 ./dist/samples/011_component_gallery/pages/charts.bar_chart1.py
339 ./dist/samples/011_component_gallery/pages/charts.bar_chart2.py
155 ./dist/samples/011_component_gallery/pages/charts.bar_chart_horizontal.py
148 ./dist/samples/011_component_gallery/pages/charts.bar_chart_unstacked.py
245 ./dist/samples/011_component_gallery/pages/charts.bokeh_chart.py
650 ./dist/samples/011_component_gallery/pages/charts.graphviz_chart.py
461 ./dist/samples/011_component_gallery/pages/charts.image.py
183 ./dist/samples/011_component_gallery/pages/charts.line_chart.py
309 ./dist/samples/011_component_gallery/pages/charts.line_chart1.py
253 ./dist/samples/011_component_gallery/pages/charts.line_chart2.py
217 ./dist/samples/011_component_gallery/pages/charts.map.py
426 ./dist/samples/011_component_gallery/pages/charts.map_color.py
375 ./dist/samples/011_component_gallery/pages/charts.plotly_chart.py
222 ./dist/samples/011_component_gallery/pages/charts.plotly_chart_config.py
196 ./dist/samples/011_component_gallery/pages/charts.plotly_chart_event_state.py
299 ./dist/samples/011_component_gallery/pages/charts.plotly_chart_event_state_selections.py
733 ./dist/samples/011_component_gallery/pages/charts.plotly_chart_theme.py
759 ./dist/samples/011_component_gallery/pages/charts.plotly_custom_colors.py
1040 ./dist/samples/011_component_gallery/pages/charts.pydeck_chart.py
895 ./dist/samples/011_component_gallery/pages/charts.pydeck_event_state_selections.py
199 ./dist/samples/011_component_gallery/pages/charts.pyplot.py
186 ./dist/samples/011_component_gallery/pages/charts.scatter_chart.py
319 ./dist/samples/011_component_gallery/pages/charts.scatter_chart1.py
305 ./dist/samples/011_component_gallery/pages/charts.scatter_chart2.py
529 ./dist/samples/011_component_gallery/pages/charts.vega_lite_chart.py
1016 ./dist/samples/011_component_gallery/pages/charts.vega_lite_theme.py
388 ./dist/samples/011_component_gallery/pages/charts.video.py
527 ./dist/samples/011_component_gallery/pages/charts.video2.py
887 ./dist/samples/011_component_gallery/pages/chat.echo.py
274 ./dist/samples/011_component_gallery/pages/chat.input-file-uploader.py
250 ./dist/samples/011_component_gallery/pages/chat.input-inline.py
137 ./dist/samples/011_component_gallery/pages/chat.input.py
268 ./dist/samples/011_component_gallery/pages/chat.input_audio.py
192 ./dist/samples/011_component_gallery/pages/chat.input_set_value.py
2645 ./dist/samples/011_component_gallery/pages/chat.llm.py
142 ./dist/samples/011_component_gallery/pages/chat.message.py
153 ./dist/samples/011_component_gallery/pages/chat.message1.py
1277 ./dist/samples/011_component_gallery/pages/chat.simple.py
1218 ./dist/samples/011_component_gallery/pages/components.cleanup_function.py
1072 ./dist/samples/011_component_gallery/pages/components.custom_anchors.py
1121 ./dist/samples/011_component_gallery/pages/components.interactive_svg.py
641 ./dist/samples/011_component_gallery/pages/components.markdown_links.py
800 ./dist/samples/011_component_gallery/pages/components.tailwind.py
1658 ./dist/samples/011_component_gallery/pages/components.text_input.py
651 ./dist/samples/011_component_gallery/pages/create-a-simple-grid.py
670 ./dist/samples/011_component_gallery/pages/data.areachart_column.py
1228 ./dist/samples/011_component_gallery/pages/data.audio_column.py
640 ./dist/samples/011_component_gallery/pages/data.barchart_column.py
572 ./dist/samples/011_component_gallery/pages/data.checkbox_column.py
542 ./dist/samples/011_component_gallery/pages/data.column.py
580 ./dist/samples/011_component_gallery/pages/data.column_config.empty.py
3119 ./dist/samples/011_component_gallery/pages/data.column_config.py
460 ./dist/samples/011_component_gallery/pages/data.data_editor.py
480 ./dist/samples/011_component_gallery/pages/data.data_editor1.py
410 ./dist/samples/011_component_gallery/pages/data.data_editor2.py
903 ./dist/samples/011_component_gallery/pages/data.data_editor3.py
814 ./dist/samples/011_component_gallery/pages/data.data_editor4.py
874 ./dist/samples/011_component_gallery/pages/data.data_editor_config.py
207 ./dist/samples/011_component_gallery/pages/data.dataframe.py
235 ./dist/samples/011_component_gallery/pages/data.dataframe1.py
614 ./dist/samples/011_component_gallery/pages/data.dataframe2.py
900 ./dist/samples/011_component_gallery/pages/data.dataframe_config.py
432 ./dist/samples/011_component_gallery/pages/data.dataframe_config_index.py
332 ./dist/samples/011_component_gallery/pages/data.dataframe_event_state_selections.py
643 ./dist/samples/011_component_gallery/pages/data.dataframe_programmatic_selections.py
654 ./dist/samples/011_component_gallery/pages/data.date_column.py
735 ./dist/samples/011_component_gallery/pages/data.datetime_column.py
1019 ./dist/samples/011_component_gallery/pages/data.image_column.py
239 ./dist/samples/011_component_gallery/pages/data.json.py
485 ./dist/samples/011_component_gallery/pages/data.json_column.py
669 ./dist/samples/011_component_gallery/pages/data.linechart_column.py
975 ./dist/samples/011_component_gallery/pages/data.link_column.py
668 ./dist/samples/011_component_gallery/pages/data.list_column.py
657 ./dist/samples/011_component_gallery/pages/data.multiselect_column_1.py
522 ./dist/samples/011_component_gallery/pages/data.multiselect_column_2.py
513 ./dist/samples/011_component_gallery/pages/data.number_column.py
487 ./dist/samples/011_component_gallery/pages/data.progress_column.py
766 ./dist/samples/011_component_gallery/pages/data.selectbox_column.py
206 ./dist/samples/011_component_gallery/pages/data.table.py
523 ./dist/samples/011_component_gallery/pages/data.table_auto_header.py
351 ./dist/samples/011_component_gallery/pages/data.table_confusion.py
155 ./dist/samples/011_component_gallery/pages/data.table_hide_header_and_index.py
444 ./dist/samples/011_component_gallery/pages/data.table_horizontal_border.py
443 ./dist/samples/011_component_gallery/pages/data.table_markdown.py
549 ./dist/samples/011_component_gallery/pages/data.text_column.py
636 ./dist/samples/011_component_gallery/pages/data.time_column.py
557 ./dist/samples/011_component_gallery/pages/data.video_column.py
2555 ./dist/samples/011_component_gallery/pages/dataframe-row-selections.py
528 ./dist/samples/011_component_gallery/pages/execution.dialog.py
461 ./dist/samples/011_component_gallery/pages/execution.fragment-rerun.py
543 ./dist/samples/011_component_gallery/pages/execution.fragment.py
296 ./dist/samples/011_component_gallery/pages/execution.fragment_balloon.py
411449 ./dist/samples/011_component_gallery/pages/flower.png
377 ./dist/samples/011_component_gallery/pages/forms.form1.py
185 ./dist/samples/011_component_gallery/pages/forms.form2.py
606 ./dist/samples/011_component_gallery/pages/forms.form_container.py
347 ./dist/samples/011_component_gallery/pages/forms.form_default.py
1442 ./dist/samples/011_component_gallery/pages/forms.form_overview.py
243 ./dist/samples/011_component_gallery/pages/forms.form_process1.py
468 ./dist/samples/011_component_gallery/pages/forms.form_process2.py
637 ./dist/samples/011_component_gallery/pages/forms.form_process3.py
39446 ./dist/samples/011_component_gallery/pages/images/horizontal_blue.png
32992 ./dist/samples/011_component_gallery/pages/images/horizontal_red.png
4241 ./dist/samples/011_component_gallery/pages/images/icon_blue.png
3763 ./dist/samples/011_component_gallery/pages/images/icon_red.png
577 ./dist/samples/011_component_gallery/pages/layout.columns1.py
267 ./dist/samples/011_component_gallery/pages/layout.columns2.py
176 ./dist/samples/011_component_gallery/pages/layout.columns_borders.py
203 ./dist/samples/011_component_gallery/pages/layout.columns_bottom_widgets.py
606 ./dist/samples/011_component_gallery/pages/layout.columns_vertical_alignment.py
284 ./dist/samples/011_component_gallery/pages/layout.container1.py
191 ./dist/samples/011_component_gallery/pages/layout.container2.py
169 ./dist/samples/011_component_gallery/pages/layout.container3.py
118 ./dist/samples/011_component_gallery/pages/layout.container4.py
152 ./dist/samples/011_component_gallery/pages/layout.container5.py
229 ./dist/samples/011_component_gallery/pages/layout.empty.py
586 ./dist/samples/011_component_gallery/pages/layout.empty_placeholder.py
444 ./dist/samples/011_component_gallery/pages/layout.expander-callback.py
216 ./dist/samples/011_component_gallery/pages/layout.expander-conditional-outside.py
237 ./dist/samples/011_component_gallery/pages/layout.expander-lazy-load.py
452 ./dist/samples/011_component_gallery/pages/layout.expander.py
484 ./dist/samples/011_component_gallery/pages/layout.popover-callback.py
234 ./dist/samples/011_component_gallery/pages/layout.popover-conditional-outside.py
237 ./dist/samples/011_component_gallery/pages/layout.popover-lazy-load.py
169 ./dist/samples/011_component_gallery/pages/layout.popover.py
263 ./dist/samples/011_component_gallery/pages/layout.popover2.py
129 ./dist/samples/011_component_gallery/pages/layout.space_horizontal.py
220 ./dist/samples/011_component_gallery/pages/layout.space_vertical.py
658 ./dist/samples/011_component_gallery/pages/layout.tabs-callback.py
605 ./dist/samples/011_component_gallery/pages/layout.tabs-conditional-outside.py
499 ./dist/samples/011_component_gallery/pages/layout.tabs-lazy-load.py
395 ./dist/samples/011_component_gallery/pages/layout.tabs1.py
268 ./dist/samples/011_component_gallery/pages/layout.tabs2.py
447 ./dist/samples/011_component_gallery/pages/layout.tabs3.py
118 ./dist/samples/011_component_gallery/pages/layouts.container4.py
476 ./dist/samples/011_component_gallery/pages/media.logo.py
110 ./dist/samples/011_component_gallery/pages/metric.example1.py
178 ./dist/samples/011_component_gallery/pages/metric.example2.py
175 ./dist/samples/011_component_gallery/pages/metric.example3.py
277 ./dist/samples/011_component_gallery/pages/metric.example4.py
502 ./dist/samples/011_component_gallery/pages/metric.example5.py
102 ./dist/samples/011_component_gallery/pages/status.exception.py
303 ./dist/samples/011_component_gallery/pages/status.progress.py
144 ./dist/samples/011_component_gallery/pages/status.spinner.py
250 ./dist/samples/011_component_gallery/pages/status.status.py
355 ./dist/samples/011_component_gallery/pages/status.status1.py
105 ./dist/samples/011_component_gallery/pages/status.toast.py
185 ./dist/samples/011_component_gallery/pages/status.toast1.py
262 ./dist/samples/011_component_gallery/pages/status.toast2.py
437557 ./dist/samples/011_component_gallery/pages/tailwind_example.js
221 ./dist/samples/011_component_gallery/pages/text.badge.py
56 ./dist/samples/011_component_gallery/pages/text.caption.py
566 ./dist/samples/011_component_gallery/pages/text.code-ascii.py
114 ./dist/samples/011_component_gallery/pages/text.code.py
329 ./dist/samples/011_component_gallery/pages/text.header.py
170 ./dist/samples/011_component_gallery/pages/text.latex.py
552 ./dist/samples/011_component_gallery/pages/text.markdown.py
240 ./dist/samples/011_component_gallery/pages/text.markdown1.py
356 ./dist/samples/011_component_gallery/pages/text.subheader.py
94 ./dist/samples/011_component_gallery/pages/text.text.py
444 ./dist/samples/011_component_gallery/pages/text.text_area.py
104 ./dist/samples/011_component_gallery/pages/text.title.py
65 ./dist/samples/011_component_gallery/pages/text.write1.py
155 ./dist/samples/011_component_gallery/pages/text.write2.py
332 ./dist/samples/011_component_gallery/pages/text.write3.py
733 ./dist/samples/011_component_gallery/pages/text.write_stream.py
64 ./dist/samples/011_component_gallery/pages/utilities.help.py
245 ./dist/samples/011_component_gallery/pages/utilities.help1.py
123 ./dist/samples/011_component_gallery/pages/utilities.help2.py
111 ./dist/samples/011_component_gallery/pages/utilities.html.py
122 ./dist/samples/011_component_gallery/pages/widget.audio_input.py
210 ./dist/samples/011_component_gallery/pages/widget.button.py
409 ./dist/samples/011_component_gallery/pages/widget.button_icons.py
336 ./dist/samples/011_component_gallery/pages/widget.button_shortcut.py
162 ./dist/samples/011_component_gallery/pages/widget.camera_input.py
88 ./dist/samples/011_component_gallery/pages/widget.checkbox.py
115 ./dist/samples/011_component_gallery/pages/widget.color_picker.py
143 ./dist/samples/011_component_gallery/pages/widget.date_input.py
341 ./dist/samples/011_component_gallery/pages/widget.date_input1.py
127 ./dist/samples/011_component_gallery/pages/widget.date_input_empty.py
190 ./dist/samples/011_component_gallery/pages/widget.datetime_input.py
150 ./dist/samples/011_component_gallery/pages/widget.datetime_input_empty.py
917 ./dist/samples/011_component_gallery/pages/widget.download_button.py
490 ./dist/samples/011_component_gallery/pages/widget.download_button_csv.py
247 ./dist/samples/011_component_gallery/pages/widget.download_button_deferred.py
208 ./dist/samples/011_component_gallery/pages/widget.download_button_file.py
338 ./dist/samples/011_component_gallery/pages/widget.download_button_text.py
213 ./dist/samples/011_component_gallery/pages/widget.feedback_stars.py
215 ./dist/samples/011_component_gallery/pages/widget.feedback_thumbs.py
230 ./dist/samples/011_component_gallery/pages/widget.file_uploader.py
202 ./dist/samples/011_component_gallery/pages/widget.file_uploader_directory.py
88 ./dist/samples/011_component_gallery/pages/widget.link_button.py
264 ./dist/samples/011_component_gallery/pages/widget.menu_button.py
196 ./dist/samples/011_component_gallery/pages/widget.multiselect.py
235 ./dist/samples/011_component_gallery/pages/widget.multiselect_accept_new_options.py
111 ./dist/samples/011_component_gallery/pages/widget.number_input.py
155 ./dist/samples/011_component_gallery/pages/widget.number_input_empty.py
203 ./dist/samples/011_component_gallery/pages/widget.pills_multi.py
409 ./dist/samples/011_component_gallery/pages/widget.pills_single.py
351 ./dist/samples/011_component_gallery/pages/widget.radio.py
693 ./dist/samples/011_component_gallery/pages/widget.radio1.py
205 ./dist/samples/011_component_gallery/pages/widget.radio_empty.py
215 ./dist/samples/011_component_gallery/pages/widget.segmented_control_multi.py
421 ./dist/samples/011_component_gallery/pages/widget.segmented_control_single.py
478 ./dist/samples/011_component_gallery/pages/widget.select_slider.py
167 ./dist/samples/011_component_gallery/pages/widget.selectbox.py
685 ./dist/samples/011_component_gallery/pages/widget.selectbox1.py
272 ./dist/samples/011_component_gallery/pages/widget.selectbox_accept_new_options.py
232 ./dist/samples/011_component_gallery/pages/widget.selectbox_empty.py
657 ./dist/samples/011_component_gallery/pages/widget.slider.py
503 ./dist/samples/011_component_gallery/pages/widget.text_area.py
124 ./dist/samples/011_component_gallery/pages/widget.text_input.py
884 ./dist/samples/011_component_gallery/pages/widget.text_input1.py
132 ./dist/samples/011_component_gallery/pages/widget.time_input.py
122 ./dist/samples/011_component_gallery/pages/widget.time_input_empty.py
102 ./dist/samples/011_component_gallery/pages/widget.toggle.py
144 ./dist/samples/011_component_gallery/pages/widgets.audio_input_high_rate.py
307 ./dist/samples/011_component_gallery/pages/widgets.change_parameters.py
558 ./dist/samples/011_component_gallery/pages/widgets.change_parameters_best.py
468 ./dist/samples/011_component_gallery/pages/widgets.form_callbacks.py
259 ./dist/samples/011_component_gallery/requirements.txt
71 ./dist/samples/011_component_gallery/stlite.json
1901 ./dist/samples/011_component_gallery/streamlit_app.py
36065 ./dist/samples/012_hello/agri.csv.gz
7239 ./dist/samples/012_hello/hello.py
45 ./dist/samples/012_hello/requirements.txt
51 ./dist/samples/012_hello/stlite.json
1637 ./dist/samples/012_mpa-hello/0_👋_Hello.py
36065 ./dist/samples/012_mpa-hello/agri.csv.gz
1691 ./dist/samples/012_mpa-hello/pages/1_📈_Plotting_Demo.py
3775 ./dist/samples/012_mpa-hello/pages/2_🌍_Mapping_Demo.py
2522 ./dist/samples/012_mpa-hello/pages/3_📊_DataFrame_Demo.py
1674 ./dist/samples/012_mpa-hello/pages/4_📷_Webcam_Demo.py
59 ./dist/samples/012_mpa-hello/requirements.txt
68 ./dist/samples/012_mpa-hello/stlite.json
957 ./dist/samples/012_mpa-hello/utils.py
295 ./dist/samples/012_navigation.multipage_widgets/app.py
60 ./dist/samples/012_navigation.multipage_widgets/stlite.json
495 ./dist/samples/012_tutorials_custom-navigation/README.md
649 ./dist/samples/012_tutorials_custom-navigation/app.py
1172 ./dist/samples/012_tutorials_custom-navigation/menu.py
504 ./dist/samples/012_tutorials_custom-navigation/pages/admin.py
497 ./dist/samples/012_tutorials_custom-navigation/pages/super-admin.py
341 ./dist/samples/012_tutorials_custom-navigation/pages/user.py
18 ./dist/samples/012_tutorials_custom-navigation/requirements.txt
71 ./dist/samples/012_tutorials_custom-navigation/stlite.json
496 ./dist/samples/012_tutorials_dynamic-navigation/README.md
104 ./dist/samples/012_tutorials_dynamic-navigation/admin/admin_1.py
104 ./dist/samples/012_tutorials_dynamic-navigation/admin/admin_2.py
39446 ./dist/samples/012_tutorials_dynamic-navigation/images/horizontal_blue.png
4241 ./dist/samples/012_tutorials_dynamic-navigation/images/icon_blue.png
106 ./dist/samples/012_tutorials_dynamic-navigation/request/request_1.py
106 ./dist/samples/012_tutorials_dynamic-navigation/request/request_2.py
106 ./dist/samples/012_tutorials_dynamic-navigation/respond/respond_1.py
106 ./dist/samples/012_tutorials_dynamic-navigation/respond/respond_2.py
105 ./dist/samples/012_tutorials_dynamic-navigation/settings.py
82 ./dist/samples/012_tutorials_dynamic-navigation/stlite.json
1940 ./dist/samples/012_tutorials_dynamic-navigation/streamlit_app.py
529 ./dist/samples/012_tutorials_fragments/README.md
0 ./dist/samples/012_tutorials_fragments/app.py
1294 ./dist/samples/012_tutorials_fragments/pages/tutorial-fragment-multiple-container.py
2897 ./dist/samples/012_tutorials_fragments/pages/tutorial-fragment-rerun.py
1748 ./dist/samples/012_tutorials_fragments/pages/tutorial-fragment-streaming.py
63 ./dist/samples/012_tutorials_fragments/stlite.json
489 ./dist/samples/012_utilities.switch_page/README.md
204 ./dist/samples/012_utilities.switch_page/pages/page_1.py
204 ./dist/samples/012_utilities.switch_page/pages/page_2.py
18 ./dist/samples/012_utilities.switch_page/requirements.txt
68 ./dist/samples/012_utilities.switch_page/stlite.json
204 ./dist/samples/012_utilities.switch_page/your_app.py
484 ./dist/samples/012_widget.page_link/README.md
289 ./dist/samples/012_widget.page_link/pages/page_1.py
289 ./dist/samples/012_widget.page_link/pages/page_2.py
18 ./dist/samples/012_widget.page_link/requirements.txt
65 ./dist/samples/012_widget.page_link/stlite.json
289 ./dist/samples/012_widget.page_link/your_app.py
332 ./dist/samples/020_custom_components/home.py
649 ./dist/samples/020_custom_components/pages/aggrid.py
1086 ./dist/samples/020_custom_components/pages/agraph.py
1260 ./dist/samples/020_custom_components/pages/cropper.py
344 ./dist/samples/020_custom_components/pages/d3_demo.py
1740 ./dist/samples/020_custom_components/pages/drawable_canvas.py
251 ./dist/samples/020_custom_components/pages/embedcode.py
5270 ./dist/samples/020_custom_components/pages/folium.py
1022 ./dist/samples/020_custom_components/pages/lottie.py
285 ./dist/samples/020_custom_components/pages/player.py
343 ./dist/samples/020_custom_components/pages/stmol.py
187 ./dist/samples/020_custom_components/requirements.txt
62 ./dist/samples/020_custom_components/stlite.json
4517 ./dist/samples/021_opencv/data/logo.png
14 ./dist/samples/021_opencv/requirements.txt
60 ./dist/samples/021_opencv/stlite.json
1092 ./dist/samples/021_opencv/streamlit_app.py
30 ./dist/samples/022_realtime_image_processing/requirements.txt
79 ./dist/samples/022_realtime_image_processing/stlite.json
2568 ./dist/samples/022_realtime_image_processing/streamlit_app.py
724 ./dist/samples/030_streamlit_e2e_tests/pages/empty_labels.py
733 ./dist/samples/030_streamlit_e2e_tests/pages/iframe_resizer.py
876 ./dist/samples/030_streamlit_e2e_tests/pages/redisplayed_widgets.py
1225 ./dist/samples/030_streamlit_e2e_tests/pages/session_state_frontend_sync.py
1400 ./dist/samples/030_streamlit_e2e_tests/pages/st_columns.py
1140 ./dist/samples/030_streamlit_e2e_tests/pages/st_disabled.py
616 ./dist/samples/030_streamlit_e2e_tests/pages/st_disconnect.py
1681 ./dist/samples/030_streamlit_e2e_tests/pages/st_download_button.py
2475 ./dist/samples/030_streamlit_e2e_tests/pages/st_exception.py
747 ./dist/samples/030_streamlit_e2e_tests/pages/st_experimental_get_query_params.py
856 ./dist/samples/030_streamlit_e2e_tests/pages/st_experimental_set_query_params.py
2405 ./dist/samples/030_streamlit_e2e_tests/pages/st_form_column_association.py
3329 ./dist/samples/030_streamlit_e2e_tests/pages/st_image.py
2160 ./dist/samples/030_streamlit_e2e_tests/pages/st_image_replay.py
810 ./dist/samples/030_streamlit_e2e_tests/pages/st_image_replay_old_image.py
1705 ./dist/samples/030_streamlit_e2e_tests/pages/st_image_svg_sizing.py
762 ./dist/samples/030_streamlit_e2e_tests/pages/st_json.py
1484 ./dist/samples/030_streamlit_e2e_tests/pages/st_map.py
969 ./dist/samples/030_streamlit_e2e_tests/pages/st_media_replay.py
2141 ./dist/samples/030_streamlit_e2e_tests/pages/st_pydeck_chart.py
1524 ./dist/samples/030_streamlit_e2e_tests/pages/st_pydeck_geo_layers.py
1263 ./dist/samples/030_streamlit_e2e_tests/pages/st_reuse_label.py
2551 ./dist/samples/030_streamlit_e2e_tests/pages/st_select_slider.py
1592 ./dist/samples/030_streamlit_e2e_tests/pages/st_session_state.py
1592 ./dist/samples/030_streamlit_e2e_tests/pages/st_set_page_config.py
1087 ./dist/samples/030_streamlit_e2e_tests/pages/st_sidebar.py
2458 ./dist/samples/030_streamlit_e2e_tests/pages/st_slider.py
1149 ./dist/samples/030_streamlit_e2e_tests/pages/st_tabs.py
2732 ./dist/samples/030_streamlit_e2e_tests/pages/st_tooltips.py
1108 ./dist/samples/030_streamlit_e2e_tests/pages/websocket_reconnects.py
730 ./dist/samples/030_streamlit_e2e_tests/pages/widget_state_heavy_usage.py
27 ./dist/samples/030_streamlit_e2e_tests/requirements.txt
75 ./dist/samples/030_streamlit_e2e_tests/stlite.json
117 ./dist/samples/030_streamlit_e2e_tests/streamlit_app.py |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/actions/init-all/action.yml (1)
23-29:⚠️ Potential issue | 🟠 MajorPrevent dependency caches from bypassing the Safe-Chain gate.
The
setup-uv(lines 23–29) and Yarn (lines 52–59) caches are restored before Safe-Chain shims are installed (lines 85–131). Ifuv syncandyarn installsatisfy packages from these restored caches, they will skip network downloads and bypass the Safe-Chain proxy's live malware check. This allows packages cached before Safe-Chain deployment—or cached packages that later become malicious—to pass through unchecked.Recommended mitigations:
- Add
cache-suffix: safe-chain-1.4.9to thesetup-uvaction to rotate the Python cache key.- Update the Yarn cache
keyto include a Safe-Chain prefix (e.g.,${{ runner.os }}-safe-chain-1.4.9-yarn-${{ hashFiles('**/yarn.lock') }}).Both the
cache-suffixparameter and customkeymodifications are supported by the respective actions.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/actions/init-all/action.yml around lines 23 - 29, The caches for setup-uv and Yarn are restored before Safe-Chain shims are installed, allowing cached packages to bypass Safe-Chain checks; update the setup-uv step (uses: astral-sh/setup-uv) to include the cache-suffix parameter set to a Safe-Chain version (e.g., cache-suffix: safe-chain-1.4.9) to rotate the Python cache key, and modify the Yarn cache restore/save steps to include a Safe-Chain prefix in their key (e.g., prefix runner.os with "safe-chain-1.4.9" such as "${{ runner.os }}-safe-chain-1.4.9-yarn-${{ hashFiles('**/yarn.lock') }}") so restored caches cannot bypass the Safe-Chain proxy.
🧹 Nitpick comments (1)
.github/actions/init-all/action.yml (1)
91-111: Gate Safe-Chain setup on whether this action will install packages.Right now every Linux/Windows caller downloads and runs Safe-Chain, even when
make venvandmake node_modulesare both skipped. Narrowing the condition avoids unrelated CI failures for setup-only/protoc-only jobs.♻️ Proposed condition tightening
- name: Install Aikido Safe-Chain (Linux) - if: runner.os == 'Linux' + if: runner.os == 'Linux' && (inputs.python-version-file || (inputs.node-version-file && inputs.install-node-modules == 'true')) @@ - name: Install Aikido Safe-Chain (Windows) - if: runner.os == 'Windows' + if: runner.os == 'Windows' && (inputs.python-version-file || (inputs.node-version-file && inputs.install-node-modules == 'true'))🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/actions/init-all/action.yml around lines 91 - 111, The Safe-Chain install steps run unconditionally per-OS; change their if-conditions so they only run when the job will actually install packages (i.e., when the workflow inputs or flags that trigger package installation are enabled). Update the "if" on the "Install Aikido Safe-Chain (Linux)" and "Install Aikido Safe-Chain (Windows)" steps to AND the existing runner.os check with the boolean/inputs that indicate package setup (for example: add checks like inputs.install_python == 'true' or inputs.install_node == 'true' or a single inputs.run_install == 'true' depending on your workflow inputs), so safe-chain is only downloaded when make venv / make node_modules (or equivalent install flags) will run. Ensure you reference those exact input names used by the workflow when modifying the if expression.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In @.github/actions/init-all/action.yml:
- Around line 23-29: The caches for setup-uv and Yarn are restored before
Safe-Chain shims are installed, allowing cached packages to bypass Safe-Chain
checks; update the setup-uv step (uses: astral-sh/setup-uv) to include the
cache-suffix parameter set to a Safe-Chain version (e.g., cache-suffix:
safe-chain-1.4.9) to rotate the Python cache key, and modify the Yarn cache
restore/save steps to include a Safe-Chain prefix in their key (e.g., prefix
runner.os with "safe-chain-1.4.9" such as "${{ runner.os
}}-safe-chain-1.4.9-yarn-${{ hashFiles('**/yarn.lock') }}") so restored caches
cannot bypass the Safe-Chain proxy.
---
Nitpick comments:
In @.github/actions/init-all/action.yml:
- Around line 91-111: The Safe-Chain install steps run unconditionally per-OS;
change their if-conditions so they only run when the job will actually install
packages (i.e., when the workflow inputs or flags that trigger package
installation are enabled). Update the "if" on the "Install Aikido Safe-Chain
(Linux)" and "Install Aikido Safe-Chain (Windows)" steps to AND the existing
runner.os check with the boolean/inputs that indicate package setup (for
example: add checks like inputs.install_python == 'true' or inputs.install_node
== 'true' or a single inputs.run_install == 'true' depending on your workflow
inputs), so safe-chain is only downloaded when make venv / make node_modules (or
equivalent install flags) will run. Ensure you reference those exact input names
used by the workflow when modifying the if expression.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: c1b8d3fb-a82a-450b-add8-bf41653666f6
📒 Files selected for processing (1)
.github/actions/init-all/action.yml
Every CI job that runs through the init-all composite action now routes
yarn install/uv sync/pip installthrough Aikido Safe-Chain's PATH shims, which block known-malicious packages via a local proxy against Aikido Intel. Pinned to version 1.4.9 + SHA256 since this is a supply-chain security control. Linux-only; Windows matrix jobs rely on the Linux run catching the same lockfile-resolved deps.Summary by CodeRabbit