scheme.py 575 B

12345678910111213141516171819202122232425
  1. """
  2. For types associated with installation schemes.
  3. For a general overview of available schemes and their context, see
  4. https://docs.python.org/3/install/index.html#alternate-installation.
  5. """
  6. from dataclasses import dataclass
  7. SCHEME_KEYS = ["platlib", "purelib", "headers", "scripts", "data"]
  8. @dataclass(frozen=True)
  9. class Scheme:
  10. """A Scheme holds paths which are used as the base directories for
  11. artifacts associated with a Python package.
  12. """
  13. __slots__ = SCHEME_KEYS
  14. platlib: str
  15. purelib: str
  16. headers: str
  17. scripts: str
  18. data: str