### Navigation

- index
- modules |
- modules |
- homepage|
- search|
- documentation »

# SpacePy Dependencies

SpacePy relies on several other pieces of software for complete functionality. Installing SpacePy links to details on installing the required software for each platform.

## Hard Dependencies

Without these packages installed, SpacePy will not function. The standard installer checks for these dependencies and will not install without them.

### Python 2.6+

Python is the core language for SpacePy. Python 2.6 or later is required. SpacePy works under Python 3, but Python 2 is still recommended for most users. Python 3 is not simply a “newer” Python 2; there are substantial differences in the language. See Should I use Python 2 or Python 3?.

### NumPy 1.4+

NumPy provides the high-performance array data structure used throughout SpacePy. Version 1.4 or later is required; 1.6 or later recommended.

### dateutil

If you choose not to install matplotlib, dateutil is required. (Installing matplotlib will fulfill this dependency.)

### C compiler

If you are installing SpacePy from source, a working C compiler is required. (Not necessary for the Windows binary installer.)

## Soft Dependencies

Without these packages, SpacePy will install, but certain features may not be available. Usually an ImportError means a dependency is missing.

These are simply marked as dependencies in SpacePy metadata and thus will be automatically installed when using dependency-resolving methods such as pip.

### SciPy

SciPy provides several useful scientific and numerical functions build on top of NumPy. It is highly recommended. Version 0.7.0 or later should suffice. The following modules may have limited functionality without SciPy:

> - `empiricals`
> - `seapy`
> - `toolbox`

### matplotlib

matplotlib is the preferred plotting package for Python. It is highly recommended. Without it, you will not be able to effectively visualize data, and the following modules may have limited functionality:

> - `data_assimilation`
> - `plot`
> - `poppy`
> - `pybats`
> - `radbelt`
> - `time`
> - `toolbox`

### ffnet

ffnet is a neural network package, required for `LANLstar`. The latest release of ffnet at this writing, 0.7.1, does not support Python 3. We have submitted patches for Python 3 support and they have been integrated into SVN as of r364, so they should be in the next version. In the meantime, users who require Python 3 support will need to install ffnet from a subversion checkout.

### networkx

networkx is a requirement for ffnet, and thus `LANLstar`.

### h5py

h5py provides a Python interface to HDF5 files. It is required for the HDF import/export capability of `datamodel` and for use of the `omni` module.

### CDF

NASA’s CDF library provides access to Common Data Format files. It is required for `pycdf`, and thus for the CDF import/export capability of `datamodel`.

Warning

Unlike the Python-based dependencies, the CDF library must be installed in all cases; it will not be automatically installed.

### Fortran compiler

If installing from source, `irbempy` requires a Fortran compiler. (This is not required for the Windows binary installer). Supported compilers are the GNU compiler `gfortran`, the older GNU compiler `g77`, and the Portland Group PGI compiler.

### Navigation

- index
- modules |
- modules |
- homepage|
- search|
- documentation »