General Python Installation Instructions:

These are general instructions and guidelines that are applicable for all workshops. Kindly read these before you move on to instructions for specific workshops.


  1. We recommend that you follow the instructions given for the workshops that interest you and install the necessary software and packages before you come to the conference.
  2. We strongly recommend installing Anaconda with Python 3.7 since it is convenient, hassle-free way to install Python, all the required packages, Package manager (PIP), a simple Text Editor and a development environment all in one go.

Install Python:

We recommend using Python 3.6 or above. You can find the links to the installers given below;

For Windows & Mac:

For Linux: Follow the instructions provided here,

Certain workshops require Python 3.7. In case your system already has Python 3.7 installed, you are good to go. If not, we recommend that you install Anaconda for your OS. Please see Installing Anaconda instructions

Installing Anaconda:

  1. Most of the workshops require you to install Python & Python Scientific Computation packages (Numpy, Matplotlib, Pandas, Scipy, Numba etc.).
  2. We strongly recommend installing Anaconda with Python 3.7 since it is convenient, hassle-free way to install Python, all the required packages, Package manager (PIP), a simple Text Editor and a development environment all in one go.
  3. Go to and install the Python 3.7 version for your Operating System.
  4. Once installed, Anaconda comes with all these packages pre-installled.

How to install additional packages in Anaconda:

In case you prefer to install, upgrade a Python package manually when using Anaconda, you can follow the instructions below:

  1. Open the Anaconda Command Prompt with administrator privileges. Open Anaconda Launcher/Navigator >> Click on Environments Tab >> Click on the Arrow beside Base >> Click on Open Terminal
  2. Use the commands below:
  1. In order to install a package: pip install <package_name>
  2. In order to install a package of a particular version: pip install <package_name>==<version_number> For Example: pip install numpy==1.11.4
  3. In order to remove a package: pip uninstall <package_name>

[Optional] Install PIP:

In case you wish to install Python and Python packages individually (without installing Anaconda), you will need to install PIP.

PIP is a Python Package manager that allows you to easily install third party Python packages

Install on Windows:

Install on Mac & Linux:

[Optional] Setting up Ubuntu in a Virtual Machine:

Installing Anaconda should be sufficient for a majority of the workshops. However, in case you wish to setup an isolated virtual machine so that your local machine is not affected you can follow the instructions provided here: to setup a virtual machine with the Ubuntu OS.

Things to Remember:

  1. On Windows I get the error ImportError: DLL load failed”, what to do?

Solution: On Windows systems in case you encounter the error ImportError: DLL load failedwhen importing any scientific packages, please follow the instructions and install the Visual C++ Redistributable for Visual Studio 2015 from the link given below;

  1. Which installer should I use 32 bit or 64 bit ?

Solution: The type of installer (32 or 64 bit) depends on the type of Operating System and Hardware you use. If your Operating System is 64 bit, it will require the 64 bit installer, if it’s a 32 bit System, you should download the 32 bit installer.

You can check whether your system is a 32 bit or 64 bit one by following the steps listed in the posts, below:

For Windows:

  1. On Linux when installing Matplotlib manually, please ensure that you have installed the Tkinter system package;
  1. On Debian based system: sudo apt-get install python3-tk
  2. On RPM based system: sudo yum install tkinter

KuttyPy: Learn Microcontrollers with Python (Basic)

Speaker: Jithin B.P.

A detailed tutorial and installation instructions for KuttyPy can be found on the following page

 Requirements: which has detailed instructions and the download link.


Robotics programming with rospy (Basic)

Speaker: Mohit Khandelwal, Akshita Kanojia



Learners are expected to have prior python programming experience. A basic understanding of

robotics will also be helpful.

Robot Operating System (ROS) setup instructions for Ubuntu 16.04 linux environment:

The following set of commands will add ROS Kinetic to system list of software sources,

download and install the ROS packages and set up environment and ROS build tools -

sudo sh -c 'echo "deb $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

sudo apt-key adv --keyserver hkp:// --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

sudo apt-get update

sudo apt-get install ros-kinetic-desktop-full

sudo rosdep init

rosdep update

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc

sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

To verify the installation is successful use the following command

