Allow force-enabling or force-disabling colorized output #2041
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
click
allows emitted colored text viaclick.style
,which is used by pip-compile to emit colorized e.g. comments to stderr.
click uses auto-detection to only enable colors when writing to a TTY.
At Lyft, we operate pip-compile as a service:
pip-compile invocations are forwarded to a set of remote machines,
which leverage a shared cache for much faster compiles.
However, they run pip-compile as a subprocess without a TTY attached
meaning the output we stream back to the user is not colorized.
Therefore, add a
--color
and matching--no-color
argumentto force-enable as well as force-disable color
(the default remains click's auto-detection).
This could also be used for e.g. running pip-compile in CI.
AFAIK pip-sync does not emit colored output,
so I did not add the
--color/--no-color
options there.Contributor checklist
Maintainer checklist
backwards incompatible
,feature
,enhancement
,deprecation
,bug
,dependency
,docs
orskip-changelog
as they determine changelog listing.