Skip to main content

Python API to interact with Dexcom Share API

Project description

Donate PyPI

pydexcom

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

Setup

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

    Note: the service requires setup of at least one follower to enable the share service, but pydexcom will use your credentials, not the follower's.

  2. Install the pydexcom package.

    pip3 install pydexcom
    

Usage

>>> from pydexcom import Dexcom
>>> dexcom = Dexcom("username", "password")
>>> bg = dexcom.get_current_glucose_reading()
>>> bg.value
85

>>> bg.trend
4

>>> bg.trend_description
'steady'

>>> bg.trend_arrow
'→'

>>> bg.time
datetime.datetime(2020, 5, 6, 18, 18, 42)

FAQ

What do I need to get started?
If you are currently on the Dexcom GCM system, all you need is the appropriate mobile app with the Dexcom Share service enabled.
Where is this package being used?
For now this package is just being used in the Dexcom home assistant integration, but is generic enough to be used in lots of applications.
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.
How can I let you know of suggestions or issues?
By all means submit a pull request if you have a feature you'd like to see in the next release, alternatively you may leave a issue if you have a suggestion or bug you'd like to alert me of.
Are there any features in development?
Sure, I'm thinking of implementing a session status checker, or maybe an asynchronus version. That being said, simplicity - getting real time blood glucose information - is most important to this package.

Development

Dexcom class
Function Input Output Description
__init__ username:str,
password:str,
ous:bool=True
Dexcom Dexcom constructor, stores authentication information
create_session Creates Dexcom Share API session by getting session id
verify_serial_number serial_number:str bool Verifies if a transmitter serial number is assigned to you
get_glucose_readings minutes:int=1440,
max_count:int=288
[GlucoseReading]/
None
Gets max_count glucose readings within the past minutes, None if no glucose reading in the past 24 hours
get_latest_glucose_reading GlucoseReading/
None
Gets latest available glucose reading, None if no glucose reading in the past 24 hours
get_current_glucose_reading GlucoseReading/None Gets current available glucose reading, None if no glucose reading in the past 6 minutes
Glucose Reading
Attribute Definition Example
value Blood glucose value in mm/dL or mmol/L. 85
trend Blood glucose trend information as number 0 - 9 (see constants). 4
trend_description Blood glucose trend information description (see constants). 'steady'
trend_arrow Blood glucose trend information as unicode arrow (see constants). '→'
time Blood glucose recorded time as datetime. datetime.datetime(2020, 5, 6, 18, 18, 42)
Constants
Trend Trend description Trend arrow
0 '' ''
1 'rising quickly' '↑↑'
2 'rising' '↑'
3 'rising slightly' '↗'
4 'steady' '→'
5 'falling slightly' '↘'
6 'falling' '↓'
7 'falling quickly' '↓↓'
8 'unable to determine trend' '?'
9 'trend unavailable' '-'

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.1.2.tar.gz (5.6 kB view details)

Uploaded Source

File details

Details for the file pydexcom-0.1.2.tar.gz.

File metadata

  • Download URL: pydexcom-0.1.2.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.6

File hashes

Hashes for pydexcom-0.1.2.tar.gz
Algorithm Hash digest
SHA256 eea5e735fe68c537775313a7968f121b53fe027fe821146e1ea75540fb310735
MD5 a2b81c74936e5e83e5cf538fc857734f
BLAKE2b-256 65d7aa0374a5dff31bd0a35533c46abd09024ea3ad17f2733b4dbcd95b15367c

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