Add Sanic Example #14
Draft
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 adds a comprehensive Sanic example to demonstrate HMR (Hot Module Reload) functionality with the Sanic async web framework.
What's Added
examples/sanic/following the same structure as existing FastAPI and Flask examplesa.py,b.py) to showcase HMR capabilitiesKey Features
HMR Integration
The example uses a multiprocessing-based approach to run Sanic servers, avoiding signal handling conflicts that occur when running Sanic in threads. This allows HMR to work seamlessly:
Efficient Reloading
Like other examples, it demonstrates HMR's efficiency by including a slow import simulation in
a.pythat only runs once, even during hot reloads.Dynamic App Naming
Implements dynamic Sanic app naming to prevent registry conflicts during reloads:
Usage
cd examples/sanic hmr app.pyThen visit:
http://localhost:8000/- Main app infohttp://localhost:8000/a- Blueprint Ahttp://localhost:8000/b- Blueprint B (try modifying this file to see HMR in action)http://localhost:8000/b/test- Test endpointTesting Verified
This completes the web framework examples trilogy, providing developers with HMR integration patterns for FastAPI, Flask, and now Sanic.
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.