Python 3.10#370
Merged
JoeyRubas merged 45 commits intoMIT-Tab:masterfrom Oct 26, 2025
Merged
Conversation
a94032b to
349c286
Compare
JoeyRubas
commented
Mar 12, 2025
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR upgrades the project from Python 3.7 to Python 3.10, which is part of a multi-step upgrade path leading to Django 5.1 and Python 3.12. The changes include updating Python versions, dependency packages, test infrastructure, and fixing compatibility issues.
Key changes:
- Python version upgraded from 3.7 to 3.10.16 across all environments
- Major dependency updates including pytest, selenium, splinter, and gunicorn
- Enhanced SSL/TLS support for MySQL database connections
- Modernized test infrastructure with improved Selenium handling and proper transaction support
Reviewed Changes
Copilot reviewed 20 out of 24 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| Pipfile | Updated Python version and dependency packages to Python 3.10-compatible versions |
| Dockerfile* | Updated base images to use Python 3.10 |
| .python-version | Changed Python version specification to 3.10.16 |
| .circleci/config.yml | Updated CI configuration for Python 3.10 and improved dependency caching |
| mittab/settings.py | Added SSL certificate configuration for remote MySQL connections |
| mittab/libs/backup/handlers.py | Added SSL arguments to MySQL dump/restore commands |
| mittab/libs/tab_logic/init.py | Fixed random.shuffle call to remove deprecated random parameter |
| mittab/libs/tests/test_case.py | Modernized Selenium test infrastructure with explicit waits and headless Chrome |
| mittab/libs/tests/web/*.py | Updated Selenium selectors to use XPath and replaced deprecated methods |
| mittab/libs/tests/tab_logic/*.py | Added transaction=True to pytest.mark.django_db decorators |
| mittab/apps/tab/management/commands/ensure_tournament_initialized.py | New management command for tournament initialization |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Member
Author
|
Smoke test at UVA went great, but required some duct tape and scaffolding for the CA needed to use mysql over SSL. That's mostly cleaned up but probably could still benefit from a longer term solution. But it's working and ready to progress for now |
JoeyRubas
added a commit
that referenced
this pull request
Oct 26, 2025
Update dependencies and tests and docker images where needed
JoeyRubas
added a commit
that referenced
this pull request
Oct 26, 2025
Switched to python 3.10. Updated tests, docker images, circle Ci and some dependencies. --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.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.
The intended incrimental upgrade path is:
I have branches for most of these ready and tested locally, going to test deploying them one at a time. I didn't keep great notes about where the breaking changes where for particulair associated updates (i.e. by the end up this chain, I know
random=random.randomneeds to be removed but I'm not sure which specific update it breaks at) so some of these might be incorporated earlier than strictly nessicary.Edit: Gtting tests working ended up (ironically enough) being far harder than getting this working locally and on DO, but with some more heavy handed updates to the selenium stuff, this should be good to go.