Add experimental ASGI app entry point for advanced server configuration#13537
Merged
lukasmasuch merged 67 commits intodevelopfrom Jan 9, 2026
Merged
Add experimental ASGI app entry point for advanced server configuration#13537lukasmasuch merged 67 commits intodevelopfrom
lukasmasuch merged 67 commits intodevelopfrom
Conversation
Collaborator
Author
|
@cursor review |
Contributor
SummaryThis PR introduces the experimental
Code QualityThe code quality is excellent.
Test CoverageTest coverage is robust:
Backwards CompatibilityThe changes are backwards compatible:
Security & Risk
Recommendations
VerdictAPPROVED: The PR implements a significant new feature with high code quality, strong test coverage, and careful attention to existing patterns and security requirements. |
sfc-gh-lwilby
approved these changes
Jan 9, 2026
|
Nice work @lukasmasuch |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Describe your changes
Add a new experimental
Appclass that provides an ASGI-compatible entry point for Streamlit apps. This enables custom HTTP routes, middleware configuration, lifecycle hooks, and integration with popular Python web frameworks, aligning Streamlit with the broader async web ecosystem. See the spec for more details: #13449The
Appinstance is exposed viafrom streamlit.starlette import Appbut will likely be moved into thestnamespace once we move this out of experimental.This PR also includes the discovery logic for detecting if the main script contains an App call -> which triggers a special asgi execution mode.
GitHub Issue Link (if applicable)
st.App- ASGI application entry point #13449get_tornado_instanceas an experimental API #8661Testing Plan
Contribution License Agreement
By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.