{"id":15722077,"url":"https://github.com/narmis-e/dexviewer","last_synced_at":"2025-05-13T02:52:11.021Z","repository":{"id":197991788,"uuid":"699826292","full_name":"Narmis-E/DexViewer","owner":"Narmis-E","description":"A GTK-4 interface for viewing Dexcom CGM data from the pydexcom API.","archived":false,"fork":false,"pushed_at":"2023-11-03T02:02:46.000Z","size":199,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-27T18:38:43.786Z","etag":null,"topics":["blood-glucose-monitoring","dexcom","dexcom-api","diabetes","gtk4","linux","monitoring-tool","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Narmis-E.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-10-03T12:23:03.000Z","updated_at":"2024-06-30T20:20:46.000Z","dependencies_parsed_at":"2023-10-24T12:32:51.966Z","dependency_job_id":null,"html_url":"https://github.com/Narmis-E/DexViewer","commit_stats":null,"previous_names":["narmis-e/dexviewer"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Narmis-E%2FDexViewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Narmis-E%2FDexViewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Narmis-E%2FDexViewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Narmis-E%2FDexViewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Narmis-E","download_url":"https://codeload.github.com/Narmis-E/DexViewer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253862756,"owners_count":21975586,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blood-glucose-monitoring","dexcom","dexcom-api","diabetes","gtk4","linux","monitoring-tool","python"],"created_at":"2024-10-03T22:03:44.712Z","updated_at":"2025-05-13T02:52:10.999Z","avatar_url":"https://github.com/Narmis-E.png","language":"Python","readme":"\u003cimg src=\"dexviewer/data/icons/dexviewer.svg\" align=\"right\" width=\"186\"/\u003e\n\n# DexViewer [![Please do not theme this app](https://stopthemingmy.app/badge.svg)](https://stopthemingmy.app)\n\n\u003e A GTK-4 application for viewing Dexcom CGM data from the pydexcom API.\n\n\u003chr width=0\u003e\n\n## Features:\nDexViewer is an application that allows you to visualise and track your blood glucose data from your Dexcom continuous glucose monitoring (CGM) device. Here are some of the key features:\n\n#### Periodic Glucose Monitoring (real-time is WIP)\nDexViewer provides periodic glucose data directly from your Dexcom CGM device, helping you stay informed about your current blood glucose levels and trends.\n\n#### Data Visualisation\n- View your blood glucose data with a user-friendly interface (alike the Dexcom app).\n- Analyse trends in your glucose levels over various time scales (1 hour, 3 hours, 6 hours, 12 hours)\n\n#### Configurable Credentials\n- Stores your Dexcom credentials for seamless access to your blood glucose data.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003cimg src=\"https://github.com/Narmis-E/DexViewer/assets/109248529/fc111824-c016-445e-95ad-e0e65b05f923\"/\u003e\n  \u003cp\u003eHere is a screenshot of the Viewer Window.\u003c/p\u003e\n  \u003cbr\u003e\n\u003c/div\u003e\n\n## Installing DexViewer\nYou can install DexViewer by simply installing the PyPI package:\n```\npip install dexviewer\n```\nand run it from the terminal:\n```\ndexviewer\n```\nSee the pip page here: https://pypi.org/project/dexviewer/\n\n#### If you wish to install from source, please clone this respository:\n```\ngit clone https://github.com/Narmis-E/DexViewer/ \u0026\u0026 cd DexViewer\n```\nthen pip install in the current directory:\n```\npip install .\n```\n#### Note:\nIf you want to run Dexviewer from a GUI (GNOME app menu, rofi, etc) run the `setup_dexviewer.sh` script which is provided in your local $PATH on install:\n\n```\nsudo setup_dexviewer.py\n```\n*sudo needed to copy .desktop and icon to /usr/share/*\n\n\n## Compatibility\nAs far as I am aware, DexViewer should be able to provide data through the pydexcom api for sensors which have the Dexcom Share functionality, which are the G4, G5, G6 (as listed on the [pydexcom github](https://github.com/gagebenne/pydexcom)) and G7 ([maybe?](https://github.com/gagebenne/pydexcom/issues/55)). \nCurrently I only have access to a G6 sensor so I cannot confirm functionality for the other sensors.\n\nIf you want to learn more about the pydexcom api, please read through the informative documentation provided by gagebene [here](https://gagebenne.github.io/pydexcom/pydexcom.html).\n\n## Acknowledgment\nSpecial thanks to:\n- [gagebene](https://github.com/gagebenne) for creating the [pydexcom api](https://github.com/gagebenne/pydexcom)\n- [Taiko2k](https://github.com/Taiko2k) for creating their [Python GTK4 tutorial](https://github.com/Taiko2k/GTK4PythonTutorial)\n\n\nDexViewer is licensed under GPLv3, allowing the wider community to contribute and improve the application.\nFeel free to contribute, report issues, or provide feedback to help make DexViewer even better.\n\n## Theming...\nJust as an FYI, I'm not trying to act like a *you know who* dev and preach 10 billion reasons as to why you shouldn't use GTK themes. \nI am an avid desktop ricer and have/do use countless themes, especially as I want a cohesive desktop experience.\nBut for the sake of making sure you have a positive experience with DexViewer, \nI highly suggest that you do not use a **GTK4** theme for your desktop while using DexViewer (**GTK3 themes are fine**). \nI cannot guarrantee the application will look or even function the same from desktop to desktop because of this, especially being a programming noob.\n\nI realise that for most users, this probably wont be a problem as they may not have a gtk4 theme set in `~/.config/gtk-4.0`, \nbut I will still fly the 'pls dont theme' badge to let people know it will and does effect the look of the program \n(embedding a matplotlib canvas with a white background does not mix well with many GTK themes!).  \n\n## TODO\n- [x] Implement unit swicthing between mmol/l and mg/dl\n- [x] Light and dark mode toggle in preferences window\n- [x] Decrease data load times?\n- [x] Implement account switching\n- [ ] Implement real time data\n- [ ] Package for flatpak\n- [ ] NightScout integration?\n- [ ] Interactive graphs (may need to switch graphing lib)\n\n#### Disclaimer\nDexViewer currently stores your Dexcom SHARE password in plaintext inside the config.ini file, which I understand is something which is perhaps the epitome of bad security, but I don't plan on changing this unless I really need to (I know I could use some hashing library and then retrieve it when needed).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnarmis-e%2Fdexviewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnarmis-e%2Fdexviewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnarmis-e%2Fdexviewer/lists"}