Skip to content

Fix color output logic #19685

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 24 commits into from

Conversation

studyingegret
Copy link

@studyingegret studyingegret commented Aug 19, 2025

Fixes #18746

Implements @hepcat72's ideas.

  • --color-output: Enable color regardless of the environment
  • --no-color-output: Disable color regardless of the environment
  • --color-output=auto or flags not given: Detect the environment to decide (note: currently enables color if stdout.isatty() and stderr.isatty()*)
  • MYPY_FORCE_COLOR: When enabled (see docs/source/command_line.rst), enable colored output regardless of --color-output and --no-color-output
  • However, all of the above falls to no color if mypy.util.FancyFormatter.detect_terminal_colors cannot detect a terminal color scheme

--color-output=auto is my addition. Also MYPY_FORCE_COLOR is previously undocumented(?), so I documented it.

* Not my addition, it's pre-existing code

Tested python runtests.py self pytest-fast. I added a test mypy/test/test_color_output.py but don't know how to run it.

@studyingegret studyingegret changed the title Color output option Fix color output logic Aug 19, 2025

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

@studyingegret
Copy link
Author

Considering the breakage in mypy's tests & primer due to color output changes, I'd like opinions about if a "color legacy mode" (use old color behavior) is required, or if that feels redundant

Note: mypy_primer hardcodes MYPY_FORCE_COLOR

Currently the forked repo is messed up, I plan to test in fork repo's GitHub Actions then clean up the changes.
@studyingegret
Copy link
Author

I plan to test the failing run in my fork repo, and clean up the changes made for it afterwards

This comment has been minimized.

This comment has been minimized.

Copy link
Contributor

Diff from mypy_primer, showing the effect of this PR on open source code:

