From da301abb94635b4e5a0810445a3cc566d16f890c Mon Sep 17 00:00:00 2001 From: Jonathan Slenders Date: Thu, 10 Apr 2025 15:17:43 +0000 Subject: [PATCH] Use importlib.metadata to obtain the version in __init__.py --- setup.py | 13 +------------ src/prompt_toolkit/__init__.py | 3 ++- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/setup.py b/setup.py index 2febdf1de..1f2ce494f 100755 --- a/setup.py +++ b/setup.py @@ -1,6 +1,5 @@ #!/usr/bin/env python import os -import re from setuptools import find_packages, setup @@ -8,20 +7,10 @@ long_description = f.read() -def get_version(package): - """ - Return package version as listed in `__version__` in `__init__.py`. - """ - path = os.path.join(os.path.dirname(__file__), "src", package, "__init__.py") - with open(path, "rb") as f: - init_py = f.read().decode("utf-8") - return re.search("__version__ = ['\"]([^'\"]+)['\"]", init_py).group(1) - - setup( name="prompt_toolkit", author="Jonathan Slenders", - version=get_version("prompt_toolkit"), + version="3.0.50", url="https://github.com/prompt-toolkit/python-prompt-toolkit", description="Library for building powerful interactive command lines in Python", long_description=long_description, diff --git a/src/prompt_toolkit/__init__.py b/src/prompt_toolkit/__init__.py index 94727e7cb..ebaa57dc8 100644 --- a/src/prompt_toolkit/__init__.py +++ b/src/prompt_toolkit/__init__.py @@ -17,6 +17,7 @@ from __future__ import annotations import re +from importlib import metadata # note: this is a bit more lax than the actual pep 440 to allow for a/b/rc/dev without a number pep440 = re.compile( @@ -28,7 +29,7 @@ from .shortcuts import PromptSession, print_formatted_text, prompt # Don't forget to update in `docs/conf.py`! -__version__ = "3.0.50" +__version__ = metadata.version("prompt_toolkit") assert pep440.match(__version__)