The library includes ariadne-codegen as a direct dependency, but fragment-python-client-codegen is meant to be run as a development-time process as I understand it. But the codegen package includes direct dependencies of development libraries like ruff, click, and black that we would not normally install in our production server containers.
It wouldn't be right to move the codegen dependency to dev dependencies since its use is not for coding on the library directly, but it might be best to have it as a separate extra package. Then we could have our primary production dependencies require fragment-python , and our development dependencies would require fragment-python[codegen]. fastapi has a similar pattern, where fastapi[standard] includes fastapi-cli.
I'm not sure if this is possible since BaseClient and AsyncBaseClient are imported directly. If those are necessary and can't be vendored then this might need to be a feature request for ariadne-codegen.
The library includes
ariadne-codegenas a direct dependency, butfragment-python-client-codegenis meant to be run as a development-time process as I understand it. But the codegen package includes direct dependencies of development libraries likeruff,click, andblackthat we would not normally install in our production server containers.It wouldn't be right to move the codegen dependency to dev dependencies since its use is not for coding on the library directly, but it might be best to have it as a separate extra package. Then we could have our primary production dependencies require fragment-python , and our development dependencies would require
fragment-python[codegen].fastapihas a similar pattern, wherefastapi[standard]includesfastapi-cli.I'm not sure if this is possible since
BaseClientandAsyncBaseClientare imported directly. If those are necessary and can't be vendored then this might need to be a feature request forariadne-codegen.