A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://mail.python.org/pipermail/python-dev/attachments/20160406/ce4f4985/attachment.html below:

<div dir="ltr">WIth Ethan volunteering to do the work to help make a path protocol a thing -- and I'm willing to help along with propagating this through the stdlib where I think Serhiy might be interested in helping as well -- and a seeming consensus this is a good idea, it seems like this proposal has a chance of actually coming to fruition.<div><br></div><div>Now we need clear details. :) Some open questions are:</div><div><ol><li>Name: __path__, __fspath__, or something else?</li><li>Method or attribute? (changes what kind of one-liner you might use in libraries, but I think historically all protocols have been methods and the serialized string representation might be costly to build)</li><li>Built-in? (name is dependent on #1 if we add one)</li><li>Add the method/attribute to str? (I assume so, much like __index__() is on int, but I have not seen it explicitly stated so I would rather clarify it)</li><li>Expand the C API to have something like PyObject_Path()?</li></ol><div><br></div><div>Some people have asked for the pathlib PEP to have a more flushed out reasoning as to why pathlib doesn't inherit from str. If Antoine doesn't want to do it I can try to instil my blog post into a more succinct paragraph or two and update the PEP myself.</div><div><br></div><div>Is this going to require a PEP or if we can agree on the points here are we just going to do it? If we think it requires a PEP I'm willing to write it, but I obviously have no issue if we skip that step either. :)</div><div><br></div><div>Oh, and we should resolve this before the next release of Python 3.4, 3.5, or 3.6 so that pathlib can be updated in those releases.</div><div><br></div><div>-Brett</div><div><br></div><br><div class="gmail_quote"><div dir="ltr">On Wed, 6 Apr 2016 at 08:09 Ethan Furman <<a href="mailto:ethan@stoneleaf.us">ethan@stoneleaf.us</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 04/05/2016 11:57 PM, Nick Coghlan wrote:<br>
> On 6 April 2016 at 16:53, Nathaniel Smith <<a href="mailto:njs@pobox.com" target="_blank">njs@pobox.com</a>> wrote:<br>
>> On Tue, Apr 5, 2016 at 11:29 PM, Nick Coghlan <<a href="mailto:ncoghlan@gmail.com" target="_blank">ncoghlan@gmail.com</a>> wrote:<br>
<br>
>>> I'd missed the existing precedent in DirEntry.path, so simply taking<br>
>>> that and running with it sounds good to me.<br>
>><br>
>> This makes me twitch slightly, because NumPy has had a whole set of<br>
>> problems due to the ancient and minimally-considered decision to<br>
>> assume a bunch of ad hoc non-namespaced method names fulfilled some<br>
>> protocol -- like all .sum methods will have a signature that's<br>
>> compatible with numpy's, and if an object has a .log method then<br>
>> surely that computes the logarithm (what else in computing could "log"<br>
>> possibly refer to?), etc. This experience may or may not be relevant,<br>
>> I'm not sure -- sometimes these kinds of twitches are good guides to<br>
>> intuition, and sometimes they are just knee-jerk responses to an old<br>
>> and irrelevant problem :-)<br>
>><br>
>> But you might want to at least think about<br>
>> how common it might be to have existing objects with unrelated<br>
>> attributes that happen to be called "path", and the bizarro problems<br>
>> that might be caused if someone accidentally passes one of them to a<br>
>> function that expects all .path attributes to be instances of this new<br>
>> protocol.<br>
><br>
> sys.path, for example.<br>
><br>
> That's why I'd actually prefer the implicit conversion protocol to be<br>
> the more explicitly named "__fspath__", with suitable "__fspath__ =<br>
> path" assignments added to DirEntry and pathlib. However, I'm also not<br>
> offering to actually *do* the work here, and the casting vote goes to<br>
> the folks pursuing the implementation effort.<br>
<br>
If we decide upon __fspath__ (or __path__) I will do the work on pathlib<br>
and scandir to add those attributes. </blockquote></div></div></div>

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4