Skip to content

library for handling data from the mobileDNA app. (Main version is maintained on UGent enterprise Github)

License

Notifications You must be signed in to change notification settings

simonperneel/mobiledna_py

Repository files navigation

docs/pictures/logo_mobiledna.png

PyPI - Downloads

mobileDNA is an open-source statistical package written in Python 3. It can be used to analyze data stemming from the mobileDNA platform. The package contains the following modules:

  • advanced
  • communication
  • core
  • dashboard

The package is intended for researchers/users who like to delve into the raw log data that is provided through the mobileDNA logging application. It can be used and expanded on at will. Go bonkers.

Questions, comments, or just need help?

If you have questions, please address Simon Perneel or Kyle Van Gaeveren.

Installation

Dependencies

The main dependencies are :

  • NumPy
  • Pandas
  • TQDM
  • MatPlotLib
  • ElasticSearch (6.3.X)
  • PyArrow
  • CSV

In addition, some functions may require :

  • Seaborn
  • PPrint
  • apyori

mobileDNA is a Python 3 package and is currently tested for Python 3.6 - 3.10. mobileDNA is not expected to work with Python 2.7 and below.

User installation

mobileDNA can be easily installed using pip:

pip3 install mobiledna

However, new releases are frequent so if you want the latest version, you better fetch the mobileDNA folder from this repo directly.

The pypi repository doesn't get always updated with a new update of the code.

Reference

This documentation is under development. Below, you will find more information for each of the package modules.

📡 Communication module

The communication module is used interface with the IDLab server that stores the mobileDNA data. With its function, one can fetch the mobileDNA appevents/sessions/notifications/connectivity data.

If you want fetch the latest data, you should generate and restore a snapshot of the server first.

Warning Don't touch this module if you don't have access to the ES server! You need the config.py file with the credentials. You will get them if you are authorized 😉.

Find more information about how the functions in the docs.

⏺️ Core module

The core module contains the main functionality of the package. It is used to load and preprocess the appevents, sessions and notifications data

Find more information in the docs.

⚡️ Advanced module

This module contains advanced functionality that is not used in the standard workflow. It has some machine learning/ data mining functions that can be used to extract more information from the data. To be improved and expanded. (e.g. for guessing people's home locations, estimating people's battery health, ...).

📊 Dashboard module

The dashboard module is used to visualize the mobileDNA data. To be developed.

️💾 Cache module

This module contains a app_meta.npy file that contains extra information about the applications (fancyname, category, custom categorisation, ...). The cache is used to speed up the loading of the data.

Contributors

  • You?

About

library for handling data from the mobileDNA app. (Main version is maintained on UGent enterprise Github)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published