Add Docker backend support for MicroPython execution without hardware#55
Draft
Add Docker backend support for MicroPython execution without hardware#55
Conversation
- Added DockerMicroPython class supporting micropython/unix containers - Modified MPRemote2 to support both serial and docker backends - Added --backend and --docker-image arguments to magic commands - Implemented container lifecycle management with persistence - All basic functionality working: exec, eval, cell magic, line magic - Container automatically starts and stays alive between cells Co-authored-by: Josverl <981654+Josverl@users.noreply.github.com>
- Added comprehensive Docker backend tests - Created docker_backend_demo.ipynb showcasing all functionality - Updated README with Docker backend installation and usage instructions - Added graceful handling for missing docker dependency - All tests passing for both serial and Docker backends Co-authored-by: Josverl <981654+Josverl@users.noreply.github.com>
Co-authored-by: Josverl <981654+Josverl@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] use unix or windows versions of micropython
Add Docker backend support for MicroPython execution without hardware
Sep 2, 2025
Copilot stopped work on behalf of
Josverl due to an error
September 2, 2025 12:29
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 Docker backend support for micropython-magic, allowing users to run MicroPython code in Docker containers instead of requiring physical MCU hardware.
Key Changes
🐳 Docker Backend Implementation
DockerMicroPythonclass that interfaces withmicropython/unix:latestDocker containersMPRemote2to support both serial and Docker backends via abackendparameter--backend dockerand--docker-imageoptions🎯 Usage Examples
Basic Docker execution:
Line magic with system info:
Custom Docker image:
🔧 Backend Selection
--backend serial(default, existing behavior) and--backend docker📚 Documentation & Testing
samples/docker_backend_demo.ipynb) showcasing all features🎯 Benefits
🚧 Limitations
machinemodule functionality)The Docker backend uses the official
micropython/unix:latestimage and is ideal for algorithm development, code validation, and educational use cases before deploying to physical hardware.Fixes #54.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.