Код ndb имеет:
urlsafe = base64.b64encode(self.reference().Encode())
return urlsafe.rstrip('=').replace('+', '-').replace('/', '_')
Таким образом, вы должны получить те же результаты с:
urlsafe = base64.b64encode(key.SerializeToString())
return urlsafe.rstrip('=').replace('+', '-').replace('/', '_')
Используете ли вы ndb или библиотеку db?Кажется, что найденная вами функция to_legacy_urlsafe () соответствует библиотеке db.