Add flask-hmr: Flask CLI alternative with Hot Module Reloading#16
Draft
Add flask-hmr: Flask CLI alternative with Hot Module Reloading#16
Conversation
Co-authored-by: CNSeniorious000 <74518716+CNSeniorious000@users.noreply.github.com>
PR Change SummaryImplemented a Flask CLI alternative with Hot Module Reloading (HMR) capabilities, similar to uvicorn-hmr, enhancing the development experience for WSGI applications.
Modified Files
Added Files
How can I customize these reviews?Check out the Hyperlint AI Reviewer docs for more information on how to customize the review. If you just want to ignore it on this PR, you can add the Note specifically for link checks, we only check the first 30 links in a file and we cache the results for several hours (for instance, if you just added a page, you might experience this). Our recommendation is to add |
Copilot
AI
changed the title
[WIP] 仿照 uvicorn-hmr 的实现方式,实现一个 flask CLI 的平替(类似 uvicorn-hmr 代替 uvicorn CLI),保持主要参数统一、行为统一,另外具有 hmr 的特性。可以参考 @promplate/hmr/files/examples/flask/start.py 的实现
Add flask-hmr: Flask CLI alternative with Hot Module Reloading
Aug 5, 2025
5a6f396 to
6dc27a0
Compare
d2e0228 to
3145ac5
Compare
b044a10 to
59e0c95
Compare
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.
This PR implements
flask-hmr, a Flask CLI alternative that provides Hot Module Reloading capabilities similar touvicorn-hmrbut specifically designed for WSGI applications.What's New
🚀 flask-hmr Package
A new CLI tool that replaces the standard
flask runcommand with HMR capabilities:Key Features
CLI Options
The tool supports all major options from uvicorn-hmr adapted for Flask:
--host/--port: Server binding configuration--reload-include/--reload-exclude: File watching control--clear: Clear terminal before restarting server--env-file: Environment file loading--log-level: Logging configurationExample Usage
Consider a Flask app with a slow-loading ML model:
Before (with
flask run --reload): Every code change triggers a full restart, waiting 5 seconds each time.After (with
flask-hmr): Route changes reload instantly without reinitializing the ML model.Integration
Implementation Details
The implementation follows the same patterns as
uvicorn-hmr:typerfor CLI interfacereactivity.hmr.corefor hot reloadingSyncReloaderfor file watchingThis completes the Flask integration requested in the issue, providing a production-ready alternative to Flask's built-in development server with advanced HMR capabilities.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.