Nick Coghlan added the comment: For context, codecs.CodecInfo now takes an undocumented "_is_text_encoding" keyword-only argument to blacklist codecs from TextIOWrapper, str.encode, bytes.decode etc. Serhiy expressed some concern that users would see that via Pydoc, believe it was a public API, and then complain when it was replaced by an official public API in 3.5. I suggested that hiding keyword only underscore parameters in Pydoc might be an appropriate resolution of that concern.
This was right around the time the Zope breakage due to relying on a private parameter was discovered. Some thoughts: - you can never hide positional parameters, they affect the signature too much - hiding underscore prefixed keyword-only parameters *might* be reasonable - Guido clarified the Zope breakage likely stemmed from the Python Labs days when they occasionally blurred the lines between public API and implementation detail a bit too much while working on both Zope *and* the standard library - users are generally aware that if they're relying on an undocumented interface that starts with an underscore, it's up to them to adjust if it changes behaviour in the next feature release - I'm actually OK with the idea of advanced users deciding to blacklist their own codecs if they so choose So since making the suggestion originally, I have changed my view from +1 to -0 regarding making this change for keyword-only arguments. I was always -1 for positional arguments. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue20583> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com