From 821496db3f8f32008d9040120004904c04fe344f Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Galet Date: Thu, 7 Dec 2023 07:16:49 +0100 Subject: [PATCH] chore: fix compatibility with python3.12+ configparser.SafeConfigParser is deprecated since Python3.2 (python/cpython#89336). Compatibility with older version is kept using try/catch. --- versioneer.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/versioneer.py b/versioneer.py index f250cde..0434f8c 100644 --- a/versioneer.py +++ b/versioneer.py @@ -339,9 +339,14 @@ def get_config_from_root(root): # configparser.NoOptionError (if it lacks "VCS="). See the docstring at # the top of versioneer.py for instructions on writing your setup.cfg . setup_cfg = os.path.join(root, "setup.cfg") - parser = configparser.SafeConfigParser() - with open(setup_cfg, "r") as f: - parser.readfp(f) + try: + parser = configparser.SafeConfigParser() + with open(setup_cfg, "r") as f: + parser.readfp(f) + except AttributeError: + parser = configparser.ConfigParser() + with open(setup_cfg, "r") as f: + parser.read_file(f) VCS = parser.get("versioneer", "VCS") # mandatory def get(parser, name):