Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-tcolorpy for openSUSE:Factory 
checked in at 2021-08-23 10:08:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-tcolorpy (Old)
 and      /work/SRC/openSUSE:Factory/.python-tcolorpy.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-tcolorpy"

Mon Aug 23 10:08:05 2021 rev:2 rq:913353 version:0.1.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-tcolorpy/python-tcolorpy.changes  
2021-04-24 23:10:14.739487503 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-tcolorpy.new.1899/python-tcolorpy.changes    
    2021-08-23 10:09:05.524181872 +0200
@@ -1,0 +2,7 @@
+Fri Aug 20 12:29:39 UTC 2021 - Martin Hauke <mar...@gmx.de>
+
+- Update to version 0.1.0
+  * Add hsv property to Color class
+  * Drop support for Python 3.5
+
+-------------------------------------------------------------------

Old:
----
  tcolorpy-0.0.8.tar.gz

New:
----
  tcolorpy-0.1.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-tcolorpy.spec ++++++
--- /var/tmp/diff_new_pack.RM4DME/_old  2021-08-23 10:09:06.100181200 +0200
+++ /var/tmp/diff_new_pack.RM4DME/_new  2021-08-23 10:09:06.104181195 +0200
@@ -19,7 +19,7 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %define skip_python2 1
 Name:           python-tcolorpy
-Version:        0.0.8
+Version:        0.1.0
 Release:        0
 Summary:        Python library to apply true color for terminal text
 License:        MIT

++++++ tcolorpy-0.0.8.tar.gz -> tcolorpy-0.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tcolorpy-0.0.8/PKG-INFO new/tcolorpy-0.1.0/PKG-INFO
--- old/tcolorpy-0.0.8/PKG-INFO 2020-08-14 16:16:32.000000000 +0200
+++ new/tcolorpy-0.1.0/PKG-INFO 2021-06-12 15:33:34.150000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: tcolorpy
-Version: 0.0.8
+Version: 0.1.0
 Summary: tcolopy is a Python library to apply true color for terminal text.
 Home-page: https://github.com/thombashi/tcolorpy
 Author: Tsuyoshi Hombashi
@@ -8,146 +8,18 @@
 License: MIT License
 Project-URL: Source, https://github.com/thombashi/tcolorpy
 Project-URL: Tracker, https://github.com/thombashi/tcolorpy/issues
