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

Officialy support python 3.12 #17350

Closed
FloChehab opened this issue Oct 23, 2023 · 9 comments · Fixed by #19588
Closed

Officialy support python 3.12 #17350

FloChehab opened this issue Oct 23, 2023 · 9 comments · Fixed by #19588

Comments

@FloChehab
Copy link

What's the use case?

Python 3.12 is officially out.
We are looking forward for dagster to officially support this release.

Ideas of implementation

No response

Additional information

No response

Message from the maintainers

Impacted by this issue? Give it a 👍! We factor engagement into prioritization.

@hbruch
Copy link

hbruch commented Nov 10, 2023

Note: due to sdispater/pendulum#696, this probably might require upgrading to pendulum v3

hbruch added a commit to mobidata-bw/ipl-dagster-pipeline that referenced this issue Nov 10, 2023
hbruch added a commit to mobidata-bw/ipl-dagster-pipeline that referenced this issue Nov 13, 2023
@cbini
Copy link
Contributor

cbini commented Nov 30, 2023

I think the Dagster team might want to consider moving away from pendulum. I love the library, but it's not actively developed. Looking through the repo issues and discussion, they originally planned to release v3 early 2022 and the main dev doesn't appear to have time to dedicate to the project as their preoccupied with Poetry.

This discussion is kind of concerning: sdispater/pendulum#771

@cbini
Copy link
Contributor

cbini commented Dec 18, 2023

Christmas came early: pendulum 3.0

@streitl
Copy link

streitl commented Jan 12, 2024

Hey Dagster team, any news on when pendulum will be updated to v3 and Python 3.12 supported? Thanks!

@alangenfeld
Copy link
Member

latest update here: #19456 (comment)

@alexismanin
Copy link

alexismanin commented Feb 7, 2024

Does a todo list of actions for Python 3.12 compatibility exist somewhere ?

From what I see, at least universal_path blocks Python 3.12 migration. Trying to use a dagster_aws.s3.S3Resource in Python 3.12 environment causes the following error:

ImportError: cannot import name '_PosixFlavour' from 'pathlib' (/usr/lib64/python3.12/pathlib.py)
...
File ".../venv/lib64/python3.12/site-packages/dagster_aws/s3/__init__.py", line 6, in <module>
  from .io_manager import (
File ".../venv/lib64/python3.12/site-packages/dagster_aws/s3/io_manager.py", line 20, in <module>
  from upath import UPath
File ".../venv/lib64/python3.12/site-packages/upath/__init__.py", line 2, in <module>
  from upath.core import UPath
File ".../venv/lib64/python3.12/site-packages/upath/core.py", line 8, in <module>
  from pathlib import _PosixFlavour  # type: ignore
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

UPDATE : The Python 3.12 compatibilty PR on universal_path has been merged last week. If it is released soon, we might hope to reach for Python 3.12 compatibility soon ?

UPDATE 2: Testing universal_path master (i.e. declaring explicit dependency to universal_pathlib@git+https://github.com/fsspec/universal_pathlib.git#egg=f7af1748ba7d2020a126cafdb47bad0261aa198e) solves above error.

@ja-me-sk
Copy link

While not a core dependency, I initially ran into this as a limitation with dagster-duckdb alongside pendulum when creating the dagster_university project.

As suggested by docs, using the supported version of 3.11.x works fine on setup.

@cbini
Copy link
Contributor

cbini commented Feb 14, 2024

universal_pathlib released an update yesterday with 3.12 support: https://github.com/fsspec/universal_pathlib/releases/tag/v0.2.0

Haven't tried it yet, but will today and keep you posted.

gibsondan added a commit that referenced this issue Feb 15, 2024
## Summary & Motivation
Leaving the default at 3.11 since not all packages are supported yet,
but with the release of universal_pathlib 0.2 today we are ready to
support 3.12 in many of the core packages. The only changes that were
required here were in tests.

resolves #17350

Test Plan: BK
gibsondan added a commit that referenced this issue Feb 15, 2024
Summary:
Added the 3.12 marker for modules that we now have under test

part of #17350

## Summary & Motivation

## How I Tested These Changes
@gibsondan
Copy link
Member

dagster should work on python 3.12 now!

PedramNavid pushed a commit that referenced this issue Mar 28, 2024
## Summary & Motivation
Leaving the default at 3.11 since not all packages are supported yet,
but with the release of universal_pathlib 0.2 today we are ready to
support 3.12 in many of the core packages. The only changes that were
required here were in tests.

resolves #17350

Test Plan: BK
PedramNavid pushed a commit that referenced this issue Mar 28, 2024
Summary:
Added the 3.12 marker for modules that we now have under test

part of #17350

## Summary & Motivation

## How I Tested These Changes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants