-
Notifications
You must be signed in to change notification settings - Fork 201
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
修正: fastapi-slim
の暗黙的な依存があることを pyproject.toml
にコメントとして書く
#1400
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
良さそう…だと思ってたのですが、ちょっとコメントがいくつか!
starlette
もかも・・・・・・・・?
https://fastapi.tiangolo.com/#dependencies
…なかなかややこしいですね!!
slimじゃないstandard(何もpostfixがない)fastapi
使えばこのあたり入ってくるっぽみ?
となるとfastapi
をinstallする形にするのが手っ取り早いかもとちょっと思いました!
余計なのが入ってくるので要確認かもですが。
昔はallか今のslimしかなかったのでslim側使ってたけど、バージョン111でstandardができたって感じですかね。(ちゃんと確認してないですが)
暗示的依存
全然関係ないのですが、プログラミングでimplicitの訳を"暗示"とするのは見たことがないかもです。
Pythonドキュメントも"暗黙"でした。
https://docs.python.org/ja/3/library/stdtypes.html#:~:text=%E5%88%97%E3%83%AA%E3%83%86%E3%83%A9%E3%83%AB%E3%81%AB-,%E6%9A%97%E9%BB%99%E3%81%AB%E5%A4%89%E6%8F%9B,-%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99
暗示は「ほのめかす」感じなので、暗黙のが直感的に正しい気もします。
google検索で「暗示 依存」と「暗黙 依存」を検索すると、用語のわかりやすいかも。
#1077 で一旦 NoGo になったとの認識です。当時と状況が変わっているので、以下で再検討しました。 standard を入れた場合、不使用だけど入るライブラリは @Hiroshiba
👍️ |
ひとまずコメントだけ!
これってfastapi-slimにくっついてくるやつなんですかね・・・?
以前話してたのは だとしたら一度 #1077 で検討した項目ですね!! すみません 🙇 fastapiの意図がわかりませんが、fastapiが何を標準とするか変えようとしてる過渡期な気がしなくもないですねぇ。 |
現状#1403 での検討により、#1077 ライクな レビュー応答
上記のFastAPI 依存ライブラリリスト(再掲)は optional dependency のリストであり、これは jinja2 を含み starlette を含んでいません。実際にインストールした fastapi-slim の @Hiroshiba |
なるほどです!! なにか勘違いしていたようでした、すみません 🙇 |
fastapi-slim
の暗示的依存を pyproject.toml
へ明記fastapi-slim
の暗黙的な依存を pyproject.toml
に書く
fastapi-slim
の暗黙的な依存を pyproject.toml
に書くfastapi-slim
の暗黙的な依存があることを pyproject.toml
にコメントとして書く
@Hiroshiba |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
早くstandardに依存移したいですね。
fastapi側からドキュメント化やスタンスさえ提供してくれれば。
内容
概要:
fastapi-slim
の暗示的依存をpyproject.toml
へ明記して修正fastapi-slim
は複数の optional dependency をもち、一部機能を利用する場合に限ってこれらライブラリを必要とする。これら optional dependency はfastapi-slim
の管理外にあるため、fastapi-slim
を導入してもpoetry.lock
でこれらライブラリのバージョンは管理できない。VOICEVOX ENGINE はその一部機能を利用するため、
pyproject.toml
で明示的に optional dependency を管理している。それと同時にこれらライブラリのいくつかは(fastapi-slim
経由でなく)ENGINE そのものでも利用されている。この管理手法には危険性がある。それは意図せず暗示的依存を
pyproject.toml
から消してしまうことである。ENGINE でも直接依存しているライブラリの場合、ENGINE が直接依存しなくなったタイミングで(まだ
fastapi-slim
が暗示的依存しているのに)そのライブラリをpyproject.toml
から消してしまう可能性がある。これを防ぐため
pyproject.toml
には NOTE が付けられている。しかし NOTE の意図が伝わりづらい文面となっていたため、この NOTE を誤って消すケースが発生している (#1381)。また一部 NOTE は既に消されている。このような背景から、
fastapi-slim
の暗示的依存をpyproject.toml
へ明記する修正を提案します。関連 Issue
ref #1381 (review)