diff --git a/CHANGELOG.md b/CHANGELOG.md index fd038f2d8..7c85c807e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +### Deprecated + +- Deprecated support for python `3.8.x` following end of support for that minor version ([#2520](https://github.com/moj-analytical-services/splink/pull/2520)) + ## [4.0.6] - 2024-12-05 ### Added diff --git a/splink/__init__.py b/splink/__init__.py index 1998d285e..ea5af8f04 100644 --- a/splink/__init__.py +++ b/splink/__init__.py @@ -1,4 +1,6 @@ +from sys import version_info from typing import TYPE_CHECKING +from warnings import warn from splink.internals.blocking_rule_library import block_on from splink.internals.column_expression import ColumnExpression @@ -17,6 +19,19 @@ from splink.internals.duckdb.database_api import DuckDBAPI from splink.internals.spark.database_api import SparkAPI +if version_info.minor == 8: + warn( + ( + "Python 3.8 has reached end-of-life. " + "Future releases of Splink may no longer be compatible with " + "this python version.\n" + "Please consider upgrading your python version if you wish " + "to continue to be able to install the latest version of Splink." + ), + category=DeprecationWarning, + stacklevel=2, + ) + # Use getarr to make the error appear at the point of use def __getattr__(name):