micropython / micropython/micropython-lib
[question] mip: native mpy modules distribution
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2.9k
- Forks
- 1.1k
- Avg merge
- 7d 6h
- Merged PRs (30d)
- 3
Description
While compiling my C library for micropython as a native mpy module, I wondered about distribution.
There are currently several proposed methods:
mippackages installer - should works withmpremote mipalogside with on-boardmip. (preffered for me)- writing a oneline command for the REPL using
requests. - distributing the files as is (via github releases or another delivery method), where the user has to download and install them manually.
If 2 and 3 don't cause me any issues, except for the inconvenience, then I consider the mip option to be the priority because it is a documented way of delivering packages (with mpremote included). But I haven't found a recommended way to do this for packages containing native mpy for different platforms.
Since mip cannot automatically determine the target platform, it is necessary to get out of the situation using non-trivial methods such as distributing package.json separately for each platform using links/indexes/tags/branches/subdirectories whatewer, and the user must specify the platform during download.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing how mip packages are installed through mpremote mip and on-device mip, then examine the package.json and platform-specific links, indexes, tags, branches, or subdirectories mentioned in the issue. Compare these distribution approaches for native mpy modules targeting different platforms; done means documenting or defining a recommended way to distribute them.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100