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

Drop support for Python 3.10 #877

Closed
mfisher87 opened this issue Nov 8, 2024 · 4 comments · Fixed by #966
Closed

Drop support for Python 3.10 #877

mfisher87 opened this issue Nov 8, 2024 · 4 comments · Fixed by #966
Labels
impact: dependencies Pull requests that update a dependency file

Comments

@mfisher87
Copy link
Collaborator

mfisher87 commented Nov 8, 2024

We are now in Q4 of 2024, and per SPEC0, it's time to drop support for Python 3.10

We decided to give 3.10 a little more time after we drop support for 3.9 (#836, #876)

@mfisher87 mfisher87 added the impact: dependencies Pull requests that update a dependency file label Nov 8, 2024
@weiji14
Copy link
Collaborator

weiji14 commented Mar 18, 2025

Trying to support zarr>=3.0.0 in pangeo-data/pangeo-docker-images#603 (comment) (was pinned to v2 at 529b5ca), and realized we need Python 3.11+:

$ uv add 'zarr>=3'
  × No solution found when resolving dependencies for split (python_full_version == '3.10.*'
  │ and platform_python_implementation == 'PyPy'):
  ╰─▶ Because the requested Python version (>=3.10) does not satisfy Python>=3.11 and all of:
          zarr>=3.0.0,<=3.0.2
          zarr>=3.0.4
      depend on Python>=3.11, we can conclude that all of:
          zarr>=3.0.0,<=3.0.2
          zarr>=3.0.4
       cannot be used.
      And because only the following versions of zarr are available:
          zarr<=3.0.0
          zarr==3.0.1
          zarr==3.0.2
          zarr==3.0.3
          zarr==3.0.4
          zarr==3.0.5
      and zarr==3.0.3 was yanked (reason: broke a certain indexing incantation with our last
      release. see #2849. This can lead to data corruption), we can conclude that zarr>=3.0.0
      cannot be used.
      And because your project depends on zarr>=3 and your project requires earthaccess[dev],
      we can conclude that your project's requirements are unsatisfiable.

      hint: The `requires-python` value (>=3.10) includes Python versions that are not
      supported by your dependencies (e.g., all of:
          zarr>=3.0.0,<=3.0.2
          zarr>=3.0.4
       only supports >=3.11). Consider using a more restrictive `requires-python` value (like
      >=3.11).
  help: If you want to add the package regardless of the failed resolution, provide the
        `--frozen` flag to skip locking and syncing.

so opened a PR for dropping Python 3.10 at #966 🤗

@jhkennedy
Copy link
Collaborator

I'm okay dropping support for 3.10, but supporting >= 3.10 should not have prevented uv from installing earthaccess in a python 3.11 environment. It looks like the issue is actually that we explicitly don't support Zarr v3:
https://github.com/nsidc/earthaccess/blob/main/pyproject.toml#L69

@weiji14
Copy link
Collaborator

weiji14 commented Mar 18, 2025

Ah yes, sorry, I was just trying to force a zarr>=3 version in my virtualenv, but you're correct that we should still be able to install earthaccess with Python 3.10 (assuming zarr=2.x is still supported, i.e. a pin to zarr>2,<=4). That said, the main branch of Virtualizarr (which earthaccess depends on) has a zarr>=3.0.2 pin now, so earthaccess does need to drop Python 3.10 sooner or later.

@mfisher87
Copy link
Collaborator Author

We also adopted SPEC0, so by policy we are ready to drop 3.10 since last year :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
impact: dependencies Pull requests that update a dependency file
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants