GithubHelp home page GithubHelp logo

giuliorossetti / social-network-analsysis-laboratory Goto Github PK

View Code? Open in Web Editor NEW
9.0 2.0 1.0 26 KB

Docker container exposing a preconfigured python environment for Social Network Analysis

License: GNU General Public License v3.0

Dockerfile 100.00%
community-detection complex-networks docker dynamic-networks epidemic-model high-order-networks link-prediction opinion-dynamics python-3 social-network-analysis

social-network-analsysis-laboratory's Introduction

Social Network Analysis Laboratory

Docker Jupyter Notebook Python

This repository contains the Docker container specification for the Social Network Analysis Laboratory: a pre-configured Jupyter Lab environment offering tools and algorithms to model, analyze and visualize complex networks.

Note: The main goal of this container is to offer a stable development environment, not to guarantee the latest versions of the installed libraries: SNA Lab will disentangle module dependency issues for you.

Requirements

To execute the container, you need to have Docker (and Docker Compose if you plan to build the image locally) installed on your machine.

Usage

The SNALab can be accessed following two different approaches: downloading the prebuilt image from Docker Hub or building the image locally.

Once the container is ready the Jupyter lab service be available at http://localhost:8000.

1. Using the Docker Hub image (suggested)

The SNALab image is available on Docker Hub. To run the container, simply execute the following command:

  docker pull rossetti/snalab:latest
  docker run -d -i -p 8000:8000 snalab

If you prefer not using the command line tools, you can also use the Docker Desktop application to run the container (available for Windowns, MacOs and Linux).

2. Building the image locally

Alternatively, you can build the image locally by cloning this repository and running the following command:

  docker-compose up -d

Stop the container

To stop the container, run the following command:

  docker-compose down

Main python packages included in the SNA Laboratory

The SNA Laboratory is an evolving project. The following list contains the main python packages included in the current release of the container. For a complete list of the packages included in the container, please refer to the individual projects' pages.

Network modeling and analysis

Static networks:

Dynamic networks:

Higher-order networks:

Task specific applications

Community detection:

Epidemics and Opinion Dynamics:

Supervised learning:

Link Prediction:

Power law distributions fitting:

Tips

  1. Data and notebooks stored in the container are not persistent. To save your work, you can mount a local directory as a volume in the container (or remember to download/upload your code/file each time you stop/start the laboratory).
  2. The same observation applies also to python module installed in the container. If you want to install a new module, you need to do it each time you start the container.
  3. The container is configured to use a no-password access Jupyter Lab.
  4. You can access the container disk from the bash terminal exposed within the Jupyter Lab environment.
  5. The Jupyter Lab environment is configured to use the python3.9 kernel.
  6. Along with the Jupyter Lab environment, are packaged a set of notebooks covering the lectures of the Social Network Analysis Course at the University of Pisa

social-network-analsysis-laboratory's People

Contributors

giuliorossetti avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

sna-unipi

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.