-Description: .. contents:: **tcolorpy**
-           :backlinks: top
-           :depth: 2
-        
-        
-        Summary
-        ============================================
-        tcolopy is a Python library to apply true color for terminal text.
-        
-        .. image:: https://badge.fury.io/py/tcolorpy.svg
-            :target: https://badge.fury.io/py/tcolorpy
-            :alt: PyPI package version
-        
-        .. image:: https://img.shields.io/pypi/pyversions/tcolorpy.svg
-            :target: https://pypi.org/project/tcolorpy
-            :alt: Supported Python versions
-        
-        .. image:: https://img.shields.io/pypi/implementation/tcolorpy.svg
-            :target: https://pypi.org/project/tcolorpy
-            :alt: Supported Python implementations
-        
-        .. image:: 
https://img.shields.io/travis/thombashi/tcolorpy/master.svg?label=Linux/macOS%20CI
-            :target: https://travis-ci.org/thombashi/tcolorpy
-            :alt: Linux/macOS CI status
-        
-        .. image:: 
https://img.shields.io/appveyor/ci/thombashi/tcolorpy/master.svg?label=Windows%20CI
-            :target: 
https://ci.appveyor.com/project/thombashi/tcolorpy/branch/master
-            :alt: Windows CI status
-        
-        .. image:: 
https://codecov.io/gh/thombashi/tcolorpy/branch/master/graph/badge.svg
-            :target: https://codecov.io/gh/thombashi/tcolorpy
-            :alt: Test coverage: codecov
-        
-        
-        Installation
-        ============================================
-        ::
-        
-            pip install tcolorpy
-        
-        
-        Usage
-        ============================================
-        
-        Library usage
-        --------------------------------------------
-        
-        :Sample Code:
-            .. code-block:: python
-        
-                from tcolorpy import tcolor
-        
-                print(tcolor("tcolopy example", color="#ee1177", 
styles=["bold", "italic", "underline"]))
-        
-        :Output:
-            .. figure:: 
https://cdn.jsdelivr.net/gh/thombashi/tcolorpy@master/ss/oneline.png
-                :scale: 60%
-                :alt: 
https://github.com/thombashi/tcolorpy/blob/master/ss/oneline.png
-        
-        You can set the following ``tcolor`` arguments:
-        
-        - ``color``/``bg_color``
-            - color names (``"red"``, ``"red"``, etc.) or color code 
(``"#RRGGBB"``)
-        - ``styles``
-            - ``"bold"``, ``"italic"``, etc.
-        
-        
-        Other examples
-        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-        Apply true color and styles to text:
-        
-        .. figure:: 
https://cdn.jsdelivr.net/gh/thombashi/tcolorpy@master/ss/styles.png
-            :scale: 60%
-            :alt: 
https://github.com/thombashi/tcolorpy/blob/master/ss/styles.png
-        
-            `tcolorpy/ansi_styles.py 
<https://github.com/thombashi/tcolorpy/blob/master/examples/ansi_styles.py>`__
-        
-        You can also specify colors by names:
-        
-        .. figure:: 
https://cdn.jsdelivr.net/gh/thombashi/tcolorpy@master/ss/ansi_colors.png
-            :scale: 60%
-            :alt: 
https://github.com/thombashi/tcolorpy/blob/master/ss/ansi_colors.png
-        
-            `tcolorpy/ansi_colors.py 
<https://github.com/thombashi/tcolorpy/blob/master/examples/ansi_colors.py>`__
-        
-        
-        CLI usage
-        --------------------------------------------
-        ``tcolorpy`` can be used via CLI:
-        
-        ::
-        
-            $ python -m tcolorpy "tcolopy example" -c "#ee1177" -s 
bold,italic,underline
-        
-        Command help
-        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-        ::
-        
-            usage: __main__.py [-h] [-c COLOR] [-b BG_COLOR] [-s STYLES] 
[--encode ENCODE]
-                               string
-        
-            positional arguments:
-              string                string to apply styles.
-        
-            optional arguments:
-              -h, --help            show this help message and exit
-              -c COLOR, --color COLOR
-                                    specify a color code (#XXXXXX) or a name. 
valid names
-                                    are: black, red, green, yellow, blue, 
magenta, cyan,
-                                    white, lightblack, lightred, lightgreen, 
lightyellow,
-                                    lightblue, lightmagenta, lightcyan, 
lightwhite
-              -b BG_COLOR, --bg-color BG_COLOR
-                                    specify a background color code (#XXXXXX) 
or a name.
-                                    valid names are: black, red, green, 
yellow, blue,
-                                    magenta, cyan, white, lightblack, lightred,
-                                    lightgreen, lightyellow, lightblue, 
lightmagenta,
-                                    lightcyan, lightwhite
-              -s STYLES, --styles STYLES
-                                    specify a comma separated styles. valid 
values are:
-                                    bold, dim, italic, underline, blink, 
invert, strike
-              --encode ENCODE       output a text encoded with the specified 
encoding
-        
-        
-        Dependencies
-        ============================================
-        Python 3.5+
-        No external dependencies.
-        
 Keywords: ANSI escape,terminal color,truecolor
 Platform: UNKNOWN
-Classifier: Development Status :: 3 - Alpha
+Classifier: Development Status :: 4 - Beta
 Classifier: Intended Audience :: Information Technology
 Classifier: License :: OSI Approved :: MIT License
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 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 :: Only
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
@@ -155,6 +27,146 @@
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
 Classifier: Topic :: Terminals
 Classifier: Topic :: Text Processing
-Requires-Python: >=3.5
+Requires-Python: >=3.6
 Description-Content-Type: text/x-rst
 Provides-Extra: test
+License-File: LICENSE
+
+.. contents:: **tcolorpy**
+   :backlinks: top
+   :depth: 2
+
+
+Summary
+============================================
+tcolopy is a Python library to apply true color for terminal text.
+
+.. image:: https://badge.fury.io/py/tcolorpy.svg
+    :target: https://badge.fury.io/py/tcolorpy
+    :alt: PyPI package version
+
+.. image:: https://anaconda.org/conda-forge/tcolorpy/badges/version.svg
+    :target: https://anaconda.org/conda-forge/tcolorpy
+    :alt: conda-forge package version
+
+.. image:: https://img.shields.io/pypi/pyversions/tcolorpy.svg
+    :target: https://pypi.org/project/tcolorpy
+    :alt: Supported Python versions
+
+.. image:: https://img.shields.io/pypi/implementation/tcolorpy.svg
+    :target: https://pypi.org/project/tcolorpy
+    :alt: Supported Python implementations
+
+.. image:: https://github.com/thombashi/tcolorpy/workflows/Tests/badge.svg
+    :target: 
https://github.com/thombashi/tcolorpy/actions?query=workflow%3ATests
+    :alt: Linux/macOS/Windows CI status
+
+.. image:: 
https://coveralls.io/repos/github/thombashi/tcolorpy/badge.svg?branch=master
+    :target: https://coveralls.io/github/thombashi/tcolorpy?branch=master
+    :alt: Test coverage: coveralls
+
+
+Installation
+============================================
+
+Installation: pip
+------------------------------
+::
+
+    pip install tcolorpy
+
+Installation: conda
+------------------------------
+::
+
+    conda install -c conda-forge tcolorpy
+
+
+Usage
+============================================
+
+Library usage
+--------------------------------------------
+
+:Sample Code:
+    .. code-block:: python
+
+        from tcolorpy import tcolor
+
+        print(tcolor("tcolopy example", color="#ee1177", styles=["bold", 
"italic", "underline"]))
+
+:Output:
+    .. figure:: 
https://cdn.jsdelivr.net/gh/thombashi/tcolorpy@master/ss/oneline.png
+        :scale: 60%
+        :alt: https://github.com/thombashi/tcolorpy/blob/master/ss/oneline.png
+
+You can set the following ``tcolor`` arguments:
+
+- ``color``/``bg_color``
+    - color names (``"red"``, ``"red"``, etc.) or color code (``"#RRGGBB"``)
+- ``styles``
+    - ``"bold"``, ``"italic"``, etc.
+
+
+Other examples
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Apply true color and styles to text:
+
+.. figure:: https://cdn.jsdelivr.net/gh/thombashi/tcolorpy@master/ss/styles.png
+    :scale: 60%
+    :alt: https://github.com/thombashi/tcolorpy/blob/master/ss/styles.png
+
+    `tcolorpy/ansi_styles.py 
<https://github.com/thombashi/tcolorpy/blob/master/examples/ansi_styles.py>`__
+
+You can also specify colors by names:
+
+.. figure:: 
https://cdn.jsdelivr.net/gh/thombashi/tcolorpy@master/ss/ansi_colors.png
+    :scale: 60%
+    :alt: https://github.com/thombashi/tcolorpy/blob/master/ss/ansi_colors.png
+
+    `tcolorpy/ansi_colors.py 
<https://github.com/thombashi/tcolorpy/blob/master/examples/ansi_colors.py>`__
+
+
+CLI usage
+--------------------------------------------
+``tcolorpy`` can be used via CLI:
+
+::
+
+    $ python -m tcolorpy "tcolopy example" -c "#ee1177" -s 
bold,italic,underline
+
+Command help
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+::
+
+    usage: __main__.py [-h] [-c COLOR] [-b BG_COLOR] [-s STYLES] [--encode 
ENCODE]
+                       string
+
+    positional arguments:
+      string                string to apply styles.
+
+    optional arguments:
+      -h, --help            show this help message and exit
+      -c COLOR, --color COLOR
+                            specify a color code (#XXXXXX) or a name. valid 
names
+                            are: black, red, green, yellow, blue, magenta, 
cyan,
+                            white, lightblack, lightred, lightgreen, 
lightyellow,
+                            lightblue, lightmagenta, lightcyan, lightwhite
+      -b BG_COLOR, --bg-color BG_COLOR
+                            specify a background color code (#XXXXXX) or a 
name.
+                            valid names are: black, red, green, yellow, blue,
+                            magenta, cyan, white, lightblack, lightred,
+                            lightgreen, lightyellow, lightblue, lightmagenta,
+                            lightcyan, lightwhite
+      -s STYLES, --styles STYLES
+                            specify a comma separated styles. valid values are:
+                            bold, dim, italic, underline, blink, invert, strike
+      --encode ENCODE       output a text encoded with the specified encoding
+
+
+Dependencies
+============================================
+Python 3.6+
+No external dependencies.
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tcolorpy-0.0.8/README.rst 
new/tcolorpy-0.1.0/README.rst
--- old/tcolorpy-0.0.8/README.rst       2020-08-14 16:16:17.000000000 +0200
+++ new/tcolorpy-0.1.0/README.rst       2021-06-12 15:33:19.000000000 +0200
@@ -11,6 +11,10 @@
     :target: https://badge.fury.io/py/tcolorpy
     :alt: PyPI package version
 
+.. image:: https://anaconda.org/conda-forge/tcolorpy/badges/version.svg
+    :target: https://anaconda.org/conda-forge/tcolorpy
+    :alt: conda-forge package version
+
 .. image:: https://img.shields.io/pypi/pyversions/tcolorpy.svg
     :target: https://pypi.org/project/tcolorpy
     :alt: Supported Python versions
@@ -19,25 +23,30 @@
     :target: https://pypi.org/project/tcolorpy
     :alt: Supported Python implementations
 
-.. image:: 
https://img.shields.io/travis/thombashi/tcolorpy/master.svg?label=Linux/macOS%20CI
-    :target: https://travis-ci.org/thombashi/tcolorpy
-    :alt: Linux/macOS CI status
-
-.. image:: 
https://img.shields.io/appveyor/ci/thombashi/tcolorpy/master.svg?label=Windows%20CI
-    :target: https://ci.appveyor.com/project/thombashi/tcolorpy/branch/master
-    :alt: Windows CI status
-
-.. image:: 
https://codecov.io/gh/thombashi/tcolorpy/branch/master/graph/badge.svg
-    :target: https://codecov.io/gh/thombashi/tcolorpy
-    :alt: Test coverage: codecov
+.. image:: https://github.com/thombashi/tcolorpy/workflows/Tests/badge.svg
+    :target: 
https://github.com/thombashi/tcolorpy/actions?query=workflow%3ATests
+    :alt: Linux/macOS/Windows CI status
+
+.. image:: 
https://coveralls.io/repos/github/thombashi/tcolorpy/badge.svg?branch=master
+    :target: https://coveralls.io/github/thombashi/tcolorpy?branch=master
+    :alt: Test coverage: coveralls
 
 
 Installation
 ============================================
+
+Installation: pip
+------------------------------
 ::
 
     pip install tcolorpy
 
+Installation: conda
+------------------------------
+::
+
+    conda install -c conda-forge tcolorpy
+
 
 Usage
 ============================================
@@ -123,5 +132,5 @@
 
 Dependencies
 ============================================
-Python 3.5+
+Python 3.6+
 No external dependencies.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tcolorpy-0.0.8/pyproject.toml 
new/tcolorpy-0.1.0/pyproject.toml
--- old/tcolorpy-0.0.8/pyproject.toml   2020-08-14 16:16:17.000000000 +0200
+++ new/tcolorpy-0.1.0/pyproject.toml   2021-06-12 15:33:19.000000000 +0200
@@ -1,3 +1,6 @@
+[build-system]
+requires = ["setuptools", "wheel"]
+
 [tool.black]
 line-length = 100
 exclude = '''
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tcolorpy-0.0.8/setup.py new/tcolorpy-0.1.0/setup.py
--- old/tcolorpy-0.0.8/setup.py 2020-08-14 16:16:17.000000000 +0200
+++ new/tcolorpy-0.1.0/setup.py 2021-06-12 15:33:19.000000000 +0200
@@ -5,10 +5,10 @@
 
 
 MODULE_NAME = "tcolorpy"
-REPOSITORY_URL = "https://github.com/thombashi/{:s}".format(MODULE_NAME)
+REPOSITORY_URL = f"https://github.com/thombashi/{MODULE_NAME:s}";
 REQUIREMENT_DIR = "requirements"
 
-pkg_info = {}  # type: Dict[str, str]
+pkg_info: Dict[str, str] = {}
 
 
 def get_release_command_class() -> Dict[str, setuptools.Command]:
@@ -43,20 +43,23 @@
     long_description_content_type="text/x-rst",
     packages=setuptools.find_packages(exclude=["test*"]),
     package_data={MODULE_NAME: ["py.typed"]},
-    project_urls={"Source": REPOSITORY_URL, "Tracker": 
"{:s}/issues".format(REPOSITORY_URL),},
-    python_requires=">=3.5",
+    project_urls={
+        "Source": REPOSITORY_URL,
+        "Tracker": f"{REPOSITORY_URL:s}/issues",
+    },
+    python_requires=">=3.6",
     extras_require={"test": TESTS_REQUIRES},
     classifiers=[
-        "Development Status :: 3 - Alpha",
+        "Development Status :: 4 - Beta",
         "Intended Audience :: Information Technology",
         "License :: OSI Approved :: MIT License",
         "Operating System :: OS Independent",
         "Programming Language :: Python :: 3",
-        "Programming Language :: Python :: 3.5",
         "Programming Language :: Python :: 3.6",
         "Programming Language :: Python :: 3.7",
         "Programming Language :: Python :: 3.8",
         "Programming Language :: Python :: 3.9",
+        "Programming Language :: Python :: 3.10",
         "Programming Language :: Python :: 3 :: Only",
         "Programming Language :: Python :: Implementation :: CPython",
         "Programming Language :: Python :: Implementation :: PyPy",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tcolorpy-0.0.8/tcolorpy/__main__.py 
new/tcolorpy-0.1.0/tcolorpy/__main__.py
--- old/tcolorpy-0.0.8/tcolorpy/__main__.py     2020-08-14 16:16:17.000000000 
+0200
+++ new/tcolorpy-0.1.0/tcolorpy/__main__.py     2021-06-12 15:33:19.000000000 
+0200
@@ -33,7 +33,8 @@
         ),
     )
     parser.add_argument(
-        "--encode", help="output a text encoded with the specified encoding",
+        "--encode",
+        help="output a text encoded with the specified encoding",
     )
 
     return parser.parse_args()
@@ -49,7 +50,7 @@
     try:
         ansi_string = tcolor(ns.string, color=ns.color, bg_color=ns.bg_color, 
styles=styles)
     except ValueError as e:
-        print("{}: {}".format(e.__class__.__name__, e), file=sys.stderr)
+        print(f"{e.__class__.__name__}: {e}", file=sys.stderr)
         return 1
 
     if ns.encode:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tcolorpy-0.0.8/tcolorpy/__version__.py 
new/tcolorpy-0.1.0/tcolorpy/__version__.py
--- old/tcolorpy-0.0.8/tcolorpy/__version__.py  2020-08-14 16:16:17.000000000 
+0200
+++ new/tcolorpy-0.1.0/tcolorpy/__version__.py  2021-06-12 15:33:19.000000000 
+0200
@@ -1,6 +1,6 @@
 __author__ = "Tsuyoshi Hombashi"
-__copyright__ = "Copyright 2020, {}".format(__author__)
+__copyright__ = f"Copyright 2020, {__author__}"
 __license__ = "MIT License"
-__version__ = "0.0.8"
+__version__ = "0.1.0"
 __maintainer__ = __author__
 __email__ = "tsuyoshi.homba...@gmail.com"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tcolorpy-0.0.8/tcolorpy/_truecolor.py 
new/tcolorpy-0.1.0/tcolorpy/_truecolor.py
--- old/tcolorpy-0.0.8/tcolorpy/_truecolor.py   2020-08-14 16:16:17.000000000 
+0200
+++ new/tcolorpy-0.1.0/tcolorpy/_truecolor.py   2021-06-12 15:33:19.000000000 
+0200
@@ -1,4 +1,6 @@
 import re
+from collections import namedtuple
+from colorsys import rgb_to_hsv
 from enum import Enum
 from typing import List, Optional, Sequence, Tuple, Type, Union, cast  # noqa
 
@@ -7,6 +9,8 @@
 
 RGBTuple = Tuple[int, int, int]
 
+HSV = namedtuple("HSV", "hue saturation value")
+
 _regexp_color_code = re.compile(
     "^#?(?P<red>[0-9a-f]{2})(?P<green>[0-9a-f]{2})(?P<blue>[0-9a-f]{2})$", 
re.IGNORECASE
 )
@@ -55,14 +59,16 @@
         try:
             # from a RGBTuple instance
             self.red, self.green, self.blue = color  # type: ignore
-            self.__validate_color_value(self.red)
-            self.__validate_color_value(self.green)
-            self.__validate_color_value(self.blue)
+            self.__validate_rgb_value(self.red)
+            self.__validate_rgb_value(self.green)
+            self.__validate_rgb_value(self.blue)
         except TypeError:
             # from a Color instance
             self.__name = color.name  # type: ignore
             self.red, self.green, self.blue = color.red, color.green, 
color.blue  # type: ignore
 
+        self.__hsv: Optional[HSV] = None
+
     def __eq__(self, other) -> bool:
         if self.name and other.name:
             return self.name == other.name
@@ -78,19 +84,17 @@
         return not self.__eq__(other)
 
     def __repr__(self) -> str:
-        items = [
-            "code={}, rgb=({}, {}, {})".format(self.color_code, self.red, 
self.green, self.blue)
-        ]
+        items = [f"code={self.color_code}, rgb=({self.red}, {self.green}, 
{self.blue})"]
 
         if self.__name:
-            items.append("name={}".format(self.__name))
+            items.append(f"name={self.__name}")
 
         return "Color({})".format(", ".join(items))
 
     def __from_color_code(self, color_code: str) -> None:
         match = _regexp_color_code.search(color_code)
         if match is None:
-            raise ValueError("invalid color code found: {}".format(color_code))
+            raise ValueError(f"invalid color code found: {color_code}")
 
         self.__is_color_code_src = True
         red, green, blue = match.group(1, 2, 3)
@@ -102,7 +106,7 @@
         self.red, self.green, self.blue = name_to_rgb[name]
         self.__name = name
 
-    def __validate_color_value(self, n: int) -> None:
+    def __validate_rgb_value(self, n: int) -> None:
         if not (0 <= n <= 255):
             raise ValueError("value must be within 0-255")
 
@@ -116,7 +120,14 @@
 
     @property
     def color_code(self) -> str:
-        return "#{:02x}{:02x}{:02x}".format(self.red, self.green, self.blue)
+        return f"#{self.red:02x}{self.green:02x}{self.blue:02x}"
+
+    @property
+    def hsv(self) -> HSV:
+        if self.__hsv is None:
+            self.__hsv = HSV(*rgb_to_hsv(self.red / 255, self.green / 255, 
self.blue / 255))
+
+        return self.__hsv
 
     def calc_scaler(self) -> int:
         return self.red + self.green + self.blue
@@ -134,7 +145,7 @@
     try:
         return enum_class[_normalize_name(value)]
     except AttributeError:
-        raise TypeError("value must be a {} or a str: 
actual={}".format(enum_class, type(value)))
+        raise TypeError(f"value must be a {enum_class} or a str: 
actual={type(value)}")
     except KeyError:
         raise ValueError(
             "invalid value found: expected={}, actual={}".format(
@@ -144,27 +155,27 @@
 
 
 def _ansi_escape(value: str) -> str:
-    return "{}{}m".format(CSI, value)
+    return f"{CSI}{value}m"
 
 
 def _to_ansi_style(style: Union[str, AnsiStyle]) -> str:
-    return _ansi_escape("{}".format(_normalize_enum(style, AnsiStyle).value))
+    return _ansi_escape(f"{_normalize_enum(style, AnsiStyle).value}")
 
 
 def _to_ansi_fg_truecolor(color: Color) -> str:
-    return _ansi_escape("38;2;{};{};{}".format(color.red, color.green, 
color.blue))
+    return _ansi_escape(f"38;2;{color.red};{color.green};{color.blue}")
 
 
 def _to_ansi_bg_truecolor(color: Color) -> str:
-    return _ansi_escape("48;2;{};{};{}".format(color.red, color.green, 
color.blue))
+    return _ansi_escape(f"48;2;{color.red};{color.green};{color.blue}")
 
 
 def _to_ansi_fg_color(color: AnsiFGColor) -> str:
-    return _ansi_escape("{}".format(color.value))
+    return _ansi_escape(f"{color.value}")
 
 
 def _to_ansi_bg_color(color: AnsiBGColor) -> str:
-    return _ansi_escape("{}".format(color.value))
+    return _ansi_escape(f"{color.value}")
 
 
 def _make_ansi_fg_truecolor(color: Union[Color, str, RGBTuple, AnsiFGColor, 
None]) -> str:
@@ -222,7 +233,7 @@
     ansi_fg_color = _make_ansi_fg_truecolor(color)
     ansi_bg_color = _make_ansi_bg_truecolor(bg_color)
 
-    ansi_styles = []  # type: List[str]
+    ansi_styles: List[str] = []
     if styles:
         ansi_styles = [_to_ansi_style(style) for style in styles]
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tcolorpy-0.0.8/tcolorpy.egg-info/PKG-INFO 
new/tcolorpy-0.1.0/tcolorpy.egg-info/PKG-INFO
--- old/tcolorpy-0.0.8/tcolorpy.egg-info/PKG-INFO       2020-08-14 
16:16:32.000000000 +0200
+++ new/tcolorpy-0.1.0/tcolorpy.egg-info/PKG-INFO       2021-06-12 
15:33:34.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: tcolorpy
-Version: 0.0.8
+Version: 0.1.0
 Summary: tcolopy is a Python library to apply true color for terminal text.
 Home-page: https://github.com/thombashi/tcolorpy
 Author: Tsuyoshi Hombashi
@@ -8,146 +8,18 @@
 License: MIT License
 Project-URL: Source, https://github.com/thombashi/tcolorpy
 Project-URL: Tracker, https://github.com/thombashi/tcolorpy/issues
-Description: .. contents:: **tcolorpy**
-           :backlinks: top
-           :depth: 2
-        
-        
-        Summary
-        ============================================
-        tcolopy is a Python library to apply true color for terminal text.
-        
-        .. image:: https://badge.fury.io/py/tcolorpy.svg
-            :target: https://badge.fury.io/py/tcolorpy
-            :alt: PyPI package version
-        
-        .. image:: https://img.shields.io/pypi/pyversions/tcolorpy.svg
-            :target: https://pypi.org/project/tcolorpy
-            :alt: Supported Python versions
-        
-        .. image:: https://img.shields.io/pypi/implementation/tcolorpy.svg
-            :target: https://pypi.org/project/tcolorpy
-            :alt: Supported Python implementations
-        
-        .. image:: 
https://img.shields.io/travis/thombashi/tcolorpy/master.svg?label=Linux/macOS%20CI
-            :target: https://travis-ci.org/thombashi/tcolorpy
-            :alt: Linux/macOS CI status
-        
-        .. image:: 
https://img.shields.io/appveyor/ci/thombashi/tcolorpy/master.svg?label=Windows%20CI
-            :target: 
https://ci.appveyor.com/project/thombashi/tcolorpy/branch/master
-            :alt: Windows CI status
-        
-        .. image:: 
https://codecov.io/gh/thombashi/tcolorpy/branch/master/graph/badge.svg
-            :target: https://codecov.io/gh/thombashi/tcolorpy
-            :alt: Test coverage: codecov
-        
-        
-        Installation
-        ============================================
-        ::
-        
-            pip install tcolorpy
-        
-        
-        Usage
-        ============================================
-        
-        Library usage
-        --------------------------------------------
-        
-        :Sample Code:
-            .. code-block:: python
-        
-                from tcolorpy import tcolor
-        
-                print(tcolor("tcolopy example", color="#ee1177", 
styles=["bold", "italic", "underline"]))
-        
-        :Output:
-            .. figure:: 
https://cdn.jsdelivr.net/gh/thombashi/tcolorpy@master/ss/oneline.png
-                :scale: 60%
-                :alt: 
https://github.com/thombashi/tcolorpy/blob/master/ss/oneline.png
-        
-        You can set the following ``tcolor`` arguments:
-        
-        - ``color``/``bg_color``
-            - color names (``"red"``, ``"red"``, etc.) or color code 
(``"#RRGGBB"``)
-        - ``styles``
-            - ``"bold"``, ``"italic"``, etc.
-        
-        
-        Other examples
-        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-        Apply true color and styles to text:
-        
-        .. figure:: 
https://cdn.jsdelivr.net/gh/thombashi/tcolorpy@master/ss/styles.png
-            :scale: 60%
-            :alt: 
https://github.com/thombashi/tcolorpy/blob/master/ss/styles.png
-        
-            `tcolorpy/ansi_styles.py 
<https://github.com/thombashi/tcolorpy/blob/master/examples/ansi_styles.py>`__
-        
-        You can also specify colors by names:
-        
-        .. figure:: 
https://cdn.jsdelivr.net/gh/thombashi/tcolorpy@master/ss/ansi_colors.png
-            :scale: 60%
-            :alt: 
https://github.com/thombashi/tcolorpy/blob/master/ss/ansi_colors.png
-        
-            `tcolorpy/ansi_colors.py 
<https://github.com/thombashi/tcolorpy/blob/master/examples/ansi_colors.py>`__
-        
-        
-        CLI usage
-        --------------------------------------------
-        ``tcolorpy`` can be used via CLI:
-        
-        ::
-        
-            $ python -m tcolorpy "tcolopy example" -c "#ee1177" -s 
bold,italic,underline
-        
-        Command help
-        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-        ::
-        
-            usage: __main__.py [-h] [-c COLOR] [-b BG_COLOR] [-s STYLES] 
[--encode ENCODE]
-                               string
-        
-            positional arguments:
-              string                string to apply styles.
-        
-            optional arguments:
-              -h, --help            show this help message and exit
-              -c COLOR, --color COLOR
-                                    specify a color code (#XXXXXX) or a name. 
valid names
-                                    are: black, red, green, yellow, blue, 
magenta, cyan,
-                                    white, lightblack, lightred, lightgreen, 
lightyellow,
-                                    lightblue, lightmagenta, lightcyan, 
lightwhite
-              -b BG_COLOR, --bg-color BG_COLOR
-                                    specify a background color code (#XXXXXX) 
or a name.
-                                    valid names are: black, red, green, 
yellow, blue,
-                                    magenta, cyan, white, lightblack, lightred,
-                                    lightgreen, lightyellow, lightblue, 
lightmagenta,
-                                    lightcyan, lightwhite
-              -s STYLES, --styles STYLES
-                                    specify a comma separated styles. valid 
values are:
-                                    bold, dim, italic, underline, blink, 
invert, strike
-              --encode ENCODE       output a text encoded with the specified 
encoding
-        
-        
-        Dependencies
-        ============================================
-        Python 3.5+
-        No external dependencies.
-        
 Keywords: ANSI escape,terminal color,truecolor
 Platform: UNKNOWN
-Classifier: Development Status :: 3 - Alpha
+Classifier: Development Status :: 4 - Beta
 Classifier: Intended Audience :: Information Technology
 Classifier: License :: OSI Approved :: MIT License
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 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 :: Only
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
@@ -155,6 +27,146 @@
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
 Classifier: Topic :: Terminals
 Classifier: Topic :: Text Processing
-Requires-Python: >=3.5
+Requires-Python: >=3.6
 Description-Content-Type: text/x-rst
 Provides-Extra: test
+License-File: LICENSE
+
+.. contents:: **tcolorpy**
+   :backlinks: top
+   :depth: 2
+
+
+Summary
+============================================
+tcolopy is a Python library to apply true color for terminal text.
+
+.. image:: https://badge.fury.io/py/tcolorpy.svg
+    :target: https://badge.fury.io/py/tcolorpy
+    :alt: PyPI package version
+
+.. image:: https://anaconda.org/conda-forge/tcolorpy/badges/version.svg
+    :target: https://anaconda.org/conda-forge/tcolorpy
+    :alt: conda-forge package version
+
+.. image:: https://img.shields.io/pypi/pyversions/tcolorpy.svg
+    :target: https://pypi.org/project/tcolorpy
+    :alt: Supported Python versions
+
+.. image:: https://img.shields.io/pypi/implementation/tcolorpy.svg
+    :target: https://pypi.org/project/tcolorpy
+    :alt: Supported Python implementations
+
+.. image:: https://github.com/thombashi/tcolorpy/workflows/Tests/badge.svg
+    :target: 
https://github.com/thombashi/tcolorpy/actions?query=workflow%3ATests
+    :alt: Linux/macOS/Windows CI status
+
+.. image:: 
https://coveralls.io/repos/github/thombashi/tcolorpy/badge.svg?branch=master
+    :target: https://coveralls.io/github/thombashi/tcolorpy?branch=master
+    :alt: Test coverage: coveralls
+
+
+Installation
+============================================
+
+Installation: pip
+------------------------------
+::
+
+    pip install tcolorpy
+
+Installation: conda
+------------------------------
+::
+
+    conda install -c conda-forge tcolorpy
+
+
+Usage
+============================================
+
+Library usage
+--------------------------------------------
+
+:Sample Code:
+    .. code-block:: python
+
+        from tcolorpy import tcolor
+
+        print(tcolor("tcolopy example", color="#ee1177", styles=["bold", 
"italic", "underline"]))
+
+:Output:
+    .. figure:: 
https://cdn.jsdelivr.net/gh/thombashi/tcolorpy@master/ss/oneline.png
+        :scale: 60%
+        :alt: https://github.com/thombashi/tcolorpy/blob/master/ss/oneline.png
+
+You can set the following ``tcolor`` arguments:
+
+- ``color``/``bg_color``
+    - color names (``"red"``, ``"red"``, etc.) or color code (``"#RRGGBB"``)
+- ``styles``
+    - ``"bold"``, ``"italic"``, etc.
+
+
+Other examples
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Apply true color and styles to text:
+
+.. figure:: https://cdn.jsdelivr.net/gh/thombashi/tcolorpy@master/ss/styles.png
+    :scale: 60%
+    :alt: https://github.com/thombashi/tcolorpy/blob/master/ss/styles.png
+
+    `tcolorpy/ansi_styles.py 
<https://github.com/thombashi/tcolorpy/blob/master/examples/ansi_styles.py>`__
+
+You can also specify colors by names:
+
+.. figure:: 
https://cdn.jsdelivr.net/gh/thombashi/tcolorpy@master/ss/ansi_colors.png
+    :scale: 60%
+    :alt: https://github.com/thombashi/tcolorpy/blob/master/ss/ansi_colors.png
+
+    `tcolorpy/ansi_colors.py 
<https://github.com/thombashi/tcolorpy/blob/master/examples/ansi_colors.py>`__
+
+
+CLI usage
+--------------------------------------------
+``tcolorpy`` can be used via CLI:
+
+::
+
+    $ python -m tcolorpy "tcolopy example" -c "#ee1177" -s 
bold,italic,underline
+
+Command help
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+::
+
+    usage: __main__.py [-h] [-c COLOR] [-b BG_COLOR] [-s STYLES] [--encode 
ENCODE]
+                       string
+
+    positional arguments:
+      string                string to apply styles.
+
+    optional arguments:
+      -h, --help            show this help message and exit
+      -c COLOR, --color COLOR
+                            specify a color code (#XXXXXX) or a name. valid 
names
+                            are: black, red, green, yellow, blue, magenta, 
cyan,
+                            white, lightblack, lightred, lightgreen, 
lightyellow,
+                            lightblue, lightmagenta, lightcyan, lightwhite
+      -b BG_COLOR, --bg-color BG_COLOR
+                            specify a background color code (#XXXXXX) or a 
name.
+                            valid names are: black, red, green, yellow, blue,
+                            magenta, cyan, white, lightblack, lightred,
+                            lightgreen, lightyellow, lightblue, lightmagenta,
+                            lightcyan, lightwhite
+      -s STYLES, --styles STYLES
+                            specify a comma separated styles. valid values are:
+                            bold, dim, italic, underline, blink, invert, strike
+      --encode ENCODE       output a text encoded with the specified encoding
+
+
+Dependencies
+============================================
+Python 3.6+
+No external dependencies.
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tcolorpy-0.0.8/tcolorpy.egg-info/SOURCES.txt 
new/tcolorpy-0.1.0/tcolorpy.egg-info/SOURCES.txt
--- old/tcolorpy-0.0.8/tcolorpy.egg-info/SOURCES.txt    2020-08-14 
16:16:32.000000000 +0200
+++ new/tcolorpy-0.1.0/tcolorpy.egg-info/SOURCES.txt    2021-06-12 
15:33:34.000000000 +0200
@@ -18,6 +18,5 @@
 tcolorpy.egg-info/not-zip-safe
 tcolorpy.egg-info/requires.txt
 tcolorpy.egg-info/top_level.txt
-test/__init__.py
 test/test_color.py
 test/test_truecolor.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tcolorpy-0.0.8/test/__init__.py 
new/tcolorpy-0.1.0/test/__init__.py
--- old/tcolorpy-0.0.8/test/__init__.py 2020-08-14 16:16:17.000000000 +0200
+++ new/tcolorpy-0.1.0/test/__init__.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-# this file temporarily required to get coverage:
-#   pytest-dev/pytest-cov#391
-#   https://github.com/pytest-dev/pytest-cov/issues/391
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tcolorpy-0.0.8/test/test_truecolor.py 
new/tcolorpy-0.1.0/test/test_truecolor.py
--- old/tcolorpy-0.0.8/test/test_truecolor.py   2020-08-14 16:16:17.000000000 
+0200
+++ new/tcolorpy-0.1.0/test/test_truecolor.py   2021-06-12 15:33:19.000000000 
+0200
@@ -30,7 +30,11 @@
             assert tcolor(string, bg_color=color) != string
 
     @pytest.mark.parametrize(
-        ["value", "expected"], [["#fffff", ValueError], ["#GGGGGG", 
ValueError],],
+        ["value", "expected"],
+        [
+            ["#fffff", ValueError],
+            ["#GGGGGG", ValueError],
+        ],
     )
     def test_exception(self, value, expected):
         with pytest.raises(expected):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tcolorpy-0.0.8/tox.ini new/tcolorpy-0.1.0/tox.ini
--- old/tcolorpy-0.0.8/tox.ini  2020-08-14 16:16:17.000000000 +0200
+++ new/tcolorpy-0.1.0/tox.ini  2021-06-12 15:33:19.000000000 +0200
@@ -1,6 +1,6 @@
 [tox]
 envlist =
-    py{35,36,37,38,39}
+    py{36,37,38,39,310}
     pypy3
     build
     clean
@@ -15,7 +15,7 @@
     pytest {posargs}
 
 [testenv:build]
-basepython = python3.7
+basepython = python3.8
 deps =
     twine
     wheel
@@ -25,21 +25,24 @@
     python setup.py clean --all
 
 [testenv:clean]
+skip_install = true
 deps =
-    cleanpy
+    cleanpy>=0.2
 commands =
-    cleanpy --all --exclude-envs .
+    cleanpy --force --all --exclude-envs .
 
 [testenv:cov]
+passenv = *
 deps =
     .[test]
-    coverage[toml]
-    pytest-cov
+    coverage[toml]>=5
 commands =
-    pytest --cov {posargs:-vv}
+    coverage run -m pytest {posargs:-vv}
+    coverage report -m
 
 [testenv:fmt]
-basepython = python3.7
+basepython = python3.8
+skip_install = true
 deps =
     autoflake
     black
@@ -50,11 +53,12 @@
     black setup.py test tcolorpy examples
 
 [testenv:lint]
-basepython = python3.7
+basepython = python3.8
+skip_install = true
 deps =
     mypy>=0.761
     pylama
 commands =
     python setup.py check
-    -mypy tcolorpy setup.py --ignore-missing-imports --show-error-context 
--show-error-codes --python-version 3.5
+    -mypy tcolorpy setup.py
     -pylama

Reply via email to