rosversion -d

If you are getting ‘kinetic’ as the output, you are all set with installation.

You can visit for setup instructions on other operating system.

Installation For Ubuntu 18.04: Follow the instructions provided here.

Installation For Other Platforms: Please follow the instructions given here after clicking on the correct Operating System that you use,

Alternatively you can do ROS development on a single web interface using cloud based ROS

Development Studio. To access it in your web browser visit . Create a free account and you

are ready to go.

Simulation of wireless communication system using Python (Intermediate/Advanced)

Speaker: Ashok Govindarajan


Note: Instead of installing the above packages individually, Windows users can instead install the Anaconda IDE

  1. Download the Anaconda installer from here:
  2. Follow the instructions provided here 

After installing the above-mentioned packages, download this python script and run it using the command “python” to check if your installation is successful. The participants can run the given code and check if they are able to get 5 plots and a BER around 0.004545

Note: All participants are requested to download the files present in the following link:

Calculus with Python (Basic)

Speaker: Nishadh K.A


Installation Note:

For Linux:

Before installing Pyclaw, please ensure that you have GFortran (Fortran compiler) installed. If not, you can run the command sudo apt-get install gfortan (for debian systems) and sudo yum install gcc-gfortran (for RPM based system like Fedora/CentOS)

For Windows:

In case you face issues, You can install MinGW and add the binaries to the PATH variable

Note: In case the participants are not able to set up the above libraries on the day of the workshop, a Jupyter Hub instance of workshop material will be hosted. Participants are requested to arrange their own internet connection to access it. The workshop material will be available at It is suggested to go through the workshop material before the actual workshop, in case if there are any new updates.

Animating Science using Python (Basic)

Speaker: Purusharth Saxena, Sharanya Achut

Installation instructions for the workshop

For help with the installation, join the slack channel.

Windows 10

Please follow the video to install manim on Windows machine.

The installation is divided into three parts

  1. Installing System Libraries
  2. Installing manim's python Dependencies
  3. Testing the Installation

1. Installing system libraries

The required system libraries are:

  1. Python 3.7
  2. ffmpeg
  3. Latex
  4. Sox

Installing Python

