feat(deps)!: make all de/serialization libraries optional
@Simoh23999 がすでに取り組んでいます。
2026年7月30日 から。
評価
調査の方向性
まず依存関係の宣言とランタイムのシリアライズ import を確認し、次に提案されている _opt/serialization.py と models/bom.py のエントリーポイントを比較します。シリアライズ依存関係なしで検証のみの使用が機能することを確認し、一方でシリアライズ時には不足しているオプション依存関係が明確に報告されることを確認します。依存関係がインストールされている場合と存在しない場合の両方をテストします。
索引モデルが issue の本文から書いたものです。
説明
when using this library for validation, i dont need to have the de/serialization dependencies installed.
goal
make all de/serialization libraries optional
solution
- make de/serialization dependnecies optional, and installable in an extra called "de/serialization" orsomething
- have a private module that tries to load optional de/serialization libs, and if this fails, then provide stubs.
- runtime shall not use any de/serialization dependencies directly, but use the own optionally loaded ones (see above)
possible implementation (pseudo)
# file: _opt/serialization.py
__all__ = ['Serializer']
try:
from serializaers import Serializer
except:
# stubs
class Serializer:
def to_json() -> Never:
raise Error('missing serializer, install optional dependnecy "serializaers"')
def from_json() -> Never:
raise Error('missing serializer, install optional dependnecy "serializaers"')
# file: models/bom.py
from .._opt.serialization import Serializer
class Bom(Serializer):
...
- 主要言語
- Python
- スター
- 117
- フォーク
- 67
- 平均マージ
- 21時間 9分
- マージ済み PR(30日)
- 3
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
CycloneDX/cyclonedx-python-lib のほかの issue
-
[PERF] Quadratic (O(N^2)) serialization time for large BOMs — `Bom.validate()` → `register_dependency()` linear scan対応中かも @inspired-geek が 110 日前に担当しました。 オープンperformance
難易度 3/5 1〜2日 初心者へのやさしさ 36/100
CycloneDX/cyclonedx-python-lib#1006 · コメント 2 件 ·
-
tests: test all model enums再び着手できるかも @jkowalleck が 126 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンQA
CycloneDX/cyclonedx-python-lib#991 · 担当者 1 名 ·
-
feat: Add support for Component signature対応中かも @wiebe-vandendriessche が 124 日前に担当しました。 オープンenhancement help wanted schema 1.4
難易度 3/5 1〜2日 初心者へのやさしさ 58/100
CycloneDX/cyclonedx-python-lib#978 · コメント 4 件 ·
-
chore: have coverage uploaded consitently再び着手できるかも @jkowalleck が 172 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンchore
CycloneDX/cyclonedx-python-lib#966 · 担当者 1 名 ·
-
chore: use dependabot cooldown period再び着手できるかも @jkowalleck が 174 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンchore
CycloneDX/cyclonedx-python-lib#965 · コメント 1 件 · 担当者 1 名 ·
CycloneDX/cyclonedx-python-lib の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
KalicoCrew/kalico#1012 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
esphome/esphome.io#7657 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
VNG-Realisatie/gemma-zaken#2658 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
comp/gateway comp/plugins duplicate P3 type/bug
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
NousResearch/hermes-agent#137019 ·
メンテナーはふだん 1 日以内に返信