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
Allow mpremote mip to download libraries as local files
Description
Background
Currently the easiest way to install micropython-lib packages is with mpremote mip install.
However, when using such packages, there's no syntax highlighting and pylance checking.
Adding such packages to import paths for pylance is not trivial, especially since micropython mip has a custom manifest format.
Suggestion
I suggest adding a new subcommand to mpremote mip -- "download", inspired by pip download command.
This command will work just like mip install, but:
- would download files to local fs instead of connected MicroPython board
- would not require a MicroPython board to be connected to work
Then this mpremote mip download command can be used to download packages into a subdirectory added to import paths for IDE/Pylance/linter, and proper tooling can be utilised while using upstream micropython-lib packages.
Code Size
No response
Implementation
I intend to implement this feature and would submit a Pull Request if desirable
Code of Conduct
Yes, I agree