ihmeuw / pseudopeople

pseudopeople is a Python package that generates realistic simulated data about a fictional United States population, designed for use in testing entity resolution (record linkage) methods or other data science algorithms at scale.
https://pseudopeople.readthedocs.io
BSD 3-Clause "New" or "Revised" License
20 stars 2 forks source link

Remove support for Python 3.8 now that it is EOL. Add support for Python 3.12 #469

Open aalexandersson opened 1 month ago

aalexandersson commented 1 month ago

Is your proposal related to a problem?

Python 3.8 reached End of Life (EOL) on 7 October 2024. It is a security concern to have a code base with unsupported Python 3.8.

Describe the solution you'd like

I would like pseudopeople to require Python 3.9-3.12 to run. That is, remove support for obsolete Python 3.8 and add support for Python 3.12.

Describe alternatives you've considered

An alternative is to remove support for Python 3.8 without adding support for Python 3.12. But adding support for Python 3.12 is preferred since Python 3.12 is no longer the current release (Python 3.13 is the current release).

Additional context

A possibly related issue is the pseudopeople dependency on numpy < 2.0, see issue 470. pseudopeople should support numpy 2.0 since Pandas 2.2.2 supports numpy 2.0.

It seems that Python 3.8 support was dropped already on Oct 16, 2023, in commit 5911938. But the home page still refers to Python 3.8:

pseudopeople requires Python 3.8-3.11 to run

aflaxman commented 1 month ago

Thanks for flagging this @aalexandersson. We are enhancing our approach to large-scale testing right now, and using the enhanced testing approach to see if there are any pitfalls with Python 3.12 and numpy 2.x will be a great way to see if it works.