[project] name = "garth" dynamic = ["version"] description = "Garmin SSO auth + Connect client" authors = [ {name = "Matin Tamizi", email = "mtamizi@duck.com"}, ] dependencies = [ "requests>=2.0.0,<3.0.0", "pydantic>=1.10.12,<3.0.0", "requests-oauthlib>=1.3.1,<3.0.0", ] requires-python = ">=3.10" readme = "README.md" license = {text = "MIT"} classifiers = [ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX :: Linux", "Operating System :: OS Independent", ] keywords = ["garmin", "garmin api", "garmin connect", "garmin sso"] [project.urls] "Homepage" = "https://github.com/matin/garth" "Repository" = "https://github.com/matin/garth" "Issues" = "https://github.com/matin/garth/issues" "Changelog" = "https://github.com/matin/garth/releases" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.version] path = "src/garth/version.py" [tool.pytest.ini_options] addopts = "--ignore=__pypackages__ --ignore-glob=*.yaml" [tool.mypy] ignore_missing_imports = true [tool.ruff] line-length = 79 indent-width = 4 target-version = "py310" [tool.ruff.lint] select = ["E", "F", "I"] ignore = [] [tool.ruff.format] quote-style = "double" indent-style = "space" skip-magic-trailing-comma = false line-ending = "auto" [dependency-groups] dev = [ "ipython", "ipdb", "ipykernel", "pandas", "matplotlib", ] linting = [ "ruff", "mypy", "types-requests", ] testing = [ "coverage", "pytest", "pytest-vcr", ] [tool.ruff.lint.isort] known-first-party = ["garth"] combine-as-imports = true lines-after-imports = 2 [project.scripts] garth = "garth.cli:main"