2024-09-02 16:55:06 +00:00
|
|
|
"""
|
|
|
|
For types associated with installation schemes.
|
|
|
|
|
|
|
|
For a general overview of available schemes and their context, see
|
|
|
|
https://docs.python.org/3/install/index.html#alternate-installation.
|
|
|
|
"""
|
|
|
|
|
2024-09-05 15:01:34 +00:00
|
|
|
from dataclasses import dataclass
|
2024-09-02 16:55:06 +00:00
|
|
|
|
|
|
|
SCHEME_KEYS = ["platlib", "purelib", "headers", "scripts", "data"]
|
|
|
|
|
|
|
|
|
2024-09-05 15:01:34 +00:00
|
|
|
@dataclass(frozen=True)
|
2024-09-02 16:55:06 +00:00
|
|
|
class Scheme:
|
|
|
|
"""A Scheme holds paths which are used as the base directories for
|
|
|
|
artifacts associated with a Python package.
|
|
|
|
"""
|
|
|
|
|
|
|
|
__slots__ = SCHEME_KEYS
|
|
|
|
|
2024-09-05 15:01:34 +00:00
|
|
|
platlib: str
|
|
|
|
purelib: str
|
|
|
|
headers: str
|
|
|
|
scripts: str
|
|
|
|
data: str
|