mirror of
https://github.com/sstent/FitTrack_ReportGenerator.git
synced 2026-01-28 18:11:43 +00:00
feat: Initial implementation of FitTrack Report Generator
This commit introduces the initial version of the FitTrack Report Generator, a FastAPI application for analyzing workout files. Key features include: - Parsing of FIT, TCX, and GPX workout files. - Analysis of power, heart rate, speed, and elevation data. - Generation of summary reports and charts. - REST API for single and batch workout analysis. The project structure has been set up with a `src` directory for core logic, an `api` directory for the FastAPI application, and a `tests` directory for unit, integration, and contract tests. The development workflow is configured to use Docker and modern Python tooling.
This commit is contained in:
52
examples/GarminSync/pyproject.toml
Normal file
52
examples/GarminSync/pyproject.toml
Normal file
@@ -0,0 +1,52 @@
|
||||
[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
|
||||
Reference in New Issue
Block a user