Skip to content
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

Update to Python 3.10 #6991

Merged
merged 1 commit into from
Jun 5, 2024
Merged

Conversation

ezraodio1
Copy link
Contributor

@ezraodio1 ezraodio1 commented May 28, 2024

What type of PR is this?

  • Refactor

Description

Updated from Python 3.8 to 3.10. Python 3.10 is the default for Ubuntu 22. This change necessitated upgrading to SQLAlchemy_Utils 0.38.3, and importing the sort_query function from an older version of SQLAlchemy_Utils because it was dropped in newer versions.

How is this tested?

  • Unit tests (pytest, jest)
  • E2E Tests (Cypress)
  • Manually
  • N/A

@justinclift
Copy link
Member

The rough idea we've sort of had is that we'd stick with Python 3.8 while it's not deprecated.

That being said, perhaps we should revisit that idea?

(Personally I don't develop using Ubuntu any more either. 😉)

eradman added a commit to StarfishStorage/redash that referenced this pull request May 30, 2024
Imported from getredash#6991
for proper Python 3.10 support.
@eradman
Copy link
Collaborator

eradman commented Jun 3, 2024

I have tested this change extensively, and it is working well. The bulk of the work here is to update to sqlalchemy-utils, which is a significant change because they dropped features that Redash requires.

@justinclift would you like to take the update to Python 3.10 as a separate PR?

@justinclift
Copy link
Member

would you like to take the update to Python 3.10 as a separate PR?

U guess you're meaning to break this PR into to, one for the sqlalchemy-utils update and one for stuff specifically to upgrade Python to 3.10?


Was thinking about this a bit more the other day. I guess my real concern about updating to Python 3.10 is whether that will create issues for any of the data source libraries we're using?

I'm guessing "probably not", but I'd like to make sure it doesn't. Or at least make sure we fix any problems it'd introduce.

@arikfr probably has thoughts about it too, as it'll have project wide ramifications.

If it turns out completely fine, then I don't have any objections to moving to Python 3.10. 😄

@eradman
Copy link
Collaborator

eradman commented Jun 4, 2024

Was thinking about this a bit more the other day. I guess my real concern about updating to Python 3.10 is whether that will create issues for any of the data source libraries we're using?

I'm guessing "probably not", but I'd like to make sure it doesn't. Or at least make sure we fix any problems it'd introduce.

At Starfish Storage we have been running Redash patched to run with Python 3.10 for about two years--in fact we have to for FIPS compliance. It could be that one of the data source libraries does not work properly with 3.10, but we have not encountered this yet.

@justinclift
Copy link
Member

Sounds like it's probably fairly safe then. 😄

eradman
eradman previously approved these changes Jun 4, 2024
@eradman
Copy link
Collaborator

eradman commented Jun 4, 2024

Conflicts for poetry.lock are relentless! @ezraodio1 can you rebase this change again?

Updated from Python 3.8 to 3.10. Python 3.10 is the default for Ubuntu 22. This change necessitated upgrading to
SQLAlchemy_Utils 0.38.3, and importing the sort_query function from an older version of SQLAlchemy_Utils because it
was dropped in newer versions.
@justinclift justinclift merged commit bceaab0 into getredash:master Jun 5, 2024
11 checks passed
@justinclift
Copy link
Member

Merged before the poetry lock file changes again. 😄

@ezraodio1 ezraodio1 deleted the python-3.10 branch June 6, 2024 15:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants