diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index 4a63080..49df66b 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -40,6 +40,7 @@ jobs: run: | pip install -r requirements.txt pip install -r dev-requirements.txt + pip install -e . - name: Lint code run: ruff check diff --git a/pydeckard/__init__.py b/pydeckard/__init__.py index e69de29..82d4b29 100644 --- a/pydeckard/__init__.py +++ b/pydeckard/__init__.py @@ -0,0 +1,3 @@ +from importlib.metadata import version + +__version__ = version('pydeckard') diff --git a/pydeckard/bot.py b/pydeckard/bot.py index 84e8b57..9304dd2 100644 --- a/pydeckard/bot.py +++ b/pydeckard/bot.py @@ -6,7 +6,6 @@ import logging import sys import time -import tomllib import telegram from telegram import Update @@ -15,7 +14,7 @@ from pydeckard import config from pydeckard import utils - +from pydeckard import __version__ class DeckardBot(): @@ -31,9 +30,6 @@ def get_options(self): epilog='', ) parser.add_argument('--setup', action='store_true', help='Start the setup wizard') - with open('pyproject.toml', 'rb') as fp: - conf = tomllib.load(fp) - self.version = conf['project']['version'] args = parser.parse_args() if args.setup: utils.setup_bot() @@ -60,7 +56,7 @@ async def command_status(self, update: Update, context: ContextTypes.DEFAULT_TYP text = '\n'.join([ config.BOT_GREETING, f'Status is OK, running since {utils.since(self.started_at)}', - f'Python version is {python_version}, bot version is {self.version}', + f'Python version is {python_version}, bot version is {__version__}', ]) await context.bot.send_message( chat_id=update.effective_chat.id, @@ -183,7 +179,7 @@ def run(self): self.reply, ) application.add_handler(reply_handler) - self.trace('Bot is ready') + self.trace(f'Bot is ready (v{__version__})') application.run_polling(poll_interval=config.POLL_INTERVAL)