mpremote mip install can create a folder named `:`
Port, board and/or hardware
ESP32 , but can be any
MicroPython version
mpremote v1.27.0
Reproduction
PS D:\mypython\mp_wcwidth> mpremote --version
mpremote 1.27.0
PS D:\mypython\mp_wcwidth> mpremote mip install --target : github:josverl/mp_wcwidth/demo.py
Install github:josverl/mp_wcwidth/demo.py
Downloading github:josverl/mp_wcwidth/demo.py to :
Installing: :/demo.py
Done
PS D:\mypython\mp_wcwidth> mpremote tree
tree :
:/
└── :
└── demo.py
Expected behaviour
Expected that :
- the : prefix for "remote" would not be used as the path
- the demo.py file would be created in the cwd of the MCU
- nu folder named
:would be created
Observed behaviour
PS D:\mypython\mp_wcwidth> mpremote tree
tree :
:/
└── :
└── demo.py
Additional Information
Similar issues with specifying '--target :.'
tree :
:/
├── :
│ └── demo.py
├── :.
│ └── demo.py
└── demo.py
Code of Conduct
Yes, I agree
tools/mpremote: Add manifest function.
Add manifest command to mpremote which will compile a manifest.py from the specified folder, eg:
$ MPY_DIR=../../micropython
$ PORT_DIR=../../micropython/ports/esp32
$ mpremote manifest .
This will assemble / mpy-cross everything specified in the manifest.py into the folder _manifest.
If the current folder is also mounted, this folder will automatically be added to the path, eg:
$ mpremote manifest . mount .
Alternatively, the built folder can by copied / synched to the device, in which case
the copied folder will be added to the path:
$ mpremote manifest -s .
A soft-reset will re-process the manifest file to include any local updates allowing fast development of local files in a larger project without needing to copy / import-over-mount all files every reset.
Ideally, if the mpy_cross python package is installed from pypi, the local MPY_DIR=../../micropython variables will not need to be specified (unless your local manifest uses them directly`