[project] name = "GarminSync" version = "0.1.0" description = "Sync and analyze Garmin activity data" readme = "README.md" requires-python = ">=3.11" dependencies = [ "flask==3.0.0", "flask-sqlalchemy==3.1.1", "flask-migrate==4.0.7", "python-dotenv==1.0.0", "uvicorn==0.27.0", "alembic==1.13.1", "flask-paginate==2024.4.12", "pytest==8.1.1", "typer==0.9.0", "apscheduler==3.10.4", "requests==2.32.0", "garminconnect==0.2.28", "garth", "fastapi==0.109.1", "pydantic==2.5.3", "tqdm==4.66.1", "sqlalchemy==2.0.30", "pylint==3.1.0", "pygments==2.18.0", "fitdecode", "numpy==1.26.0", "scipy==1.11.1", "aiosqlite", "asyncpg", "aiohttp" ] [build-system] requires = ["uv"] build-backend = "uv" [tool.ruff] line-length = 120 target-version = "py311" select = ["E", "F", "W", "I", "B", "C", "N", "Q"] ignore = [] [tool.ruff.per-file-ignores] "__init__.py" = ["F401"] "tests/*.py" = ["S101", "INP001", "F811", "PLR2004", "ANN001", "ANN101", "ANN201"] [tool.black] line-length = 120 target-version = ["py311"] skip-string-normalization = true