Download Python: and install it (don't change any of the default options).

Installing ffmpeg

Ffmpeg is used for video, audio, and other multimedia files and streams and is the de-facto open source library for the video rendering/processing. Download ffmpeg: Extract the files in C:\ffmpeg (You will have to create the folder ffmpeg inside C directory)

Note: Typically, the folder for ffmpeg will contain a subfolder named ffmpeg-2019826-.... , cut the contents from inside this folder so that C:\ffmpeg\bin\ is a valid path.

Installing MikTex

Download MikTex from and install it with the default options.

Install SoX 

Download SoX from: and install it with the default options.

Adding to PATH  

Adding to PATH is important so that python, and in turn, manim knows where to look for all the files you just installed. Go to This PC > Right Click > Properties > Advanced System Settings > Environment Variables . Under "User Variables for Admin", click on

Path and press the edit button. Copy Paste the following after pressing new on the pop-up window (you'll have to paste one at a time):

%localappdata%\Programs\Python\Python37\ %localappdata%\Programs\Python\Python37\Scripts\ %localappdata%\Programs\MiKTeX

2.9\miktex\bin\x64\ C:\ffmpeg\bin\ 

After you're done, open up terminal and type python. If you get the python command prompt, that means the installation has been successful (so far). Similarly, type ffmpeg , if you see the ffmpeg version number, then you're good to go. (In any case if you get an error saying

'...' is not recognized as an internal or external command , then something went wrong somewhere and it'll be a good idea to retrace your steps before proceeding further).

2. Installing manim Dependencies

Before we install other manim dependencies, we need to download and install Microsoft C++ Redistributable Library from: These are needed for the scipy library.

Once that is done, download PyCario from: Refer the image below to make sure you've downloaded the correct version.

Finally, navigate to Downloads from the command prompt and do:

pip install pycairo-1.18.1-cp37-cp37m-win-amd64.whl


pip install pycario-1.18.1-cp37-cp37m-win32.whl  

After that, in the command prompt type:

pip install --upgrade setuptools

pip install pyreadline

pip install manimlib

3. Testing the installation

Once that is done, in the same command prompt, type: manim -h If you see something similar to what is shown in the image, it means you're ready for the workshop

Mac OS X Mojave

While installing dependencies on Mac, it'll be more convenient to install the dependencies through homebrew . The installation procedure remains the same except, you'd have to install homebrew if you don't have it already.

Installing Homebrew

Homebrew is a package manager for Mac, it's equivalent to apt/dnf/yum in Ubuntu and Fedora. Open up terminal and paste the following command:

/usr/bin/ruby -e "$(curl -fsSL"

1. Installing System Libraries

Cairo, SoX, ffmpeg

Once the installation for homebrew is completed, use the same terminal to type out the following command one after another:

brew install cairo

brew install sox 

brew install ffmpeg

Installing Latex

Download and install MiKTex from x86_64.dmg

This would be a .dmg file. Drag and drop it to the Applications folder to complete the installation. (For more information on installation instructions:

Installing Python3

Note that all Macs come with Python2 pre-installed. You'll have to explicitly install Python3 Download and install python 3.7.4 form the website:

2. Installing manim

In the terminal type:

pip3 install manimlib pycairo

Testing the installation  

Type manim -h on the terminal and check if you get a help menu.

Common Errors:

If you get an error saying ModuleNotFoundError: No module named 'cairo' Check if you have

pkg-config installed.

Open a new terminal windows and do the following:

1. Install package config: brew instal pkg-config

2. Export path:

export PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"

export LDFLAGS="-L/usr/local/opt/libffi/lib"

Test the installation again and check. If you see a manim help screen, then you're ready for the workshop. 

Linux (Ubuntu/Fedora)


sudo apt install libcairo2-dev ffmpeg sox texlive-full

python3 -m pip install manimlib


sudo dnf install cairo-devel ffmpeg sox texlive-scheme-full

python3 -m pip install manimlib 

Note: If you want to reduce the size of the installation, download and install MikTex. You can drop the texlive-full or texlive-scheme- full if you decide to go for the MiKTex installation.

Testing the installation  

Type manim -h on the Terminal. If you see the help message, then you're ready for the workshop.


Application of Machine Learning in Medical Image Analysis (Intermediate/Advanced)

Speaker: Tanmoy Bandyopadhyay


Preferably participants should be having basic knowledge of Machine Learning (like regression vs. classification, labels, features, loss function, accuracy, training/test/validation set).

Following link can be referred for an overview of Machine Learning:

Following link can be referred to get an overview of “scikit-learn” python module for machine learning:

(It will sufficient to understand the basic steps of using machine learning for classification task like loading data, splitting data in training/test set, getting a model, train (fit) a model, predict using the trained model, measure accuracy.)

A basic overview of “Bag-Of-Words” is also recommended.

Software to be downloaded and installed

Anaconda3-5.2.0-*** (the suffix *** depends on your OS) from the link given below:

After getting Anaconda distribution of Python install “tensorflow” followed by “keras”. Refer the following links:

Interfacing Python with Javascript (Intermediate/Advanced)

Speaker: Michael Droettboom


This workshop will explore how Pyodide can be used to build Python applications that interact with Javascript and Web APIs.

Two worked examples will be explored as a group:

Applied Machine Learning in Python using scikit-learn, mlxtend and pandas (Intermediate/Advanced)

Speaker: Ashita Prasad

Software requirements:

Workshop: Accelerating Data Science & Scientific Computing in Python using Numba (Intermediate/Advanced)

Speaker:  Ankit Mahato


Note: On Linux systems, make sure that you have Tkinter installed

Digital Signal Processing using Python (Intermediate/Advanced)

Speaker: R Senthil Kumar

Note: On Linux systems, Make sure that you have Tkinter installed

Building ML Applications with Gramex (Intermediate/Advanced)

Speaker: Kamlesh Jaiswal, Nivedita Deshmukh

The prerequisites for the Gramex ML workshop are here:

Building an open source voice assistant with Python deepspeech library by Mozilla (Intermediate/Advanced)

Speaker: Ranjith Raj Vasam