Making code objects filename an absolute path.
I was working on bpo20443 <https://bugs.python.org/issue20443> but then i realized it changes behavior of the compiler and some functions so i want to propose this change to here and then write a pep. I have a draft pr, it introduces a new future flag and as far as i can understand from the future docs, i need a PEP. Before writing to PEP, is there a core developer wants to sponsor my PEP? Reference implementation: https://github.com/python/cpython/pull/13527
On 24/05/2019 17:35, Batuhan Taskaya wrote:
I was working on bpo20443<https://bugs.python.org/issue20443> but then i realized it changes behavior of the compiler and some functions so i want to propose this change to here and then write a pep. I have a draft pr, it introduces a new future flag and as far as i can understand from the future docs, i need a PEP.
Could you perhaps say what "this change" is, exactly? And why it matters. -- Rhodri James *-* Kynesim Ltd
The bpo i referenced can explain it better. An example; def foo(): pass assert foo.__code__.co_filename = os.path.abspath(foo.__code__.co_filename)
On Fri, May 24, 2019 at 11:52 AM Batuhan Taskaya <isidentical@gmail.com> wrote:
The bpo i referenced can explain it better. An example;
def foo(): pass assert foo.__code__.co_filename = os.path.abspath(foo.__code__.co_filename)
Do realize there's a reason that issue has been open for well over five years: changing this will probably break code. And so you need to justify *why* you think that's acceptable since Python has existed with these semantics on code objects for decades as this point.
changing this will probably break code It is why i'm suggesting making the real transition at 4.0 and adding a future flag for now. And so you need to justify *why* you think that's acceptable I dont know it is acceptable or not, i saw this issue triaged to stage "patch required". AFAIK it means someone needs to write a patch for this issue and i wrote. I'm posting it here because i need to know do i have to write a pep or just give bpo link to __future__ page.
On Fri, May 24, 2019 at 10:34 PM Brett Cannon <brett@python.org> wrote:
On Fri, May 24, 2019 at 11:52 AM Batuhan Taskaya <isidentical@gmail.com> wrote:
The bpo i referenced can explain it better. An example;
def foo(): pass assert foo.__code__.co_filename = os.path.abspath(foo.__code__.co_filename)
Do realize there's a reason that issue has been open for well over five years: changing this will probably break code. And so you need to justify *why* you think that's acceptable since Python has existed with these semantics on code objects for decades as this point.
On Fri, 24 May 2019 at 16:49, Batuhan Taskaya <isidentical@gmail.com> wrote:
changing this will probably break code It is why i'm suggesting making the real transition at 4.0 and adding a future flag for now.
It is also not reasonable to suppose that "since python 4 is looming in the horizon we can schedule a lot of breaking changes for that". The incompatible changes that took place on 2->3 won't happen again. If the absolute path for __file__ is needed and you can demonstrate it, it is safer to create another property like __abs_file__ (this has happened with __qualname__ for example)
And so you need to justify *why* you think that's acceptable I dont know it is acceptable or not, i saw this issue triaged to stage "patch required". AFAIK it means someone needs to write a patch for this issue and i wrote. I'm posting it here because i need to know do i have to write a pep or just give bpo link to __future__ page.
On Fri, May 24, 2019 at 10:34 PM Brett Cannon <brett@python.org> wrote:
On Fri, May 24, 2019 at 11:52 AM Batuhan Taskaya <isidentical@gmail.com> wrote:
The bpo i referenced can explain it better. An example;
def foo(): pass assert foo.__code__.co_filename = os.path.abspath(foo.__code__.co_filename)
Do realize there's a reason that issue has been open for well over five years: changing this will probably break code. And so you need to justify *why* you think that's acceptable since Python has existed with these semantics on code objects for decades as this point.
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/
On Fri., May 24, 2019, 12:48 Batuhan Taskaya, <isidentical@gmail.com> wrote:
changing this will probably break code It is why i'm suggesting making the real transition at 4.0 and adding a future flag for now. And so you need to justify *why* you think that's acceptable I dont know it is acceptable or not, i saw this issue triaged to stage "patch required". AFAIK it means someone needs to write a patch for this issue and i wrote.
It's a bit more subtle because obviously some of us disagree that there's an issue and there wasn't any discussion to see if there was consensus. Plus tests are typically requires first regardless. -Brett I'm
posting it here because i need to know do i have to write a pep or just give bpo link to __future__ page.
On Fri, May 24, 2019 at 10:34 PM Brett Cannon <brett@python.org> wrote:
On Fri, May 24, 2019 at 11:52 AM Batuhan Taskaya <isidentical@gmail.com> wrote:
The bpo i referenced can explain it better. An example;
def foo(): pass assert foo.__code__.co_filename = os.path.abspath(foo.__code__.co_filename)
Do realize there's a reason that issue has been open for well over five years: changing this will probably break code. And so you need to justify *why* you think that's acceptable since Python has existed with these semantics on code objects for decades as this point.
participants (4)
-
Batuhan Taskaya
-
Brett Cannon
-
Joao S. O. Bueno
-
Rhodri James