My understanding is that the mypy dependency is only needed for the plugin. So if a dependee only needs the trio_typing module, currently it's also pulling in an unneeded mypy runtime dependency, and this propagates transitively to any app using such libraries, regardless of whether the app uses mypy in its toolchain.
My understanding is that the mypy dependency is only needed for the plugin. So if a dependee only needs the trio_typing module, currently it's also pulling in an unneeded mypy runtime dependency, and this propagates transitively to any app using such libraries, regardless of whether the app uses mypy in its toolchain.
Someone else has pointed out on tricycle that the dependency is heavy. https://github.com/oremanj/tricycle/issues/11
It seems that mypy is already optionally excluded for PyPy:
https://github.com/python-trio/trio-typing/blob/f32f17b0f242daf2d42407f383ca581d64b6c299/setup.py#L24-L26
Proposal: put mypy dependency under an
extras_require
option like "plugins" or "mypy_plugin"