A simple web application for keeping tracking of blood glucose levels. Written in Python using the Django framework.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.



A simple web application for keeping track of blood glucose levels. Written in Python using the Django framework.

Main Site: https://www.glucosetracker.net


  • Simple, easy to use. Entering glucose data should be faster than finding a pen and paper and writing down the number. Fields have pre-set values where it makes sense (such as the date, time, and category based on time of day).
  • Send glucose data via email. Email it to your doctor before your visit, no more carrying log books (and you're saving trees)! Can be sent as a CSV or PDF attachment.
  • Reporting. Simple reports to see how you're doing. Highlight how many times you have lows and highs. Show averages by day and category using nice-looking charts and graphs.
  • Data filtering. Advanced filtering: filter by glucose range, date range, category, tag, and notes.
  • Tagging. An optional tag field to help further organize and make sense of your data. For example, it might be useful to add tags to a record such as: exercise, sick, insulin, fasting, etc.
  • A1C estimation. Estimate A1C based on data from the last 3 months.
  • Import data from CSV. Import existing data from other software/systems.
  • Mobile friendly. Layout adapts to screen size.

Some point in the future:

  • A simple Android app that works offline and auto-syncs with the remote database via REST calls.

Installation/Running the App

  1. Install the required libraries listed in the requirements file with pip: pip install -r requirements.txt
  2. If you just want to run a demo of the app, use the settings/localdemo.py file which uses an SQLite database and will be created automatically. Otherwise, for development, please use PostgreSQL and the settings/local.py file. Set the database settings and environment variables accordingly.
  3. Run the syncdb command: e.g. python manage.py syncdb --noinput --settings=settings.localdemo
  4. Run the South migration: e.g. python manage.py migrate --settings=settings.localdemo
  5. (Optional) Populate your database with dummy data: e.g. python manage.py load_random_glucose_data jsmith --settings=settings.localdemo (note that 'jsmith' can be changed to any username you like, the password will always be 'demo').
  6. Run the local web server: e.g. python manage.py runserver --settings=settings.localdemo

3rd-Party Apps/Libraries/Plugins

GlucoseTracker uses the following: