diff --git a/.readthedocs.yaml b/.readthedocs.yaml index b8d19a3a..3f1b2108 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -14,16 +14,14 @@ build: os: ubuntu-24.04 tools: python: "3.13" + jobs: + create_environment: + - asdf plugin add uv + - asdf install uv latest + - asdf global uv latest + install: + - UV_PROJECT_ENVIRONMENT=$READTHEDOCS_VIRTUALENV_PATH uv sync --no-default-groups --group docs # Build documentation in the "docs/" directory with Sphinx sphinx: configuration: docs/conf.py -# Optionally, but recommended, -# declare the Python requirements required to build your documentation -# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html -python: - install: - - method: pip - path: . - extra_requirements: - - docs diff --git a/docs/conf.py b/docs/conf.py index e11c983f..e237dc74 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -96,6 +96,9 @@ } html_theme = "pydata_sphinx_theme" +html_theme_options = { + "header_links_before_dropdown": 4, +} html_static_path = ["_static"] html_css_files = ["custom.css"] diff --git a/docs/index.rst b/docs/index.rst index bebf1355..7bf67926 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -28,8 +28,9 @@ User Guide :maxdepth: 1 Examples + Changelog + Contributing Guide + Complete OMNI variables SuperMAG electrojet indices SuperMAG substorm-onset catalogues - Changelog - Contributing Guide diff --git a/docs/requirements.txt b/docs/requirements.txt deleted file mode 100644 index a3435335..00000000 --- a/docs/requirements.txt +++ /dev/null @@ -1,15 +0,0 @@ -# SPDX-FileCopyrightText: 2025 GFZ Helmholtz Centre for Geosciences -# -# SPDX-License-Identifier: Apache-2.0 - -sphinx-copybutton -sphinx-github-changelog -sphinx -pydata-sphinx-theme -myst-parser -alabaster -docutils -imagesize -numpydoc -linkify-it-py -nbsphinx \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 74f5182f..50c0281f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -47,11 +47,10 @@ dependencies = [ "wget>=3.2", "xarray>=2024.10", ] -dynamic = ["optional-dependencies", "version"] +dynamic = ["version"] [tool.setuptools.dynamic] version = { attr = "swvo.__version__" } -optional-dependencies.docs = { file = ["docs/requirements.txt"] } [project.urls] Homepage = "https://github.com/GFZ/SWVO" @@ -137,3 +136,16 @@ dev = [ "pytest>=9.0.2", "pytest-mock>=3.15.1", ] +docs = [ + "sphinx-copybutton", + "sphinx-github-changelog", + "sphinx", + "pydata-sphinx-theme", + "myst-parser", + "alabaster", + "docutils", + "imagesize", + "numpydoc", + "linkify-it-py", + "nbsphinx", +] diff --git a/swvo.def b/swvo.def index ef2ed190..5a6a7416 100644 --- a/swvo.def +++ b/swvo.def @@ -15,7 +15,6 @@ From: astral/uv:python3.12-bookworm-slim swvo /opt/swvo/ pyproject.toml /opt/swvo/ uv.lock /opt/swvo/ - docs/requirements.txt /opt/swvo/docs/requirements.txt download_daily_files.py /opt/swvo/ %environment diff --git a/uv.lock b/uv.lock index 215d7f04..c6cd7af2 100644 --- a/uv.lock +++ b/uv.lock @@ -3887,7 +3887,18 @@ dependencies = [ { name = "xarray" }, ] -[package.optional-dependencies] +[package.dev-dependencies] +dev = [ + { name = "coverage" }, + { name = "ipykernel" }, + { name = "ipywidgets" }, + { name = "pre-commit" }, + { name = "pytest" }, + { name = "pytest-mock" }, + { name = "reuseify" }, + { name = "ruff" }, + { name = "ty" }, +] docs = [ { name = "alabaster" }, { name = "docutils" }, @@ -3903,53 +3914,28 @@ docs = [ { name = "sphinx-github-changelog" }, ] -[package.dev-dependencies] -dev = [ - { name = "coverage" }, - { name = "ipykernel" }, - { name = "ipywidgets" }, - { name = "pre-commit" }, - { name = "pytest" }, - { name = "pytest-mock" }, - { name = "reuseify" }, - { name = "ruff" }, - { name = "ty" }, -] - [package.metadata] requires-dist = [ - { name = "alabaster", marker = "extra == 'docs'" }, { name = "astropy", specifier = ">=7.2.0" }, { name = "beautifulsoup4" }, { name = "csem-midl", specifier = ">=1.1.2" }, { name = "distance", specifier = ">=0.1.3" }, - { name = "docutils", marker = "extra == 'docs'" }, { name = "icecream", specifier = ">=2.1.10" }, - { name = "imagesize", marker = "extra == 'docs'" }, - { name = "linkify-it-py", marker = "extra == 'docs'" }, { name = "mat73", specifier = ">=0.65" }, { name = "matplotlib", specifier = ">=3.10" }, - { name = "myst-parser", marker = "extra == 'docs'" }, - { name = "nbsphinx", marker = "extra == 'docs'" }, { name = "netcdf4", specifier = ">=1.7.2" }, { name = "numpy", specifier = ">=2.2" }, - { name = "numpydoc", marker = "extra == 'docs'" }, { name = "pandas", specifier = ">=2.3" }, - { name = "pydata-sphinx-theme", marker = "extra == 'docs'" }, { name = "python-dateutil" }, { name = "requests", specifier = ">=2.32.5" }, { name = "rich" }, { name = "richpool" }, { name = "scipy", specifier = ">=1.15" }, - { name = "sphinx", marker = "extra == 'docs'" }, - { name = "sphinx-copybutton", marker = "extra == 'docs'" }, - { name = "sphinx-github-changelog", marker = "extra == 'docs'" }, { name = "sunpy", specifier = ">=7.0.5" }, { name = "tqdm", specifier = ">=4.67.3" }, { name = "wget", specifier = ">=3.2" }, { name = "xarray", specifier = ">=2024.10" }, ] -provides-extras = ["docs"] [package.metadata.requires-dev] dev = [ @@ -3963,6 +3949,19 @@ dev = [ { name = "ruff" }, { name = "ty" }, ] +docs = [ + { name = "alabaster" }, + { name = "docutils" }, + { name = "imagesize" }, + { name = "linkify-it-py" }, + { name = "myst-parser" }, + { name = "nbsphinx" }, + { name = "numpydoc" }, + { name = "pydata-sphinx-theme" }, + { name = "sphinx" }, + { name = "sphinx-copybutton" }, + { name = "sphinx-github-changelog" }, +] [[package]] name = "tenacity"