* feat: migrate from setup.py to pyproject.toml * chore: addressing PR comments * chore: addressing more comments
22 lines
621 B
Python
22 lines
621 B
Python
# https://hatch.pypa.io/latest/how-to/config/dynamic-metadata/
|
|
|
|
import os
|
|
import typing as t
|
|
|
|
from hatchling.metadata.plugin.interface import MetadataHookInterface
|
|
|
|
HERE = os.path.dirname(__file__)
|
|
|
|
|
|
class MetaDataHook(MetadataHookInterface):
|
|
def update(self, metadata: dict[str, t.Any]) -> None:
|
|
about = load_about()
|
|
metadata["version"] = about["__version__"]
|
|
|
|
|
|
def load_about() -> dict[str, str]:
|
|
about: dict[str, str] = {}
|
|
with open(os.path.join(HERE, "tutorxqueue", "__about__.py"), "rt", encoding="utf-8") as f:
|
|
exec(f.read(), about) # pylint: disable=exec-used
|
|
return about
|