diff --git a/doc/_static/zenodo_cache/16644850.svg b/doc/_static/zenodo_cache/16644850.svg
new file mode 100644
index 000000000000..89910032da4e
--- /dev/null
+++ b/doc/_static/zenodo_cache/16644850.svg
@@ -0,0 +1,35 @@
+
\ No newline at end of file
diff --git a/doc/index.rst b/doc/index.rst
index 74a183d6cd7b..c5b25b6d37aa 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -14,59 +14,12 @@ and interactive visualizations.
Install
=======
-.. tab-set::
- :class: sd-width-content-min
+.. include:: install/quick_install.inc.rst
- .. tab-item:: pip
+.. toctree::
+ :hidden:
- .. code-block:: bash
-
- pip install matplotlib
-
- .. tab-item:: conda
-
- .. code-block:: bash
-
- conda install -c conda-forge matplotlib
-
- .. tab-item:: pixi
-
- .. code-block:: bash
-
- pixi add matplotlib
-
- .. tab-item:: uv
-
- .. code-block:: bash
-
- uv add matplotlib
-
- .. warning::
-
- If you install Python with ``uv`` then the ``tkagg`` backend
- will not be available because python-build-standalone (used by uv
- to distribute Python) does not contain tk bindings that are usable by
- Matplotlib (see `this issue`_ for details). If you want Matplotlib
- to be able to display plots in a window, you should install one of
- the other :ref:`supported GUI frameworks `,
- e.g.
-
- .. code-block:: bash
-
- uv add matplotlib pyside6
-
- .. _this issue: https://github.com/astral-sh/uv/issues/6893#issuecomment-2565965851
-
- .. tab-item:: other
-
- .. rst-class:: section-toc
- .. toctree::
- :maxdepth: 2
-
- install/index
-
-For more detailed instructions, see the
-:doc:`installation guide `.
+ install/index
Learn
=====
diff --git a/doc/install/index.rst b/doc/install/index.rst
index 2d9e724e6a73..eb5e02f98868 100644
--- a/doc/install/index.rst
+++ b/doc/install/index.rst
@@ -5,6 +5,9 @@
Installation
************
+.. include:: quick_install.inc.rst
+
+.. _install-official:
Install an official release
===========================
@@ -35,6 +38,7 @@ precompiled wheel for your OS and Python.
animations and a larger selection of file formats, you can
install :ref:`optional dependencies `.
+.. _install-third-party:
Third-party distributions
=========================
@@ -81,7 +85,7 @@ you can install Matplotlib via your package manager, e.g.:
.. redirect-from:: /users/installing/installing_source
-.. _install_from_source:
+.. _install-nightly-build:
Install a nightly build
=======================
@@ -101,6 +105,7 @@ scientific-python-nightly-wheels as the package index to query:
--extra-index-url https://pypi.org/simple \
matplotlib
+.. _install-source:
Install from source
===================
diff --git a/doc/install/quick_install.inc.rst b/doc/install/quick_install.inc.rst
new file mode 100644
index 000000000000..2e75b332f6ed
--- /dev/null
+++ b/doc/install/quick_install.inc.rst
@@ -0,0 +1,54 @@
+.. set of quick install commands for reuse across docs
+
+.. tab-set::
+ :class: sd-width-content-min
+
+ .. tab-item:: pip
+
+ .. code-block:: bash
+
+ pip install matplotlib
+
+ .. tab-item:: conda
+
+ .. code-block:: bash
+
+ conda install -c conda-forge matplotlib
+
+ .. tab-item:: pixi
+
+ .. code-block:: bash
+
+ pixi add matplotlib
+
+ .. tab-item:: uv
+
+ .. code-block:: bash
+
+ uv add matplotlib
+
+ .. warning::
+
+ If you install Python with ``uv`` then the ``tkagg`` backend
+ will not be available because python-build-standalone (used by uv
+ to distribute Python) does not contain tk bindings that are usable by
+ Matplotlib (see `this issue`_ for details). If you want Matplotlib
+ to be able to display plots in a window, you should install one of
+ the other :ref:`supported GUI frameworks `,
+ e.g.
+
+ .. code-block:: bash
+
+ uv add matplotlib pyside6
+
+ .. _this issue: https://github.com/astral-sh/uv/issues/6893#issuecomment-2565965851
+
+ .. tab-item:: other
+
+ :ref:`install-official`
+
+ :ref:`install-third-party`
+
+ :ref:`install-nightly-build`
+
+ :ref:`install-source`
diff --git a/doc/project/citing.rst b/doc/project/citing.rst
index 8b4c323229ca..249f568625db 100644
--- a/doc/project/citing.rst
+++ b/doc/project/citing.rst
@@ -32,6 +32,9 @@ By version
.. START OF AUTOGENERATED
+v3.10.5
+ .. image:: ../_static/zenodo_cache/16644850.svg
+ :target: https://doi.org/10.5281/zenodo.16644850
v3.10.3
.. image:: ../_static/zenodo_cache/15375714.svg
:target: https://doi.org/10.5281/zenodo.15375714
diff --git a/doc/users/getting_started/index.rst b/doc/users/getting_started/index.rst
index ac896687979d..dfbbd615b5cd 100644
--- a/doc/users/getting_started/index.rst
+++ b/doc/users/getting_started/index.rst
@@ -4,26 +4,7 @@ Getting started
Installation quick-start
------------------------
-.. grid:: 1 1 2 2
-
- .. grid-item::
-
- Install using `pip `__:
-
- .. code-block:: bash
-
- pip install matplotlib
-
- .. grid-item::
-
- Install using `conda `__:
-
- .. code-block:: bash
-
- conda install -c conda-forge matplotlib
-
-Further details are available in the :doc:`Installation Guide `.
-
+.. include:: /install/quick_install.inc.rst
Draw a first plot
-----------------
diff --git a/tools/cache_zenodo_svg.py b/tools/cache_zenodo_svg.py
index 229e90efeb34..59d6fce55162 100644
--- a/tools/cache_zenodo_svg.py
+++ b/tools/cache_zenodo_svg.py
@@ -63,6 +63,7 @@ def _get_xdg_cache_dir():
if __name__ == "__main__":
data = {
+ "v3.10.5": "16644850",
"v3.10.3": "15375714",
"v3.10.1": "14940554",
"v3.10.0": "14464227",