========================================================================
= An Introduction to Scientific Python: Fast Hands-On Tutorials        =
= SAMSI/NCSU, May 14-19, 2017.                                         =
= -------------------------------------------------------------------- =
= Please follow the instructions below to by ready for our tutorials,  =
= before you arrive at the Workshop in SAMSI/NCSU.                     =
========================================================================
**   Optimally, your laptop should be ready with Linux or Mac-OS.     **
========================================================================

We will mainly use Python 2.7, <and optionally Python 3.4 (or 3.6)>, 
   with the following packages:
   - IPython
   - Numpy
   - Scipy
   - Matplotlib
   - Scikit-learn
   - Gfortran compiler

If you are a Mac or a Linux user, 





======================================================================================================
                                            macOS Users
======================================================================================================

You may find it inconvenient to install Anaconda, you can just do the following:
Python is built in the system;

* Open a command windo (Terminal),

1- Check if Python is installed:
    - To check the path of the defaul Python on your system; type:
        $ which python
    - To check the python version; either run python:
        $ python
      you can quit by typing quit()
    - If you can't find Python installed on your system, you can install the latest Python 2. as follows:
        $ brew install python


2- check or install pip
    - if you have just installed python, most likely you got pip installed. to check, run any of the following commands:
        $ which pip
        $ pip -V
    - if pip is not installed (the previous messages give an empty line or an error), install pip:
        $ easy_install pip

2- Install the python packages we will use:
    - run the following commands:
        $ pip install numpy scipy matplotlib pandas ipython jupyter
        $ pip install scikit-learn

======================================================================================================




======================================================================================================
                                            Linux Users
======================================================================================================

Python (2.*) is built in the system;

* Open a command windo (Terminal),

1- check or install pip
    - To check, run any of the following commands:
        $ which pip
        $ pip -V
    - if pip is not installed (the previous messages give an empty line or an error), install pip:
        [Ubuntu, ...]         -> $ sudo apt-get install pip 
        [Fedora, CentOS, ...] -> $ sudo yum install pip
    
2- Install the python packages we will use:
    - run the following commands:
        $ sudo pip install numpy scipy matplotlib pandas ipython
        $ sudo pip install scikit-learn

======================================================================================================





======================================================================================================
                                            Windows Users
======================================================================================================

A very convenient way to have all these installed on different
   platforms (Win, Mac, Linux), is via Anaconda.
Anaconda enables running multiple environments simultaneously.
It also automatically installs all the packages we need,
   and makes it easy to add more packages.

Please Do the following before the day of the workshop:
--------------------------------------------------------
1- Installation:
   a) Goto: https://conda.io/docs/install/full.html
   b) Follow the instructions corresponding to your operating system,
   c) Click the link referring to <Anaconda Installer>,
   d) Download the Python 2.7 installer; this will set Python 2.7
      interpreter as default.
   e) Finish the installation of Anaconda.

2- Create Anaconda Environments:
   Now, you have Python 2.7, Ipython, Jupyter, Numpy, Scipy, etc.
   We want to have access to Python 3.6 as well.
   a) Open Anaconda Navigator on your system (Application)
   b) On the left, Select Environment; you will see "root >"
      as the main environment,
   c) Click "Create" at the bottom of the middle tab, to create
      a new environment,
   d) Name the environment, e.g. "Conda_36", and choose the Python
      version 3.6, then click "Create".

3- Prepare Ipython, and Jupyter:
   a) Click "Home" on the left panel of Anaconda Navigator,
   b) You should have two environments installed
      (check the dropdown menu at the top of the middle panel),
      'root', and 'Conda_36',
   c) If you made Python 2.7, your default environment
      (as suggested above), then choose the environment "Conda_36",
   d) Install IPython IP[y]: qtconsole,
   e) Install IPython Jupyter notebook,

4- Install a text editor,
   You will need a text editor to create Python scripts.
   You can use NotePad, Vim, emacs, gedit, etc.
   However, it is recommended that we all use the same platform.
   We will use Atom as our main text editor.
   - To download and install Atom, please go to https://atom.io/,
     and follow the instructions to get installed on your system.
   - Optionally, try to install the following packages in Atom:
     a) atom-beautify
     b) autocomplete-python

======================================================================================================
NOTE:
-----
DATeS is not designed for Windows, but I am currently working on making it fully functional for 
windows OS so that participants who don't have access to linux or macOS can use it during the workshop!

======================================================================================================



--------------------------------------------------------
If you face any difficulties, or have any question,
shoot me an email:
Ahmed: attia@samsi.info
--------------------------------------------------------