feat: Add --debug option to CLI for verbose output

This commit introduces a global  option to the GarminSync CLI, providing verbose logging and diagnostic information for troubleshooting.

Key changes include:

- Implemented a  to manage and propagate the debug flag across CLI commands.

- Refactored  in  to accept and utilize the debug flag, enabling detailed logging of HTTP requests and responses.

- Updated CLI commands (, ) to access the  from the .

- Resolved circular import by extracting  into a dedicated  module.

- Configured  for Poetry-based dependency management.

- Addressed various  type hinting issues and  linting warnings across the CLI codebase to maintain code quality.
This commit is contained in:
2025-12-22 06:39:40 -08:00
parent 9e096e6f6e
commit 02fa8aa1eb
13 changed files with 1018 additions and 325 deletions

View File

@@ -1,3 +1,37 @@
[tool.poetry]
name = "cli"
version = "0.1.0"
description = "GarminSync CLI"
authors = ["Your Name <you@example.com>"]
packages = [{include = "src"}]
[tool.poetry.dependencies]
python = "^3.13"
click = "^8.1.7"
httpx = "^0.28.1"
pydantic = "^2.12.5"
pytest = "^9.0.2"
garth = "^0.5.20"
garminconnect = "^0.2.36"
annotated-types = "^0.7.0"
anyio = "^4.12.0"
certifi = "^2025.11.12"
charset-normalizer = "^3.4.4"
iniconfig = "^2.3.0"
oauthlib = "^3.3.1"
packaging = "^25.0"
pluggy = "^1.6.0"
pygments = "^2.19.2"
requests = "^2.32.5"
requests-oauthlib = "^2.0.0"
typing-inspection = "^0.4.2"
typing_extensions = "^4.15.0"
urllib3 = "^2.6.2"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.black]
line-length = 88
target-version = ['py313']
@@ -15,3 +49,7 @@ python_version = "3.13"
warn_return_any = true
warn_unused_configs = true
ignore_missing_imports = true # Temporarily ignore until all stubs are available
[dependency-groups]
dev = [
"types-pyyaml (>=6.0.12.20250915,<7.0.0.0)"
]