Projects
Mega:24.09
python-termcolor
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 3
View file
_service:tar_scm:python-termcolor.spec
Changed
@@ -1,6 +1,6 @@ %global _empty_manifest_terminate_build 0 Name: python-termcolor -Version: 2.4.0 +Version: 2.3.0 Release: 1 Summary: ANSII Color formatting for output in terminal. License: MIT @@ -70,14 +70,6 @@ %{_docdir}/* %changelog -* Wed Mar 06 2024 liweigang <izmirvii@gmail.com> - 2.4.0-1 -- update to version 2.4.0 -- Document terminal colour detection overrides -- Add support for Python 3.13 -- Improve isatty check -- Improve typing -- Drop support for EOL Python 3.7 - * Fri May 05 2023 yaoxin <yao_xin001@hoperun.com> - 2.3.0-1 - Update to 2.3.0
View file
_service:tar_scm:termcolor-2.4.0.tar.gz/.coveragerc -> _service:tar_scm:termcolor-2.3.0.tar.gz/.coveragerc
Changed
@@ -1,11 +1,14 @@ # .coveragerc to control coverage.py +run +omit = + */termcolor/__main__.py + report # Regexes for lines to exclude from consideration -exclude_also = +exclude_lines = + # Have to re-enable the standard pragma: + pragma: no cover + # Don't complain if non-runnable code isn't run: if __name__ == .__main__.: - -run -omit = - */termcolor/__main__.py
View file
_service:tar_scm:termcolor-2.4.0.tar.gz/.editorconfig -> _service:tar_scm:termcolor-2.3.0.tar.gz/.editorconfig
Changed
@@ -14,5 +14,5 @@ trim_trailing_whitespace = true # Two-space indentation -*.{toml,yml} +*.yml indent_size = 2
View file
_service:tar_scm:termcolor-2.3.0.tar.gz/.flake8
Added
@@ -0,0 +1,2 @@ +flake8 +max_line_length = 88
View file
_service:tar_scm:termcolor-2.4.0.tar.gz/.github/labels.yml -> _service:tar_scm:termcolor-2.3.0.tar.gz/.github/labels.yml
Changed
@@ -1,3 +1,29 @@ +# Default GitHub labels +- color: d73a4a + description: "Something isn't working" + name: bug +- color: cfd3d7 + description: "This issue or pull request already exists" + name: duplicate +- color: a2eeef + description: "New feature or request" + name: enhancement +- color: 7057ff + description: "Good for newcomers" + name: good first issue +- color: 008672 + description: "Extra attention is needed" + name: help wanted +- color: e4e669 + description: "This doesn't seem right" + name: invalid +- color: d876e3 + description: "Further information is requested" + name: question +- color: ffffff + description: "This will not be worked on" + name: wontfix + # Keep a Changelog labels # https://keepachangelog.com/en/1.0.0/ - color: 0e8a16 @@ -26,6 +52,9 @@ - color: 0366d6 description: "For dependencies" name: dependencies +- color: 0075ca + description: "Improvements or additions to documentation" + name: documentation - color: f4660e description: "" name: Hacktoberfest
View file
_service:tar_scm:termcolor-2.4.0.tar.gz/.github/workflows/deploy.yml -> _service:tar_scm:termcolor-2.3.0.tar.gz/.github/workflows/deploy.yml
Changed
@@ -21,7 +21,7 @@ runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v3 with: fetch-depth: 0 @@ -30,14 +30,12 @@ # Upload to Test PyPI on every commit on main. release-test-pypi: name: Publish in-dev package to test.pypi.org - if: | - github.repository_owner == 'termcolor' - && github.event_name == 'push' - && github.ref == 'refs/heads/main' + if: github.event_name == 'push' && github.ref == 'refs/heads/main' runs-on: ubuntu-latest needs: build-package permissions: + # IMPORTANT: this permission is mandatory for trusted publishing id-token: write steps: @@ -55,13 +53,12 @@ # Upload to real PyPI on GitHub Releases. release-pypi: name: Publish released package to pypi.org - if: | - github.repository_owner == 'termcolor' - && github.event.action == 'published' + if: github.event.action == 'published' runs-on: ubuntu-latest needs: build-package permissions: + # IMPORTANT: this permission is mandatory for trusted publishing id-token: write steps:
View file
_service:tar_scm:termcolor-2.4.0.tar.gz/.github/workflows/labels.yml -> _service:tar_scm:termcolor-2.3.0.tar.gz/.github/workflows/labels.yml
Changed
@@ -1,8 +1,5 @@ name: Sync labels -permissions: - pull-requests: write - on: push: branches: @@ -15,7 +12,7 @@ sync: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v3 - uses: micnncim/action-label-syncer@v1 with: prune: false
View file
_service:tar_scm:termcolor-2.4.0.tar.gz/.github/workflows/lint.yml -> _service:tar_scm:termcolor-2.3.0.tar.gz/.github/workflows/lint.yml
Changed
@@ -2,18 +2,12 @@ on: push, pull_request, workflow_dispatch -env: - FORCE_COLOR: 1 - -permissions: - contents: read - jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: python-version: "3.x"
View file
_service:tar_scm:termcolor-2.4.0.tar.gz/.github/workflows/require-pr-label.yml -> _service:tar_scm:termcolor-2.3.0.tar.gz/.github/workflows/require-pr-label.yml
Changed
@@ -8,12 +8,8 @@ label: runs-on: ubuntu-latest - permissions: - issues: write - pull-requests: write - steps: - - uses: mheap/github-action-required-labels@v5 + - uses: mheap/github-action-required-labels@v3 with: mode: minimum count: 1
View file
_service:tar_scm:termcolor-2.4.0.tar.gz/.github/workflows/test.yml -> _service:tar_scm:termcolor-2.3.0.tar.gz/.github/workflows/test.yml
Changed
@@ -11,18 +11,18 @@ strategy: fail-fast: false matrix: - python-version: "pypy3.10", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13" + python-version: "pypy3.9", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12-dev" os: windows-latest, macos-latest, ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - allow-prereleases: true cache: pip + cache-dependency-path: pyproject.toml - name: Install dependencies run: | @@ -43,7 +43,7 @@ success: needs: test runs-on: ubuntu-latest - name: Test successful + name: test successful steps: - name: Success run: echo Test successful
View file
_service:tar_scm:termcolor-2.4.0.tar.gz/.pre-commit-config.yaml -> _service:tar_scm:termcolor-2.3.0.tar.gz/.pre-commit-config.yaml
Changed
@@ -1,60 +1,72 @@ repos: - - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.1.5 + - repo: https://github.com/asottile/pyupgrade + rev: v3.3.1 hooks: - - id: ruff - args: --fix, --exit-non-zero-on-fix + - id: pyupgrade + args: --py37-plus - - repo: https://github.com/psf/black-pre-commit-mirror - rev: 23.11.0 + - repo: https://github.com/psf/black + rev: 23.3.0 hooks: - id: black + - repo: https://github.com/PyCQA/isort + rev: 5.12.0 + hooks: + - id: isort + args: --add-import=from __future__ import annotations + + - repo: https://github.com/PyCQA/flake8 + rev: 6.0.0 + hooks: + - id: flake8 + additional_dependencies: + flake8-2020, flake8-errmsg, flake8-implicit-str-concat + + - repo: https://github.com/pre-commit/pygrep-hooks + rev: v1.10.0 + hooks: + - id: python-check-blanket-noqa + - id: python-no-log-warn + - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.5.0 + rev: v4.4.0 hooks: - id: check-case-conflict - id: check-merge-conflict - id: check-json - id: check-toml - id: check-yaml - - id: debug-statements - id: end-of-file-fixer - id: trailing-whitespace - repo: https://github.com/pre-commit/mirrors-mypy - rev: v1.7.0 + rev: v1.2.0 hooks: - id: mypy args: --strict, --pretty, --show-error-codes additional_dependencies: pytest - repo: https://github.com/tox-dev/pyproject-fmt - rev: 1.5.1 + rev: 0.9.2 hooks: - id: pyproject-fmt - additional_dependencies: tox - repo: https://github.com/abravalheri/validate-pyproject - rev: v0.15 + rev: v0.12.2 hooks: - id: validate-pyproject - repo: https://github.com/tox-dev/tox-ini-fmt - rev: 1.3.1 + rev: 1.3.0 hooks: - id: tox-ini-fmt - repo: https://github.com/pre-commit/mirrors-prettier - rev: v3.0.3 + rev: v3.0.0-alpha.6 hooks: - id: prettier args: --prose-wrap=always, --print-width=88 - - repo: meta - hooks: - - id: check-hooks-apply - - id: check-useless-excludes - ci: autoupdate_schedule: quarterly
View file
_service:tar_scm:termcolor-2.4.0.tar.gz/PKG-INFO -> _service:tar_scm:termcolor-2.3.0.tar.gz/PKG-INFO
Changed
@@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: termcolor -Version: 2.4.0 +Version: 2.3.0 Summary: ANSI color formatting for output in terminal Project-URL: Changelog, https://github.com/termcolor/termcolor/releases Project-URL: Homepage, https://github.com/termcolor/termcolor @@ -16,17 +16,18 @@ Classifier: License :: OSI Approved :: MIT License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 -Classifier: Programming Language :: Python :: 3.13 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Topic :: Terminals -Requires-Python: >=3.8 +Requires-Python: >=3.7 Provides-Extra: tests Requires-Dist: pytest; extra == 'tests' Requires-Dist: pytest-cov; extra == 'tests' @@ -123,21 +124,3 @@ | Windows | no | no | no | no | yes | no | | Cygwin SSH | yes | no | color | color | color | yes | | Mac Terminal | yes | no | yes | yes | yes | yes | - -## Overrides - -Terminal colour detection can be disabled or enabled in several ways. - -In order of precedence: - -1. Calling `colored` or `cprint` with a truthy `no_color` disables colour. -2. Calling `colored` or `cprint` with a truthy `force_color` forces colour. -3. Setting the `ANSI_COLORS_DISABLED` environment variable to any value disables colour. -4. Setting the `NO_COLOR`(https://no-color.org/) environment variable to any value - disables colour. -5. Setting the `FORCE_COLOR`(https://force-color.org/) environment variable to any - value forces colour. -6. Setting the `TERM` environment variable to `dumb`, or using such a - dumb terminal(https://en.wikipedia.org/wiki/Computer_terminal#Character-oriented_terminal), - disables colour. -7. Finally, termcolor will attempt to detect whether the terminal supports colour.
View file
_service:tar_scm:termcolor-2.4.0.tar.gz/README.md -> _service:tar_scm:termcolor-2.3.0.tar.gz/README.md
Changed
@@ -89,21 +89,3 @@ | Windows | no | no | no | no | yes | no | | Cygwin SSH | yes | no | color | color | color | yes | | Mac Terminal | yes | no | yes | yes | yes | yes | - -## Overrides - -Terminal colour detection can be disabled or enabled in several ways. - -In order of precedence: - -1. Calling `colored` or `cprint` with a truthy `no_color` disables colour. -2. Calling `colored` or `cprint` with a truthy `force_color` forces colour. -3. Setting the `ANSI_COLORS_DISABLED` environment variable to any value disables colour. -4. Setting the `NO_COLOR`(https://no-color.org/) environment variable to any value - disables colour. -5. Setting the `FORCE_COLOR`(https://force-color.org/) environment variable to any - value forces colour. -6. Setting the `TERM` environment variable to `dumb`, or using such a - dumb terminal(https://en.wikipedia.org/wiki/Computer_terminal#Character-oriented_terminal), - disables colour. -7. Finally, termcolor will attempt to detect whether the terminal supports colour.
View file
_service:tar_scm:termcolor-2.4.0.tar.gz/pyproject.toml -> _service:tar_scm:termcolor-2.3.0.tar.gz/pyproject.toml
Changed
@@ -22,24 +22,25 @@ license = {text = "MIT"} maintainers = {name = "Hugo van Kemenade"} authors = {name = "Konstantin Lepa", email = "konstantin.lepa@gmail.com"} -requires-python = ">=3.8" +requires-python = ">=3.7" classifiers = - "Development Status :: 5 - Production/Stable", - "Environment :: Console", - "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", - "Operating System :: OS Independent", - "Programming Language :: Python", - "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: 3.13", - "Programming Language :: Python :: Implementation :: CPython", - "Programming Language :: Python :: Implementation :: PyPy", - "Topic :: Terminals", + "Development Status :: 5 - Production/Stable", + "Environment :: Console", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Terminals", dynamic = "version", @@ -60,27 +61,5 @@ tool.hatch.version.raw-options local_scheme = "no-local-version" -tool.ruff -select = - "E", # pycodestyle errors - "EM", # flake8-errmsg - "F", # pyflakes errors - "I", # isort - "ISC", # flake8-implicit-str-concat - "PGH", # pygrep-hooks - "RUF100", # unused noqa (yesqa) - "UP", # pyupgrade - "W", # pycodestyle warnings - "YTT", # flake8-2020 - # "LOG", # TODO: enable flake8-logging when it's not in preview anymore - -extend-ignore = - "E203", # Whitespace before ':' - "E221", # Multiple spaces before operator - "E226", # Missing whitespace around arithmetic operator - "E241", # Multiple spaces after ',' - - -tool.ruff.isort -known-first-party = "termcolor" -required-imports = "from __future__ import annotations" +tool.isort +profile = "black"
View file
_service:tar_scm:termcolor-2.4.0.tar.gz/src/termcolor/termcolor.py -> _service:tar_scm:termcolor-2.3.0.tar.gz/src/termcolor/termcolor.py
Changed
@@ -24,14 +24,11 @@ from __future__ import annotations -import io import os import sys import warnings from typing import Any, Iterable -from ._types import Attribute, Color, Highlight - def __getattr__(name: str) -> liststr: if name == "__ALL__": @@ -46,7 +43,7 @@ raise AttributeError(msg) -ATTRIBUTES: dictAttribute, int = { +ATTRIBUTES = { "bold": 1, "dark": 2, "underline": 4, @@ -55,7 +52,8 @@ "concealed": 8, } -HIGHLIGHTS: dictHighlight, int = { + +HIGHLIGHTS = { "on_black": 40, "on_grey": 40, # Actually black but kept for backwards compatibility "on_red": 41, @@ -75,7 +73,7 @@ "on_white": 107, } -COLORS: dictColor, int = { +COLORS = { "black": 30, "grey": 30, # Actually black but kept for backwards compatibility "red": 31, @@ -121,24 +119,18 @@ return False if "FORCE_COLOR" in os.environ: return True - - # Then check system: - if os.environ.get("TERM") == "dumb": - return False - if not hasattr(sys.stdout, "fileno"): - return False - - try: - return os.isatty(sys.stdout.fileno()) - except io.UnsupportedOperation: - return sys.stdout.isatty() + return ( + hasattr(sys.stdout, "isatty") + and sys.stdout.isatty() + and os.environ.get("TERM") != "dumb" + ) def colored( - text: object, - color: Color | None = None, - on_color: Highlight | None = None, - attrs: IterableAttribute | None = None, + text: str, + color: str | None = None, + on_color: str | None = None, + attrs: Iterablestr | None = None, *, no_color: bool | None = None, force_color: bool | None = None, @@ -162,31 +154,28 @@ colored('Hello, World!', 'red', 'on_black', 'bold', 'blink') colored('Hello, World!', 'green') """ - result = str(text) if not _can_do_colour(no_color=no_color, force_color=force_color): - return result + return text fmt_str = "\033%dm%s" if color is not None: - result = fmt_str % (COLORScolor, result) + text = fmt_str % (COLORScolor, text) if on_color is not None: - result = fmt_str % (HIGHLIGHTSon_color, result) + text = fmt_str % (HIGHLIGHTSon_color, text) if attrs is not None: for attr in attrs: - result = fmt_str % (ATTRIBUTESattr, result) - - result += RESET + text = fmt_str % (ATTRIBUTESattr, text) - return result + return text + RESET def cprint( - text: object, - color: Color | None = None, - on_color: Highlight | None = None, - attrs: IterableAttribute | None = None, + text: str, + color: str | None = None, + on_color: str | None = None, + attrs: Iterablestr | None = None, *, no_color: bool | None = None, force_color: bool | None = None,
View file
_service:tar_scm:termcolor-2.4.0.tar.gz/tests/test_termcolor.py -> _service:tar_scm:termcolor-2.3.0.tar.gz/tests/test_termcolor.py
Changed
@@ -1,12 +1,11 @@ from __future__ import annotations import os -from typing import Any, Iterable +from typing import Any import pytest from termcolor import ATTRIBUTES, COLORS, HIGHLIGHTS, colored, cprint, termcolor -from termcolor._types import Attribute, Color, Highlight ALL_COLORS = *COLORS, None ALL_HIGHLIGHTS = *HIGHLIGHTS, None @@ -24,9 +23,7 @@ def test_basic(monkeypatch: pytest.MonkeyPatch) -> None: # Arrange - monkeypatch.setattr(os, "isatty", lambda fd: True) monkeypatch.setattr("sys.stdout.isatty", lambda: True) - monkeypatch.setattr("sys.stdout.fileno", lambda: 1) # Act / Assert assert colored("text") == "text\x1b0m" @@ -49,9 +46,9 @@ capsys: pytest.CaptureFixturestr, expected: str, text: str, - color: Color | None = None, - on_color: Highlight | None = None, - attrs: IterableAttribute | None = None, + color: str | None = None, + on_color: str | None = None, + attrs: liststr | None = None, **kwargs: Any, ) -> None: cprint(text, color, on_color, attrs, **kwargs) @@ -80,13 +77,11 @@ def test_color( capsys: pytest.CaptureFixturestr, monkeypatch: pytest.MonkeyPatch, - color: Color, + color: str, expected: str, ) -> None: # Arrange - monkeypatch.setattr(os, "isatty", lambda fd: True) monkeypatch.setattr("sys.stdout.isatty", lambda: True) - monkeypatch.setattr("sys.stdout.fileno", lambda: 1) # Act / Assert assert colored("text", color=color) == expected @@ -113,13 +108,11 @@ def test_on_color( capsys: pytest.CaptureFixturestr, monkeypatch: pytest.MonkeyPatch, - on_color: Highlight, + on_color: str, expected: str, ) -> None: # Arrange - monkeypatch.setattr(os, "isatty", lambda fd: True) monkeypatch.setattr("sys.stdout.isatty", lambda: True) - monkeypatch.setattr("sys.stdout.fileno", lambda: 1) # Act / Assert assert colored("text", on_color=on_color) == expected @@ -140,13 +133,11 @@ def test_attrs( capsys: pytest.CaptureFixturestr, monkeypatch: pytest.MonkeyPatch, - attr: Attribute, + attr: str, expected: str, ) -> None: # Arrange - monkeypatch.setattr(os, "isatty", lambda fd: True) monkeypatch.setattr("sys.stdout.isatty", lambda: True) - monkeypatch.setattr("sys.stdout.fileno", lambda: 1) # Act / Assert assert colored("text", attrs=attr) == expected @@ -205,7 +196,6 @@ (None, None, "FORCE_COLOR=1", True), (None, None, "ANSI_COLORS_DISABLED=1", "NO_COLOR=1", "FORCE_COLOR=1", False), (None, None, "NO_COLOR=1", "FORCE_COLOR=1", False), - (None, None, "TERM=dumb", False), # Set only parameter overrides (True, None, None, False), (None, True, None, True), @@ -231,7 +221,7 @@ if not env_var: continue name, value = env_var.split("=") - print(f"{name}={value}") + print(name, value) monkeypatch.setenv(name, value) assert ( @@ -250,9 +240,7 @@ def test_tty(monkeypatch: pytest.MonkeyPatch, test_isatty: bool, expected: str) -> None: """Assert color when attached to tty, no color when not attached""" # Arrange - monkeypatch.setattr(os, "isatty", lambda fd: test_isatty) monkeypatch.setattr("sys.stdout.isatty", lambda: test_isatty) - monkeypatch.setattr("sys.stdout.fileno", lambda: 1) # Act / Assert assert colored("text", color="cyan") == expected
View file
_service:tar_scm:termcolor-2.4.0.tar.gz/tox.ini -> _service:tar_scm:termcolor-2.3.0.tar.gz/tox.ini
Changed
@@ -3,7 +3,7 @@ tox>=4.2 env_list = lint - py{py3, 313, 312, 311, 310, 39, 38} + py{py3, 312, 311, 310, 39, 38, 37} testenv extras = @@ -11,13 +11,7 @@ pass_env = FORCE_COLOR commands = - {envpython} -m pytest \ - --cov termcolor \ - --cov tests \ - --cov-report html \ - --cov-report term \ - --cov-report xml \ - {posargs} + {envpython} -m pytest --cov termcolor --cov tests --cov-report html --cov-report xml {posargs} testenv:lint skip_install = true
View file
_service:tar_scm:termcolor-2.4.0.tar.gz/src/termcolor/_types.py
Deleted
@@ -1,52 +0,0 @@ -from __future__ import annotations - -from typing import Literal - -Attribute = Literal - "bold", - "dark", - "underline", - "blink", - "reverse", - "concealed", - - -Highlight = Literal - "on_black", - "on_grey", - "on_red", - "on_green", - "on_yellow", - "on_blue", - "on_magenta", - "on_cyan", - "on_light_grey", - "on_dark_grey", - "on_light_red", - "on_light_green", - "on_light_yellow", - "on_light_blue", - "on_light_magenta", - "on_light_cyan", - "on_white", - - -Color = Literal - "black", - "grey", - "red", - "green", - "yellow", - "blue", - "magenta", - "cyan", - "light_grey", - "dark_grey", - "light_red", - "light_green", - "light_yellow", - "light_blue", - "light_magenta", - "light_cyan", - "white", -
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2