""" 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. """ SCHEME_KEYS = ['platlib', 'purelib', 'headers', 'scripts', 'data'] class Scheme: """A Scheme holds paths which are used as the base directories for artifacts associated with a Python package. """ __slots__ = SCHEME_KEYS def __init__( self, platlib: str, purelib: str, headers: str, scripts: str, data: str, ) -> None: self.platlib = platlib self.purelib = purelib self.headers = headers self.scripts = scripts self.data = data