My Swiss army knife of coding tools. Excellent
matrix library, general scientific tools, statistics library,
interoperation with everything else - wraps C, C++, Fortran, comes
with web servers, HTTP clients, parsers and all the other fruits of a thriving
Fast enough, easy to debug, garbage-collected.
If some bit is too slow, you compile it, otherwise, you relax.
An excellent choice if you’d rather get stuff done than write code.
Pro tips for scientific python
Python version management for weird sciency distributions
also use virtual env, which can create different projects within a global python version.
python -m IPython.external.mathjax /path/to/source/mathjax.zip
Basic HTTP server from ipython is unintuitive
For unpredictable asynchrony -
networking, user interactions or any kind of IO there is often an easier option than threads:
greenlets (a.k.a greenthreads/coroutines). I recommend the
gevent package myself, which also monkey patches in some neat concurrency.
No locking woes.
Wacky data structures
- Software carpentry runs a computer-science- and software-engineering-informed scientific computation course in python.
See original: Python