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.
If you have questions, please address Simon Perneel or Kyle Van Gaeveren.
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.
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.
This documentation is under development. Below, you will find more information for each of the package modules.
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.
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.
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, ...).
The dashboard module is used to visualize the mobileDNA data. To be developed.
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.
- You?