Python versions and dependencies#

DIPY follows the Scientific Python SPEC 0 — Minimum Supported Versions recommendation as closely as possible. SPEC 0 defines the minimum supported versions of Python and core dependencies based on their release dates.

Further information can be found in 🛠️ Toolchain Roadmap.

Dependencies#

Core dependencies (required)#

DIPY depends on the following third-party Python packages:

  • numpy - numerical computation and array operations

  • scipy - mathematical and scientific operations

  • cython - performance-critical compiled extensions

  • nibabel - reading and writing neuroimaging file formats

  • h5py - handling large datasets in HDF5 formats

  • tqdm - progress bars for long-running operations

  • trx-python - tractography file format support

Optional dependencies#

The following packages are optional but enable additional features:

  • fury - 3D visualisation of imaging data

  • matplotlib - scientific plotting and 2D visualisation

  • ipython - interactive computing and code exploration

Module-specific dependencies#

The following packages are required only for specific DIPY modules:

  • cvxpy - convex optimization (required for some reconstruction models)

  • scikit-learn - machine learning utilities

  • statsmodels - statistical analysis

  • pandas - data manipulation and analysis

  • tensorflow - deep learning models