Skip to content

Pythonライブラリはpydanticの依存を外すか、超広範囲なバージョンを受け入れられるように変更したほうが良いかも #960

@Hiroshiba

Description

@Hiroshiba

内容

Pythonはデフォルトのパッケージ管理ライブラリが、パッケージが依存するパッケージのバージョンを複数持つことができません。
なのでPythonライブラリを提供する場合は、依存ライブラリに気を使い、混在できるライブラリをできる限り広くするのが城跡です。

Python版voicevox_coreはpydanticに依存していますが、受け入れられるバージョンがかなり限定的になっています。
(今のmainブランチだと>=2.5.2,<3で、2.5.2は今から1年3ヶ月前の2023年11月22日
(同じく依存しているPyhton3.10は、3.10.0のリリース日が2021年10月4日

たしか少なくとも2年だか3年だかの範囲は対応したい、みたいな話なので、受け入れられるpydanticのバージョンをもっと広くしないとな気がしました。
いっそのこと失くすのも手だと思いますが、バリデーション・シリアライズの自作をどこまでやるか次第だと思います。

Pros 良くなる点

Cons 悪くなる点

実現方法

VOICEVOXのバージョン

0.?.0

OSの種類/ディストリ/バージョン

  • Windows
  • macOS
  • Linux

その他

こちらのコメントをいただいて課題に気づきました、ありがとうございます!

個人的には、Pydanticがやってる処理のうちシリアライズはRust側からAPIを提供するから考えなくて良くて、バリデーションだけならかなり広範囲のバージョンを使えるから依存しても良い気がしています。

Metadata

Metadata

Assignees

No one assigned

    Labels

    機能向上要議論実行する前に議論が必要そうなもの

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions