Steps taken: - [x] Read and understand the task. - [x] Create a design and select suitable design pattern. - [x] use uv init package - [x] add dev deps for ruff pyright pytest - [x] never use pathlib or os.path directly always use importlib.resources and define resources in pyproject.toml