Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

mip: package installation using GitLab URLs for repos in subgroups

オープン
#1,014 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
48/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
静か
技術スタック
gitlab, python
領域
cli, tooling

調査の方向性

micropython/mip/mip/init.py の 63 行目付近にある _rewrite_url 関数から始め、GitLab のサブグループ URL を使って失敗する mpremote mip install コマンドを再現します。動作する raw URL および既存の GitHub/GitLab 形式と比較します。サブグループのパッケージ URL と依存関係 URL が、現在の URL 処理を壊すことなく正しく解決されれば完了です。

索引モデルが issue の本文から書いたものです。

説明

This is more of an awareness piece and something to trigger a discussion. There is also the possibility that I am wrong and the installation process is working as intended.

I'm currently developing MicroPython packages on GitLab, which sit inside a 'Libraries' subgroup, which is inside a parent 'MicroPython IoT Projects' group.

Due to the way that the mip _rewrite_url function parses GitLab and GitHub URLs, the assumption is made that the first component after splitting the URL, is the org and the second is the repository slug, which doesn't account for subgroups.

https://github.com/micropython/micropython-lib/blob/96bd01ec047923c15bf936d2f77043968745542d/micropython/mip/mip/__init__.py#L63

As a result, I had to change the way I reference my packages and package extension urls and deps in the package.json files. My network-utils 'package.json' has to have the following structure:

{
    "urls": [
        ["network_utils/__init__.py", "https://gitlab.com/micropython-iot-projects/libraries/micropython-network-utils/-/raw/HEAD/network-utils/network_utils/__init__.py"]
    ],
    "deps": [
        ["logging", "latest"],
        ["github:josverl/micropython-stubs/mip/typing.mpy", "main"],
        ["github:josverl/micropython-stubs/mip/typing_extensions.mpy", "main"]
    ],
    "version": "0.0.1"
}

In order to install network-utils with mpremote, I would have to use the following command:

mpremote mip install https://gitlab.com/micropython-iot-projects/libraries/micropython-network-utils/-/raw/HEAD/network-utils/package.json

The command below will not work, resulting in a 403 error:

mpremote mip install gitlab:micropython-iot-projects/libraries/micropython-network-utils/network-utils/package.json

The network-utils-mqtt extension package, which requires network-utils, had to have its package.json written like so:

{
    "urls": [
        ["network_utils/mqtt.py", "https://gitlab.com/micropython-iot-projects/libraries/micropython-network-utils/-/raw/HEAD/network-utils-mqtt/network_utils/mqtt.py"]
    ],
    "deps": [
        ["https://gitlab.com/micropython-iot-projects/libraries/micropython-network-utils/-/raw/HEAD/network-utils/",  "develop"]
    ],
    "version": "0.0.1"
}

The URL for the deps, which is the network-utils package this one extends, had to be rewritten so that the package.json could be found correctly.

主要言語
Python
スター
2.9k
フォーク
1.1k
平均マージ
7日 4時間
マージ済み PR(30日)
4

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

micropython/micropython-lib のほかの issue

micropython/micropython-lib の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。