So the main thing I'm not happy about here is the handling of UTF8String.
I've already explained what the rationale for UTF8String was, and it makes no sense in a Python 3 world, so I think we can categorise it as "failed experiment" and move on. Here is my suggestion:
* Don't make keywords() public or expect library users to call it
* Don't use UTF8String in library code except where needed to implement
existing semantics; don't use it in tests except where the purpose of
the test is to demonstrate that UTF8String works
* Skip tests whose only purpose is to demonstrate UTF8String in Python 3,
since they're meaningless
So the main thing I'm not happy about here is the handling of UTF8String.
I've already explained what the rationale for UTF8String was, and it makes no sense in a Python 3 world, so I think we can categorise it as "failed experiment" and move on. Here is my suggestion:
* Don't make keywords() public or expect library users to call it
* Don't use UTF8String in library code except where needed to implement
existing semantics; don't use it in tests except where the purpose of
the test is to demonstrate that UTF8String works
* Skip tests whose only purpose is to demonstrate UTF8String in Python 3,
since they're meaningless