-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
chore: enforce supported Python versions on pip installation #19740
Conversation
Current dependencies on/for this PR: This stack of pull requests is managed by Graphite. |
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.
I think an upstream package change to unversal_pathlib is about to make dagster Just Work on python 3.12
I'll wait until #17350 is closed and I'll bump up the pin to 3.12. Then we can merge this! |
Upstream release has landed, adding buildkite support in #19588 (need to rebuild some images which take a while, so might not land today) |
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.
back to your queue
299c4be
to
017e056
Compare
@gibsondan I just added the same constraint on all packages, since this will be easier to maintain than manually auditing each package against its Buildkite test suite. Feel free to push back on that though. The main issue that we want to defend here is folks breaking themselves if they try to use a breaking edge Python version that we're not even testing the main |
do we know things fail if a user happens to try to use 3.7 without this? Just curious if this specific change will be what stops some random 3.7 user who happens to be fine otherwise. |
Unknown, since we don't test against that suite anymore. FWIW, 3.7 has been EOL for 8 months now. |
did a quick test in a clean 3.7 env for 1.6.5 and we blow up immediately so think were good on that front
torn on this - agree its easy to miss keeping it up to date but would be nice to be accurate |
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.
so the tradeoff here, much like #11890 - is that there is a hypothetical future where dagster is compatible with 3.13 out of the box (maybe once some upstream dependencies upgrade) but this prevents you from installing it. Maybe that's unlikely enough (and python version upgrades are rare enough) that we don't care?
based on the past several new pythons, the probability of old versions working on 3.13 unmodified quite low |
I think this is a good idea. Though I argued heavily against pre-emptive capping of dependencies in the linked PR, capping Python is entirely different. We're not going to be unaware of new major python releases, and users also have to explicitly choose to use a new Python instead of just having their dependency resolver select it in the background without them having any clue. Also I would be annoyed as a user to try out Dagster with new Python and have it install OK but then immediately fail. Very bad first experience. 👍 |
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.
OK, I'm sold.
Do you think we should try to identify specific packages that don't work on 3.12 yet? (duckdb immediately comes to mind). My take is that those are more likely to be fixed retroactively by upstream dependencies being upgraded without needing to update your dagster version
I don't think we should do so in any systematic way-- IMO it falls on the authors to bound their packages. |
017e056
to
78bc476
Compare
## Summary & Motivation Resolves #17933. ## How I Tested These Changes - Create a virtualenv of Python 3.12, see installation fail. - Create a virtualenv of Python 3.7, see installation fail. - Create a virtualenv of Python 3.8, see installation succeed. - See Buildkite still succeed.
Summary & Motivation
Resolves #17933.
How I Tested These Changes