On 11.05.2016 23:57, Brett Cannon wrote:
On Wed, 11 May 2016 at 14:29 Nikolaus Rath
mailto:Nikolaus@rath.org> wrote: On May 11 2016, Brett Cannon
mailto:brett@python.org> wrote: > This PEP proposes a protocol for classes which represent a file system > path to be able to provide a ``str`` or ``bytes`` representation. [...] As I said before, to me this seems like a lot of effort for a very specific use-case.
Exactly. Especially when considering what else can be done to improve the situation considerably.
So let me put forward two hypothetical scenarios to better understand your position:
- A new module for URL handling is added to the standard library (or urllib is suitably extended). There is a proposal to add a new protocol that allows classes to provide a ``str`` or ``bytes`` representation of URLs.
- A new (third-party) library for natural language processing arises that exposes a specific class for representing audio data. Existing language processing code just uses bytes objects. To ease transition and interoperability, it is proposed to add a new protocol for classes that represend audio data to provide a bytes representation.
You can even add the timedelta-to-seconds protocol that somebody thought would be good idea: https://mail.python.org/pipermail/python-dev/2016-April/144018.html https://mail.python.org/pipermail/python-ideas/2016-May/040226.html The generalization is straight-forward and a result of this discussion. If it works and is a good idea for pathlib, then there's absolutely no reason not to do this for the datetime lib and other rich-object libs. Same goes the other way round. Question still is: is it a good idea? Maybe, it will become a successful pattern. Maybe not.
Do you think you would you be in favor of adding these protocols to the stdlib/languange reference as well?
Maybe for URLs, not for audio data (at least not in the stdlib; community can do what they want).
If not, what's the crucial difference to file system paths?
Nearly everyone uses file system paths on a regular basis, less so than URLs but still a good amount of people. Very few people work with audio data.
Amount of usage should be taken into account of course. However, question remains if that suffices as a justification for the effort. Best, Sven