tutor-deck/.hatch_build.py
Muhammad Labeeb c79d196a8f
feat: migrate from pylint/black to ruff (#19)
* feat: migrate from pylint/black to ruff

* test: verify python package distribution build when running make test
2025-08-28 19:00:47 +05:00

31 lines
878 B
Python

# https://hatch.pypa.io/latest/how-to/config/dynamic-metadata/
import os
import subprocess
import typing as t
from hatchling.builders.hooks.plugin.interface import BuildHookInterface
from hatchling.metadata.plugin.interface import MetadataHookInterface
HERE = os.path.dirname(__file__)
class CustomBuildHook(BuildHookInterface):
def initialize(self, version, build_data):
# This runs before the build starts
subprocess.check_call(["make", "scss"])
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, "tutordeck", "__about__.py"), "rt", encoding="utf-8"
) as f:
exec(f.read(), about)
return about