File System Bridge to facilitate working with files on Micropython devices
Project description
📂 MPBridge
CLI tool to synchronise and manage files on a MicroPython running device.
📥 Installation
mpbridge
must be installed with sudo
or administrator
level of permission in order to be accessible from terminal:
- Windows : Open
cmd.exe
orpowershell.exe
as administrator and runpip install -U mpbridge
. - Linux / MacOS : Run
sudo pip install -U mpbridge
.
🔎 How to use
You can use mpbridge
in several ways based on your needs:
⚜️ Bridge Mode
- Run
mpbridge bridge [PORT]
. - This mode copies all files and folders from your
MicroPython
board into a temporary directory on your local device and listens for any filesystem events on local directory to apply them on your board. It keeps raw repl open, so you cannot use serial port in other applications simultaneously.
⚜️ Sync Directory
- Run
mpbridge sync [PORT] [DIR_PARH]
. - This command syncs a specified local directory with a
MicroPython
board. The sync process will push all modified files and folders into board and also pull changes from board and exits. - If a conflict occurs,
mpbridge
will choose the local version of file automatically and overwrites it on connected board. - You can speed up syncing with
--use-hashtable
which allows mpbridge to cache calculated hashes on remote device. By using hashtable you won't be able to track files which are modified by remote device because hash is calculated at uploading stage.
⚜️ Development Mode
- Run
mpbridge dev [PORT] [DIR_PARH]
. - This mode repeats a loop of tasks in specified directory on
MicroPython
device as below:- Sync → Prompt to enter REPL → Clean Sync → Start MicroPython REPL
- You can also disable prompt with
--no-prompt
option to speed things:- Clean Sync → Start MicroPython REPL
- This mode is useful when you keep switching between different tools to flash and run new codes repeatedly.
You can specify your project directory as
DIR_PATH
andmpbridge
will take care of changes when you are developing your project in your desired IDE. You can switch toMicroPython REPL
anytime you wish to run the updated code on your board. - Default to current path of terminal if not set the
DIR_PATH
. - Automatic reset before entering MicroPython REPL can be enabled with
--auto-reset
option which can be set tosoft
(soft reset) orhard
(hard reset). - You can also boost sync speed with
--use-hashtable
But you won't be able to track files which are modified by remote device itself. Use this option if only host is modifying files.
⚜️ Delete all files
- Run
mpbridge clear [PORT]
. - This command deletes all files and directories from
MicroPython
board and exits.
⚜️ List all connected devices
- Run
mpbridge list
. - This command lists all connected devices.
Note : [PORT]
can be the full port path or one of the short forms below :
c[n]
forCOM[n]
(c3
is equal toCOM3
).u[n]
for/dev/ttyUSB[n]
(u3
is equal to/dev/ttyUSB3
).a[n]
for/dev/ttyACM[n]
(a3
is equal to/dev/ttyACM3
).
👀 Ignore files
You can inform mpbridge
to ignore syncing specific files or directories. This is useful when you don't want to sync
some directories like .git/
or venv/
with your board. To use this feature create a file named mpbridge.ignore
in
your project directory and specify list of files and directories:
.git/
venv/
tests/test_1.py
tests/test_2.py
mpbridge.ignore
syntax is not as same as.gitignore
files.- At this time
mpbridge.ignore
only supports specifying file and directory paths directly. - You should add a slash at the end of directory names:
dir1/
. - Performing
sync
with--dry-run
flag can be helpful for debugging your ignore files.
✅ Supported platforms
- Windows
- MacOS
- Linux
- FreeBSD/BSD
📦 Dependencies
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mpbridge-1.5.2.tar.gz
.
File metadata
- Download URL: mpbridge-1.5.2.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93a0c82ea62e07a7496850015264e304625a27df429335ab8744e4d5ef2da3ae |
|
MD5 | 24ed5b3b4a5e0ff2225c45ec3692c97e |
|
BLAKE2b-256 | abfab390afcdd92e5ab60ef751cc82db1c41db35e9e1630f03630be5a474be23 |
File details
Details for the file mpbridge-1.5.2-py3-none-any.whl
.
File metadata
- Download URL: mpbridge-1.5.2-py3-none-any.whl
- Upload date:
- Size: 13.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb2b678216906465a5d02aef83f99a84cefc405fb98a18566854133d0a11b64f |
|
MD5 | 7b6968acf2069a785ebfdc5e99dd2eb7 |
|
BLAKE2b-256 | 67068b91cfcaf22c8baa41fa118536298121f0f84e3e112aeea3b9931cd5d50c |