# Python

## Contents

## Python

Python is a popular scripting language. It is on the top 5 of the TIOBE index, and is very popular in scientific computing, in some fields more popular than commercial platforms like Matlab or Mathematica.

### Installation

- The MPR module uses Anaconda. This is a distribution which supplies a full scientific programming environment. There is a local mirror of that here. Use Anaconda3.
- For "serious" programming in Python, we recommend PyCharm as an IDE. You can get an academic license with your UP e-mail address.

#### Python 2 vs Python 3

Python 3 came out in 2008. You should not use it.

### Scientific computing

Numeric calculations are done using the NumPy or SciPy modules. Here is a handy starting point for someone used to Matlab/Octave to get into NumpPy/Scipy.

- Numpy/SciPy for Matlab/Octave users. Like a Rosetta stone.
- More detailed SciPy lectures

Plotting is done using the matplotlib library. The website contains documentation as well as a large gallery of examples.

The SciPy website also has a lot of examples in their Cookbook. Topical ones include

The department also maintains a small cookbook notebook.

### Symbolic computing

The sympy module is a very capable symbolic module for Python. It plays well with the IPython notebook

### Extra modules useful to chemical engineers

- CoolProp is a properties database. It is a thermo-physical property database with properties of many common pure substances. It has a python package as well as an Excel add-in.
- Thermo facilitates the retrieval of constants of chemicals, the calculation of temperature and pressure dependent chemical properties (both thermodynamic and transport), the calculation of the same for chemical mixtures (including phase equilibria), and assorted information of a regulatory or legal nature about chemicals.
- Fluids is open-source software for engineers and technicians working in the fields of chemical, mechanical, or civil engineering. It includes modules for piping, fittings, pumps, tanks, compressible flow, open-channel flow, and more.