-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for Python 3.12 #364
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## master #364 +/- ##
========================================
- Coverage 93.9% 93.7% -0.3%
========================================
Files 22 22
Lines 1512 1559 +47
========================================
+ Hits 1420 1461 +41
- Misses 92 98 +6
|
pjbull
commented
Oct 8, 2023
@jayqi I think 3.12 compatibility should be good to go with this PR now! |
jayqi
approved these changes
Oct 9, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Relatively high-level skim but looks okay to me.
msmitherdc
added a commit
to CRREL/cloudpathlib
that referenced
this pull request
Nov 1, 2023
* Add "CloudPath" to possible cloud_path types (drivendataorg#342) (drivendataorg#343) * Add "CloudPath" to possible cloud_path types (drivendataorg#342) * Add to changelog --------- Co-authored-by: Karol Zlot <11590960+karolzlot@users.noreply.github.com> * Added with_stem support (drivendataorg#290) (drivendataorg#354) * Added with_stem support * Update readme (+small fix to make_support_table) * Added test * Update history.md * Fallback to trivial CPython implementation if `with_stem` is not available * Add a clarification comment Co-authored-by: Daniel Oriyan <gilthans@gmail.com> * Fix flake8 errors (drivendataorg#359) * Fix flake8 errors * Fix wrong comparison * Bump codecov action version; add codecov token --------- Co-authored-by: Jay Qi <jayqi@users.noreply.github.com> * Update write_text to include newline variable (drivendataorg#362) (drivendataorg#363) * Update write_text to include newline variable * Remove old docstring link * Update cloudpathlib/cloudpath.py with black correction * Remove use of io module * update HISTORY.md Co-authored-by: Matthew Price <matthew.price23@gmail.com> * Add support for Python 3.12 (drivendataorg#364) * passing tests * remove print * make method signatures match * Remove unused import * ignore type errors * ignore more type errors * make linting and tests work on multiple py versions * add 3.12 to CI and pyproject * use pytest-cases fork * More performant walk implementation * format * update methods * Test walk method * Version agnostic tests * update tests * Add tests * Order agnostic walk test * Changes * Update changelog * sleep for flaky test * Sleep flaky tests * sleepier * implement env var for local cache dir (drivendataorg#361) * Add contributing guidelines (drivendataorg#367) * contributing guidelines * Apply suggestions from code review Co-authored-by: Katie Wetstone <46792169+klwetstone@users.noreply.github.com> * WIP * Contrib tweaks and PR template * clarification * update history typo --------- Co-authored-by: Katie Wetstone <46792169+klwetstone@users.noreply.github.com> * Version bump * format with black * ignore type checking here * update client reference * update * no need to change --------- Co-authored-by: Peter Bull <pjbull@gmail.com> Co-authored-by: Karol Zlot <11590960+karolzlot@users.noreply.github.com> Co-authored-by: Daniel Oriyan <gilthans@gmail.com> Co-authored-by: Jay Qi <2721979+jayqi@users.noreply.github.com> Co-authored-by: Jay Qi <jayqi@users.noreply.github.com> Co-authored-by: Matthew Price <matthew.price23@gmail.com> Co-authored-by: Peter Bull <peter@drivendata.org> Co-authored-by: Katie Wetstone <46792169+klwetstone@users.noreply.github.com> Co-authored-by: Michael D. Smith <michael.smith@erdc.dren.mil>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adding support for Python 3.12. See the release notes for changes to
pathlib
:https://docs.python.org/3.12/whatsnew/3.12.html#pathlib
Dev Notes:
Needed to install some particular versions/dev versions of packages to get test suite to work
pytest-cases
from this PR Using packaging.version instead of distutils smarie/python-pytest-cases#312Done:
case_insensitive
forglob
,rglob
andmatch
is_junction
method for parityjoinpath
arg collection for paritywalk_up
kwarg torelative_to
with_segments
methodPath
andCloudPath
APIs for compatibility(not true, we cache up to the bucket so it should work)walk_up
forrelative_to
probably needs its own logic since parents are not necessarily in the localcache
CloudPath.walk
methodSince we updated glob logic, I also ran the perf tests. "Glob deep recursive" is a bit slower, but I'm not sure that we can avoid that at the moment.
Before (see #318)
After:
Performance for
walk
implementation is nearly identical to recursiveglob
: