SciTools is a Python package containing lots of useful tools for scientific computing in Python. The package is built on top of other widely used packages such as NumPy, SciPy, ScientificPython, Gnuplot, Matplotlib, VTK, and others. SciTools can be downloaded from code.google.com/p/scitools.
The SciTools package contains a lot of modules:
- easyviz: package for unified Matlab-like plotting syntax
- basics: imports from numpy, scipy, scitools.numpyutils
- std: imports of basics and easyviz
- misc: many non-numerical convenience functions
- numpyutils: many numerical convenience functions
- StringFunction: turns string formulas into callable functions
- configdata: user-friendly access to Python config files
- filetable: read/write tabular data in files into/from arrays
- debug: useful functions for debugging
- pprint2: improvement of pprint for formatting control of floats
- multipleloop: makes a loop from all combinations of a set of parameters
- EfficiencyTable: nice table report from efficiency experiments
- globaldata: holds all global data in the scitools package
- sound: tools for easy sound generation and manipulation
- aplotter: curve plotting in pure ASCII
- Lumpy: visualization of the data structures in a Python program
Some modules and classes are closely related to and explained in the text in the book “Python Scripting for Computational Science”, by H. P. Langtangen, 3rd edition, 2nd printing, Springer, 2009:
- NumPyDB: a simple database for holding NumPy arrays
- Regression: module for performing regression tests (also with floats)
- CanvasCoord: transformations between canvas and physical coordinates
- DrawFunction: enables users to draw a function (in Pmw.Blt plotting widget)
- FunctionSelector: Tk/Pmw-based widgets for selecting functions
- FuncDependenceViz: visualization of how functions vary with parameters
- ParameterInterface: a simplified GUI generator for simulation programs
- PrmDictBase: module for holding parameters in simulation programs
See the different modules for more detailed information.
The most convenient SciTools import statement reads:
from scitools.std import *
This statement imports from numpy, scipy (if available), scitools.numpyutils (many numerical convenince functions), and all Easyviz plotting capabilities. (See the documentation of scitools.std for a precise list of imports implied by the above statement.)
Many programmers prefer to avoid the “star import” above, which has the disadvantage of filling up the global namespace with a large number of names. The key import statement is then:
import scitools.std as st
All functions and modules must then be prefixed by st: st.float_eq, st.StringFunction, st.plot, etc.