.. _tips: Some general recommendations in the Python ecosystem ==================================================== If you are new to Python, here are some tools you should look into: * The `Interactive Python shell `_ (IPython). It enriches the `REPL `_ interaction with syntax highlighting, tab completion, comprehensive object introspection, input and output history, much more readable stack traces, etc. (see `list of features `_). * `Jupyter `_ and `JupyterLab `_. They bring a Matlab-like notebook-oriented interface which allows for writing high-quality documents with mixture of code, output and Latex/Rich text documentation. These notebooks can be rendered as websites and shared easily. Most noteworthly, they allow interactivity in cells, such as sliders and animations. There is a whole universe to explore once you look for Jupyter notebooks. And you can easily `host your own notebooks in the cloud `_. * The `Python debugger `_ can come in handy in case of errors. With IPython, it's just the four letters ``%pdb`` away. * If you look for plotting, `Matplotlib `_ is the defacto standard. Being part of Scipy, it depends on `Numpy `_, which provides N-dimensional arrays, linear algebra and input/output. When it comes to scientific computing, Numpy got some kind of hub and it's website lists dozens of related projects within all sciences.