Scikit-Sparse (sksparse)
February 11, 2026 · View on GitHub
.. start-badges
.. image:: https://img.shields.io/github/v/release/scikit-sparse/scikit-sparse :target: https://github.com/scikit-sparse/scikit-sparse/releases/latest :alt: Latest GitHub release
.. image:: https://img.shields.io/pypi/v/scikit-sparse :target: https://pypi.org/project/scikit-sparse/ :alt: Latest PyPI release
.. image:: https://img.shields.io/conda/vn/conda-forge/scikit-sparse :target: https://anaconda.org/conda-forge/scikit-sparse :alt: Latest conda-forge release
.. image:: https://github.com/scikit-sparse/scikit-sparse/actions/workflows/ci-dev.yml/badge.svg?branch=dev :target: https://github.com/scikit-sparse/scikit-sparse/actions/workflows/ci-dev.yml :alt: CI Status
.. image:: https://readthedocs.org/projects/scikit-sparse/badge/?version=latest :target: https://scikit-sparse.readthedocs.io/en/latest/
.. end-badges
======================== Scikit-Sparse (sksparse)
The scikit-sparse package is a companion to the scipy.sparse <scipy_sparse_>_ package for sparse matrix manipulation in Python. It provides
routines that are not suitable for inclusion in scipy.sparse <scipy_sparse_>_
proper, typically because they depend on external libraries with
GPL licenses, such as SuiteSparse <suitesparse_website_>_.
For more details on usage see the docs <sksparse_docs_>.
To upgrade from scikit-sparse v0.4.16 to v0.5.0, see Upgrading to v0.5.0 <sksparse_upgrading_>.
.. _upstream_repo: https://github.com/scikit-sparse/scikit-sparse .. _upstream_docs: https://scikit-sparse.readthedocs.io .. _scipy_sparse: https://docs.scipy.org/doc/scipy/reference/sparse.html .. _suitesparse_website: https://people.engr.tamu.edu/davis/suitesparse.html .. _sksparse_docs: https://scikit-sparse.readthedocs.org .. _sksparse_upgrading: https://scikit-sparse.readthedocs.org/en/latest/changes.html#upgrading-from-v0-4-x
.. start-installation
Requirements
Installing scikit-sparse requires:
Python <http://python.org/>_ >= 3.10NumPy <http://numpy.org/>_ >= 2.0SciPy <http://scipy.org/>_ >= 1.14Cython <http://www.cython.org/>_ >= 3.0SuiteSparse <suitesparse_website_>_ >= 7.4.0
Older versions may work but are untested.
Installation
Installing SuiteSparse ++++++++++++++++++++++
To install scikit-sparse, you need to have the SuiteSparse <suitesparse_website_>_ library installed on your system.
It is recommended that you install SuiteSparse and the scikit-sparse dependencies in a virtual environment, to avoid conflicts with other packages. We recommend using Anaconda::
$ conda create -n scikit-sparse python>=3.10 suitesparse
$ conda activate scikit-sparse
If you are not using Anaconda, you can install SuiteSparse using your preferred package manager.
On MacOS, you can use Homebrew <http://brew.sh>_::
$ brew install suite-sparse
On Debian/Ubuntu systems, use the following command::
$ sudo apt-get install python-scipy libsuitesparse-dev
On Arch Linux, run::
$ sudo pacman -S suitesparse
Installing Scikit-Sparse ++++++++++++++++++++++++
Once you have SuiteSparse installed, you can install scikit-sparse with::
$ conda install -c conda-forge scikit-sparse
or if you prefer to use pip, you can install it with::
$ pip install scikit-sparse
Check if the installation was successful by running the following command::
$ python -c "import sksparse; print(sksparse.__version__)"
.. end-installation
See Troubleshooting <docs_trouble_>_ for more information on determining
which SuiteSparse library is being used.
.. _docs_trouble: https://scikit-sparse.readthedocs.io/en/latest/overview.html#troubleshooting
Copyright © 2009–2025, the scikit-sparse developers <docs_dev_>_.
.. _docs_dev: https://scikit-sparse.readthedocs.io/en/latest/overview.html#developers