mesa icon indicating copy to clipboard operation
mesa copied to clipboard

Drop support for Python 3.9

Open rht opened this issue 1 year ago • 7 comments

https://github.com/projectmesa/mesa/pull/2003#issuecomment-1912654261

rht avatar Jan 26 '24 20:01 rht

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.

EwoutH avatar Jan 26 '24 21:01 EwoutH

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?

rht avatar Jan 27 '24 08:01 rht

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?

EwoutH avatar Jan 27 '24 10:01 EwoutH

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

rht avatar Jan 27 '24 11:01 rht

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).

quaquel avatar Feb 17 '24 19:02 quaquel

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.

Corvince avatar Feb 17 '24 19:02 Corvince

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.

EwoutH avatar Apr 26 '24 10:04 EwoutH