Metadata-Version: 2.3
Name: fittrackee
Version: 0.12.0
Summary: Self-hosted outdoor workout/activity tracker
License: AGPL-3.0-only
Author: SamR1
Requires-Python: >=3.9.2,<4.0.0
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Framework :: Flask
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: JavaScript
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: authlib (==1.5.2)
Requires-Dist: babel (>=2.11.0,<3.0.0)
Requires-Dist: click (>=8.1.8,<9.0.0)
Requires-Dist: dramatiq-abort[redis] (>=1.2.1,<2.0.0)
Requires-Dist: dramatiq[redis] (>=1.15.0,<2.0.0)
Requires-Dist: feedgenerator (>=2.2.1,<3.0.0)
Requires-Dist: fitdecode (==0.11.0)
Requires-Dist: flask (>=3.1.2,<4.0.0)
Requires-Dist: flask-babel (>=4.0.0,<5.0.0)
Requires-Dist: flask-bcrypt (>=1.0.1,<2.0.0)
Requires-Dist: flask-dramatiq (>=0.6.0,<0.7.0)
Requires-Dist: flask-limiter[redis] (>=3.11.0,<4.0.0)
Requires-Dist: flask-migrate (==4.1.0)
Requires-Dist: flask-sqlalchemy (==3.1.1)
Requires-Dist: gpxpy (==1.6.2)
Requires-Dist: gunicorn (>=23.0.0,<24.0.0)
Requires-Dist: humanize (>=4.13.0,<5.0.0)
Requires-Dist: jsonschema (>=4.25.1,<5.0.0)
Requires-Dist: lxml (>=6.0.1,<7.0.0)
Requires-Dist: nh3 (>=0.3.0,<0.4.0)
Requires-Dist: psycopg2-binary (>=2.9.10,<3.0.0)
Requires-Dist: pyjwt (>=2.10.1,<3.0.0)
Requires-Dist: pyopenssl (>=25.1.0,<26.0.0)
Requires-Dist: pytz (>=2025.2,<2026.0)
Requires-Dist: shortuuid (>=1.0.13,<2.0.0)
Requires-Dist: sqlalchemy (==2.0.43)
Requires-Dist: staticmap3[filecache] (>=0.1.0,<0.2.0)
Requires-Dist: ua-parser (>=1.0.0,<2.0.0)
Requires-Dist: xmltodict (>=0.14.2,<0.15.0)
Project-URL: Changelog, https://docs.fittrackee.org/en/changelog.html
Project-URL: Documentation, https://docs.fittrackee.org
Project-URL: Homepage, https://github.com/SamR1/FitTrackee
Project-URL: Issues, https://github.com/SamR1/FitTrackee/issues
Project-URL: Release Notes, https://github.com/SamR1/FitTrackee/releases
Description-Content-Type: text/markdown

# FitTrackee
**A simple self-hosted workout/activity tracker.**  


[![Python Version](https://img.shields.io/pypi/pyversions/fittrackee.svg)](https://python.org)
[![Flask Version](https://img.shields.io/badge/flask-3.1-brightgreen.svg)](http://flask.pocoo.org/) 
[![code formatter: ruff](https://img.shields.io/badge/code%20formatter-ruff-d7ff64)](https://docs.astral.sh/ruff/) 
[![type check: mypy](https://img.shields.io/badge/type%20check-mypy-blue)](http://mypy-lang.org/)  
[![Vue Version](https://img.shields.io/badge/vue-3.5-brightgreen.svg)](https://v3.vuejs.org/) 
[![code formatter: prettier](https://img.shields.io/badge/code%20formatter-prettier-ff69b4.svg)](https://github.com/prettier/prettier) 
[![Typescript Version](https://img.shields.io/npm/types/typescript)](https://www.typescriptlang.org/)  
[![PyPI version](https://img.shields.io/pypi/v/fittrackee?logo=pypi)](https://pypi.org/project/fittrackee/) [![docker image version](https://img.shields.io/docker/v/fittrackee/fittrackee?logo=docker)](https://hub.docker.com/r/fittrackee/fittrackee)  
[![pipeline status](https://github.com/SamR1/FitTrackee/actions/workflows/.tests-and-publish-python.yml/badge.svg)](https://github.com/SamR1/FitTrackee/actions/workflows/.tests-and-publish-python.yml)
[![pipeline status](https://github.com/SamR1/FitTrackee/actions/workflows/.tests-javascript.yml/badge.svg)](https://github.com/SamR1/FitTrackee/actions/workflows/.tests-javascript.yml)  
[![translation status](https://hosted.weblate.org/widgets/fittrackee/-/svg-badge.svg)](https://hosted.weblate.org/engage/fittrackee/)
[![translation languages](https://hosted.weblate.org/widget/fittrackee/language-badge.svg)](https://hosted.weblate.org/engage/fittrackee/)   
[![Matrix](https://img.shields.io/matrix/fittrackee%3Amatrix.org?logo=matrix)](https://matrix.to/#/#fittrackee:matrix.org)
[![Mastodon Follow](https://img.shields.io/mastodon/follow/109270806934115805?domain=fosstodon.org)](https://fosstodon.org/@FitTrackee)  
---

Web application allowing tracking of outdoor activities (workouts) from files, \
with data on your own server.  

Several mobile apps or devices can store workouts data locally and export them into a file.  
Examples for Android (non-exhaustive list):  
* [Runner Up](https://github.com/jonasoreland/runnerup) (GPLv3)  
* [OpenTracks](https://github.com/OpenTracksApp/OpenTracks) (Apache License)  
* [FitoTrack](https://codeberg.org/jannis/FitoTrack) (GPLv3)  

It is also possible to add a workout without a file.

Map data from [OpenStreetMap](https://www.openstreetmap.org).  

## Documentation

- [Features](https://docs.fittrackee.org/en/features.html)
- [Installation instructions](https://docs.fittrackee.org/en/installation.html)
- [Changelog](https://docs.fittrackee.org/en/changelog.html)
- [Troubleshooting](https://docs.fittrackee.org/en/troubleshooting/index.html)
- [Contributing](https://docs.fittrackee.org/en/contributing.html)

**Under heavy development (some features may be unstable).**  
(see [issues](https://github.com/SamR1/FitTrackee/issues) and [documentation](https://docs.fittrackee.org) for more info.)  

![FitTrackee Dashboard Screenshot](https://docs.fittrackee.org/en/_images/dashboard.png)

## Translations

FitTrackee uses [Weblate](https://hosted.weblate.org/engage/fittrackee/) for translation management.

Status (on development branch, may differ from the released version):

[![Translation status](https://hosted.weblate.org/widget/fittrackee/multi-auto.svg)](https://hosted.weblate.org/engage/fittrackee/)

