From 8ccef3c2a66b522af9f2649bbf539c790a3e0157 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Sat, 31 Aug 2024 21:32:13 +0300 Subject: [PATCH] Generate __version__ at build to avoid slow importlib.metadata import --- .gitignore | 3 +++ pyproject.toml | 3 +++ src/em_keyboard/__init__.py | 5 +++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index ee249b9..35387e8 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,6 @@ htmlcov/ nosetests.xml .python-version + +# hatch-vcs +src/*/_version.py diff --git a/pyproject.toml b/pyproject.toml index d783d04..bcc3613 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -57,6 +57,9 @@ scripts.em = "em_keyboard:cli" [tool.hatch] version.source = "vcs" +[tool.hatch.build.hooks.vcs] +version-file = "src/em_keyboard/_version.py" + [tool.hatch.version.raw-options] local_scheme = "no-local-version" diff --git a/src/em_keyboard/__init__.py b/src/em_keyboard/__init__.py index 8c8de17..52d15b4 100644 --- a/src/em_keyboard/__init__.py +++ b/src/em_keyboard/__init__.py @@ -16,7 +16,6 @@ from __future__ import annotations import argparse -import importlib.metadata import itertools import json import os @@ -32,7 +31,9 @@ except ImportError: copier = None -__version__: str = importlib.metadata.version("em_keyboard") +from em_keyboard import _version + +__version__ = _version.__version__ try: from importlib.resources import as_file, files