Scientific computing¶
Zeb’s list of important tools¶
Development tools¶
This list of development tools is what Zeb relies on to develop scientific software reliably and reproducibly. Links are included with each of these tools to useful starting points.
Version control: Git
Automating repetitive tasks: Make
Virtual environments: Conda virtual environments
note the common gotcha that
source activate
has now changed toconda activate
we use conda instead of pure pip environments because they help us deal with more complicated dependencies: if you want to learn more about pip and pip virtual environments, check out:
- this introduction
- this longer piece which explains the details
Tests: many available frameworks, here’s a link to testing intro that Zeb likes
- most of the time, a blend of pytest and the inbuilt Python testing capabilities works
-
- Travis CI is a good choice but there are a number of good providers
-
- simply installing
jupyter
(conda install jupyter
) in your virtual environment is as good a way as any
- simply installing
Other tools¶
Other tools also exist which are useful but not necessarily essential and not necessarily related to development. Here we provide a list of these along with useful resources.
-
- regex101.com to helps write and check regular expressions, make sure the language is set to Python to make your life easy!