I'm not 100% sure this is the "right" solution, but we have the very real situation where pip 21.x has been released which drops Python 2 support, but PyPy is still actively supporting their Python 2 variant (for the foreseeable future), and IMO it would be strange for us to ship pip 21.x for pypy:3 and pip 20.x for pypy:2 when they're actually part of the same PyPy release (not separate release lines, like in upstream Python).
It makes sense to stick them to the same for now. Users can update pip in their own Dockerfile and we can always revisit whether or not to update pip in pypy:3* images.
I'm not 100% sure this is the "right" solution, but we have the very real situation where pip 21.x has been released which drops Python 2 support, but PyPy is still actively supporting their Python 2 variant (for the foreseeable future), and IMO it would be strange for us to ship pip 21.x for
pypy:3
and pip 20.x forpypy:2
when they're actually part of the same PyPy release (not separate release lines, like in upstream Python).