> Patch updated.  It now implements the is*() methods for PyBytes.  It
> moves common code into a shared bytes_ctype.c and .h file so that
> stringobject.c and bytesobject.c can share as much as possible.

Did you move this into the stringlib subdirectory? That's more for
sharing between PyString and PyUnicode, but I think there are more
opportunities for sharing still, and PyString/PyBytes sharing makes
sense separately.

Good idea, I haven't done that yet. At the moment it lives in Include/bytes_ctype.h and Object/bytes_ctype.c directly.  stringlib is a good place for it and is something I pondered but hadn't gotten to.  I'll do that as I implement the remaining missing PyBytes_ methods to be in the next update to this patch.

-gps