PYTHON-5421 Make parse_uri() return "options" as a dict rather than _CaseInsensitiveDictionary#2413
Merged
sleepyStick merged 7 commits intomongodb:masterfrom Jul 2, 2025
Merged
Conversation
ShaneHarvey
reviewed
Jul 2, 2025
Contributor
|
@ShaneHarvey @sleepyStick Sorry I missed that! |
Contributor
Author
Going to make a follow up PR for these changes! |
cjwatson
added a commit
to cjwatson/celery
that referenced
this pull request
Oct 27, 2025
mongodb/mongo-python-driver#2413 caused some test regressions here. This isn't currently a problem for the upstream test suite since it pins pymongo==4.10.1 via kombu, but we're running into it in Debian where we've already upgraded pymongo for other reasons. kombu already tried to upgrade pymongo but had to revert due to these test regressions (see celery/kombu#2384 and celery#9938). One of the test fixes (relating to `mongodb_backend_settings`) illustrates an incompatibility where I couldn't figure out a reasonable way to avoid passing it through to Celery users, so I added a note to the documentation about it. It may also be worth including a brief mention of it in the release notes. Using the canonical case for the option in question should work with both old and new versions of pymongo.
cjwatson
added a commit
to cjwatson/celery
that referenced
this pull request
Oct 27, 2025
mongodb/mongo-python-driver#2413 caused some test regressions here. This isn't currently a problem for the upstream test suite since it pins pymongo==4.10.1 via kombu, but we're running into it in Debian where we've already upgraded pymongo for other reasons. kombu already tried to upgrade pymongo but had to revert due to these test regressions (see celery/kombu#2384 and celery#9938). One of the test fixes (relating to `mongodb_backend_settings`) illustrates an incompatibility where I couldn't figure out a reasonable way to avoid passing it through to Celery users, so I added a note to the documentation about it. It may also be worth including a brief mention of it in the release notes. Using the canonical case for the option in question should work with both old and new versions of pymongo.
Nusnus
pushed a commit
to cjwatson/celery
that referenced
this pull request
Oct 27, 2025
mongodb/mongo-python-driver#2413 caused some test regressions here. This isn't currently a problem for the upstream test suite since it pins pymongo==4.10.1 via kombu, but we're running into it in Debian where we've already upgraded pymongo for other reasons. kombu already tried to upgrade pymongo but had to revert due to these test regressions (see celery/kombu#2384 and celery#9938). One of the test fixes (relating to `mongodb_backend_settings`) illustrates an incompatibility where I couldn't figure out a reasonable way to avoid passing it through to Celery users, so I added a note to the documentation about it. It may also be worth including a brief mention of it in the release notes. Using the canonical case for the option in question should work with both old and new versions of pymongo.
cjwatson
added a commit
to cjwatson/celery
that referenced
this pull request
Oct 27, 2025
mongodb/mongo-python-driver#2413 caused some test regressions here. This isn't currently a problem for the upstream test suite since it pins pymongo==4.10.1 via kombu, but we're running into it in Debian where we've already upgraded pymongo for other reasons. kombu already tried to upgrade pymongo but had to revert due to these test regressions (see celery/kombu#2384 and celery#9938). One of the test fixes (relating to `mongodb_backend_settings`) illustrates an incompatibility where I couldn't figure out a reasonable way to avoid passing it through to Celery users, so I added a note to the documentation about it. It may also be worth including a brief mention of it in the release notes. Using the canonical case for the option in question should work with both old and new versions of pymongo.
auvipy
added a commit
to celery/celery
that referenced
this pull request
Oct 28, 2025
mongodb/mongo-python-driver#2413 caused some test regressions here. This isn't currently a problem for the upstream test suite since it pins pymongo==4.10.1 via kombu, but we're running into it in Debian where we've already upgraded pymongo for other reasons. kombu already tried to upgrade pymongo but had to revert due to these test regressions (see celery/kombu#2384 and #9938). One of the test fixes (relating to `mongodb_backend_settings`) illustrates an incompatibility where I couldn't figure out a reasonable way to avoid passing it through to Celery users, so I added a note to the documentation about it. It may also be worth including a brief mention of it in the release notes. Using the canonical case for the option in question should work with both old and new versions of pymongo. Co-authored-by: Asif Saif Uddin {"Auvi":"অভি"} <auvipy@gmail.com>
This file contains hidden or 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
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.
_make_options_case_sensitivethat takes in uri options _CaseInsensitiveDictionary and returns it in proper case sensitive plain dict form. Any keys in the original _CaseInsensitiveDictionary that aren't in the set of properly cased option names are put into the plain dict as is.