micropython / micropython/micropython-lib

[question] mip: native mpy modules distribution

Open
#1,129 0 comments 0 reactions 0 assignees View on GitHub

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:

  1. mip packages installer - should works with mpremote mip alogside with on-board mip. (preffered for me)
  2. writing a oneline command for the REPL using requests.
  3. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.