Uh oh!
There was an error while loading. Please reload this page.
gh-89727: Fix pathlib.Path.walk RecursionError on deep trees - #100282
gh-89727: Fix pathlib.Path.walk RecursionError on deep trees#100282barneygale merged 20 commits into
Conversation
✅ Deploy Preview for python-cpython-preview canceled.
|
TODO:
Update: |
…f github.com:ovsyanka83/cpython into pythongh-89727/fix-pathlib.Path.walk-recursion-depth
brettcannon
commented
Dec 16, 2022
/cc @barneygale |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
carljm
left a comment
There was a problem hiding this comment.
LGTM. I assume because of the initial underscore we don't have to worry about people who may have subclassed Path and overridden the _walk method (now to no effect.)
zmievsa
commented
Dec 20, 2022
@carljm remember that Path.walk has only been created in 3.12 which means that 99% of libraries/projects do not and cannot depend on it yet. |
zmievsa
commented
Dec 24, 2022
@barneygale any estimates of when you will have time to take a look at it? No pressure or rush though. |
barneygale
commented
Dec 24, 2022
I'll look at this within the next few days! |
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Barney Gale <barney.gale@gmail.com>
zmievsa
commented
Jan 11, 2023
@AlexWaygood what would be the next steps for this PR? I am ready to continue improving it |
AlexWaygood
commented
Jan 11, 2023
Sorry @Ovsyanka83, I'll try to take a proper look soon! |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Brett Cannon <brett@python.org>
@AlexWaygood gentle nudge to review this when you have the time! Thanks :) |
CuriousLearner
left a comment
There was a problem hiding this comment.
LGTM.
Thanks for your contribution.
barneygale
commented
Feb 28, 2023
Uh oh!
There was an error while loading. Please reload this page.
zmievsa
commented
Mar 22, 2023
@barneygale thanks! Wow. Have you received merge rights? Congrats! Did they make you a core developer or is that a special rule just for you and pathlib? |
AlexWaygood
commented
Mar 22, 2023
We made him a core dev! https://discuss.python.org/t/vote-to-promote-barney-gale/24801 |
barneygale
commented
Mar 22, 2023
@Ovsyanka83 thanks for your patience and for working on this, it's a neat patch :). I'm hoping to build an iterative version of |
…ythonGH-100282) Use a stack to implement `pathlib.Path.walk()` iteratively instead of recursively to avoid hitting recursion limits on deeply nested trees. Co-authored-by: Barney Gale <barney.gale@gmail.com> Co-authored-by: Brett Cannon <brett@python.org>
…ythonGH-100282) Use a stack to implement `pathlib.Path.walk()` iteratively instead of recursively to avoid hitting recursion limits on deeply nested trees. Co-authored-by: Barney Gale <barney.gale@gmail.com> Co-authored-by: Brett Cannon <brett@python.org>
Use `Path.walk()` to implement the recursive wildcard `**`. This method uses an iterative (rather than recursive) walk - see pythonGH-100282.
Use `Path.walk()` to implement the recursive wildcard `**`. This method uses an iterative (rather than recursive) walk - see GH-100282.
Use a stack to implement pathlib.Path.walk iteratively instead of recursively to avoid hitting recursion limits on deeply nested trees.