bazel-contrib / bazel-contrib/rules_python

Support PEP751 lockfile format in bzlmod

オープン
#2,787 コメント 11 件 リアクション 8 件 担当者 0 名 GitHub で見る
type: pip
主要言語
Starlark
スター
688
フォーク
721
平均マージ
15時間 7分
マージ済み PR(30日)
76

説明

After `pip lock` lands, this might become a better `requirements.txt` alternative.

References:
* pip (25.1) will export a lockfile - ETA 2 weeks https://github.com/pypa/pip/pull/13213
* packaging has landed the marker resolution (unlocks PDM, poetry, hatch) https://github.com/pypa/packaging/issues/885
* uv is tracking it as an export format https://github.com/astral-sh/uv/issues/12584
* poetry still thinking about it https://github.com/orgs/python-poetry/discussions/10322
* pip-tools keen https://github.com/jazzband/pip-tools/issues/2124

This most likely depends on #2786.

Making this work needs:
- [ ] Extra marker evaluation support (#2786).
- [ ] Parse toml to JSON using some predefined interpreter (set with #2747 `.defaults`).
- [ ] Map to the output like what `parse_requirements` is returning for easy plumbing.
- [ ] Call the API for parsing `py.lock` something like `pip.from_lock`.

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

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

調査の方向性

#2786 の extra marker 評価作業と、#2747 の事前定義されたインタープリター設定から始めます。parse_requirements が Plumbing 用に入力をどのようにマッピングするかを追跡し、次に py.lock TOML を JSON に変換して pip.from_lock のような API を通じて公開する方法を決定します。完了条件は、PEP 751 lockfile をパースして bzlmod に統合できることです。

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

評価

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

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

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