Streamlit — A faster way to build and share data apps.
This report presents the forensic synthetic code analysis of streamlit/streamlit, a Python project with 45,222 GitHub stars. SynthScan v2.0 examined 588,855 lines of code across 2337 source files, recording 10419 pattern matches distributed across 25 syntactic categories. The overall adjusted score of 21.6 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 10419 distinct pattern matches across 25 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | frontend/app/src/App.test.tsx | 419 | function getMockConnectionManagerProp( | CODE |
| LOW | frontend/app/src/App.test.tsx | 4577 | function prepareHostCommunicationManager( | CODE |
| LOW | frontend/app/src/util/hostConfigHelpers.ts | 82 | export function reconcileHostConfigValues( | CODE |
| LOW | frontend/app/src/components/Navigation/TopNav.test.tsx | 51 | function getNavigationContextOutput( | CODE |
| LOW | frontend/app/src/components/Navigation/utils.ts | 79 | export function processNavigationStructure( | CODE |
| LOW | …tend/app/src/components/Navigation/SidebarNav.test.tsx | 148 | function getSidebarConfigContextOutput( | CODE |
| LOW | …tend/app/src/components/Navigation/SidebarNav.test.tsx | 161 | function getNavigationContextOutput( | CODE |
| LOW | frontend/app/src/components/AppView/AppView.test.tsx | 52 | function getSidebarConfigContextOutput( | CODE |
| LOW | frontend/app/src/components/AppView/AppView.test.tsx | 65 | function getNavigationContextOutput( | CODE |
| LOW | …end/app/src/components/SkillsNudgeToast/skillsNudge.ts | 118 | export function isSkillsNudgeDroppedConnection(error: unknown): boolean { | CODE |
| LOW | frontend/connection/src/ConnectionManager.test.ts | 92 | function getMockWebsocketConnection(): WebsocketConnection { | CODE |
| LOW | frontend/connection/src/StaticConnection.tsx | 100 | export async function dispatchAppForwardMessages( | CODE |
| LOW | frontend/connection/src/StaticConnection.tsx | 125 | export async function establishStaticConnection( | CODE |
| LOW | frontend/connection/src/WebsocketConnection.test.tsx | 102 | function setupFetchMockWithFailures( | CODE |
| LOW | frontend/connection/src/utils.ts | 39 | export function isHostConfigBypassEnabled(): boolean { | CODE |
| LOW | frontend/connection/src/ForwardMessageCache.test.ts | 51 | function createForwardMsgWithFragment( | CODE |
| LOW | frontend/lib/src/util/utils.test.ts | 1327 | function makeIframeWithEmbeddingClass( | CODE |
| LOW | frontend/lib/src/util/formatNumber.ts | 48 | function formatIntlNumberWithLocales( | CODE |
| LOW | frontend/lib/src/util/utils.ts | 199 | export function isLightThemeInQueryParams(): boolean { | CODE |
| LOW | frontend/lib/src/util/utils.ts | 471 | export function labelVisibilityProtoValueToEnum( | CODE |
| LOW | frontend/lib/src/util/utils.ts | 493 | export function chatInputAcceptFileProtoValueToEnum( | CODE |
| LOW | frontend/lib/src/util/utils.ts | 514 | function findAnIFrameWithClassName( | CODE |
| LOW | frontend/lib/src/util/utils.ts | 609 | export function extractPageNameFromPathName( | CODE |
| LOW | frontend/lib/src/dataframes/arrowFormatUtils.ts | 181 | function convertTimestampToSeconds( | CODE |
| LOW | frontend/lib/src/dataframes/arrowParseUtils.ts | 229 | function parsePandasIndexColumnTypes( | CODE |
| LOW | frontend/lib/src/dataframes/arrowParseUtils.ts | 324 | function parseCategoricalOptionsForColumns( | CODE |
| LOW | …ib/src/components/core/Layout/useLayoutStyles.test.tsx | 1167 | function withContentWidthContainer(parentWidth?: number) { | CODE |
| LOW | frontend/lib/src/components/core/Block/utils.ts | 200 | export function checkFlexContainerBackwardsCompatibile( | CODE |
| LOW | frontend/lib/src/components/core/Block/utils.ts | 213 | export function shouldActivateScrollToBottom(blockNode: BlockNode): boolean { | CODE |
| LOW | frontend/lib/src/components/core/Block/utils.ts | 231 | export function getBorderBackwardsCompatible(blockProto: BlockProto): boolean { | CODE |
| LOW | frontend/lib/src/components/core/Block/Block.test.tsx | 41 | function makeHorizontalBlockWithColumns(numColumns: number): BlockNode { | CODE |
| LOW | frontend/lib/src/components/core/Block/Block.test.tsx | 70 | function makeVerticalBlockComponent(node: BlockNode): ReactElement { | CODE |
| LOW | frontend/lib/src/components/shared/Icon/DynamicIcon.tsx | 80 | export function extractLeadingMaterialIcon( | CODE |
| LOW | frontend/lib/src/components/shared/Modal/Modal.tsx | 78 | function shouldCloseOnInteractOutside(element: Element): boolean { | CODE |
| LOW | …mponents/shared/StreamlitMarkdown/styled-components.ts | 102 | function getMarkdownHeadingDefinitions( | CODE |
| LOW | …ponents/shared/StreamlitMarkdown/StreamlitMarkdown.tsx | 218 | function rehypeSetCodeInlineProperty() { | CODE |
| LOW | …ponents/shared/StreamlitMarkdown/StreamlitMarkdown.tsx | 723 | function createRemarkColoringAndSmall( | CODE |
| LOW | …ponents/shared/StreamlitMarkdown/StreamlitMarkdown.tsx | 842 | function createRemarkUnsupportedDirectivesCleanup(): () => ( | CODE |
| LOW | …ponents/shared/StreamlitMarkdown/StreamlitMarkdown.tsx | 866 | function createRemarkMaterialIcons(theme: EmotionTheme) { | CODE |
| LOW | …ponents/shared/StreamlitMarkdown/StreamlitMarkdown.tsx | 918 | function createRemarkStreamlitLogo() { | CODE |
| LOW | …ponents/shared/StreamlitMarkdown/StreamlitMarkdown.tsx | 946 | function createRemarkTypographicalSymbols() { | CODE |
| LOW | …nts/elements/DeckGlJsonChart/patchLumaCanvasContext.ts | 61 | function patchedGetMaxDrawingBufferSize(): [number, number] { | CODE |
| LOW | …ib/src/components/elements/PlotlyChart/CustomTheme.tsx | 39 | export function applyStreamlitThemeTemplateLayout( | CODE |
| LOW | …ents/elements/CodeBlock/StreamlitSyntaxHighlighter.tsx | 44 | function StreamlitSyntaxHighlighter({ | CODE |
| LOW | …lib/src/components/elements/Markdown/Markdown.test.tsx | 451 | function getElementNodeRendererProps( | CODE |
| LOW | …rc/components/elements/GraphVizChart/GraphVizChart.tsx | 59 | function sanitizeNamespacedXlinkHref(element: Element): void { | CODE |
| LOW | …ontend/lib/src/components/elements/Html/HtmlWithJs.tsx | 53 | function sanitizeHtmlStringAllowingScripts(html: string): string { | CODE |
| LOW | frontend/lib/src/components/elements/Dialog/Dialog.tsx | 39 | function mapDialogWidthToModalSize( | CODE |
| LOW | …ments/ArrowVegaLiteChart/useVegaElementPreprocessor.ts | 71 | function isNonNegativeFiniteNumber(value: unknown): value is number { | CODE |
| LOW | …ments/ArrowVegaLiteChart/useVegaElementPreprocessor.ts | 118 | function sanitizeUsermetaEmbedOptions(spec: VegaLiteSpec): void { | CODE |
| LOW | …c/components/widgets/DataFrame/hooks/useWidgetState.ts | 64 | function parseSelectionStateToGridSelection( | CODE |
| LOW | …widgets/DataFrame/hooks/useButtonColumnInteractions.ts | 94 | function useButtonColumnInteractions({ | CODE |
| LOW | …/components/widgets/DataFrame/menus/statisticsUtils.ts | 461 | export function computeDateTimeStatistics( | CODE |
| LOW | …components/widgets/DataFrame/menus/StatisticsChart.tsx | 77 | function createPopoverTooltipStyles(theme: EmotionTheme): CSSObject { | CODE |
| LOW | …/lib/src/components/widgets/DataFrame/columns/utils.ts | 735 | export function getLinkDisplayValueFromRegex( | CODE |
| LOW | …/components/widgets/CustomComponent/componentUtils.tsx | 94 | export function createIframeMessageHandler( | CODE |
| LOW | …nents/widgets/BaseWidget/WidgetLabelHelpIconInline.tsx | 45 | export function WidgetLabelHelpIconInline({ | CODE |
| LOW | frontend/lib/src/theme/getColors.ts | 270 | function defaultDivergingColorsArray(genericColors: GenericColors): string[] { | CODE |
| LOW | frontend/lib/src/theme/getColors.ts | 285 | function defaultSequentialColorsArray(genericColors: GenericColors): string[] { | CODE |
| LOW | frontend/lib/src/theme/getColors.ts | 291 | function defaultCategoricalColorsArray( | CODE |
| 6646 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | pyproject.toml | 15 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | pyproject.toml | 17 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | pyproject.toml | 24 | # ============================================================================= | COMMENT |
| MEDIUM | pyproject.toml | 50 | # ============================================================================= | COMMENT |
| MEDIUM | pyproject.toml | 52 | # ============================================================================= | COMMENT |
| MEDIUM | pyproject.toml | 165 | # ============================================================================= | COMMENT |
| MEDIUM | pyproject.toml | 167 | # ============================================================================= | COMMENT |
| MEDIUM | pyproject.toml | 349 | # ============================================================================= | COMMENT |
| MEDIUM | pyproject.toml | 351 | # ============================================================================= | COMMENT |
| MEDIUM | pyproject.toml | 436 | # ============================================================================= | COMMENT |
| MEDIUM | pyproject.toml | 438 | # ============================================================================= | COMMENT |
| MEDIUM | …d/lib/src/components/shared/UploadedFile/utils.test.ts | 39 | // ── getFileTypeIcon ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | …d/lib/src/components/shared/UploadedFile/utils.test.ts | 171 | // ── getFileExtension ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | …d/lib/src/components/shared/UploadedFile/utils.test.ts | 204 | // ── isImageFile ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …d/lib/src/components/shared/UploadedFile/utils.test.ts | 224 | // ── truncateFilename ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | …d/lib/src/components/shared/UploadedFile/utils.test.ts | 389 | // ── useImagePreview ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ontend/lib/src/components/shared/UploadedFile/utils.ts | 32 | // ── File extension helpers ────────────────────────────────────────── | COMMENT |
| MEDIUM | …ontend/lib/src/components/shared/UploadedFile/utils.ts | 131 | // ── Filename truncation ───────────────────────────────────────────── | COMMENT |
| MEDIUM | …ontend/lib/src/components/shared/UploadedFile/utils.ts | 180 | // ── Image preview hook ────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | e2e_playwright/st_chat_input_test.py | 1795 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | e2e_playwright/st_chat_input_test.py | 1797 | # ===================================================================== | COMMENT |
| MEDIUM | e2e_playwright/st_expander.py | 120 | # ============================================================================ | STRING |
| MEDIUM | e2e_playwright/st_expander.py | 122 | # ============================================================================ | STRING |
| MEDIUM | e2e_playwright/st_expander.py | 213 | # ============================================================================ | STRING |
| MEDIUM | e2e_playwright/st_expander.py | 226 | # ============================================================================ | STRING |
| MEDIUM | e2e_playwright/st_expander.py | 247 | # ============================================================================ | STRING |
| MEDIUM | e2e_playwright/st_expander.py | 268 | # ============================================================================ | STRING |
| MEDIUM | e2e_playwright/st_expander.py | 270 | # ============================================================================ | STRING |
| MEDIUM | e2e_playwright/st_expander.py | 281 | # ============================================================================ | STRING |
| MEDIUM | e2e_playwright/st_expander.py | 284 | # ============================================================================ | STRING |
| MEDIUM⚡ | e2e_playwright/web_server_test.py | 49 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | e2e_playwright/web_server_test.py | 51 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | e2e_playwright/web_server_test.py | 102 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | e2e_playwright/web_server_test.py | 104 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | e2e_playwright/web_server_test.py | 277 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | e2e_playwright/web_server_test.py | 279 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | e2e_playwright/web_server_test.py | 306 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | e2e_playwright/web_server_test.py | 308 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | e2e_playwright/web_server_test.py | 325 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | e2e_playwright/web_server_test.py | 327 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | e2e_playwright/web_server_test.py | 425 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | e2e_playwright/web_server_test.py | 427 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | e2e_playwright/web_server_test.py | 523 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | e2e_playwright/web_server_test.py | 525 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | e2e_playwright/web_server_test.py | 563 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | e2e_playwright/web_server_test.py | 565 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | e2e_playwright/web_server_test.py | 625 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | e2e_playwright/web_server_test.py | 627 | # ============================================================================= | COMMENT |
| MEDIUM | e2e_playwright/web_server_test.py | 491 | # ============================================================================= | COMMENT |
| MEDIUM | e2e_playwright/web_server_test.py | 493 | # ============================================================================= | COMMENT |
| MEDIUM | e2e_playwright/st_popover.py | 100 | # ============================================================================ | COMMENT |
| MEDIUM | e2e_playwright/st_popover.py | 102 | # ============================================================================ | COMMENT |
| MEDIUM | e2e_playwright/st_popover.py | 137 | # ============================================================================ | COMMENT |
| MEDIUM | e2e_playwright/st_popover.py | 139 | # ============================================================================ | COMMENT |
| MEDIUM | e2e_playwright/st_popover.py | 150 | # ============================================================================ | COMMENT |
| MEDIUM | e2e_playwright/st_popover.py | 152 | # ============================================================================ | COMMENT |
| MEDIUM | e2e_playwright/st_popover.py | 173 | # ============================================================================ | COMMENT |
| MEDIUM | e2e_playwright/st_popover.py | 175 | # ============================================================================ | COMMENT |
| MEDIUM | e2e_playwright/st_popover.py | 244 | # ============================================================================ | COMMENT |
| MEDIUM | e2e_playwright/st_popover.py | 247 | # ============================================================================ | COMMENT |
| 461 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | e2e_playwright/st_feedback_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_slider_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_dataframe_selections_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_select_slider_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_checkbox_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_multiselect_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_camera_input_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_link_button_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_radio_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_date_input_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_plotly_chart_select_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_color_picker_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_number_input_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_segmented_control_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_selectbox_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_text_input_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_toggle_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_components_v1_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_altair_chart_basic_select_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_pills_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_data_editor_editing_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_download_button_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_file_uploader_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_time_input_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_text_area_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_button_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_container_test.py | 0 | test that the container can have a custom css class via the key argument. | STRING |
| HIGH | e2e_playwright/st_datetime_input_test.py | 0 | test that a clearable time input (value=none) can be seeded as empty from url. | STRING |
| HIGH | e2e_playwright/st_date_input_test.py | 0 | test that a clearable time input (value=none) can be seeded as empty from url. | STRING |
| HIGH | e2e_playwright/st_time_input_test.py | 0 | test that a clearable time input (value=none) can be seeded as empty from url. | STRING |
| HIGH | e2e_playwright/st_datetime_input_test.py | 0 | test that an invalid url value reverts to the default. | STRING |
| HIGH | e2e_playwright/st_date_input_test.py | 0 | test that an invalid url value reverts to the default. | STRING |
| HIGH | e2e_playwright/st_time_input_test.py | 0 | test that an invalid url value reverts to the default. | STRING |
| HIGH | e2e_playwright/st_checkbox_test.py | 0 | test that invalid url values are cleared and widget uses default. | STRING |
| HIGH | e2e_playwright/st_radio_test.py | 0 | test that invalid url values are cleared and widget uses default. | STRING |
| HIGH | e2e_playwright/st_color_picker_test.py | 0 | test that invalid url values are cleared and widget uses default. | STRING |
| HIGH | e2e_playwright/st_number_input_test.py | 0 | test that invalid url values are cleared and widget uses default. | STRING |
| HIGH | e2e_playwright/st_selectbox_test.py | 0 | test that invalid url values are cleared and widget uses default. | STRING |
| HIGH | e2e_playwright/st_toggle_test.py | 0 | test that invalid url values are cleared and widget uses default. | STRING |
| HIGH | e2e_playwright/st_link_button_test.py | 0 | test button width examples via screenshot matching. | STRING |
| HIGH | e2e_playwright/st_download_button_test.py | 0 | test button width examples via screenshot matching. | STRING |
| HIGH | e2e_playwright/st_button_test.py | 0 | test button width examples via screenshot matching. | STRING |
| HIGH | e2e_playwright/st_radio_test.py | 0 | test that the pills can be updated dynamically while keeping the state. this tests that: 1. options can be changed dynam | STRING |
| HIGH | e2e_playwright/st_segmented_control_test.py | 0 | test that the pills can be updated dynamically while keeping the state. this tests that: 1. options can be changed dynam | STRING |
| HIGH | e2e_playwright/st_pills_test.py | 0 | test that the pills can be updated dynamically while keeping the state. this tests that: 1. options can be changed dynam | STRING |
| HIGH | e2e_playwright/st_date_input_test.py | 0 | test that it correctly calls the callback on change. | STRING |
| HIGH | e2e_playwright/st_selectbox_test.py | 0 | test that it correctly calls the callback on change. | STRING |
| HIGH | e2e_playwright/st_text_input_test.py | 0 | test that it correctly calls the callback on change. | STRING |
| HIGH | e2e_playwright/st_time_input_test.py | 0 | test that it correctly calls the callback on change. | STRING |
| HIGH | e2e_playwright/st_text_area_test.py | 0 | test that it correctly calls the callback on change. | STRING |
| HIGH | e2e_playwright/multipage_apps/mpa_basics_test.py | 0 | test that we can switch between pages by clicking on sidebar links. | STRING |
| HIGH | e2e_playwright/multipage_apps_v2/mpa_v2_title_test.py | 0 | test that we can switch between pages by clicking on sidebar links. | STRING |
| HIGH | e2e_playwright/multipage_apps_v2/mpa_v2_basics_test.py | 0 | test that we can switch between pages by clicking on sidebar links. | STRING |
| HIGH | e2e_playwright/theming/custom_dark_theme_test.py | 0 | test that the custom light sidebar theme is rendered correctly with no light configs. | STRING |
| HIGH | …_playwright/theming/custom_light_sidebar_theme_test.py | 0 | test that the custom light sidebar theme is rendered correctly with no light configs. | STRING |
| HIGH | …e_playwright/theming/custom_dark_sidebar_theme_test.py | 0 | test that the custom light sidebar theme is rendered correctly with no light configs. | STRING |
| HIGH | e2e_playwright/theming/size_and_weight_test_app.py | 0 | <style> .stmainblockcontainer { padding-top: 4rem; } </style> | STRING |
| HIGH | e2e_playwright/theming/theme_chart_colors_app.py | 0 | <style> .stmainblockcontainer { padding-top: 4rem; } </style> | STRING |
| HIGH | e2e_playwright/theming/custom_text_colors.py | 0 | <style> .stmainblockcontainer { padding-top: 4rem; } </style> | STRING |
| HIGH | e2e_playwright/theming/custom_main_colors.py | 0 | <style> .stmainblockcontainer { padding-top: 4rem; } </style> | STRING |
| 187 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .pre-commit-config.yaml | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | pyproject.toml | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | frontend/.yarnrc.yml | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | frontend/vitest.setup.ts | 21 | // public API if React Aria ever exposes it. | COMMENT |
| LOW | frontend/vitest.setup.ts | 41 | act(() => { | COMMENT |
| LOW | frontend/vitest.setup.ts | 61 | // get StreamlitConfig() { | COMMENT |
| LOW | frontend/app/performance/apps/crud_app.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | frontend/app/performance/apps/blank_app.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | frontend/app/performance/apps/__init__.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | frontend/app/performance/apps/dashboard_app.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | …ontend/app/performance/apps/multipage/multipage_app.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | …app/performance/apps/multipage/pages/2_Mapping_Demo.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | …pp/performance/apps/multipage/pages/3_Plotting_Demo.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | …p/performance/apps/multipage/pages/1_Animation_Demo.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | frontend/app/src/App.tsx | 301 | COMMENT | |
| LOW | frontend/app/src/App.tsx | 541 | // for the first render. | COMMENT |
| LOW | frontend/app/src/App.tsx | 761 | }) | COMMENT |
| LOW | frontend/app/src/App.tsx | 1521 | sendMessageToHost: this.hostCommunicationMgr.sendMessageToHost, | COMMENT |
| LOW | frontend/utils/src/types/index.ts | 41 | BACKEND_BASE_URL?: string | COMMENT |
| LOW | frontend/lib/src/hostComm/HostCommunicationManager.tsx | 201 | public receiveHostMessage = (event: MessageEvent): void => { | COMMENT |
| LOW | frontend/lib/src/util/IFrameUtil.ts | 41 | // Lets the sandboxed document open new windows without those windows inheriting the sandboxing. For example, this can | COMMENT |
| LOW | …end/lib/src/components/shared/Tooltip/Tooltip.test.tsx | 41 | const renderTooltip = (props: Partial<TooltipProps> = {}): RenderResult => { | COMMENT |
| LOW | …/src/components/shared/BaseButton/styled-components.ts | 701 | // SC_SELF_* — used on the current-element (&) side of rules. Emotion replaces `&` | COMMENT |
| LOW | …ponents/shared/StreamlitMarkdown/StreamlitMarkdown.tsx | 361 | elementId={elementId} | COMMENT |
| LOW | …ontend/lib/src/components/elements/Popover/Popover.tsx | 181 | const popoverBodyRef = useRef<HTMLDivElement>(null) | COMMENT |
| LOW | …ments/ArrowVegaLiteChart/useVegaElementPreprocessor.ts | 381 | useContainerHeight, | COMMENT |
| LOW | …nts/elements/ArrowVegaLiteChart/ArrowVegaLiteChart.tsx | 201 | // do not work well with stretch/container width | COMMENT |
| LOW | …nts/elements/ArrowVegaLiteChart/ArrowVegaLiteChart.tsx | 221 | : 0 | COMMENT |
| LOW | …nts/elements/ArrowVegaLiteChart/ArrowVegaLiteChart.tsx | 321 | const needsContainerWidth = useStretchWidth || isFullScreen | COMMENT |
| LOW | …nts/elements/ArrowVegaLiteChart/ArrowVegaLiteChart.tsx | 421 | // The references to data and datasets will always change each rerun | COMMENT |
| LOW | …ib/src/components/widgets/DataFrame/arrowUtils.test.ts | 121 | #T_f116e_row0_col2 { color: red; opacity: 20% } | COMMENT |
| LOW | …widgets/BidiComponent/BidiComponentContextProvider.tsx | 81 | } | COMMENT |
| LOW | …c/components/widgets/BidiComponent/utils/theme.test.ts | 241 | const result = objectToCssCustomProperties(createTheme(), "--custom") | COMMENT |
| LOW | …c/components/widgets/BidiComponent/utils/theme.test.ts | 261 | // 2) Either map it in `extractComponentsV2Theme` or add it to | COMMENT |
| LOW | …lib/src/components/widgets/ButtonGroup/ButtonGroup.tsx | 181 | groupRef.current.setAttribute("aria-required", "true") | COMMENT |
| LOW | frontend/lib/src/components/widgets/Slider/Slider.tsx | 601 | : thumb2ValueRect.width | COMMENT |
| LOW | frontend/lib/src/components/widgets/Slider/Slider.tsx | 621 | // | COMMENT |
| LOW | frontend/lib/src/components/widgets/Slider/Slider.tsx | 661 | // | COMMENT |
| LOW | …end/lib/src/components/widgets/ChatInput/ChatInput.tsx | 441 | ]) | COMMENT |
| LOW | …end/lib/src/components/widgets/ChatInput/ChatInput.tsx | 461 | submitMode === ChatInputProto.SubmitMode.SUBMIT_MODE_STOP && | COMMENT |
| LOW | …mponents/widgets/CustomComponent/ComponentInstance.tsx | 421 | // display a warning. | COMMENT |
| LOW | …/components/widgets/CustomComponent/componentUtils.tsx | 201 | // any further non-JSON datatypes we add support for down the road will | COMMENT |
| LOW | …nd/lib/src/components/widgets/CustomComponent/enums.ts | 21 | // Data: { apiVersion: number } | COMMENT |
| LOW | frontend/lib/src/theme/primitives/zIndices.ts | 21 | const bottom = sidebar - 1 | COMMENT |
| LOW | e2e_playwright/st_components_v1_import_via_st_test.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | e2e_playwright/st_write_images.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | e2e_playwright/st_context_test.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | e2e_playwright/st_chat_input_test.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | e2e_playwright/st_layouts_container_various_elements.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | e2e_playwright/fast_rerun_safety_test.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | e2e_playwright/st_query_params_test.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | e2e_playwright/st_menu_button.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | e2e_playwright/st_tabs_test.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | e2e_playwright/st_session_state.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | e2e_playwright/st_feedback_test.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | e2e_playwright/st_pagination_test.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | e2e_playwright/st_container.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | e2e_playwright/st_expander_state_test.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | e2e_playwright/st_session_state_test.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| LOW | e2e_playwright/st_menu_button_test.py | 1 | # Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026) | COMMENT |
| 1181 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | frontend/app/performance/apps/crud_app.py | 15 | CODE | |
| LOW | frontend/app/performance/apps/blank_app.py | 16 | CODE | |
| LOW | e2e_playwright/st_chat_input_test.py | 15 | CODE | |
| LOW | e2e_playwright/st_layouts_container_various_elements.py | 15 | CODE | |
| LOW | e2e_playwright/st_feedback_test.py | 15 | CODE | |
| LOW | e2e_playwright/st_pagination_test.py | 15 | CODE | |
| LOW | e2e_playwright/st_pydeck_chart_select.py | 14 | CODE | |
| LOW | e2e_playwright/auth.py | 15 | CODE | |
| LOW | e2e_playwright/asgi_app_test.py | 21 | CODE | |
| LOW | e2e_playwright/st_pyplot.py | 25 | CODE | |
| LOW | e2e_playwright/conftest.py | 20 | CODE | |
| LOW | e2e_playwright/auth_test.py | 15 | CODE | |
| LOW | e2e_playwright/st_app_advanced.py | 20 | CODE | |
| LOW | e2e_playwright/st_main_layout_test.py | 15 | CODE | |
| LOW | e2e_playwright/st_navigation_external_links_test.py | 21 | CODE | |
| LOW | e2e_playwright/appnode_hierarchy.py | 27 | CODE | |
| LOW | e2e_playwright/st_dataframe_styler_support.py | 15 | CODE | |
| LOW | e2e_playwright/st_pydeck_chart_select_test.py | 16 | CODE | |
| LOW | e2e_playwright/st_datetime_input_test.py | 15 | CODE | |
| LOW | e2e_playwright/mega_tester_app.py | 15 | CODE | |
| LOW | e2e_playwright/st_navigation_expanded_test.py | 17 | CODE | |
| LOW | e2e_playwright/st_app_advanced_script.py | 21 | CODE | |
| LOW | e2e_playwright/st_app_advanced_test.py | 21 | CODE | |
| LOW | e2e_playwright/st_pydeck_chart.py | 16 | CODE | |
| LOW | e2e_playwright/web_server_test.py | 30 | CODE | |
| LOW | e2e_playwright/st_multiselect_test.py | 15 | CODE | |
| LOW | e2e_playwright/st_fragments_nested_test.py | 15 | CODE | |
| LOW | e2e_playwright/markdown_features_test.py | 15 | CODE | |
| LOW | e2e_playwright/basic_app_test.py | 14 | CODE | |
| LOW | e2e_playwright/st_map.py | 15 | CODE | |
| LOW | e2e_playwright/st_map.py | 23 | CODE | |
| LOW | e2e_playwright/st_layouts_container_gap_size.py | 15 | CODE | |
| LOW | e2e_playwright/st_layouts_container_gap_size.py | 22 | CODE | |
| LOW | e2e_playwright/websocket_reconnects_test.py | 15 | CODE | |
| LOW | e2e_playwright/st_navigation_test.py | 15 | CODE | |
| LOW | e2e_playwright/forward_msg_cache_test.py | 14 | CODE | |
| LOW | e2e_playwright/st_audio_input_test.py | 15 | CODE | |
| LOW | e2e_playwright/st_table.py | 15 | CODE | |
| LOW | e2e_playwright/st_selectbox_test.py | 14 | CODE | |
| LOW | e2e_playwright/st_space.py | 15 | CODE | |
| LOW | e2e_playwright/st_space.py | 22 | CODE | |
| LOW | e2e_playwright/st_layouts_container_alignment.py | 15 | CODE | |
| LOW | e2e_playwright/skills_nudge_test.py | 15 | CODE | |
| LOW | e2e_playwright/hostframe_app_test.py | 15 | CODE | |
| LOW | e2e_playwright/mega_tester_app_test.py | 15 | CODE | |
| LOW | e2e_playwright/st_data_editor_editing.py | 15 | CODE | |
| LOW | e2e_playwright/st_dataframe_config.py | 15 | CODE | |
| LOW | e2e_playwright/st_dataframe_interactions_test.py | 15 | CODE | |
| LOW | e2e_playwright/st_image.py | 15 | CODE | |
| LOW | e2e_playwright/iframe_resizer_test.py | 15 | CODE | |
| LOW | e2e_playwright/st_data_editor_editing_test.py | 15 | CODE | |
| LOW | e2e_playwright/st_multiselect.py | 15 | CODE | |
| LOW | e2e_playwright/st_fragment_parallel_test.py | 17 | CODE | |
| LOW | e2e_playwright/st_columns.py | 15 | CODE | |
| LOW | e2e_playwright/st_columns.py | 25 | CODE | |
| LOW | e2e_playwright/appnode_hierarchy_test.py | 15 | CODE | |
| LOW | e2e_playwright/st_fragment_multiple_fragments_test.py | 15 | CODE | |
| LOW | e2e_playwright/st_time_input_test.py | 15 | CODE | |
| LOW | e2e_playwright/host_config_bypass_test.py | 22 | CODE | |
| LOW | e2e_playwright/custom_components/pdf_component.py | 22 | CODE | |
| 630 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | pyproject.toml | 18 | # This file defines: | COMMENT |
| MEDIUM | e2e_playwright/st_pyplot.py | 99 | # Create a simple figure for width testing | COMMENT |
| MEDIUM | e2e_playwright/st_help.py | 96 | # Create a class with very long documentation to demonstrate width differences | COMMENT |
| MEDIUM⚡ | e2e_playwright/basic_app_test.py | 42 | # Define an acceptable threshold for total size of web assets loaded on the | COMMENT |
| MEDIUM⚡ | e2e_playwright/basic_app_test.py | 94 | # Define an acceptable threshold for total websocket message size (in bytes) | COMMENT |
| MEDIUM | e2e_playwright/forward_msg_cache.py | 79 | # Create a large dataframe | COMMENT |
| MEDIUM | e2e_playwright/web_server.py | 35 | # Create a simple 1x1 red pixel PNG for testing. | COMMENT |
| MEDIUM⚡ | e2e_playwright/forward_msg_cache_test.py | 78 | # Define an acceptable threshold for total websocket message size (in MB) | COMMENT |
| MEDIUM | e2e_playwright/st_table.py | 308 | # Create a larger dataset for scrolling tests | COMMENT |
| MEDIUM | e2e_playwright/asgi_app.py | 19 | # Create the ASGI app pointing to the mega_tester_app.py script | COMMENT |
| MEDIUM | e2e_playwright/st_plotly_chart_dimensions.py | 24 | # Create a simple chart for width testing | COMMENT |
| MEDIUM | e2e_playwright/st_plotly_chart_dimensions.py | 51 | # Create a simple chart for height testing | COMMENT |
| MEDIUM | e2e_playwright/st_altair_chart.py | 148 | # Create a scatter plot with marginal histograms using the pattern: top_hist & (points | right_hist) | COMMENT |
| MEDIUM | e2e_playwright/st_file_uploader_test.py | 59 | # Create a nested structure so the uploaded directory preserves relative paths | COMMENT |
| MEDIUM | e2e_playwright/st_file_uploader_test.py | 69 | # Create the directory | COMMENT |
| MEDIUM | e2e_playwright/st_file_uploader_test.py | 416 | # Create a temporary directory with test files | COMMENT |
| MEDIUM | e2e_playwright/multipage_apps_v2/mpa_v2_top_nav.py | 115 | # Create a single section with 3 pages | COMMENT |
| MEDIUM | scripts/create_release.py | 54 | # Create the release with the generated release notes | COMMENT |
| MEDIUM | scripts/update_material_icon_font_and_names.py | 71 | # Create a set to store unique names | COMMENT |
| MEDIUM | .github/workflows/release-tag-and-pr-creation.yml | 137 | # Create the tag explicitly on the verified commit | COMMENT |
| MEDIUM | .github/actions/make_init/action.yml | 47 | # Create the cache directory if it does not exist. | COMMENT |
| MEDIUM | lib/streamlit/delta_generator.py | 638 | # Create a child cursor for this new block. open_block() also advances | COMMENT |
| MEDIUM | lib/streamlit/config.py | 1355 | # Create a section for each custom theme element | STRING |
| MEDIUM | lib/streamlit/type_util.py | 492 | # Create a new event loop. | COMMENT |
| MEDIUM | lib/streamlit/config_util.py | 536 | # Create a filtered copy of the theme content | COMMENT |
| MEDIUM | lib/streamlit/config_util.py | 551 | # Create the section in our filtered theme and validate it | COMMENT |
| MEDIUM | lib/streamlit/web/bootstrap.py | 430 | # Create the server. It won't start running yet. | COMMENT |
| MEDIUM | lib/streamlit/web/bootstrap.py | 451 | # Define a main function to handle the event loop logic | COMMENT |
| MEDIUM | lib/streamlit/web/server/starlette/starlette_app.py | 274 | # Create the Starlette application with lifespan handler | COMMENT |
| MEDIUM | lib/streamlit/web/server/starlette/starlette_app.py | 791 | # Create the runtime if not already created | COMMENT |
| MEDIUM | lib/streamlit/runtime/secrets.py | 487 | # Create a mutable copy of current secrets | COMMENT |
| MEDIUM | lib/streamlit/runtime/state/widgets.py | 187 | # Create the widget's updated metadata, and register it with session_state. | COMMENT |
| MEDIUM | lib/streamlit/runtime/caching/cache_data_api.py | 233 | # Create a new cache object and put it in our dict | COMMENT |
| MEDIUM | lib/streamlit/runtime/caching/cache_utils.py | 505 | # Create the hash from each arg value, except for those args whose name | COMMENT |
| MEDIUM | lib/streamlit/runtime/caching/cache_resource_api.py | 152 | # Create a new cache object and put it in our dict | COMMENT |
| MEDIUM | lib/streamlit/runtime/caching/cache_resource_api.py | 499 | ... # Create a database session object that points to the URL. | STRING |
| MEDIUM | lib/streamlit/runtime/caching/cache_resource_api.py | 523 | ... # Create a database session object that points to the URL. | STRING |
| MEDIUM | lib/streamlit/runtime/caching/cache_resource_api.py | 536 | ... # Create a database connection object that points to the URL. | STRING |
| MEDIUM | lib/streamlit/runtime/caching/cache_resource_api.py | 556 | ... # Create a database connection object that points to the URL. | STRING |
| MEDIUM | lib/streamlit/components/v2/bidi_component/main.py | 339 | # Create an empty state with the default value and return it | COMMENT |
| MEDIUM | lib/streamlit/elements/graphviz_chart.py | 114 | >>> # Create a graphlib graph object | STRING |
| MEDIUM | lib/streamlit/elements/lib/built_in_chart_utils.py | 181 | # Create a Chart with x and y encodings. | COMMENT |
| MEDIUM | lib/streamlit/elements/lib/built_in_chart_utils.py | 271 | # Create a selection that chooses the nearest point & selects based on x-value. | COMMENT |
| MEDIUM | lib/streamlit/elements/lib/options_selector_utils.py | 522 | # Create a set of formatted options for O(1) lookup. | COMMENT |
| MEDIUM | lib/tests/delta_generator_test_case.py | 60 | # Create a new ScriptRunContext to use for the test. | COMMENT |
| MEDIUM | lib/tests/delta_generator_test_case.py | 76 | # Create a MemoryMediaFileStorage instance, and the MediaFileManager | COMMENT |
| MEDIUM | lib/tests/streamlit/streamlit_test.py | 281 | # Define an acceptable threshold for import time (in microseconds). | COMMENT |
| MEDIUM | lib/tests/streamlit/write_test.py | 503 | # Create a mock for ChatCompletionChunk | COMMENT |
| MEDIUM | lib/tests/streamlit/config_util_test.py | 1075 | # Create a theme file larger than 1MB | COMMENT |
| MEDIUM⚡ | lib/tests/streamlit/components_test.py | 496 | # Create a component instance without a key and some custom data | COMMENT |
| MEDIUM⚡ | lib/tests/streamlit/components_test.py | 503 | # Create a second component instance with different custom data | COMMENT |
| MEDIUM | lib/tests/streamlit/components_test.py | 467 | # Create a component instance with a key and some custom data | COMMENT |
| MEDIUM | lib/tests/streamlit/components_test.py | 479 | # Create a second component instance with the same key, and different custom data | COMMENT |
| MEDIUM | lib/tests/streamlit/components_test.py | 705 | # Create a test DataFrame | COMMENT |
| MEDIUM | lib/tests/streamlit/components_test.py | 726 | # Create an empty DataFrame | COMMENT |
| MEDIUM⚡ | lib/tests/streamlit/config_test.py | 183 | # Create the config option. | COMMENT |
| MEDIUM | lib/tests/streamlit/config_test.py | 219 | # Create the config option. | COMMENT |
| MEDIUM | lib/tests/streamlit/config_test.py | 474 | # Create a dummy default option. | COMMENT |
| MEDIUM | lib/tests/streamlit/config_test.py | 547 | # Create a dummy default option | COMMENT |
| MEDIUM | lib/tests/streamlit/config_test.py | 583 | # Create a dummy default option. | COMMENT |
| 83 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | e2e_playwright/conftest.py | 421 | except Exception: | CODE |
| LOW | e2e_playwright/conftest.py | 1180 | except Exception as exc: | CODE |
| LOW | e2e_playwright/conftest.py | 1196 | except Exception: | CODE |
| LOW | e2e_playwright/st_markdown.py | 180 | except Exception: | STRING |
| LOW | e2e_playwright/st_status.py | 59 | except Exception: | CODE |
| LOW | e2e_playwright/mega_tester_app.py | 1165 | except Exception as ex: | STRING |
| LOW | e2e_playwright/mega_tester_app.py | 1178 | except Exception as ex: | STRING |
| LOW | e2e_playwright/basic_app_test.py | 61 | except Exception as ex: | CODE |
| MEDIUM | e2e_playwright/basic_app_test.py | 62 | print(f"Error calculating size of web assets: {ex}") | CODE |
| LOW | e2e_playwright/st_audio_input_test.py | 49 | except Exception: | CODE |
| LOW | e2e_playwright/st_rerun.py | 45 | except Exception as e: | CODE |
| MEDIUM | e2e_playwright/st_rerun.py | 41 | def fragment_with_rerun_in_try_block(): | CODE |
| LOW | e2e_playwright/shared/performance.py | 98 | except Exception: | CODE |
| LOW⚡ | e2e_playwright/shared/performance.py | 190 | except Exception: | CODE |
| LOW⚡ | e2e_playwright/shared/performance.py | 197 | except Exception: | CODE |
| LOW⚡ | e2e_playwright/shared/performance.py | 203 | except Exception: | CODE |
| LOW | e2e_playwright/shared/dataframe_utils.py | 490 | except Exception as e: | CODE |
| LOW | e2e_playwright/load_testing/worker.py | 171 | except Exception as e: | CODE |
| LOW | e2e_playwright/load_testing/test_load.py | 137 | except Exception as e: | CODE |
| LOW | specs/2026-03-05-parallel-fragments/tech-spec.md | 306 | except Exception as e: | CODE |
| LOW | .claude/hooks/pre_bash_redirect.py | 71 | except Exception as e: | STRING |
| MEDIUM | .claude/hooks/pre_bash_redirect.py | 68 | def main() -> None: | CODE |
| LOW | scripts/update_e2e_snapshots.py | 290 | except Exception as e: | CODE |
| MEDIUM | scripts/update_e2e_snapshots.py | 291 | print(f"Error: {e}") | CODE |
| MEDIUM | scripts/snapshot_cleanup.py | 163 | print(f"Error finding test files: {e}") | CODE |
| LOW | scripts/snapshot_cleanup.py | 212 | except Exception as e: | CODE |
| MEDIUM | scripts/snapshot_cleanup.py | 213 | print(f"Error processing {test_file}: {e}") | CODE |
| LOW | scripts/snapshot_cleanup.py | 231 | except Exception as e: | CODE |
| MEDIUM | scripts/snapshot_cleanup.py | 232 | print(f"Error searching for {snapshot_name}: {e}") | CODE |
| LOW | scripts/snapshot_cleanup.py | 430 | except Exception as e: | CODE |
| LOW | scripts/check_license_headers.py | 106 | except Exception: | CODE |
| MEDIUM | scripts/sync_vscode_devcontainer.py | 87 | print(f"Error: File not found: {file_path}") | CODE |
| MEDIUM | scripts/sync_vscode_devcontainer.py | 90 | print(f"Error: Invalid JSON in {file_path}: {e}") | CODE |
| LOW | scripts/sync_vscode_devcontainer.py | 113 | except Exception as e: | CODE |
| MEDIUM | scripts/sync_vscode_devcontainer.py | 114 | print(f"Error: Failed to save {file_path}: {e}") | CODE |
| LOW | scripts/sync_vscode_devcontainer.py | 214 | except Exception as e: | CODE |
| LOW | scripts/sync_vscode_devcontainer.py | 254 | except Exception as e: | CODE |
| MEDIUM | scripts/sync_vscode_devcontainer.py | 273 | print("Error: 'recommendations' key not found in .vscode/extensions.json") | CODE |
| LOW | scripts/pypi_nightly_create_tag.py | 51 | except Exception as e: | CODE |
| MEDIUM | scripts/changelog_fetch_prs.py | 61 | print(f"Error running git log: {result.stderr}", file=sys.stderr) | CODE |
| MEDIUM | scripts/changelog_fetch_prs.py | 183 | print("Error: failed to fetch PR metadata from GitHub API.", file=sys.stderr) | CODE |
| LOW | scripts/log_agent_metrics.py | 47 | except Exception: | CODE |
| LOW | scripts/log_agent_metrics.py | 60 | except Exception: | CODE |
| MEDIUM | scripts/changelog_categorize_prs.py | 192 | print(f"Error: input file '{args.input}' not found", file=sys.stderr) | CODE |
| MEDIUM | scripts/sync_ruff_version.py | 57 | print(f"Error: File not found: {pyproject_path}") | CODE |
| MEDIUM | scripts/sync_ruff_version.py | 76 | print(f"Error: File not found: {pre_commit_config_path}") | CODE |
| MEDIUM | scripts/sync_ruff_version.py | 101 | print(f"Error updating .pre-commit-config.yaml: {e}") | CODE |
| MEDIUM | scripts/sync_ruff_version.py | 122 | print("Error: Could not find ruff version in pyproject.toml") | CODE |
| MEDIUM | scripts/sync_ruff_version.py | 126 | print("Error: Could not find ruff version in .pre-commit-config.yaml") | CODE |
| MEDIUM | scripts/sync_ruff_version.py | 157 | print("Error: Could not find ruff version in pyproject.toml") | CODE |
| MEDIUM | scripts/sync_ruff_version.py | 163 | print("Error: Could not find ruff version in .pre-commit-config.yaml") | CODE |
| MEDIUM | scripts/fetch_flaky_tests.py | 49 | print(f"Error running gh command: {' '.join(args)}", file=sys.stderr) | CODE |
| LOW | lib/streamlit/config.py | 385 | except Exception: # noqa: S110 | CODE |
| LOW | lib/streamlit/config.py | 2705 | except Exception: | CODE |
| LOW | lib/streamlit/config.py | 2808 | except Exception: # noqa: S110 | CODE |
| LOW | lib/streamlit/config.py | 2813 | except Exception: # noqa: S110 | CODE |
| LOW | lib/streamlit/config.py | 548 | except Exception: | STRING |
| LOW | lib/streamlit/dataframe_util.py | 1053 | except Exception: | CODE |
| LOW | lib/streamlit/dataframe_util.py | 1064 | except Exception: | CODE |
| LOW | lib/streamlit/dataframe_util.py | 1084 | except Exception: | CODE |
| 154 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | e2e_playwright/st_tabs_test.py | 377 | "(elements) => elements.filter(el => el.offsetParent !== null).length" | CODE |
| HIGH⚡ | e2e_playwright/st_sidebar_flicker_test.py | 57 | if (this.dataset && this.dataset.testid === 'stSidebar' && name === 'aria-expanded') { | CODE |
| HIGH⚡ | e2e_playwright/st_sidebar_flicker_test.py | 58 | window.__sidebarStates.push({ | CODE |
| HIGH | e2e_playwright/st_sidebar_flicker_test.py | 74 | if (!lastState || lastState.ariaExpanded !== ariaExpanded) { | CODE |
| HIGH | e2e_playwright/st_sidebar_flicker_test.py | 75 | window.__sidebarStates.push({ | CODE |
| HIGH | e2e_playwright/st_audio_input_test.py | 575 | window.blobTracking.created.push(url); | CODE |
| HIGH | e2e_playwright/st_audio_input_test.py | 581 | window.blobTracking.revoked.push(url); | CODE |
| HIGH⚡ | e2e_playwright/st_video_test.py | 55 | video_element.evaluate("el => el.readyState >= 3 || el.duration > 0") | CODE |
| HIGH⚡ | e2e_playwright/shared/app_utils.py | 1192 | if (!mutationList || mutationList.length === 0) { | CODE |
| HIGH⚡ | e2e_playwright/shared/app_utils.py | 1202 | window.streamlitPlaywrightDebugConnectionStatuses.push(state); | CODE |
| HIGH | e2e_playwright/shared/app_utils.py | 1262 | if (!mutationList || mutationList.length === 0) { | STRING |
| HIGH | e2e_playwright/shared/app_utils.py | 1327 | return images.every(img => img.complete && img.naturalHeight !== 0); | CODE |
| HIGH | lib/streamlit/web/skills.py | 103 | ``cd repo && streamlit run sub/app.py`` launch, where ``repo`` is the | STRING |
| HIGH | lib/streamlit/web/skills.py | 105 | otherwise (e.g. ``cd /tmp && streamlit run /proj/app.py``, where ``/tmp`` | STRING |
| HIGH | lib/streamlit/runtime/session_manager.py | 231 | When active session-related methods are left undefined, their default | STRING |
| HIGH | lib/streamlit/runtime/caching/hashing.py | 321 | hash_stacks.current.push(obj) | CODE |
| HIGH | lib/streamlit/elements/lib/built_in_chart_utils.py | 1162 | return "quantitative" # Pick anything. If undefined, Vega-Lite may hide the axis. | CODE |
| HIGH | lib/tests/streamlit/dataframe_util_test.py | 695 | # if snowflake.snowpark.dataframe.DataFrame def is_snowpark_data_object should return true | COMMENT |
| HIGH | lib/tests/streamlit/components_test.py | 541 | assert df.equals(return_value), "df != return_value" | CODE |
| HIGH⚡ | lib/tests/streamlit/config_test.py | 940 | '{"key": null}', | CODE |
| HIGH | lib/tests/streamlit/web/skills_test.py | 324 | Mirrors ``cd repo && streamlit run sub/app.py`` with no project marker — | STRING |
| HIGH | lib/tests/streamlit/web/skills_test.py | 342 | Mirrors ``cd /tmp && streamlit run /proj/app.py`` — the unrelated cwd | STRING |
| HIGH | …treamlit/web/server/starlette/starlette_routes_test.py | 345 | This guards against a None config (e.g. TOML null) being coerced into | STRING |
| HIGH⚡ | lib/tests/streamlit/runtime/caching/hashing_test.py | 917 | stack.push(BadStr()) | CODE |
| HIGH | lib/tests/streamlit/testing/element_tree_test.py | 281 | assert d.value.equals( | CODE |
| HIGH | lib/tests/streamlit/testing/element_tree_test.py | 1061 | assert at.table[0].value.equals(df) | CODE |
| HIGH⚡ | lib/tests/streamlit/elements/vega_charts_test.py | 3250 | '{"data": {"name": "e49f4eae50f240b9cf1895776f847b5d"}, "mark": {"type": "point"}, "encoding": {"color": | CODE |
| HIGH⚡ | lib/tests/streamlit/elements/vega_charts_test.py | 3254 | '{"data": {"name": "438d17320890cc476723f9301ba57f91"}, "mark": {"type": "bar"}, "encoding": {"fillOpaci | CODE |
| HIGH⚡ | lib/tests/streamlit/elements/vega_charts_test.py | 3258 | '{"data": {"name": "438d17320890cc476723f9301ba57f91"}, "mark": {"type": "bar"}, "encoding": {"fillOpaci | CODE |
| HIGH | lib/tests/streamlit/elements/vega_charts_test.py | 3373 | '{"vconcat": [{"hconcat": [{"mark": {"type": "point"}, "encoding": {"color": {"field": "species", "type" | CODE |
| HIGH | lib/tests/streamlit/elements/vega_charts_test.py | 3374 | '{"vconcat": [{"hconcat": [{"mark": {"type": "point"}, "encoding": {"color": {"field": "species", "type" | CODE |
| HIGH | lib/tests/streamlit/elements/text_area_test.py | 80 | # If a proto property is null, it is not determined by | COMMENT |
| HIGH | lib/tests/streamlit/elements/text_input_test.py | 78 | # If a proto property is null, it is not determined by | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | e2e_playwright/st_data_editor_config_test.py | 141 | # Check if that the value was submitted | COMMENT |
| LOW | e2e_playwright/st_data_editor_config_test.py | 171 | # Check if that the value was submitted | COMMENT |
| LOW | e2e_playwright/conftest.py | 1375 | # Check if reruns are enabled for this test run | COMMENT |
| LOW | e2e_playwright/conftest.py | 1585 | # Add error to the list of test failures: | COMMENT |
| LOW⚡ | e2e_playwright/st_heading_test.py | 342 | # Check if the page is still scrolled to the top | COMMENT |
| LOW | e2e_playwright/st_datetime_input_test.py | 282 | # Set value to 2028/01/01 which is valid in initial bounds (2010-2030) | COMMENT |
| LOW | e2e_playwright/st_date_input_test.py | 353 | # Set date to 1960/01/01, which is outside of the allowed min date | COMMENT |
| LOW | e2e_playwright/st_date_input_test.py | 515 | # Set value to 2028/01/01 which is valid in initial bounds (2010-2030) | COMMENT |
| LOW | e2e_playwright/st_plotly_chart_select_test.py | 142 | # Check if the callback was triggered | COMMENT |
| LOW⚡ | e2e_playwright/st_selectbox_test.py | 250 | # Check if value is still initial value: | COMMENT |
| LOW | e2e_playwright/st_altair_chart_multiview_select.py | 62 | # Check if any selection parameter has actual data (non-empty dict/list) | COMMENT |
| LOW | e2e_playwright/st_altair_chart_multiview_select.py | 93 | # Check if any selection parameter has actual data (non-empty dict/list) | COMMENT |
| LOW | e2e_playwright/st_altair_chart_multiview_select.py | 124 | # Check if any selection parameter has actual data (non-empty dict/list) | COMMENT |
| LOW | e2e_playwright/st_altair_chart_multiview_select.py | 159 | # Check if any selection parameter has actual data (non-empty dict/list) | COMMENT |
| LOW | e2e_playwright/st_data_editor_editing_test.py | 354 | # Check if that the value was submitted | COMMENT |
| LOW | e2e_playwright/st_data_editor_editing_test.py | 393 | # Check if that the value was submitted | COMMENT |
| LOW | e2e_playwright/st_data_editor_editing_test.py | 419 | # Check if that the value was submitted | COMMENT |
| LOW | e2e_playwright/st_dataframe_stable_rendering_test.py | 48 | # Set use_container_width to False: | COMMENT |
| LOW | e2e_playwright/st_status_test.py | 50 | # Check if it has a spinner icon: | COMMENT |
| LOW⚡ | e2e_playwright/st_time_input_test.py | 207 | # Check if popover is visible: | COMMENT |
| LOW⚡ | e2e_playwright/st_time_input_test.py | 213 | # Check if value is still initial value: | COMMENT |
| LOW | e2e_playwright/shared/animation_utils.py | 58 | # Check if the bounding box is entirely outside the viewport | COMMENT |
| LOW | e2e_playwright/shared/dataframe_utils.py | 410 | # Check if dimensions or position changed | COMMENT |
| LOW | .claude/hooks/pre_bash_redirect.py | 88 | # Check if this is a pytest command targeting e2e_playwright | STRING |
| LOW | .claude/hooks/pre_bash_redirect.py | 97 | # Check if command starts with a tool/command that requires `uv run` | STRING |
| LOW | .claude/hooks/post_edit_autofix.sh | 31 | # Check if file exists (might have been deleted) | COMMENT |
| LOW | .claude/hooks/stop_check.sh | 27 | # Check if stop hook already triggered a continuation to prevent infinite loops | COMMENT |
| LOW | scripts/ensure_relative_imports.sh | 25 | # Check if the file has a .ts or .js extension | COMMENT |
| LOW | scripts/ensure_relative_imports.sh | 27 | # Check if the search string does not exist in the file | COMMENT |
| LOW | scripts/snapshot_cleanup.py | 313 | # Check if this snapshot is used | COMMENT |
| LOW | scripts/snapshot_cleanup.py | 341 | # Check if this snapshot is in the disallow list | COMMENT |
| LOW | scripts/pypi_nightly_create_tag.py | 76 | # Verify if version is PEP440 compliant. | COMMENT |
| LOW | .github/workflows/pr-preview.yml | 665 | # Set output to indicate package was built | COMMENT |
| LOW | .github/workflows/playwright-changed-files.yml | 106 | # Check if file is in e2e_playwright directory (including subdirectories) | COMMENT |
| LOW | .github/workflows/playwright-changed-files.yml | 113 | # Check if file still exists (not deleted) | COMMENT |
| LOW | .github/workflows/playwright-changed-files.yml | 129 | # Check if the corresponding test file exists | COMMENT |
| LOW | .github/workflows/playwright-changed-files.yml | 140 | # Check if we've already added this test | COMMENT |
| LOW | .github/workflows/update-emojis-material-icons.yml | 68 | # Check if any files were modified (indicating updates were made) | COMMENT |
| LOW | .github/actions/make_init/action.yml | 106 | # Check if the cached venv has valid symlinks | COMMENT |
| LOW | lib/streamlit/config.py | 877 | # Check if we are running in Linux and DISPLAY is unset | STRING |
| LOW | lib/streamlit/auth_util.py | 459 | # Check if cookie needs to be split | COMMENT |
| LOW | lib/streamlit/source_util.py | 52 | # Open file respecting PEP263 encoding. If no encoding header is | COMMENT |
| LOW | lib/streamlit/config_util.py | 625 | # Check if it's a URL using the url_util helper (only allow http/https schemes by default) | COMMENT |
| LOW | lib/streamlit/config_util.py | 781 | # Check if it's a file path or URL (not just "light" or "dark") | COMMENT |
| LOW | lib/streamlit/watcher/local_sources_watcher.py | 131 | # Check if this is a file in a watched directory | COMMENT |
| LOW | lib/streamlit/web/bootstrap.py | 458 | # Check if we're already in an event loop | COMMENT |
| LOW | lib/streamlit/web/skills.py | 128 | # Check if start_dir or a project ancestor already has agent directories. | COMMENT |
| LOW | lib/streamlit/web/skills.py | 331 | # Check if it's a Streamlit-owned symlink we can replace | COMMENT |
| LOW | lib/streamlit/web/skills.py | 837 | # Check if running interactively | COMMENT |
| LOW | lib/streamlit/web/cli.py | 414 | # Check if the script contains an ASGI app instance (st.App, FastAPI, Starlette). | COMMENT |
| LOW | …server/starlette/starlette_path_security_middleware.py | 168 | # Check if the path contains unsafe patterns | STRING |
| LOW | lib/streamlit/web/server/starlette/starlette_app.py | 667 | # Check if CLI set the main script path (streamlit run) | COMMENT |
| LOW | lib/streamlit/web/server/starlette/starlette_app.py | 777 | # Check if the runtime was actually started by the parent framework. | COMMENT |
| LOW | lib/streamlit/runtime/credentials.py | 216 | # Write the file | COMMENT |
| LOW | lib/streamlit/runtime/state/session_state.py | 1480 | # Check if URL value is empty (e.g., ?foo= with no value) | COMMENT |
| LOW | lib/streamlit/runtime/state/query_params.py | 462 | # Check if any bound params exist | COMMENT |
| LOW | …amlit/runtime/scriptrunner_utils/script_run_context.py | 259 | # Check if this is a same-page rerun BEFORE updating page_script_hash | COMMENT |
| LOW | …ts/templates/apps/dashboard-companies/streamlit_app.py | 403 | # Check if the clicked cell is in the company_name column | COMMENT |
| LOW | lib/streamlit/navigation/page.py | 288 | # Check if page is an external URL | COMMENT |
| LOW | lib/streamlit/components/v2/component_registry.py | 348 | # Check if the existing definition is different and NOT a placeholder. | COMMENT |
| 45 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …aywright/bidi_components/session_state_interactions.py | 57 | CODE | |
| LOW | lib/streamlit/config.py | 262 | CODE | |
| LOW | lib/streamlit/config_option.py | 101 | CODE | |
| LOW | lib/streamlit/runtime/state/widgets.py | 47 | CODE | |
| LOW | lib/streamlit/runtime/caching/cache_data_api.py | 431 | CODE | |
| LOW | lib/streamlit/runtime/caching/legacy_cache_api.py | 35 | CODE | |
| LOW | lib/streamlit/runtime/caching/cache_resource_api.py | 315 | CODE | |
| LOW | lib/streamlit/runtime/caching/cache_resource_api.py | 328 | CODE | |
| LOW | lib/streamlit/elements/media.py | 504 | CODE | |
| LOW | lib/streamlit/elements/media.py | 228 | CODE | |
| LOW | lib/streamlit/elements/vega_charts.py | 637 | CODE | |
| LOW | lib/streamlit/elements/vega_charts.py | 873 | CODE | |
| LOW | lib/streamlit/elements/vega_charts.py | 1163 | CODE | |
| LOW | lib/streamlit/elements/vega_charts.py | 1494 | CODE | |
| LOW | lib/streamlit/elements/vega_charts.py | 1970 | CODE | |
| LOW | lib/streamlit/elements/vega_charts.py | 1986 | CODE | |
| LOW | lib/streamlit/elements/vega_charts.py | 2001 | CODE | |
| LOW | lib/streamlit/elements/vega_charts.py | 2246 | CODE | |
| LOW | lib/streamlit/elements/arrow.py | 478 | CODE | |
| LOW | lib/streamlit/elements/arrow.py | 497 | CODE | |
| LOW | lib/streamlit/elements/arrow.py | 516 | CODE | |
| LOW | lib/streamlit/elements/map.py | 88 | CODE | |
| LOW | lib/streamlit/elements/metric.py | 94 | CODE | |
| LOW | lib/streamlit/elements/form.py | 246 | CODE | |
| LOW | lib/streamlit/elements/form.py | 461 | CODE | |
| LOW | lib/streamlit/elements/plotly_chart.py | 397 | CODE | |
| LOW | lib/streamlit/elements/plotly_chart.py | 416 | CODE | |
| LOW | lib/streamlit/elements/layouts.py | 104 | CODE | |
| LOW | lib/streamlit/elements/layouts.py | 1019 | CODE | |
| LOW | lib/streamlit/elements/layouts.py | 1350 | CODE | |
| LOW | lib/streamlit/elements/image.py | 50 | CODE | |
| LOW | lib/streamlit/elements/lib/built_in_chart_utils.py | 115 | CODE | |
| LOW | lib/streamlit/elements/lib/column_types.py | 515 | CODE | |
| LOW | lib/streamlit/elements/lib/column_types.py | 695 | CODE | |
| LOW | lib/streamlit/elements/lib/column_types.py | 833 | CODE | |
| LOW | lib/streamlit/elements/lib/column_types.py | 1009 | CODE | |
| LOW | lib/streamlit/elements/lib/column_types.py | 1134 | CODE | |
| LOW | lib/streamlit/elements/lib/column_types.py | 2115 | CODE | |
| LOW | lib/streamlit/elements/lib/column_types.py | 2362 | CODE | |
| LOW | lib/streamlit/elements/lib/column_types.py | 2539 | CODE | |
| LOW | lib/streamlit/elements/lib/column_types.py | 2705 | CODE | |
| LOW | lib/streamlit/elements/lib/column_types.py | 2872 | CODE | |
| LOW | lib/streamlit/elements/lib/column_types.py | 3131 | CODE | |
| LOW | lib/streamlit/elements/lib/column_types.py | 3256 | CODE | |
| LOW | lib/streamlit/elements/lib/column_types.py | 3272 | CODE | |
| LOW | lib/streamlit/elements/lib/column_types.py | 3288 | CODE | |
| LOW | lib/streamlit/elements/widgets/time_widgets.py | 661 | CODE | |
| LOW | lib/streamlit/elements/widgets/time_widgets.py | 681 | CODE | |
| LOW | lib/streamlit/elements/widgets/time_widgets.py | 701 | CODE | |
| LOW | lib/streamlit/elements/widgets/time_widgets.py | 907 | CODE | |
| LOW | lib/streamlit/elements/widgets/time_widgets.py | 1016 | CODE | |
| LOW | lib/streamlit/elements/widgets/time_widgets.py | 1038 | CODE | |
| LOW | lib/streamlit/elements/widgets/time_widgets.py | 1060 | CODE | |
| LOW | lib/streamlit/elements/widgets/time_widgets.py | 1299 | CODE | |
| LOW | lib/streamlit/elements/widgets/time_widgets.py | 1469 | CODE | |
| LOW | lib/streamlit/elements/widgets/time_widgets.py | 1490 | CODE | |
| LOW | lib/streamlit/elements/widgets/time_widgets.py | 1511 | CODE | |
| LOW | lib/streamlit/elements/widgets/time_widgets.py | 1534 | CODE | |
| LOW | lib/streamlit/elements/widgets/time_widgets.py | 1798 | CODE | |
| LOW | lib/streamlit/elements/widgets/select_slider.py | 162 | CODE | |
| 98 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | e2e_playwright/conftest.py | 1314 | CODE | |
| LOW | e2e_playwright/st_sidebar_flicker_test.py | 93 | CODE | |
| LOW | e2e_playwright/custom_components/popular_components.py | 109 | CODE | |
| LOW | e2e_playwright/shared/performance.py | 105 | CODE | |
| LOW | e2e_playwright/shared/stats_reporter.py | 500 | CODE | |
| LOW | scripts/snapshot_cleanup.py | 141 | CODE | |
| LOW | scripts/snapshot_cleanup.py | 237 | CODE | |
| LOW | scripts/slack_notifications.py | 61 | CODE | |
| LOW | scripts/changelog_fetch_prs.py | 132 | CODE | |
| LOW | scripts/changelog_categorize_prs.py | 74 | CODE | |
| LOW | scripts/sync_ruff_version.py | 46 | CODE | |
| LOW | scripts/fetch_flaky_tests.py | 167 | CODE | |
| LOW | lib/streamlit/config.py | 3022 | CODE | |
| LOW | lib/streamlit/dataframe_util.py | 1364 | CODE | |
| LOW | lib/streamlit/logger.py | 32 | CODE | |
| LOW | lib/streamlit/config_util.py | 91 | CODE | |
| LOW | lib/streamlit/config_util.py | 336 | CODE | |
| LOW | lib/streamlit/config_util.py | 367 | CODE | |
| LOW | lib/streamlit/config_util.py | 441 | CODE | |
| LOW | lib/streamlit/config_util.py | 510 | CODE | |
| LOW | lib/streamlit/config_util.py | 744 | CODE | |
| LOW | lib/streamlit/watcher/util.py | 41 | CODE | |
| LOW | lib/streamlit/watcher/local_sources_watcher.py | 126 | CODE | |
| LOW | lib/streamlit/watcher/event_based_path_watcher.py | 400 | CODE | |
| LOW | lib/streamlit/web/bootstrap.py | 215 | CODE | |
| LOW | lib/streamlit/web/skills.py | 300 | CODE | |
| LOW | lib/streamlit/web/skills.py | 370 | CODE | |
| LOW | lib/streamlit/web/skills.py | 991 | CODE | |
| LOW | lib/streamlit/web/server/app_discovery.py | 123 | CODE | |
| LOW | lib/streamlit/web/server/app_discovery.py | 263 | CODE | |
| LOW | lib/streamlit/web/server/starlette/starlette_server.py | 330 | CODE | |
| LOW | lib/streamlit/web/server/starlette/starlette_server.py | 522 | CODE | |
| LOW | lib/streamlit/web/server/starlette/starlette_routes.py | 337 | CODE | |
| LOW | lib/streamlit/web/server/starlette/starlette_routes.py | 359 | CODE | |
| LOW | …/streamlit/web/server/starlette/starlette_websocket.py | 362 | CODE | |
| LOW | …/streamlit/web/server/starlette/starlette_websocket.py | 387 | CODE | |
| LOW | lib/streamlit/web/server/starlette/starlette_app.py | 491 | CODE | |
| LOW | lib/streamlit/runtime/app_session.py | 1221 | CODE | |
| LOW | lib/streamlit/runtime/app_session.py | 351 | CODE | |
| LOW | lib/streamlit/runtime/app_session.py | 613 | CODE | |
| LOW | lib/streamlit/runtime/credentials.py | 229 | CODE | |
| LOW | lib/streamlit/runtime/runtime.py | 624 | CODE | |
| LOW | lib/streamlit/runtime/media_file_manager.py | 137 | CODE | |
| LOW | lib/streamlit/runtime/fragment.py | 442 | CODE | |
| LOW | lib/streamlit/runtime/fragment.py | 324 | CODE | |
| LOW | lib/streamlit/runtime/fragment.py | 469 | CODE | |
| LOW | lib/streamlit/runtime/fragment.py | 488 | CODE | |
| LOW | lib/streamlit/runtime/secrets.py | 525 | CODE | |
| LOW | lib/streamlit/runtime/stats.py | 363 | CODE | |
| LOW | lib/streamlit/runtime/download_data_util.py | 20 | CODE | |
| LOW | lib/streamlit/runtime/state/session_state.py | 270 | CODE | |
| LOW | lib/streamlit/runtime/state/session_state.py | 664 | CODE | |
| LOW | lib/streamlit/runtime/state/session_state.py | 933 | CODE | |
| LOW | lib/streamlit/runtime/state/session_state.py | 1076 | CODE | |
| LOW | lib/streamlit/runtime/state/session_state.py | 1247 | CODE | |
| LOW | lib/streamlit/runtime/state/session_state.py | 1461 | CODE | |
| LOW | lib/streamlit/runtime/state/query_params.py | 896 | CODE | |
| LOW | lib/streamlit/runtime/state/query_params.py | 763 | CODE | |
| LOW | lib/streamlit/runtime/scriptrunner/magic.py | 56 | CODE | |
| LOW | lib/streamlit/runtime/scriptrunner/script_runner.py | 528 | CODE | |
| 54 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …src/components/widgets/DataFrame/columns/utils.test.ts | 75 | const errorCell = getErrorCell("Foo Error", "Lorem Ipsum Dolor") | CODE |
| LOW | …src/components/widgets/DataFrame/columns/utils.test.ts | 81 | expect(errorCell.errorDetails).toEqual("Lorem Ipsum Dolor") | CODE |
| LOW | …ib/src/components/widgets/TextInput/TextInput.test.tsx | 102 | expect(textInput).toHaveAttribute("placeholder", props.element.placeholder) | CODE |
| LOW | …omponents/widgets/DateTimeInput/DateTimeInput.test.tsx | 386 | expect(inputField).toHaveAttribute("placeholder", "DD/MM/YYYY, HH:MM") | CODE |
| LOW | …omponents/widgets/DateTimeInput/DateTimeInput.test.tsx | 398 | expect(inputField).toHaveAttribute("placeholder", "MM-DD-YYYY, HH:MM") | CODE |
| LOW | …omponents/widgets/DateTimeInput/DateTimeInput.test.tsx | 410 | expect(inputField).toHaveAttribute("placeholder", "YYYY-MM-DD, HH:MM") | CODE |
| LOW | …/lib/src/components/widgets/TextArea/TextArea.test.tsx | 147 | expect(textArea).toHaveAttribute("placeholder", props.element.placeholder) | CODE |
| LOW | …ib/src/components/widgets/ChatInput/ChatInput.test.tsx | 165 | expect(chatInput).toHaveAttribute("placeholder", props.element.placeholder) | CODE |
| LOW | …ib/src/components/widgets/ChatInput/ChatInput.test.tsx | 770 | expect(textarea).toHaveAttribute("placeholder", "Upload a directory") | CODE |
| LOW | …rc/components/widgets/Multiselect/Multiselect.test.tsx | 153 | describe("placeholder", () => { | CODE |
| LOW⚡ | e2e_playwright/st_chat_input_test.py | 361 | "Lorem ipsum dolor amet, consectetur adipiscing elit. Mauris tristique est at " | CODE |
| LOW⚡ | e2e_playwright/st_chat_input_test.py | 371 | "Lorem ipsum dolor amet, consectetur adipiscing elit. Mauris tristique est at " | CODE |
| LOW | e2e_playwright/st_chat_input_test.py | 540 | "Lorem ipsum dolor amet, consectetur adipiscing elit. " | CODE |
| LOW | e2e_playwright/st_chat_input_test.py | 906 | "placeholder", "Initial dynamic chat input" | CODE |
| LOW | e2e_playwright/st_chat_input_test.py | 924 | "placeholder", "Updated dynamic chat input" | CODE |
| LOW | e2e_playwright/auth_test.py | 162 | expect_markdown(app, "John Doe") | CODE |
| LOW⚡ | e2e_playwright/auth_test.py | 174 | text = app.get_by_test_id("stMarkdownContainer").filter(has_text="John Doe") | CODE |
| LOW⚡ | e2e_playwright/auth_test.py | 190 | expect_markdown(app, "John Doe") | CODE |
| LOW | e2e_playwright/mega_tester_app.py | 81 | yield "dolor sit amet" | STRING |
| LOW | e2e_playwright/st_expander.py | 47 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum arcu nisl, tincidunt id " | CODE |
| LOW | e2e_playwright/st_expander.py | 47 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum arcu nisl, tincidunt id " | CODE |
| LOW | e2e_playwright/st_expander.py | 62 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum arcu nisl, tincidunt id " | CODE |
| LOW | e2e_playwright/st_expander.py | 62 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum arcu nisl, tincidunt id " | CODE |
| LOW | e2e_playwright/web_server_test.py | 711 | ['streamlit', 'placeholder', sessionId] | STRING |
| LOW | e2e_playwright/st_altair_chart_title.py | 25 | title="Lorem ipsum dolor sit amet, consectetur adipiscing elit. " * 5, | CODE |
| LOW | e2e_playwright/st_altair_chart_title.py | 25 | title="Lorem ipsum dolor sit amet, consectetur adipiscing elit. " * 5, | CODE |
| LOW | e2e_playwright/st_text.py | 25 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore " | CODE |
| LOW | e2e_playwright/st_text.py | 25 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore " | CODE |
| LOW⚡ | e2e_playwright/forward_msg_cache.py | 39 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus quis neque " | CODE |
| LOW⚡ | e2e_playwright/forward_msg_cache.py | 39 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus quis neque " | CODE |
| LOW⚡ | e2e_playwright/forward_msg_cache.py | 44 | "pharetra et non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing " | CODE |
| LOW⚡ | e2e_playwright/forward_msg_cache.py | 44 | "pharetra et non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing " | CODE |
| LOW | e2e_playwright/st_table.py | 270 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore.", | CODE |
| LOW | e2e_playwright/st_table.py | 270 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore.", | CODE |
| LOW | e2e_playwright/st_selectbox_test.py | 442 | expect(selectbox_input).to_have_attribute("placeholder", "Add an option") | CODE |
| LOW | e2e_playwright/mega_tester_app_test.py | 458 | expect(app.get_by_text("lorem ipsum", exact=False)).to_be_visible() | CODE |
| LOW | e2e_playwright/mega_tester_app_test.py | 459 | expect(app.get_by_text("dolor sit amet", exact=False)).to_be_visible() | CODE |
| LOW | e2e_playwright/st_write_stream.py | 27 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut | CODE |
| LOW | e2e_playwright/st_write_stream.py | 27 | Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut | CODE |
| LOW | e2e_playwright/st_chat_message.py | 51 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris tristique est | STRING |
| LOW | e2e_playwright/st_chat_message.py | 51 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris tristique est | STRING |
| LOW | e2e_playwright/st_chat_message.py | 69 | st.write("Lorem ipsum dolor sit amet") | CODE |
| LOW | e2e_playwright/st_chat_message.py | 69 | st.write("Lorem ipsum dolor sit amet") | CODE |
| LOW | e2e_playwright/st_columns.py | 28 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor " | CODE |
| LOW | e2e_playwright/st_columns.py | 28 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor " | CODE |
| LOW | e2e_playwright/st_heading.py | 60 | lorem_ipsum_text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit" | CODE |
| LOW | e2e_playwright/st_heading.py | 60 | lorem_ipsum_text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit" | CODE |
| LOW | e2e_playwright/shared/oidc_mock_server.py | 132 | "name": "John Doe", | CODE |
| LOW⚡ | …playwright/load_testing/scenarios/many_messages_app.py | 28 | # ~1KB lorem ipsum text block | COMMENT |
| LOW⚡ | …playwright/load_testing/scenarios/many_messages_app.py | 33 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus quis neque " | CODE |
| LOW⚡ | …playwright/load_testing/scenarios/many_messages_app.py | 33 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus quis neque " | CODE |
| LOW⚡ | …playwright/load_testing/scenarios/many_messages_app.py | 38 | "pharetra et non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing " | CODE |
| LOW⚡ | …playwright/load_testing/scenarios/many_messages_app.py | 38 | "pharetra et non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing " | CODE |
| LOW⚡ | …ts/templates/apps/dashboard-companies/streamlit_app.py | 49 | "Acme Corp", | CODE |
| LOW | lib/streamlit/elements/write.py | 144 | >>> Lorem ipsum dolor sit amet, **consectetur adipiscing** elit, sed do eiusmod tempor | CODE |
| LOW | lib/streamlit/elements/write.py | 144 | >>> Lorem ipsum dolor sit amet, **consectetur adipiscing** elit, sed do eiusmod tempor | CODE |
| LOW | lib/streamlit/elements/layouts.py | 317 | >>> long_text = "Lorem ipsum. " * 1000 | STRING |
| LOW⚡ | lib/streamlit/elements/layouts.py | 568 | >>> left.markdown("Lorem ipsum " * 10) | STRING |
| LOW⚡ | lib/streamlit/elements/layouts.py | 569 | >>> middle.markdown("Lorem ipsum " * 5) | STRING |
| LOW⚡ | lib/streamlit/elements/layouts.py | 570 | >>> right.markdown("Lorem ipsum ") | STRING |
| 31 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/update_version.py | 99 | def update_files(data: dict[str, str], version: str) -> None: | CODE |
| LOW | scripts/update_name.py | 43 | def update_root_pyproject_toml(project_name: str) -> None: | CODE |
| LOW | scripts/update_name.py | 85 | def update_files(project_name: str, files: dict[str, str]) -> None: | CODE |
| LOW | lib/streamlit/starlette.py | 34 | __all__ = ["App"] | CODE |
| LOW | lib/streamlit/config.py | 129 | def set_option(key: str, value: Any, where_defined: str = _USER_DEFINED) -> None: | CODE |
| LOW | lib/streamlit/config.py | 155 | def set_user_option(key: str, value: Any) -> None: | CODE |
| LOW | lib/streamlit/config.py | 2600 | def _set_option(key: str, value: Any, where_defined: str) -> None: | CODE |
| LOW | lib/streamlit/config.py | 2688 | def _update_config_with_toml(raw_toml: str, where_defined: str) -> None: | CODE |
| LOW | lib/streamlit/config.py | 3018 | def _set_development_mode() -> None: | CODE |
| LOW | lib/streamlit/__init__.py | 172 | def _update_logger() -> None: | CODE |
| LOW | lib/streamlit/column_config.py | 21 | __all__ = [ | CODE |
| LOW | lib/streamlit/logger.py | 32 | def set_log_level(level: str | int) -> None: | CODE |
| LOW | lib/streamlit/logger.py | 86 | def update_formatter() -> None: | CODE |
| LOW | lib/streamlit/config_option.py | 242 | def set_value(self, value: Any, where_defined: str | None = None) -> None: | CODE |
| LOW | lib/streamlit/watcher/__init__.py | 23 | __all__ = [ | CODE |
| LOW | lib/streamlit/watcher/local_sources_watcher.py | 81 | def update_watched_pages(self) -> None: | CODE |
| LOW | lib/streamlit/watcher/local_sources_watcher.py | 266 | def update_watched_modules(self) -> None: | CODE |
| LOW | lib/streamlit/web/bootstrap.py | 38 | def _set_up_signal_handler(server: Server) -> None: | CODE |
| LOW | lib/streamlit/web/server/app_discovery.py | 425 | __all__ = ["AppDiscoveryResult", "discover_asgi_app"] | CODE |
| LOW | lib/streamlit/web/server/__init__.py | 21 | __all__ = [ | CODE |
| LOW | lib/streamlit/web/server/starlette/__init__.py | 18 | __all__ = [ | CODE |
| LOW | …treamlit/web/server/starlette/starlette_auth_routes.py | 173 | def set_single_cookie(cookie_name: str, value: str) -> None: | CODE |
| LOW | lib/streamlit/web/server/starlette/starlette_routes.py | 187 | async def _set_cors_headers(request: Request, response: Response) -> None: | CODE |
| LOW | lib/streamlit/web/server/starlette/starlette_routes.py | 666 | async def _set_upload_headers(request: Request, response: Response) -> None: | CODE |
| LOW | lib/streamlit/web/server/starlette/starlette_app.py | 122 | def _set_anyio_thread_limiter() -> None: | CODE |
| LOW | lib/streamlit/web/server/starlette/starlette_app.py | 926 | __all__ = ["App", "create_starlette_app"] | CODE |
| LOW | lib/streamlit/runtime/__init__.py | 42 | __all__ = [ | CODE |
| LOW | lib/streamlit/runtime/runtime.py | 620 | def _set_state(self, new_state: RuntimeState) -> None: | CODE |
| LOW⚡ | lib/streamlit/runtime/secrets.py | 126 | def set_missing_attr_message(self, message: Callable[[str], str]) -> None: | CODE |
| LOW⚡ | lib/streamlit/runtime/secrets.py | 130 | def set_missing_key_message(self, message: Callable[[str], str]) -> None: | CODE |
| LOW⚡ | lib/streamlit/runtime/secrets.py | 134 | def set_no_secrets_found_message(self, message: Callable[[list[str]], str]) -> None: | CODE |
| LOW⚡ | lib/streamlit/runtime/secrets.py | 150 | def set_invalid_secret_path_message(self, message: Callable[[str], str]) -> None: | CODE |
| LOW⚡ | lib/streamlit/runtime/pages_manager.py | 89 | def set_current_page_script_hash(self, page_script_hash: PageHash) -> None: | CODE |
| LOW | lib/streamlit/runtime/pages_manager.py | 138 | def _set_pages(self, pages: dict[PageHash, PageInfo]) -> None: | CODE |
| LOW⚡ | lib/streamlit/runtime/state/session_state.py | 242 | def set_widget_from_proto(self, widget_state: WidgetStateProto) -> None: | CODE |
| LOW⚡ | lib/streamlit/runtime/state/session_state.py | 246 | def set_from_value(self, k: str, v: Any) -> None: | CODE |
| LOW⚡ | lib/streamlit/runtime/state/session_state.py | 250 | def set_widget_metadata(self, widget_meta: WidgetMetadata[Any]) -> None: | CODE |
| LOW | lib/streamlit/runtime/state/session_state.py | 385 | def set_key_id_mapping(self, key_id_mapping: dict[str, str]) -> None: | CODE |
| LOW | lib/streamlit/runtime/state/session_state.py | 828 | def set_widgets_from_proto(self, widget_states: WidgetStatesProto) -> None: | CODE |
| LOW | lib/streamlit/runtime/state/session_state.py | 1215 | def _set_widget_metadata(self, widget_metadata: WidgetMetadata[Any]) -> None: | CODE |
| LOW | lib/streamlit/runtime/state/session_state.py | 1232 | def _set_key_widget_mapping(self, widget_id: str, user_key: str) -> None: | CODE |
| LOW | lib/streamlit/runtime/state/__init__.py | 35 | __all__ = [ | CODE |
| LOW | lib/streamlit/runtime/state/query_params.py | 372 | def _set_item_internal(self, key: str, value: str | Iterable[str]) -> None: | CODE |
| LOW | lib/streamlit/runtime/state/query_params.py | 495 | def set_with_no_forward_msg(self, key: str, val: list[str] | str) -> None: | CODE |
| LOW | lib/streamlit/runtime/state/query_params.py | 680 | def set_initial_query_params(self, query_string: str) -> None: | CODE |
| LOW | lib/streamlit/runtime/state/query_params.py | 691 | def set_initial_query_params_from_current(self) -> None: | CODE |
| LOW | lib/streamlit/runtime/state/query_params.py | 740 | def set_corrected_value(self, param_key: str, value: Any, value_type: str) -> None: | CODE |
| LOW | lib/streamlit/runtime/state/query_params.py | 760 | def _set_corrected_value(self, param_key: str, value: Any, value_type: str) -> None: | CODE |
| LOW | lib/streamlit/runtime/scriptrunner/__init__.py | 28 | __all__ = [ | CODE |
| LOW | lib/streamlit/runtime/caching/__init__.py | 106 | __all__ = [ | CODE |
| LOW | lib/streamlit/runtime/caching/storage/__init__.py | 23 | __all__ = [ | CODE |
| LOW | …amlit/runtime/scriptrunner_utils/script_run_context.py | 240 | def set_mpa_v2_page(self, page_script_hash: str) -> None: | CODE |
| LOW | lib/streamlit/testing/v1/__init__.py | 17 | __all__ = ["AppTest"] | CODE |
| LOW | lib/streamlit/connections/__init__.py | 24 | __all__ = [ | CODE |
| LOW | lib/streamlit/components/v1/__init__.py | 43 | __all__ = [ | CODE |
| LOW | lib/streamlit/components/v1/components.py | 33 | __all__ = [ | CODE |
| LOW | lib/streamlit/components/v2/component_registry.py | 403 | def update_component(self, definition: BidiComponentDefinition) -> None: | CODE |
| LOW | lib/streamlit/components/v2/__init__.py | 548 | __all__ = [ | CODE |
| LOW | lib/streamlit/components/v2/types.py | 311 | __all__ = [ | CODE |
| LOW | lib/streamlit/components/v2/bidi_component/__init__.py | 23 | __all__ = ["BidiComponentMixin", "BidiComponentResult", "ComponentResult"] | CODE |
| 3 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | frontend/lib/src/hooks/useScrollToBottom.ts | 87 | // Essentially we are not suppose to be animating cause a scroll | COMMENT |
| MEDIUM | e2e_playwright/st_markdown.py | 552 | # Complex markdown in tooltip - comprehensive test | COMMENT |
| MEDIUM | e2e_playwright/window_config_test.py | 40 | # Inject comprehensive configuration BEFORE the page loads | COMMENT |
| MEDIUM | e2e_playwright/st_audio_input_test.py | 610 | # Use wait_until pattern for async checks as per best practices | STRING |
| MEDIUM | e2e_playwright/skills_nudge_test.py | 60 | # An agent harness is considered "present" when its home config dir exists. | COMMENT |
| LOW | lib/streamlit/delta_generator.py | 588 | # If the message was not enqueued, just return self since it's a | COMMENT |
| MEDIUM | lib/streamlit/config.py | 1234 | """Port where users should point their browsers in order to connect to the | STRING |
| LOW | lib/streamlit/dataframe_util.py | 912 | # If there is a recursion error, we just return the table as-is | COMMENT |
| LOW | lib/streamlit/dataframe_util.py | 1123 | # of the enum members. For other enums, we just return the enum member. | COMMENT |
| MEDIUM | lib/streamlit/web/skills.py | 931 | # (harness, project_skills_dir, home_skills_dir, agent_home_dir) - skill dirs | COMMENT |
| MEDIUM | lib/streamlit/web/skills.py | 933 | # to detect the harness itself independent of Streamlit skills. | COMMENT |
| MEDIUM | lib/streamlit/web/skills.py | 1022 | # (saves 2 isfile calls per absent harness — common on hosted | COMMENT |
| LOW | lib/streamlit/web/server/starlette/starlette_routes.py | 117 | # unit, and help text, so we can just use the first one to construct | COMMENT |
| LOW | lib/streamlit/web/server/starlette/starlette_routes.py | 147 | # unit, and help text, so we can just use the first one to fill in | COMMENT |
| MEDIUM | lib/streamlit/runtime/backend_operation_handler.py | 214 | # - no agent harness present: nothing would consume the skills. | COMMENT |
| LOW | lib/streamlit/runtime/fragment.py | 491 | # NOTE: We need to call get_script_run_ctx here again and can't just use the | COMMENT |
| MEDIUM | lib/streamlit/runtime/scriptrunner/script_runner.py | 128 | # is designed to leverage our original v1 version of multi-page apps. This | COMMENT |
| LOW | lib/streamlit/runtime/caching/cache_resource_api.py | 719 | # so just use that. | COMMENT |
| LOW | …treamlit/runtime/scriptrunner_utils/script_requests.py | 225 | # new_data contains a new fragment_id_queue, so we just use it. | COMMENT |
| LOW | lib/streamlit/connections/snowflake_connection.py | 629 | # If we're running in SiS-on-warehouses, just call get_active_session() and | COMMENT |
| LOW | lib/streamlit/elements/write.py | 438 | # we can just call markdown directly and skip the buffer logic. | COMMENT |
| LOW | lib/streamlit/elements/vega_charts.py | 2391 | # Its enough to just use the names here since they are expected | COMMENT |
| LOW | lib/streamlit/elements/vega_charts.py | 2418 | # If its not used with selections activated, just return | COMMENT |
| LOW | lib/streamlit/elements/dialog_decorator.py | 126 | # We just call it 'title' here though to make the user-doc more friendly as | COMMENT |
| LOW | lib/streamlit/elements/lib/image_utils.py | 444 | # MediaFileManager. For this, we just add the index to the image's "coordinates". | COMMENT |
| LOW | lib/streamlit/elements/lib/built_in_chart_utils.py | 544 | # We can't just call set(col_names) because sets don't have stable ordering, | COMMENT |
| LOW | lib/streamlit/elements/lib/skeleton_placeholder.py | 153 | # Not in a script thread - just return without showing anything | COMMENT |
| MEDIUM | lib/streamlit/elements/widgets/data_editor.py | 1193 | # We also utilize the arrow schema to determine the data kinds of every column. | COMMENT |
| LOW | lib/streamlit/elements/widgets/slider.py | 151 | # as it is in the given datetime object, we just set the tzinfo to UTC and | COMMENT |
| LOW | lib/streamlit/elements/widgets/slider.py | 988 | # Empty list, so let's just use the outer bounds | STRING |
| MEDIUM | lib/tests/streamlit/config_test.py | 1993 | """Test comprehensive theme inheritance with all option types.""" | STRING |
| MEDIUM | lib/tests/streamlit/config_test.py | 2096 | # Patch both config and config_util os.path.exists for comprehensive mocking | STRING |
| MEDIUM | lib/tests/streamlit/web/skills_test.py | 1909 | # Isolated HOME: an agent harness present, but no skills installed there. | COMMENT |
| LOW⚡ | …lit/components/v2/bidi_component/test_serialization.py | 133 | # Should just return the state as-is | COMMENT |
| MEDIUM | lib/tests/streamlit/elements/checkbox_test.py | 100 | """Test that the checkbox help properly dedents in order to avoid code blocks""" | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | e2e_playwright/st_chat_input_test.py | 1648 | # Step 2: Delete the uploaded file | COMMENT |
| LOW⚡ | e2e_playwright/st_chat_input_test.py | 1655 | # Step 3: Verify the upload button still works after the upload + delete cycle | COMMENT |
| LOW | e2e_playwright/st_chat_input_test.py | 1629 | # Step 1: Upload a file using the button | COMMENT |
| LOW⚡ | e2e_playwright/st_tabs_test.py | 214 | # Step 1: interact with a widget while in Alpha (sets widgetMgr to "Alpha") | COMMENT |
| LOW⚡ | e2e_playwright/st_tabs_test.py | 218 | # Step 2: programmatic nav to Beta via session_state | COMMENT |
| LOW⚡ | e2e_playwright/st_tabs_test.py | 223 | # Step 3: interact with widget inside Beta — before the fix this silently | COMMENT |
| LOW⚡ | e2e_playwright/st_pills_test.py | 350 | # Step 1: EN mode - "apple" is selected, no callback yet | COMMENT |
| LOW⚡ | e2e_playwright/st_pills_test.py | 356 | # Step 2: switch to ES by clicking the button - format_func changes, options don't | COMMENT |
| LOW | e2e_playwright/st_pills_test.py | 368 | # Step 3: user selects "naranja" (option B) - callback should fire once | COMMENT |
| LOW | .claude/skills/generating-changelog/SKILL.md | 16 | ## Step 1: Validate input | COMMENT |
| LOW | .claude/skills/generating-changelog/SKILL.md | 33 | ## Step 2: Fetch PR data | COMMENT |
| LOW | .claude/skills/generating-changelog/SKILL.md | 84 | ## Step 5: Present classification for review | COMMENT |
| LOW | .claude/skills/generating-changelog/SKILL.md | 99 | ## Step 6: Rewrite descriptions and generate output | COMMENT |
| LOW | .claude/skills/generating-changelog/SKILL.md | 177 | ## Step 7: Final summary | COMMENT |
| LOW | .claude/skills/creating-pull-requests/SKILL.md | 16 | ## Step 1: Choose mode | COMMENT |
| LOW | .claude/skills/creating-pull-requests/SKILL.md | 27 | ## Step 2: Execute git workflow | COMMENT |
| LOW | .claude/skills/creating-pull-requests/SKILL.md | 60 | ## Step 3: Compose and create PR | COMMENT |
| LOW | lib/streamlit/runtime/memory_session_storage.py | 35 | # NOTE: The defaults for maxsize and ttl are chosen arbitrarily for now. These | COMMENT |
| LOW | lib/streamlit/runtime/session_manager.py | 375 | # NOTE: The following methods only need to be overwritten when a concrete | COMMENT |
| LOW | …mlit/.agents/skills/developing-with-streamlit/SKILL.md | 37 | ### Step 1: Locate the Streamlit Source Code (if needed) | COMMENT |
| LOW | …mlit/.agents/skills/developing-with-streamlit/SKILL.md | 79 | ### Step 2: Identify Task Type and Route to Reference | COMMENT |
| LOW | …mlit/.agents/skills/developing-with-streamlit/SKILL.md | 186 | ### Step 3: Apply Guidance to Edit Code | COMMENT |
| LOW | …mlit/.agents/skills/developing-with-streamlit/SKILL.md | 196 | ### Step 4: Check Running Apps and Offer to Run | COMMENT |
| LOW | …sts/streamlit/watcher/event_based_path_watcher_test.py | 625 | # Step 1: Simulate file being created | COMMENT |
| LOW | …sts/streamlit/watcher/event_based_path_watcher_test.py | 642 | # Step 2: Simulate file being modified | COMMENT |
| LOW | …b/tests/streamlit/watcher/polling_path_watcher_test.py | 307 | # Step 1: Simulate file being created | COMMENT |
| LOW | …b/tests/streamlit/watcher/polling_path_watcher_test.py | 318 | # Step 2: Simulate file being modified | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | e2e_playwright/st_chat_input_test.py | 1648 | # Step 2: Delete the uploaded file | COMMENT |
| LOW⚡ | e2e_playwright/st_chat_input_test.py | 1655 | # Step 3: Verify the upload button still works after the upload + delete cycle | COMMENT |
| LOW | e2e_playwright/st_chat_input_test.py | 1629 | # Step 1: Upload a file using the button | COMMENT |
| LOW⚡ | e2e_playwright/st_tabs_test.py | 214 | # Step 1: interact with a widget while in Alpha (sets widgetMgr to "Alpha") | COMMENT |
| LOW⚡ | e2e_playwright/st_tabs_test.py | 218 | # Step 2: programmatic nav to Beta via session_state | COMMENT |
| LOW⚡ | e2e_playwright/st_tabs_test.py | 223 | # Step 3: interact with widget inside Beta — before the fix this silently | COMMENT |
| LOW⚡ | e2e_playwright/st_pills_test.py | 350 | # Step 1: EN mode - "apple" is selected, no callback yet | COMMENT |
| LOW⚡ | e2e_playwright/st_pills_test.py | 356 | # Step 2: switch to ES by clicking the button - format_func changes, options don't | COMMENT |
| LOW | e2e_playwright/st_pills_test.py | 368 | # Step 3: user selects "naranja" (option B) - callback should fire once | COMMENT |
| LOW | …sts/streamlit/watcher/event_based_path_watcher_test.py | 625 | # Step 1: Simulate file being created | COMMENT |
| LOW | …sts/streamlit/watcher/event_based_path_watcher_test.py | 642 | # Step 2: Simulate file being modified | COMMENT |
| LOW | …b/tests/streamlit/watcher/polling_path_watcher_test.py | 307 | # Step 1: Simulate file being created | COMMENT |
| LOW | …b/tests/streamlit/watcher/polling_path_watcher_test.py | 318 | # Step 2: Simulate file being modified | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | e2e_playwright/basic_app_test.py | 44 | # size of web assets low, you can modify this threshold if it's really needed | COMMENT |
| MEDIUM⚡ | e2e_playwright/basic_app_test.py | 96 | # size low, you can modify this threshold if it's really needed, justified, | COMMENT |
| LOW | lib/pyproject.toml | 81 | # Let's make sure to remove this "toml" library when we stop supporting Python 3.10. | COMMENT |
| LOW | lib/streamlit/watcher/util.py | 216 | # Don't forget to include a break/return when the thing you're trying to do | STRING |
| MEDIUM | lib/streamlit/elements/write.py | 383 | As mentioned earlier, ``st.write()`` also accepts other data formats, such as | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | lib/tests/streamlit/elements/number_input_test.py | 441 | self.script_run_ctx.session_state._state._new_widget_state.set_widget_from_proto( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | frontend/lib/src/components/elements/Tabs/Tabs.tsx | 207 | // overrides session_state, making tab.open return False for the new tab. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | e2e_playwright/st_code.py | 114 | def process_data(data): | CODE |
| LOW | lib/tests/streamlit/runtime/metrics_util_test.py | 308 | def test_function(param1: int, param2: str, param3: float = 0.1) -> str: | CODE |
| LOW | lib/tests/streamlit/runtime/metrics_util_test.py | 491 | def test_function() -> str: | CODE |
| LOW | lib/tests/streamlit/runtime/metrics_util_test.py | 534 | def my_method(self, x: int, y: str) -> None: | CODE |
| LOW | lib/tests/streamlit/runtime/fragment_test.py | 1081 | def my_function(): | CODE |
| LOW | lib/tests/streamlit/elements/file_uploader_test.py | 292 | "file2", "project/utils.py", "text/plain", b"def helper(): pass" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | .claude/skills/addressing-pr-review-comments/SKILL.md | 177 | ✅ #2 [chore] (general): Updated README as requested | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …nts/skills/developing-with-streamlit/references/cli.md | 139 | ### Project scaffolding | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | lib/tests/streamlit/write_test.py | 723 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …nts/widgets/CustomComponent/ComponentInstance.test.tsx | 780 | // // TODO: implement test to check handling of daataframe values | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | e2e_playwright/st_code.py | 123 | # Example usage | COMMENT |