RFC: Pin all dependencies, new package `scancode-toolkit-lib` for use as a library

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

メンテナーはふだん 3 日以内に返信

@AyanSinhaMahapatra がすでに取り組んでいます。

2026年10月19日 から。

評価

この issue はまだ評価されていません。

説明

installation and packaging RFC

Originally suggested by @tdruez in context of use of scancode-toolkit in scancode.io as a library, and as discussed with @pombredanne and other aboutcode maintainers:

We should consider pinning all dependencies in scancode-toolkit, as this fixes a few issues faced by us currently:

  1. pip install scancode-toolkit breaking more often because of a change in scancode dependencies, and often this takes a while to fix and release, requiring additional steps from scancode users installing scancode via pip.

  2. With pip install we are fetching the latest and greatest from pip for our libraries and this isn't the best thing with supply chain attacks and security issues being more common.

  3. Unexpected behaviour changes from updated dependencies which are harder to catch (as we only run a fraction of cor tests on latest from pip) and these can cause performance, quality issues which are hard to detect and fix.

So as a solution, we should:

  1. Pin all dependencies in scancode-toolkit
  2. Start releasing a new library scancode-toolkit-lib which has flexible dependency ranges (as we have in the current scancode-toolkit library)
  3. Also adopt the newer pylock.toml lockfile format
  4. Development installation should still use latest from pip dependencies as a way to catch these issues early, potentially with the new feature in pip 26.0+ --uploaded-prior-to= https://pip.pypa.io/en/latest/user_guide/#filtering-by-upload-time

The reason behind having the default scancode-toolkit having pinned versions, as opposed to the new scancode-toolkit-lib, is having secure defaults, where we are installing a more secure set of dependencies usually with the default and presently used scancode-toolkit library, even at the added cost of slight friction of downstream tools updating their dependency to scancode-toolkit-lib.

Suggestions are welcome on the above and on better possible names for the new library (currently meantioned as: scancode-toolkit-lib)

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

環境構築

はじめの一歩

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

aboutcode-org/scancode-toolkit のほかの issue

aboutcode-org/scancode-toolkit の issue をすべて見る

似ている issue

Python の issue をもっと見る

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

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