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.9 #2008

Closed
wants to merge 2 commits into from
Closed

Drop support for Python 3.9 #2008

wants to merge 2 commits into from

Conversation

rht
Copy link
Contributor

@rht rht commented Jan 26, 2024

@rht rht added the maintenance Release notes label label Jan 26, 2024
@EwoutH
Copy link
Member

EwoutH commented Jan 26, 2024

Let's wait until after 2.3 is released, all major scientific packages still support 3.9 and we don't have a pressing reason to drop it.

@rht
Copy link
Contributor Author

rht commented Jan 27, 2024

This is to enable the process of the cythonization of space.py and time.py.
Either:

  • Wait until it makes sense to drop Python 3.9. My objection: I don't think Mesa needs to be necessarily more conservative than NumPy/SciPy. Users can always stay at Mesa 2.2.x if needed.
  • Remove the need of from __future__ import annotations, but via downgrading the Mypy syntax of space.py, instead of dropping support for 3.9.

What are the planned new features in 2.3.0 that you think users of Python 3.9 really need to have?

@EwoutH
Copy link
Member

EwoutH commented Jan 27, 2024

Right, this is an actual reason for us to drop 3.9. We pushed a lot of experimental stuff in 2.2, I would like to end 3.9 on a bit more stable platform. On the other hand we can always issue more patch releases.

Let's say we would target 2.3 mid-way February. Immediately after we drop 3.9 support. Would that work for you, or would that significantly slow down development?

@rht
Copy link
Contributor Author

rht commented Jan 27, 2024

We pushed a lot of experimental stuff in 2.2, I would like to end 3.9 on a bit more stable platform. On the other hand we can always issue more patch releases.

Yeah, stability concern is not a real blocker given the patch releases.

Let's say we would target 2.3 mid-way February. Immediately after we drop 3.9 support. Would that work for you, or would that significantly slow down development?

SGTM

@quaquel
Copy link
Member

quaquel commented Feb 17, 2024

I am running into 3.9 vs 3.10 now as well. I can fix the type annotations in #1994 to make it work with 3.9 or first move to 3.10, so I don't need to do the tedious work of fixing all type annotations (and then changing them back to 3.10 syntax).

@Corvince
Copy link
Contributor

I am fine with dropping support for 3.9 soonish, but I think we still shouldn't immediately make mesa incompatible with 3.9 just for the sake of it. If there a good 3.10+ features that we want to use, we should not hesitate. But I don't think slightly nicer mypy syntax qualifies.

@EwoutH
Copy link
Member

EwoutH commented Apr 26, 2024

Now that Mesa 2.3 is branched, and 3.0 development is started, we can drop Python 3.9 and require 3.10+ if we want.

@rht rht closed this May 8, 2024
@rht rht deleted the drop_39 branch May 8, 2024 05:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance Release notes label
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants