scheme.py 738 B

12345678910111213141516171819202122232425262728293031
  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. SCHEME_KEYS = ["platlib", "purelib", "headers", "scripts", "data"]
  7. class Scheme:
  8. """A Scheme holds paths which are used as the base directories for
  9. artifacts associated with a Python package.
  10. """
  11. __slots__ = SCHEME_KEYS
  12. def __init__(
  13. self,
  14. platlib: str,
  15. purelib: str,
  16. headers: str,
  17. scripts: str,
  18. data: str,
  19. ) -> None:
  20. self.platlib = platlib
  21. self.purelib = purelib
  22. self.headers = headers
  23. self.scripts = scripts
  24. self.data = data