Skip to main content

Python API to interact with Dexcom Share API

Project description

PyPI Python versions Pre-commit Tests Docs

A simple Python API to interact with Dexcom Share service. Used to get real-time Dexcom CGM sensor data.

Quickstart

  1. Download the Dexcom G6 / G5 / G4 mobile app and enable the Share service.

The Dexcom Share service requires setup of at least one follower to enable the share service, but pydexcom will use your credentials, not the follower's

  1. Install the pydexcom package.

pip3 install pydexcom

  1. Profit.
>>> from pydexcom import Dexcom
>>> dexcom = Dexcom("username", "password") # `ous=True` if outside of US
>>> glucose_reading = dexcom.get_current_glucose_reading()
>>> print(glucose_reading)
85

>>> glucose_reading.value
85

>>> glucose_reading.mmol_l
4.7

>>> glucose_reading.trend
4

>>> glucose_reading.trend_direction
'Flat'

>>> glucose_reading.trend_description
'steady'

>>> glucose_reading.trend_arrow
'→'

>>> print(bg.datetime)
2023-08-07 20:40:58

>>> glucose_reading.json
{'WT': 'Date(1691455258000)', 'ST': 'Date(1691455258000)', 'DT': 'Date(1691455258000-0400)', 'Value': 85, 'Trend': 'Flat'}

Documentation

https://gagebenne.github.io/pydexcom/pydexcom.html

Frequently Asked Questions

Why is my password not working?

The Dexcom Share API understandably reports limited information during account validation. If anything is incorrect, the API simply reports back invalid password (pydexcom.errors.AccountErrorEnum). However, there could be many reasons you are getting this error:

  1. Use the correct Dexcom Share API instance.

If you are located outside of the United States, be sure to set ous=True when intializing Dexcom.

  1. Use your Dexcom Share credentials, not the follower's credentials.

Use the same credentials used to login to the Dexcom mobile application publishing the glucose readings.

  1. Ensure you have at least one follower on Dexcom Share.

The Dexcom Share service requires setup of at least one follower to enable the service, as does this package.

  1. Check whether your account credentials involve usernames or emails.

There are two account types the Dexcom Share API uses: legacy username-based accounts, and newer email-based accounts. Be sure to use the correct authentication method.

  1. Use alpha-numeric passwords.

Some individuals have had problems with connecting when their Dexcom Share passwords are entirely numeric. If you have connection issues, try changing your password to something with a mix of numbers and letters.

  1. Report it!

The Dexcom Share API sometimes changes. If you believe there is an issue with pydexcom , feel free to create an issue if one has not been created yet already.

Why not use the official Dexcom Developer API?

The official Dexcom API is a great tool to view trends, statistics, and day-by-day data, but is not suitable for real time fetching of glucose readings as it is a retrospective API.

How can I let you know of suggestions or issues?

By all means submit a pull request if you have a feature you would like to see in the next release. Alternatively, you may create an issue if you have a suggestion or bug you'd like to report.

Where is this package being used?

Primarily this package is used in the Home Assistant Dexcom integration, but it's fantastic to see community projects involving pydexcom:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pydexcom-0.3.0a0.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

pydexcom-0.3.0a0-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file pydexcom-0.3.0a0.tar.gz.

File metadata

  • Download URL: pydexcom-0.3.0a0.tar.gz
  • Upload date:
  • Size: 14.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for pydexcom-0.3.0a0.tar.gz
Algorithm Hash digest
SHA256 79f892ce9e9bf6f5049a5778c7f7ec6459d1abaf2b09e66d8a9db5d91cd19f78
MD5 6c35c59f6bef7e5d01edbe3ea3de839e
BLAKE2b-256 be13859e7ca19b2729285df6dd9e4f2c5e346f9ab59f70a40058be4e3c68f07c

See more details on using hashes here.

File details

Details for the file pydexcom-0.3.0a0-py3-none-any.whl.

File metadata

  • Download URL: pydexcom-0.3.0a0-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for pydexcom-0.3.0a0-py3-none-any.whl
Algorithm Hash digest
SHA256 b6a8e5bfe0027acbfffe37ade7868a6df4c019b0702daafd7d35189dab3f4f37
MD5 d56a8b6fed5441e8f40d304bf3b64d63
BLAKE2b-256 a34adbe4b0bc006439f4db32592ca7581ee3ba97acc89445f7900a807b1771ee

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page