[question] mip: native mpy modules distribution

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

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Quiet
Tech stack
python
Domain
release

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.

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.

Dominant language
Python
Stars
2.9k
Forks
1.1k
Avg merge
7d 6h
Merged PRs (30d)
3

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.

More from micropython/micropython-lib

All issues in micropython/micropython-lib

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.