Coverage for qpdk / config.py: 100%
28 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-04-02 17:50 +0000
« prev ^ index » next coverage.py v7.13.5, created at 2026-04-02 17:50 +0000
1"""Store path."""
3__all__ = ["PATH"]
5import pathlib
6from dataclasses import dataclass
7from typing import ClassVar, final
9cwd = pathlib.Path.cwd()
10cwd_config = cwd / "config.yml"
11module = pathlib.Path(__file__).parent.absolute()
12repo = module.parent
15@final
16@dataclass
17class Path:
18 """Creates object for referencing paths in repository."""
20 module: ClassVar[pathlib.Path] = module
21 repo: ClassVar[pathlib.Path] = repo
22 build: ClassVar[pathlib.Path] = repo / "build"
23 docs: ClassVar[pathlib.Path] = repo / "docs"
24 gds: ClassVar[pathlib.Path] = build / "gds"
25 simulation: ClassVar[pathlib.Path] = build / "simulation"
26 tests: ClassVar[pathlib.Path] = repo / "tests"
28 cells: ClassVar[pathlib.Path] = module / "cells"
29 derived: ClassVar[pathlib.Path] = module / "derived"
30 klayout: ClassVar[pathlib.Path] = module / "klayout"
31 models: ClassVar[pathlib.Path] = module / "models"
32 samples: ClassVar[pathlib.Path] = module / "samples"
34 lyp: ClassVar[pathlib.Path] = klayout / "layers.lyp"
35 lyt: ClassVar[pathlib.Path] = klayout / "tech.lyt"
36 lyp_yaml: ClassVar[pathlib.Path] = module / "layers.yaml"
37 tech: ClassVar[pathlib.Path] = module / "klayout" / "tech"
40PATH = Path()