git-revise (https://github.com/mystor/git-revise)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

beartype (https://github.com/beartype/beartype)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

bidict (https://github.com/jab/bidict)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

spack (https://github.com/spack/spack)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

mypy_primer (https://github.com/hauntsaninja/mypy_primer)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

attrs (https://github.com/python-attrs/attrs)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

mypy-protobuf (https://github.com/dropbox/mypy-protobuf)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

bandersnatch (https://github.com/pypa/bandersnatch)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

cibuildwheel (https://github.com/pypa/cibuildwheel)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

typeshed-stats (https://github.com/AlexWaygood/typeshed-stats)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

pydantic (https://github.com/pydantic/pydantic)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

PyGithub (https://github.com/PyGithub/PyGithub)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

optuna (https://github.com/optuna/optuna)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

check-jsonschema (https://github.com/python-jsonschema/check-jsonschema)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

mkosi (https://github.com/systemd/mkosi)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

psycopg (https://github.com/psycopg/psycopg)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

tornado (https://github.com/tornadoweb/tornado)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

pylox (https://github.com/sco1/pylox)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

spark (https://github.com/apache/spark)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

ppb-vector (https://github.com/ppb/ppb-vector)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

mongo-python-driver (https://github.com/mongodb/mongo-python-driver)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

hydpy (https://github.com/hydpy-dev/hydpy)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

prefect (https://github.com/PrefectHQ/prefect)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

aiohttp (https://github.com/aio-libs/aiohttp)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

colour (https://github.com/colour-science/colour)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

dacite (https://github.com/konradhalas/dacite)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

python-chess (https://github.com/niklasf/python-chess)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

pyinstrument (https://github.com/joerick/pyinstrument)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

anyio (https://github.com/agronholm/anyio)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

parso (https://github.com/davidhalter/parso)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

flake8-pyi (https://github.com/PyCQA/flake8-pyi)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

operator (https://github.com/canonical/operator)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

schemathesis (https://github.com/schemathesis/schemathesis)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

meson (https://github.com/mesonbuild/meson)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

sockeye (https://github.com/awslabs/sockeye)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

paasta (https://github.com/yelp/paasta)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

altair (https://github.com/vega/altair)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

xarray-dataclasses (https://github.com/astropenguin/xarray-dataclasses)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

core (https://github.com/home-assistant/core)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

strawberry (https://github.com/strawberry-graphql/strawberry)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

zulip (https://github.com/zulip/zulip)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

build (https://github.com/pypa/build)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

Tanjun (https://github.com/FasterSpeeding/Tanjun)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

starlette (https://github.com/encode/starlette)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

flake8 (https://github.com/pycqa/flake8)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

scrapy (https://github.com/scrapy/scrapy)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

graphql-core (https://github.com/graphql-python/graphql-core)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

cki-lib (https://gitlab.com/cki-project/cki-lib)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

speedrun.com_global_scoreboard_webapp (https://github.com/Avasam/speedrun.com_global_scoreboard_webapp)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

mypy (https://github.com/python/mypy)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

janus (https://github.com/aio-libs/janus)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

python-sop (https://gitlab.com/dkg/python-sop)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

pegen (https://github.com/we-like-parsers/pegen)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

nionutils (https://github.com/nion-software/nionutils)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

DateType (https://github.com/glyph/DateType)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

pyjwt (https://github.com/jpadilla/pyjwt)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

downforeveryone (https://github.com/rpdelaney/downforeveryone)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

asynq (https://github.com/quora/asynq)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

comtypes (https://github.com/enthought/comtypes)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

imagehash (https://github.com/JohannesBuchner/imagehash)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

rich (https://github.com/Textualize/rich)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

urllib3 (https://github.com/urllib3/urllib3)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

aiortc (https://github.com/aiortc/aiortc)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

hydra-zen (https://github.com/mit-ll-responsible-ai/hydra-zen)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

sphinx (https://github.com/sphinx-doc/sphinx)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

setuptools (https://github.com/pypa/setuptools)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

pytest (https://github.com/pytest-dev/pytest)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

rclip (https://github.com/yurijmikhalevich/rclip)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

alectryon (https://github.com/cpitclaudel/alectryon)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

porcupine (https://github.com/Akuli/porcupine)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

mitmproxy (https://github.com/mitmproxy/mitmproxy)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

sympy (https://github.com/sympy/sympy)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

pandas (https://github.com/pandas-dev/pandas)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

steam.py (https://github.com/Gobot1234/steam.py)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

django-stubs (https://github.com/typeddjango/django-stubs)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

svcs (https://github.com/hynek/svcs)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

more-itertools (https://github.com/more-itertools/more-itertools)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

pytest-robotframework (https://github.com/detachhead/pytest-robotframework)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

aioredis (https://github.com/aio-libs/aioredis)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

CPython (Argument Clinic) (https://github.com/python/cpython)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

pybind11 (https://github.com/pybind/pybind11)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

pyproject-metadata (https://github.com/pypa/pyproject-metadata)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

koda-validate (https://github.com/keithasaurus/koda-validate)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

dulwich (https://github.com/dulwich/dulwich)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

CPython (peg_generator) (https://github.com/python/cpython)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

werkzeug (https://github.com/pallets/werkzeug)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

pycryptodome (https://github.com/Legrandin/pycryptodome)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

SinbadCogs (https://github.com/mikeshardmind/SinbadCogs)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

black (https://github.com/psf/black)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

arviz (https://github.com/arviz-devs/arviz)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

dd-trace-py (https://github.com/DataDog/dd-trace-py)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

trio (https://github.com/python-trio/trio)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

pyodide (https://github.com/pyodide/pyodide)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

Expression (https://github.com/cognitedata/Expression)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

discord.py (https://github.com/Rapptz/discord.py)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

jax (https://github.com/google/jax)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

aiohttp-devtools (https://github.com/aio-libs/aiohttp-devtools)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

scipy (https://github.com/scipy/scipy)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

alerta (https://github.com/alerta/alerta)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

pylint (https://github.com/pycqa/pylint)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

ibis (https://github.com/ibis-project/ibis)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

pandas-stubs (https://github.com/pandas-dev/pandas-stubs)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

CPython (cases_generator) (https://github.com/python/cpython)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

com2ann (https://github.com/ilevkivskyi/com2ann)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

packaging (https://github.com/pypa/packaging)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

pyp (https://github.com/hauntsaninja/pyp)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

kornia (https://github.com/kornia/kornia)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

dedupe (https://github.com/dedupeio/dedupe)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

websockets (https://github.com/aaugustin/websockets)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

kopf (https://github.com/nolar/kopf)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

stone (https://github.com/dropbox/stone)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

manticore (https://github.com/trailofbits/manticore)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

archinstall (https://github.com/archlinux/archinstall)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

pywin32 (https://github.com/mhammond/pywin32)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

jinja (https://github.com/pallets/jinja)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

scikit-learn (https://github.com/scikit-learn/scikit-learn)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

zope.interface (https://github.com/zopefoundation/zope.interface)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

mkdocs (https://github.com/mkdocs/mkdocs)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

apprise (https://github.com/caronc/apprise)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

PyWinCtl (https://github.com/Kalmat/PyWinCtl)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

scipy-stubs (https://github.com/scipy/scipy-stubs)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

pwndbg (https://github.com/pwndbg/pwndbg)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

pandera (https://github.com/pandera-dev/pandera)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

yarl (https://github.com/aio-libs/yarl)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

httpx-caching (https://github.com/johtso/httpx-caching)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

poetry (https://github.com/python-poetry/poetry)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

materialize (https://github.com/MaterializeInc/materialize)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

paroxython (https://github.com/laowantong/paroxython)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

zipp (https://github.com/jaraco/zipp)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

async-utils (https://github.com/mikeshardmind/async-utils)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

pip (https://github.com/pypa/pip)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

ignite (https://github.com/pytorch/ignite)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

openlibrary (https://github.com/internetarchive/openlibrary)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

rotki (https://github.com/rotki/rotki)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

nox (https://github.com/wntrblm/nox)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

cloud-init (https://github.com/canonical/cloud-init)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

schema_salad (https://github.com/common-workflow-language/schema_salad)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

itsdangerous (https://github.com/pallets/itsdangerous)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

isort (https://github.com/pycqa/isort)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

antidote (https://github.com/Finistere/antidote)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

pyppeteer (https://github.com/pyppeteer/pyppeteer)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

static-frame (https://github.com/static-frame/static-frame)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

freqtrade (https://github.com/freqtrade/freqtrade)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

python-htmlgen (https://github.com/srittau/python-htmlgen)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

dragonchain (https://github.com/dragonchain/dragonchain)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

boostedblob (https://github.com/hauntsaninja/boostedblob)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

artigraph (https://github.com/artigraph/artigraph)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

xarray (https://github.com/pydata/xarray)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

scikit-build-core (https://github.com/scikit-build/scikit-build-core)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

bokeh (https://github.com/bokeh/bokeh)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

twine (https://github.com/pypa/twine)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

AutoSplit (https://github.com/Toufool/AutoSplit)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

cwltool (https://github.com/common-workflow-language/cwltool)
+ warning: failed to detect a suitable terminal color scheme but colored output is requested
+ warning: failed to detect a suitable terminal color scheme but colored output is requested

@studyingegret
Copy link
Author

This PR is now ready for review.

@cdce8p
Copy link
Collaborator

cdce8p commented Aug 19, 2025

Haven't had the time to check it but how do these options interact with FORCE_COLOR / NO_COLOR env vars from Python itself? https://docs.python.org/3.13/using/cmdline.html#controlling-color

@cdce8p cdce8p added the topic-configuration Configuration files and flags label Aug 19, 2025
@studyingegret
Copy link
Author

@cdce8p FORCE_COLOR is used as a fallback of MYPY_FORCE_COLOR when it isn't set (in which case it is treated in the same way as MYPY_FORCE_COLOR). It's legacy logic.
NO_COLOR is not checked.

@@ -199,9 +200,18 @@ def __init__(self, options: Options, status_file: str, timeout: int | None = Non
options.local_partial_types = True
self.status_file = status_file

# Type annotation needed for mypy (Pyright understands this)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LOL, are you serious?

@ilevkivskyi
Copy link
Member

The fact that few people don't like how it works now is not a reason to make breaking changes.

@studyingegret
Copy link
Author

studyingegret commented Aug 20, 2025

@ilevkivskyi Just for your opinion, what do you think about requiring an option to use the color output behavior in this PR? (or maybe adding --color-output=force will be enough to address the use case in #18746)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic-configuration Configuration files and flags
Projects
None yet
Development

Successfully merging this pull request may close these issues.

--color-output doesn't work
3 participants