diff --git a/doc/source/conf.py b/doc/source/conf.py index 149fa6f5..f0f35400 100755 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -36,6 +36,7 @@ extensions = [ "sphinx_design", "sphinx_copybutton", + "sphinxcontrib.mermaid", ] html_context = { @@ -101,6 +102,7 @@ # Ignore certain URLs linkcheck_ignore = [ r"https://www.ansys.com/.*", + rf"https://pypi.org/project/pyansys/{switcher_version}.*", ] # User agent diff --git a/doc/source/index.rst b/doc/source/index.rst index 995e41c3..620f8a9a 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -13,6 +13,7 @@ it is now a collection of many Python packages for using Ansys products through user_guide api examples + supported_versions tools/index .. grid:: 3 diff --git a/doc/source/supported_versions.rst b/doc/source/supported_versions.rst new file mode 100644 index 00000000..7021b79e --- /dev/null +++ b/doc/source/supported_versions.rst @@ -0,0 +1,60 @@ +.. _supported_versions: + +Python versions +=============== + +The PyAnsys ecosystem follows `SPEC-0`_ for Python version support, +which is also similar to `NEP 29`_. This means: + +* PyAnsys packages are expected to drop support for Python versions **3 years** after their + initial release. + +You can find below the timeline for the end of support for each Python version according to the SPEC-0 policy +as well as a table showing the Python versions supported by each PyAnsys metapackage, which might slightly +differ from the SPEC-0 policy but is always aligned with it. + +* Grayed out Python versions are no longer supported by the current version of the PyAnsys metapackage. +* Light blue Python versions are currently supported. +* Dark blue Python versions are upcoming Python releases for which support is expected in the future. + +.. mermaid:: + :caption: Python versions supported by SPEC-0 policy (red line) and PyAnsys Python versions supported (color coded) + :alt: Python versions supported by SPEC-0 policy (red line) and PyAnsys Python versions supported (color coded) + :align: center + + gantt + dateFormat YYYY-MM-DD + axisFormat %Y-%m + Python 3.7 :done, des1, 2018-06-27, 3y + Python 3.8 :done, des2, 2019-10-14, 3y + Python 3.9 :active, des3, 2020-10-05, 3y + Python 3.10 :active, des4, 2021-10-04, 3y + Python 3.11 :active, des5, 2022-10-24, 3y + Python 3.12 :active, des6, 2023-10-02, 3y + Python 3.13 : des7, 2024-10-01, 3y + +Below you can find a list of the Python versions supported by each PyAnsys metapackage release: + ++-----------------+----------------------------+ +| Package version | Python versions supported | ++=================+============================+ +| `2023.1`_ | Python 3.7 - Python 3.10 | ++-----------------+----------------------------+ +| `2023.2`_ | Python 3.8 - Python 3.11 | ++-----------------+----------------------------+ +| `2024.1`_ | Python 3.9 - Python 3.12 | ++-----------------+----------------------------+ +| `2024.2`_ | Python 3.9 - Python 3.12 | ++-----------------+----------------------------+ +| `development`_ | Python 3.9 - Python 3.12 | ++-----------------+----------------------------+ + + +.. LINKS +.. _SPEC-0: https://scientific-python.org/specs/spec-0000/ +.. _NEP 29: https://numpy.org/neps/nep-0029-deprecation_policy.html +.. _2023.1: https://pypi.org/project/pyansys/2023.1.3/ +.. _2023.2: https://pypi.org/project/pyansys/2023.2.11/ +.. _2024.1: https://pypi.org/project/pyansys/2024.1.8/ +.. _2024.2: https://pypi.org/project/pyansys/2024.2.0b2/ +.. _development: https://github.com/ansys/pyansys \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 7dfeb594..3601734d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -93,7 +93,13 @@ all = [ "pyansys-tools-versioning==0.5.0", "pyansys-tools-variableinterop==0.1.1", ] -doc = ["Sphinx==7.2.6", "ansys-sphinx-theme==0.16.6", "sphinx-copybutton==0.5.2", "sphinx-design==0.6.0"] +doc = [ + "Sphinx==7.3.7", + "ansys-sphinx-theme==0.16.6", + "sphinx-copybutton==0.5.2", + "sphinx-design==0.6.0", + "sphinxcontrib-mermaid==0.9.2", +] [project.urls] Source = "https://github.com/ansys/pyansys"