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'


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'
