diff --git a/README.md b/README.md index d55ce344..a1d4c2d7 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ -[![Latest version](https://img.shields.io/static/v1?label=version&message=1.1.2&color=yellowgreen)](https://github.com/jakob-bagterp/colorist-for-python/releases/latest) -![Python >=3.9](https://img.shields.io/static/v1?label=python&message=>=3.9&color=blueviolet) +[![Latest version](https://img.shields.io/static/v1?label=version&message=1.2.0&color=yellowgreen)](https://github.com/jakob-bagterp/colorist-for-python/releases/latest) +![Python >=3.10](https://img.shields.io/static/v1?label=python&message=>=3.10&color=blueviolet) [![MIT license](https://img.shields.io/static/v1?label=license&message=MIT&color=blue)](https://github.com/jakob-bagterp/colorist-for-python/blob/master/LICENSE.md) # 🌈 Colorist for Python 🌈 Lightweight Python package that makes it easy and fast to print terminal messages in colors. ## Prerequisites -* Python 3.9 or higher +* Python 3.10 or higher * macOS * It may work on Windows or Linux, but hasn't been tested diff --git a/setup.cfg b/setup.cfg index 926660e8..90d41af8 100644 --- a/setup.cfg +++ b/setup.cfg @@ -17,7 +17,6 @@ project_urls = Bug Tracker = https://github.com/jakob-bagterp/colorist-for-python/issues classifiers = Programming Language :: Python :: 3 - Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 License :: OSI Approved :: MIT License Operating System :: OS Independent @@ -28,7 +27,7 @@ license_files = LICENSE.md package_dir = = src packages = find: -python_requires = >=3.9 +python_requires = >=3.10 [options.packages.find] where = src diff --git a/src/colorist/__init__.py b/src/colorist/__init__.py index 6912434b..2a5886fb 100644 --- a/src/colorist/__init__.py +++ b/src/colorist/__init__.py @@ -2,11 +2,9 @@ "bright_green", "bright_yellow", "bright_red", "bright_magenta", "bright_blue", "bright_cyan", "bright_white", "bright_black", "bg_green", "bg_yellow", "bg_red", "bg_magenta", "bg_blue", "bg_cyan", "bg_white", "bg_black", "bg_bright_green", "bg_bright_yellow", "bg_bright_red", "bg_bright_magenta", "bg_bright_blue", "bg_bright_cyan", "bg_bright_white", "bg_bright_black", - "effect_bold", "effect_underline", "effect_blink", "effect_reverse", "effect_hide", + "effect_bold", "effect_dim", "effect_underline", "effect_blink", "effect_reverse", "effect_hide", "BgBrightColor", "BgColor", "BrightColor", "Color", "Effect"] -from typing import Union -from . import helper from .model.background_bright_color import BgBrightColor from .model.background_color import BgColor from .model.bright_color import BrightColor @@ -14,116 +12,8 @@ from .model.effect import Effect from .version import __version__ -def green(text: str) -> None: - helper.print.color(text, color = Color.GREEN) - -def yellow(text: str) -> None: - helper.print.color(text, color = Color.YELLOW) - -def red(text: str) -> None: - helper.print.color(text, color = Color.RED) - -def magenta(text: str) -> None: - helper.print.color(text, color = Color.MAGENTA) - -def blue(text: str) -> None: - helper.print.color(text, color = Color.BLUE) - -def cyan(text: str) -> None: - helper.print.color(text, color = Color.CYAN) - -def white(text: str) -> None: - helper.print.color(text, color = Color.WHITE) - -def black(text: str) -> None: - helper.print.color(text, color = Color.BLACK) - -def bright_green(text: str) -> None: - helper.print.color(text, color = BrightColor.GREEN) - -def bright_yellow(text: str) -> None: - helper.print.color(text, color = BrightColor.YELLOW) - -def bright_red(text: str) -> None: - helper.print.color(text, color = BrightColor.RED) - -def bright_magenta(text: str) -> None: - helper.print.color(text, color = BrightColor.MAGENTA) - -def bright_blue(text: str) -> None: - helper.print.color(text, color = BrightColor.BLUE) - -def bright_cyan(text: str) -> None: - helper.print.color(text, color = BrightColor.CYAN) - -def bright_white(text: str) -> None: - helper.print.color(text, color = BrightColor.WHITE) - -def bright_black(text: str) -> None: - helper.print.color(text, color = BrightColor.BLACK) - -def bg_green(text: str) -> None: - helper.print.color(text, bgcolor = BgColor.GREEN) - -def bg_yellow(text: str) -> None: - helper.print.color(text, bgcolor = BgColor.YELLOW) - -def bg_red(text: str) -> None: - helper.print.color(text, bgcolor = BgColor.RED) - -def bg_magenta(text: str) -> None: - helper.print.color(text, bgcolor = BgColor.MAGENTA) - -def bg_blue(text: str) -> None: - helper.print.color(text, bgcolor = BgColor.BLUE) - -def bg_cyan(text: str) -> None: - helper.print.color(text, bgcolor = BgColor.CYAN) - -def bg_white(text: str) -> None: - helper.print.color(text, bgcolor = BgColor.WHITE) - -def bg_black(text: str) -> None: - helper.print.color(text, bgcolor = BgColor.BLACK) - -def bg_bright_green(text: str) -> None: - helper.print.color(text, bgcolor = BgBrightColor.GREEN) - -def bg_bright_yellow(text: str) -> None: - helper.print.color(text, bgcolor = BgBrightColor.YELLOW) - -def bg_bright_red(text: str) -> None: - helper.print.color(text, bgcolor = BgBrightColor.RED) - -def bg_bright_magenta(text: str) -> None: - helper.print.color(text, bgcolor = BgBrightColor.MAGENTA) - -def bg_bright_blue(text: str) -> None: - helper.print.color(text, bgcolor = BgBrightColor.BLUE) - -def bg_bright_cyan(text: str) -> None: - helper.print.color(text, bgcolor = BgBrightColor.CYAN) - -def bg_bright_white(text: str) -> None: - helper.print.color(text, bgcolor = BgBrightColor.WHITE) - -def bg_bright_black(text: str) -> None: - helper.print.color(text, bgcolor = BgBrightColor.BLACK) - -def effect_bold(text: str, color: Union[Color, BrightColor] = Color.DEFAULT) -> None: - helper.print.effect(text, Effect.BOLD, color) - -def effect_dim(text: str, color: Union[Color, BrightColor] = Color.DEFAULT) -> None: - helper.print.effect(text, Effect.DIM, color) - -def effect_underline(text: str, color: Union[Color, BrightColor] = Color.DEFAULT) -> None: - helper.print.effect(text, Effect.UNDERLINE, color) - -def effect_blink(text: str, color: Union[Color, BrightColor] = Color.DEFAULT) -> None: - helper.print.effect(text, Effect.BLINK, color) - -def effect_reverse(text: str, color: Union[Color, BrightColor] = Color.DEFAULT) -> None: - helper.print.effect(text, Effect.REVERSE, color) - -def effect_hide(text: str, color: Union[Color, BrightColor] = Color.DEFAULT) -> None: - helper.print.effect(text, Effect.HIDE, color) +from .__main__ import green, yellow, red, magenta, blue, cyan, white, black +from .__main__ import bright_green, bright_yellow, bright_red, bright_magenta, bright_blue, bright_cyan, bright_white, bright_black +from .__main__ import bg_green, bg_yellow, bg_red, bg_magenta, bg_blue, bg_cyan, bg_white, bg_black +from .__main__ import bg_bright_green, bg_bright_yellow, bg_bright_red, bg_bright_magenta, bg_bright_blue, bg_bright_cyan, bg_bright_white, bg_bright_black +from .__main__ import effect_bold, effect_dim, effect_underline, effect_blink, effect_reverse, effect_hide diff --git a/src/colorist/__main__.py b/src/colorist/__main__.py new file mode 100644 index 00000000..0fa800a1 --- /dev/null +++ b/src/colorist/__main__.py @@ -0,0 +1,120 @@ +from . import helper +from .model.background_bright_color import BgBrightColor +from .model.background_color import BgColor +from .model.bright_color import BrightColor +from .model.color import Color +from .model.effect import Effect + +def green(text: str) -> None: + helper.print.color(text, color = Color.GREEN) + +def yellow(text: str) -> None: + helper.print.color(text, color = Color.YELLOW) + +def red(text: str) -> None: + helper.print.color(text, color = Color.RED) + +def magenta(text: str) -> None: + helper.print.color(text, color = Color.MAGENTA) + +def blue(text: str) -> None: + helper.print.color(text, color = Color.BLUE) + +def cyan(text: str) -> None: + helper.print.color(text, color = Color.CYAN) + +def white(text: str) -> None: + helper.print.color(text, color = Color.WHITE) + +def black(text: str) -> None: + helper.print.color(text, color = Color.BLACK) + +def bright_green(text: str) -> None: + helper.print.color(text, color = BrightColor.GREEN) + +def bright_yellow(text: str) -> None: + helper.print.color(text, color = BrightColor.YELLOW) + +def bright_red(text: str) -> None: + helper.print.color(text, color = BrightColor.RED) + +def bright_magenta(text: str) -> None: + helper.print.color(text, color = BrightColor.MAGENTA) + +def bright_blue(text: str) -> None: + helper.print.color(text, color = BrightColor.BLUE) + +def bright_cyan(text: str) -> None: + helper.print.color(text, color = BrightColor.CYAN) + +def bright_white(text: str) -> None: + helper.print.color(text, color = BrightColor.WHITE) + +def bright_black(text: str) -> None: + helper.print.color(text, color = BrightColor.BLACK) + +def bg_green(text: str) -> None: + helper.print.color(text, bgcolor = BgColor.GREEN) + +def bg_yellow(text: str) -> None: + helper.print.color(text, bgcolor = BgColor.YELLOW) + +def bg_red(text: str) -> None: + helper.print.color(text, bgcolor = BgColor.RED) + +def bg_magenta(text: str) -> None: + helper.print.color(text, bgcolor = BgColor.MAGENTA) + +def bg_blue(text: str) -> None: + helper.print.color(text, bgcolor = BgColor.BLUE) + +def bg_cyan(text: str) -> None: + helper.print.color(text, bgcolor = BgColor.CYAN) + +def bg_white(text: str) -> None: + helper.print.color(text, bgcolor = BgColor.WHITE) + +def bg_black(text: str) -> None: + helper.print.color(text, bgcolor = BgColor.BLACK) + +def bg_bright_green(text: str) -> None: + helper.print.color(text, bgcolor = BgBrightColor.GREEN) + +def bg_bright_yellow(text: str) -> None: + helper.print.color(text, bgcolor = BgBrightColor.YELLOW) + +def bg_bright_red(text: str) -> None: + helper.print.color(text, bgcolor = BgBrightColor.RED) + +def bg_bright_magenta(text: str) -> None: + helper.print.color(text, bgcolor = BgBrightColor.MAGENTA) + +def bg_bright_blue(text: str) -> None: + helper.print.color(text, bgcolor = BgBrightColor.BLUE) + +def bg_bright_cyan(text: str) -> None: + helper.print.color(text, bgcolor = BgBrightColor.CYAN) + +def bg_bright_white(text: str) -> None: + helper.print.color(text, bgcolor = BgBrightColor.WHITE) + +def bg_bright_black(text: str) -> None: + helper.print.color(text, bgcolor = BgBrightColor.BLACK) + +def effect_bold(text: str, color: Color | BrightColor = Color.DEFAULT) -> None: + helper.print.effect(text, Effect.BOLD, color) + +def effect_dim(text: str, color: Color | BrightColor = Color.DEFAULT) -> None: + helper.print.effect(text, Effect.DIM, color) + +def effect_underline(text: str, color: Color | BrightColor = Color.DEFAULT) -> None: + helper.print.effect(text, Effect.UNDERLINE, color) + +def effect_blink(text: str, color: Color | BrightColor = Color.DEFAULT) -> None: + helper.print.effect(text, Effect.BLINK, color) + +def effect_reverse(text: str, color: Color | BrightColor = Color.DEFAULT) -> None: + helper.print.effect(text, Effect.REVERSE, color) + +def effect_hide(text: str, color: Color | BrightColor = Color.DEFAULT) -> None: + helper.print.effect(text, Effect.HIDE, color) diff --git a/src/colorist/helper/print.py b/src/colorist/helper/print.py index 9f2b3e0e..d2d4ca27 100644 --- a/src/colorist/helper/print.py +++ b/src/colorist/helper/print.py @@ -1,12 +1,11 @@ -from typing import Union from ..model.background_bright_color import BgBrightColor from ..model.background_color import BgColor from ..model.bright_color import BrightColor from ..model.color import Color from ..model.effect import Effect -def color(text: str, color: Union[Color, BrightColor, str] = "", bgcolor: Union[BgColor, BgBrightColor, str] = "") -> None: +def color(text: str, color: Color | BrightColor | str = "", bgcolor: BgColor | BgBrightColor | str = "") -> None: print(f"{bgcolor}{color}{text}{Color.OFF}") -def effect(text: str, effect: Effect, color: Union[Color, BrightColor] = Color.DEFAULT) -> None: +def effect(text: str, effect: Effect, color: Color | BrightColor = Color.DEFAULT) -> None: print(f"{color}{effect}{text}{Effect.OFF}") diff --git a/src/colorist/version.py b/src/colorist/version.py index f0ef8aba..de26aa12 100644 --- a/src/colorist/version.py +++ b/src/colorist/version.py @@ -1,2 +1,2 @@ -__version_info__ = (1, 1, 2) +__version_info__ = (1, 2, 0) __version__ = ".".join(map(str, __version_info__))