class AppEnvVars:
    ENV = "HATCH_ENV"
    ENV_ACTIVE = "HATCH_ENV_ACTIVE"
    ENV_OPTION_PREFIX = "HATCH_ENV_TYPE_"
    QUIET = "HATCH_QUIET"
    VERBOSE = "HATCH_VERBOSE"
    INTERACTIVE = "HATCH_INTERACTIVE"
    PYTHON = "HATCH_PYTHON"
    # https://no-color.org
    NO_COLOR = "NO_COLOR"
    FORCE_COLOR = "FORCE_COLOR"
    KEEP_ENV = "HATCH_KEEP_ENV"


class ConfigEnvVars:
    PROJECT = "HATCH_PROJECT"
    DATA = "HATCH_DATA_DIR"
    CACHE = "HATCH_CACHE_DIR"
    CONFIG = "HATCH_CONFIG"


class PublishEnvVars:
    USER = "HATCH_INDEX_USER"
    AUTH = "HATCH_INDEX_AUTH"
    REPO = "HATCH_INDEX_REPO"
    CA_CERT = "HATCH_INDEX_CA_CERT"
    CLIENT_CERT = "HATCH_INDEX_CLIENT_CERT"
    CLIENT_KEY = "HATCH_INDEX_CLIENT_KEY"
    PUBLISHER = "HATCH_PUBLISHER"
    OPTIONS = "HATCH_PUBLISHER_OPTIONS"


class PythonEnvVars:
    CUSTOM_SOURCE_PREFIX = "HATCH_PYTHON_CUSTOM_SOURCE_"
    CUSTOM_PATH_PREFIX = "HATCH_PYTHON_CUSTOM_PATH_"
    CUSTOM_VERSION_PREFIX = "HATCH_PYTHON_CUSTOM_VERSION_"


class VersionEnvVars:
    VALIDATE_BUMP = "HATCH_VERSION_VALIDATE_BUMP"
