From ad0e5afb88683b6a380f2e0183766f25d6d357c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=BB=E3=82=A4=E3=83=AB=20=C2=B7=20MJ=20Sabit?= <98249191+seyLu@users.noreply.github.com> Date: Tue, 18 Jun 2024 03:17:33 +0800 Subject: [PATCH 1/7] [LOGGER] Separate logger instance by module and fix force remove bug (#184) * feat (logger): separate logger instance by module and fix force remove bug * fix: types --- src/ghlabel/__logger__.py | 50 +++++++++++++++++++++++++ src/ghlabel/cli.py | 21 ++++++----- src/ghlabel/config.py | 11 ++++++ src/ghlabel/logging.ini | 2 +- src/ghlabel/utils/dump_label.py | 13 +++---- src/ghlabel/utils/github_api.py | 45 ++++++++++------------ src/ghlabel/utils/helpers.py | 24 ++++++------ src/ghlabel/utils/setup_github_label.py | 30 +++++++-------- 8 files changed, 126 insertions(+), 70 deletions(-) create mode 100644 src/ghlabel/__logger__.py create mode 100644 src/ghlabel/config.py diff --git a/src/ghlabel/__logger__.py b/src/ghlabel/__logger__.py new file mode 100644 index 0000000..4efdf48 --- /dev/null +++ b/src/ghlabel/__logger__.py @@ -0,0 +1,50 @@ +import logging +import os +from logging import Logger +from logging.config import fileConfig + +import rich + +from ghlabel.config import is_ghlabel_debug_mode + +GHLABEL_LOGS_DIR: str = os.path.join("logs") + + +class GhlabelLogger: + def __init__(self) -> None: + self.logger: GhlabelLogger + + if not os.path.isdir(GHLABEL_LOGS_DIR): + os.makedirs(GHLABEL_LOGS_DIR) + fileConfig(os.path.join(os.path.dirname(__file__), "logging.ini")) + + def init(self, module_name: str) -> "GhlabelLogger": + """NOTE: pass in __name__ as module name""" + logger: Logger = logging.getLogger(module_name) + + if is_ghlabel_debug_mode(): + logger.setLevel(level=logging.DEBUG) + else: + logger.setLevel(level=logging.ERROR) + + self.logger = logger # type: ignore[assignment] + return self.logger + + def exception(self, ex: Exception) -> None: + rich.print( + f"\nSomething went wrong. See logs ([blue underline]{GHLABEL_LOGS_DIR}[/blue underline]) for more details.\n" + ) + rich.print(" [[red]Exception[/red]]:", str(ex)) + self.logger.exception(ex) + + def error(self, message: str) -> None: + self.logger.error(message) + + def warning(self, message: str) -> None: + self.logger.warning(message) + + def info(self, message: str) -> None: + self.logger.info(message) + + +ghlabel_logger: GhlabelLogger = GhlabelLogger() diff --git a/src/ghlabel/cli.py b/src/ghlabel/cli.py index 536001d..a6a472a 100644 --- a/src/ghlabel/cli.py +++ b/src/ghlabel/cli.py @@ -10,7 +10,6 @@ __status__ = "Prototype" import json -import logging import os import time from enum import Enum @@ -21,11 +20,9 @@ from rich.progress import Progress, SpinnerColumn, TextColumn from ghlabel.__about__ import __version__ -from ghlabel.utils.dump_label import DumpLabel -from ghlabel.utils.github_api import GithubApi +from ghlabel.config import set_ghlabel_debug_mode from ghlabel.utils.github_api_types import GithubLabel from ghlabel.utils.helpers import clear_screen, validate_env -from ghlabel.utils.setup_github_label import SetupGithubLabel def parse_remove_labels(label_names: str | None) -> set[str] | None: @@ -70,6 +67,7 @@ class RemoveAllChoices(str, Enum): context_settings={ "help_option_names": ["-h", "--help"], }, + no_args_is_help=True, ) @@ -153,6 +151,9 @@ def setup_labels( # noqa: PLR0913 ), ] = False, ) -> None: + from ghlabel.utils.github_api import GithubApi + from ghlabel.utils.setup_github_label import SetupGithubLabel + if not token: token = validate_env("GITHUB_TOKEN") if not repo_owner: @@ -244,6 +245,8 @@ def app_dump( ), ] = AppChoices.app.value, # type: ignore[assignment] ) -> None: + from ghlabel.utils.dump_label import DumpLabel + clear_screen() with Progress( SpinnerColumn(), @@ -255,7 +258,9 @@ def app_dump( DumpLabel.dump(labels_dir=labels_dir, new=new, ext=ext.value, app=app.value) time.sleep(0.5) - rich.print(f"[green]Successfully[/green] dumped labels config to `{labels_dir}`.") + rich.print( + f"[green]Successfully[/green] dumped labels config to {os.path.join(os.getcwd(), labels_dir)}" + ) @app.callback() # type: ignore[misc] @@ -275,15 +280,13 @@ def app_callback( typer.Option( "--debug", "-D", + is_eager=True, help="Enable debug mode and show logs.", ), ] = False, ) -> None: """Setup Github Labels from a yaml/json config file.""" - - if not debug: - logger = logging.getLogger("root") - logger.setLevel(logging.ERROR) + set_ghlabel_debug_mode(debug) if __name__ == "__main__": diff --git a/src/ghlabel/config.py b/src/ghlabel/config.py new file mode 100644 index 0000000..1af83b8 --- /dev/null +++ b/src/ghlabel/config.py @@ -0,0 +1,11 @@ +g_GHLABEL_DEBUG_MODE = False + + +def set_ghlabel_debug_mode(is_debug: bool) -> None: + global g_GHLABEL_DEBUG_MODE # noqa: PLW0603 + g_GHLABEL_DEBUG_MODE = is_debug + + +def is_ghlabel_debug_mode() -> bool: + global g_GHLABEL_DEBUG_MODE # noqa: PLW0602 + return g_GHLABEL_DEBUG_MODE diff --git a/src/ghlabel/logging.ini b/src/ghlabel/logging.ini index 58ece3b..e13790f 100644 --- a/src/ghlabel/logging.ini +++ b/src/ghlabel/logging.ini @@ -2,7 +2,7 @@ keys=root [logger_root] -level=DEBUG +level=INFO handlers=screen,file [formatters] diff --git a/src/ghlabel/utils/dump_label.py b/src/ghlabel/utils/dump_label.py index 25df2fa..92a68d3 100644 --- a/src/ghlabel/utils/dump_label.py +++ b/src/ghlabel/utils/dump_label.py @@ -13,17 +13,16 @@ __status__ = "Prototype" import json -import logging import os from dataclasses import dataclass -from logging.config import fileConfig from pathlib import Path from typing import TypedDict import yaml -Path("logs").mkdir(exist_ok=True) -fileConfig(os.path.join(os.path.dirname(__file__), "../logging.ini")) +from ghlabel.__logger__ import GhlabelLogger, ghlabel_logger + +logger: GhlabelLogger = ghlabel_logger.init(__name__) @dataclass(frozen=True) @@ -267,7 +266,7 @@ class GameDevLabels(Labels): class DumpLabel: @staticmethod def _init_labels_dir(labels_dir: str = "labels") -> None: - logging.info(f"Initializing {labels_dir} dir.") + logger.info(f"Initializing {os.path.join(os.getcwd(), labels_dir)} dir.") Path(labels_dir).mkdir(exist_ok=True) for filename in os.listdir(labels_dir): file_path: str = os.path.join(labels_dir, filename) @@ -293,7 +292,7 @@ def dump( label_file: str = os.path.join(labels_dir, f"{field.lower()}_labels.{ext}") with open(label_file, "w+") as f: - logging.info(f"Dumping to {f.name}.") + logger.info(f"Dumping to {f.name}.") if ext == "yaml": print( @@ -307,7 +306,7 @@ def dump( elif ext == "json": json.dump(labels, f, indent=2) - logging.info("Finished dumping of labels.") + logger.info("Finished dumping of labels.") if __name__ == "__main__": diff --git a/src/ghlabel/utils/github_api.py b/src/ghlabel/utils/github_api.py index b6c978a..c59c92b 100644 --- a/src/ghlabel/utils/github_api.py +++ b/src/ghlabel/utils/github_api.py @@ -1,13 +1,10 @@ -import logging -import os import sys -from logging.config import fileConfig -from pathlib import Path import requests from requests.exceptions import HTTPError, Timeout from requests.models import Response +from ghlabel.__logger__ import GhlabelLogger, ghlabel_logger from ghlabel.utils.github_api_types import ( GithubIssue, GithubIssueParams, @@ -17,8 +14,7 @@ ) from ghlabel.utils.helpers import STATUS_OK, validate_env -Path("logs").mkdir(exist_ok=True) -fileConfig(os.path.join(os.path.dirname(__file__), "../logging.ini")) +logger: GhlabelLogger = ghlabel_logger.init(__name__) class GithubApi: @@ -62,13 +58,13 @@ def list_labels(self) -> tuple[list[GithubLabel], StatusCode]: per_page: int = 100 res: Response - logging.info( + logger.info( f"Fetching list of github labels from `{self.repo_owner}/{self.repo_name}`." ) github_labels: list[GithubLabel] = [] while True: params: dict[str, int] = {"page": page, "per_page": per_page} - logging.info(f"Fetching page {page}.") + logger.info(f"Fetching page {page}.") try: res = requests.get( url, @@ -78,12 +74,12 @@ def list_labels(self) -> tuple[list[GithubLabel], StatusCode]: ) res.raise_for_status() except Timeout: - logging.error( + logger.error( "The site can't be reached, `github.com` took to long to respond. Try checking the connection." ) break except HTTPError: - logging.error( + logger.error( f"Failed to fetch list of github labels. Check if token has permission to access `{self.repo_owner}/{self.repo_name}`." ) break @@ -109,16 +105,16 @@ def create_label(self, label: GithubLabel) -> tuple[GithubLabel, StatusCode]: ) res.raise_for_status() except Timeout: - logging.error( + logger.error( "The site can't be reached, `github.com` took to long to respond. Try checking the connection." ) sys.exit() except HTTPError: - logging.error( + logger.error( f"Failed to add label `{label['name']}`. Check the label format." ) else: - logging.info(f"Label `{label['name']}` added successfully.") + logger.info(f"Label `{label['name']}` added successfully.") return res.json(), res.status_code @@ -136,17 +132,16 @@ def update_label(self, label: GithubLabel) -> tuple[GithubLabel, StatusCode]: ) res.raise_for_status() except Timeout: - logging.error( + logger.error( "The site can't be reached, `github.com` took to long to respond. Try checking the connection." ) sys.exit() - except HTTPError as ex: - logging.exception(ex) - logging.error( + except HTTPError: + logger.error( f"Failed to update label `{label['new_name']}`. Check the label format." ) else: - logging.info(f"Label `{label['new_name']}` updated successfully.") + logger.info(f"Label `{label['new_name']}` updated successfully.") return res.json(), res.status_code @@ -162,14 +157,14 @@ def delete_label(self, label_name: str) -> tuple[None, StatusCode]: ) res.raise_for_status() except Timeout: - logging.error( + logger.error( "The site can't be reached, `github.com` took to long to respond. Try checking the connection." ) sys.exit() except HTTPError: - logging.error(f"Failed to delete label `{label_name}`.") + logger.error(f"Failed to delete label `{label_name}`.") else: - logging.info(f"Label `{label_name}` deleted successfully.") + logger.info(f"Label `{label_name}` deleted successfully.") return None, res.status_code @@ -193,14 +188,14 @@ def list_issues( page: int = 1 per_page: int = 100 - logging.info( + logger.info( f"Fetching list of github issues from `{self.repo_owner}/{self.repo_name}`." ) github_issues: list[GithubIssue] = [] while True: params["page"] = page params["per_page"] = per_page - logging.info(f"Fetching page {page}.") + logger.info(f"Fetching page {page}.") try: res = requests.get( url, @@ -210,12 +205,12 @@ def list_issues( ) res.raise_for_status() except Timeout: - logging.error( + logger.error( "The site can't be reached, `github.com` took to long to respond. Try checking the connection." ) sys.exit() except HTTPError: - logging.error( + logger.error( f"Failed to fetch list of github issues. Check if token has permission to access `{self.repo_owner}/{self.repo_name}`." ) sys.exit() diff --git a/src/ghlabel/utils/helpers.py b/src/ghlabel/utils/helpers.py index ba968c8..a851ee4 100644 --- a/src/ghlabel/utils/helpers.py +++ b/src/ghlabel/utils/helpers.py @@ -1,16 +1,15 @@ -import logging import os import platform import subprocess import sys -from logging.config import fileConfig -from pathlib import Path -from dotenv import load_dotenv +from dotenv import find_dotenv, load_dotenv -load_dotenv() -Path("logs").mkdir(exist_ok=True) -fileConfig(os.path.join(os.path.dirname(__file__), "../logging.ini")) +from ghlabel.__logger__ import GhlabelLogger, ghlabel_logger +from ghlabel.config import is_ghlabel_debug_mode + +logger: GhlabelLogger = ghlabel_logger.init(__name__) +load_dotenv(find_dotenv(usecwd=True)) STATUS_OK: int = 200 @@ -18,13 +17,14 @@ def validate_env(env: str) -> str: _env: str | None = os.getenv(env) if not _env: - logging.error(f"{env} environment variable not set.") + logger.error(f"{env} environment variable not set.") sys.exit() return _env def clear_screen() -> None: - if platform.system() == "Windows": - subprocess.run("cls", shell=True, check=False) # noqa: S607, S602 - else: - subprocess.run("clear", shell=True, check=False) # noqa: S607, S602 + if not is_ghlabel_debug_mode(): + if platform.system() == "Windows": + subprocess.run("cls", shell=True, check=False) # noqa: S607, S602 + else: + subprocess.run("clear", shell=True, check=False) # noqa: S607, S602 diff --git a/src/ghlabel/utils/setup_github_label.py b/src/ghlabel/utils/setup_github_label.py index 3132375..4b98986 100644 --- a/src/ghlabel/utils/setup_github_label.py +++ b/src/ghlabel/utils/setup_github_label.py @@ -13,18 +13,16 @@ __status__ = "Prototype" import json -import logging import os import sys -from logging.config import fileConfig -from pathlib import Path import rich import yaml -from dotenv import load_dotenv +from dotenv import find_dotenv, load_dotenv from rich.progress import Progress from rich.prompt import Confirm +from ghlabel.__logger__ import GhlabelLogger, ghlabel_logger from ghlabel.utils.github_api import GithubApi from ghlabel.utils.github_api_types import GithubIssue, GithubLabel from ghlabel.utils.helpers import ( @@ -33,9 +31,8 @@ validate_env, ) -load_dotenv() -Path("logs").mkdir(exist_ok=True) -fileConfig(os.path.join(os.path.dirname(__file__), "../logging.ini")) +logger: GhlabelLogger = ghlabel_logger.init(__name__) +load_dotenv(find_dotenv(usecwd=True)) class SetupGithubLabel: @@ -142,7 +139,7 @@ def _load_labels_from_config(self) -> list[GithubLabel]: try: files_in_labels_dir = os.listdir(self.labels_dir) except FileNotFoundError: - logging.error( + logger.error( f"No {self.labels_dir} dir found. To solve this issue, first run `ghlabel dump`." ) sys.exit() @@ -165,21 +162,21 @@ def _load_labels_from_config(self) -> list[GithubLabel]: label_ext: str = "" if yaml_filenames: - logging.info("Found YAML files. Loading labels from YAML config.") + logger.info("Found YAML files. Loading labels from YAML config.") label_filenames.extend(yaml_filenames) label_ext = "yaml" elif json_filenames: - logging.info("Found JSON files. Loading labels from JSON config.") + logger.info("Found JSON files. Loading labels from JSON config.") label_filenames.extend(json_filenames) label_ext = "json" else: - logging.error( + logger.error( "No Yaml or JSON config file found for labels. To solve this issue, first run `ghlabel dump`." ) sys.exit() for label_filename in label_filenames: - logging.info(f"Loading labels from {label_filename}.") + logger.info(f"Loading labels from {label_filename}.") label_file: str = os.path.join(self.labels_dir, label_filename) with open(label_file, "r") as f: @@ -190,7 +187,7 @@ def _load_labels_from_config(self) -> list[GithubLabel]: for i, label in enumerate(use_labels, start=1): if not label.get("name"): - logging.error( + logger.error( f"Error on {label_filename}. Name not found on `Label #{i}` with color `{label.get('color')}` and description `{label.get('description')}`." ) sys.exit() @@ -238,7 +235,7 @@ def _load_labels_to_remove_from_config(self) -> set[str]: ) label_to_remove_ext = "json" - logging.info(f"Deleting labels from {label_to_remove_file}") + logger.info(f"Deleting labels from {label_to_remove_file}") with open(label_to_remove_file) as f: if label_to_remove_ext == "yaml": labels_to_remove = yaml.safe_load(f) @@ -289,6 +286,7 @@ def remove_labels( label_names=labels_to_remove ) else: + labels_to_remove.update(self._load_labels_to_remove_from_config()) labels_safe_to_remove = labels_to_remove if preview: @@ -365,7 +363,7 @@ def add_labels( if labels: for _i, label in enumerate(labels, start=1): if not label.get("name"): - logging.error( + logger.error( f"Error on argument label. Name not found on `Label #{_i}` with color `{label.get('color')}` and description `{label.get('description')}`." ) sys.exit() @@ -420,7 +418,7 @@ def add_labels( ) self.update_labels(labels_to_update, preview=preview) - logging.info("Label creation process completed.") + logger.info("Label creation process completed.") if __name__ == "__main__": From 03cb4969153d5631faa94cacc5fc1304d1cd5244 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 03:17:57 +0800 Subject: [PATCH 2/7] build(deps): bump actions/checkout from 4.1.2 to 4.1.7 (#183) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.2 to 4.1.7. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/9bb56186c3b09b4f86b1c65136769dd318469633...692973e3d937129bcbf40652eb9f2f61becf3332) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: セイル · MJ Sabit <98249191+seyLu@users.noreply.github.com> --- .github/workflows/auto-update-pre-commit.yaml | 2 +- .github/workflows/codeql.yaml | 2 +- .github/workflows/lint.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/auto-update-pre-commit.yaml b/.github/workflows/auto-update-pre-commit.yaml index 14c0625..bb699ef 100644 --- a/.github/workflows/auto-update-pre-commit.yaml +++ b/.github/workflows/auto-update-pre-commit.yaml @@ -27,7 +27,7 @@ jobs: egress-policy: audit - name: Checkout repository - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3.5.3 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3.5.3 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v4.7.0 diff --git a/.github/workflows/codeql.yaml b/.github/workflows/codeql.yaml index 1fd07ff..98768cf 100644 --- a/.github/workflows/codeql.yaml +++ b/.github/workflows/codeql.yaml @@ -46,7 +46,7 @@ jobs: egress-policy: audit - name: Checkout repository - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3.5.3 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3.5.3 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index 8b5a5eb..fc479d2 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -25,7 +25,7 @@ jobs: egress-policy: audit - name: Checkout repository - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3.5.3 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3.5.3 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v4.7.0 From 83d1bf50db0fa86857e893305c8020513e1faf9c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 03:18:13 +0800 Subject: [PATCH 3/7] build(deps): bump peter-evans/create-pull-request (#182) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 8500972a1322d52aebd0e3050bc201599f71661f to ce008085c89860856de52c613ad894311f83c931. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/8500972a1322d52aebd0e3050bc201599f71661f...ce008085c89860856de52c613ad894311f83c931) --- updated-dependencies: - dependency-name: peter-evans/create-pull-request dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: セイル · MJ Sabit <98249191+seyLu@users.noreply.github.com> --- .github/workflows/auto-update-pre-commit.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/auto-update-pre-commit.yaml b/.github/workflows/auto-update-pre-commit.yaml index bb699ef..359f71d 100644 --- a/.github/workflows/auto-update-pre-commit.yaml +++ b/.github/workflows/auto-update-pre-commit.yaml @@ -45,7 +45,7 @@ jobs: run: pre-commit autoupdate - name: Create PR - uses: peter-evans/create-pull-request@8500972a1322d52aebd0e3050bc201599f71661f # v5.0.2 + uses: peter-evans/create-pull-request@ce008085c89860856de52c613ad894311f83c931 # v5.0.2 with: token: ${{ secrets.SEYLUBOT_PAT }} committer: GitHub From 62263c9a3c1da149e6fecd9d51af289371dd218d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 03:19:03 +0800 Subject: [PATCH 4/7] build(deps): bump requests from 2.31.0 to 2.32.3 (#177) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [requests](https://github.com/psf/requests) from 2.31.0 to 2.32.3. - [Release notes](https://github.com/psf/requests/releases) - [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md) - [Commits](https://github.com/psf/requests/compare/v2.31.0...v2.32.3) --- updated-dependencies: - dependency-name: requests dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: セイル · MJ Sabit <98249191+seyLu@users.noreply.github.com> --- pyproject.toml | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 24030d0..f8c4c6d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -24,7 +24,7 @@ classifiers = [ ] dependencies = [ "typer[all]==0.12.0", - "requests==2.31.0", + "requests==2.32.3", "python-dotenv==1.0.1", "PyYAML==6.0.1", ] diff --git a/requirements.txt b/requirements.txt index ba8e941..3587c32 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ # core typer[all]==0.12.0 -requests==2.31.0 +requests==2.32.3 python-dotenv==1.0.1 PyYAML==6.0.1 From f4550461d30f1d89ec3f55b87248b7a81f1c408b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 03:19:40 +0800 Subject: [PATCH 5/7] build(deps): bump twine from 5.0.0 to 5.1.0 (#173) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [twine](https://github.com/pypa/twine) from 5.0.0 to 5.1.0. - [Release notes](https://github.com/pypa/twine/releases) - [Changelog](https://github.com/pypa/twine/blob/main/docs/changelog.rst) - [Commits](https://github.com/pypa/twine/compare/5.0.0...5.1.0) --- updated-dependencies: - dependency-name: twine dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: セイル · MJ Sabit <98249191+seyLu@users.noreply.github.com> --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 3587c32..6d9c627 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,4 +7,4 @@ PyYAML==6.0.1 # packaging hatchling==1.22.5 build==1.2.1 -twine==5.0.0 +twine==5.1.0 From b8debe907dbdec4869e9161cb1e369782559927d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 03:19:54 +0800 Subject: [PATCH 6/7] build(deps): bump hatchling from 1.22.5 to 1.24.2 (#164) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [hatchling](https://github.com/pypa/hatch) from 1.22.5 to 1.24.2. - [Release notes](https://github.com/pypa/hatch/releases) - [Commits](https://github.com/pypa/hatch/compare/hatchling-v1.22.5...hatchling-v1.24.2) --- updated-dependencies: - dependency-name: hatchling dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: セイル · MJ Sabit <98249191+seyLu@users.noreply.github.com> --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 6d9c627..aa864df 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,6 +5,6 @@ python-dotenv==1.0.1 PyYAML==6.0.1 # packaging -hatchling==1.22.5 +hatchling==1.24.2 build==1.2.1 twine==5.1.0 From eab9d6e5b76d0215df00aed7de41bcc84bfcd9ef Mon Sep 17 00:00:00 2001 From: seyLu Bot <141534257+seyLu-bot@users.noreply.github.com> Date: Tue, 18 Jun 2024 03:20:25 +0800 Subject: [PATCH 7/7] [create-pull-request] automated change (#158) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: seyLu Co-authored-by: セイル · MJ Sabit <98249191+seyLu@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c6e4541..7211487 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -19,7 +19,7 @@ repos: - prettier-plugin-toml@1.0.1 - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.3.5 + rev: v0.4.4 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix]