Skip to content
scikit-mobility: mobility analysis in Python
Jupyter Notebook Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
skmob bug fixes Aug 14, 2019
tutorial bug fixes Aug 14, 2019
.gitignore first commit Apr 30, 2019
LICENSE Create LICENSE Aug 20, 2019
LICENSE.txt Update LICENSE.txt Jul 11, 2019 added link to arxiv paper Jul 17, 2019
logo_skmob.png load gpx and google timeline files Jul 14, 2019


scikit-mobility - mobility analysis in Python

scikit-mobility is a library for human mobility analysis in Python. The library allows to:

  • represent trajectories and mobility flows with proper data structures, TrajDataFrame and FlowDataFrame.

  • manage and manipulate mobility data of various formats (call detail records, GPS data, data from Location Based Social Networks, survey data, etc.);

  • extract human mobility metrics and patterns from data, both at individual and collective level (e.g., length of displacements, characteristic distance, origin-destination matrix, etc.)

  • generate synthetic individual trajectories using standard mathematical models (random walk models, exploration and preferential return model, etc.)

  • generate synthetic mobility flows using standard migration models (gravity model, radiation model, etc.)

  • assess the privacy risk associated with a mobility dataset



if you use scikit-mobility please cite the following paper:


First, clone the repository - this creates a new directory ./scikit_mobility.

    git clone scikit_mobility

with conda - miniconda

  1. Create an environment skmob and install pip

     conda create -n skmob pip
  2. Activate

     conda activate skmob
  3. Install skmob

     cd scikit_mobility
     python install

    If the installation of a required library fails, reinstall it with conda install.

  4. OPTIONAL to use scikit-mobility on the jupyter notebook

    • Install the kernel

      conda install ipykernel
    • Open a notebook and check if the kernel skmob is on the kernel list. If not, run the following:

      env=$(basename `echo $CONDA_PREFIX`)
      python -m ipykernel install --user --name "$env" --display-name "Python [conda env:"$env"]"

without conda (python >= 3.6 required)

  1. Create an environment skmob

     python3 -m venv skmob
  2. Activate

     source skmob/bin/activate
  3. Install skmob

     cd scikit_mobility
     python install
  4. OPTIONAL to use scikit-mobility on the jupyter notebook

    • Activate the virutalenv:

        source skmob/bin/activate
    • Install jupyter notebook:

        pip install jupyter 
    • Run jupyter notebook

        jupyter notebook
    • (Optional) install the kernel with a specific name

        ipython kernel install --user --name=skmob

Test the installation

> source activate skmob
(skmob)> python
>>> import skmob
You can’t perform that action at this time.