aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/huggingface_hub/commands/_cli_utils.py
diff options
context:
space:
mode:
authorS. Solomon Darnell2025-03-28 21:52:21 -0500
committerS. Solomon Darnell2025-03-28 21:52:21 -0500
commit4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch)
treeee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/huggingface_hub/commands/_cli_utils.py
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are hereHEADmaster
Diffstat (limited to '.venv/lib/python3.12/site-packages/huggingface_hub/commands/_cli_utils.py')
-rw-r--r--.venv/lib/python3.12/site-packages/huggingface_hub/commands/_cli_utils.py69
1 files changed, 69 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/huggingface_hub/commands/_cli_utils.py b/.venv/lib/python3.12/site-packages/huggingface_hub/commands/_cli_utils.py
new file mode 100644
index 00000000..bd56ad68
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/huggingface_hub/commands/_cli_utils.py
@@ -0,0 +1,69 @@
+# Copyright 2022 The HuggingFace Team. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+"""Contains a utility for good-looking prints."""
+
+import os
+from typing import List, Union
+
+
+class ANSI:
+ """
+ Helper for en.wikipedia.org/wiki/ANSI_escape_code
+ """
+
+ _bold = "\u001b[1m"
+ _gray = "\u001b[90m"
+ _red = "\u001b[31m"
+ _reset = "\u001b[0m"
+ _yellow = "\u001b[33m"
+
+ @classmethod
+ def bold(cls, s: str) -> str:
+ return cls._format(s, cls._bold)
+
+ @classmethod
+ def gray(cls, s: str) -> str:
+ return cls._format(s, cls._gray)
+
+ @classmethod
+ def red(cls, s: str) -> str:
+ return cls._format(s, cls._bold + cls._red)
+
+ @classmethod
+ def yellow(cls, s: str) -> str:
+ return cls._format(s, cls._yellow)
+
+ @classmethod
+ def _format(cls, s: str, code: str) -> str:
+ if os.environ.get("NO_COLOR"):
+ # See https://no-color.org/
+ return s
+ return f"{code}{s}{cls._reset}"
+
+
+def tabulate(rows: List[List[Union[str, int]]], headers: List[str]) -> str:
+ """
+ Inspired by:
+
+ - stackoverflow.com/a/8356620/593036
+ - stackoverflow.com/questions/9535954/printing-lists-as-tabular-data
+ """
+ col_widths = [max(len(str(x)) for x in col) for col in zip(*rows, headers)]
+ row_format = ("{{:{}}} " * len(headers)).format(*col_widths)
+ lines = []
+ lines.append(row_format.format(*headers))
+ lines.append(row_format.format(*["-" * w for w in col_widths]))
+ for row in rows:
+ lines.append(row_format.format(*row))
+ return "\n".join(lines)