.. _python: *************** Python Hints *************** .. _python-three: Dropping support for Python 2.7 -------------------------------- As of Clawpack v5.7.0 we are no longer supporting Python 2.7, and Python 3.x is expected, see :ref:`release_5_7_0`. At this point we believe v5.7.0 still works with Python 2.7, but we are phasing out testing this in the future. This is consistent with the fact that Python 2.7 itself will not be maintained beyond January, 2020, and most package we rely on (e.g. numpy, matplotlib, jupyter) are also ceasing support for Python 2.7, see https://python3statement.org/ Hence we view Clawpack version 5.6.x as the end of the line for Python 2 support (probably 5.6.1 unless there's a strong need to update this further). Clawpack 5.6.x will continue to be available, of course, but in order to take advantage of future improvements to Clawpack (and most other Python packages) we strongly suggest that you start converting all of your codes to work in Python 3 if you haven't already. Often this only requires changing print statements to print functions, but there are a few other changes. See e.g., https://docs.python.org/3/howto/pyporting.html and other online resources discussing the differences between Python 2 and 3. References and tutorials ------------------------ For use with Clawpack, you will need the `Numpy `_ module (*Numerical Python*) that allows working with arrays in much the same way as in Matlab. This is distributed as part of `SciPy `_ (*Scientific Python*). See the `Installing SciPy `_ page for tips installing SciPy and NumPy on various platforms. For plotting you will also need the `matplotlib `_ module which provides Matlab-like plotting commands for 1d and 2d plots (e.g. contour and pcolor plots). Some useful links to get started learning Python: * `NumPy User Guide `_ * `NumPy for Matlab users `_ * `SciPy Reference Guide `_ * `Matplotlib gallery `_ * `LeVeque's class notes `_ Notebooks --------- The `Clawpack Gallery of Jupyter Notebooks `__ contains a number of notebooks with other examples of using Python for Clawpack.