Skip to content

Commit 5873667

Browse files
committed
Chore - Clean Documentation (#32)
* Pin uv_build version * Remove 'default-group="all"' option and set minimum Python version for docs to 3.12 * Clean docs/conf.py * Bump pydata-sphinx-theme version to 0.17.0 and add sphinx-autobuild to docs dependency group * Fix source path in docs/conf.py * Create justfile and upgrade dependencies Add a justfile * Update the developer documentation * Fix the disappearance of the PyPI icon after the upgrade of Pydata Sphinx theme * Bump pytest-cov version up to 7.1.0 * Bump setup-uv action up to v8.1.0
1 parent c8a2657 commit 5873667

11 files changed

Lines changed: 672 additions & 544 deletions

File tree

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
- uses: actions/checkout@v6
2121

2222
- name: Setup uv
23-
uses: astral-sh/setup-uv@v8.0.0
23+
uses: astral-sh/setup-uv@v8.1.0
2424
with:
2525
activate-environment: true
2626
python-version: ${{ matrix.python-version }}

.github/workflows/pre-release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
- uses: actions/checkout@v6
2020

2121
- name: Install the latest version of uv
22-
uses: astral-sh/setup-uv@v8.0.0
22+
uses: astral-sh/setup-uv@v8.1.0
2323

2424
- name: Install dependencies
2525
run: uv sync

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
- uses: actions/checkout@v6
1919

2020
- name: Install the latest version of uv
21-
uses: astral-sh/setup-uv@v8.0.0
21+
uses: astral-sh/setup-uv@v8.1.0
2222

2323
- name: Install dependencies
2424
run: uv sync

docs/_static/custom-icons.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
FontAwesome.library.add(
2+
/**
3+
* Custom icon definitions
4+
*
5+
* see https://pydata-sphinx-theme.readthedocs.io/en/latest/user_guide/header-links.html#svg-image-icons
6+
*/
7+
{
8+
prefix: "fa-custom",
9+
iconName: "pypi",
10+
icon: [
11+
17.313,
12+
19.807,
13+
[],
14+
"e001",
15+
// https://simpleicons.org/icons/pypi.svg
16+
"m10.383 0.2-3.239 1.1769 3.1883 1.1614 3.239-1.1798zm-3.4152 1.2411-3.2362 1.1769 3.1855 1.1614 3.2369-1.1769zm6.7177 0.00281-3.2947 1.2009v3.8254l3.2947-1.1988zm-3.4145 1.2439-3.2926 1.1981v3.8254l0.17548-0.064132 3.1171-1.1347zm-6.6564 0.018325v3.8247l3.244 1.1805v-3.8254zm10.191 0.20931v2.3137l3.1777-1.1558zm3.2947 1.2425-3.2947 1.1988v3.8254l3.2947-1.1988zm-8.7058 0.45739c0.00929-1.931e-4 0.018327-2.977e-4 0.027485 0 0.25633 0.00851 0.4263 0.20713 0.42638 0.49826 1.953e-4 0.38532-0.29327 0.80469-0.65542 0.93662-0.36226 0.13215-0.65608-0.073306-0.65613-0.4588-6.28e-5 -0.38556 0.2938-0.80504 0.65613-0.93662 0.068422-0.024919 0.13655-0.038114 0.20156-0.039466zm5.2913 0.78369-3.2947 1.1988v3.8247l3.2947-1.1981zm-10.132 1.239-3.2362 1.1769 3.1883 1.1614 3.2362-1.1769zm6.7177 0.00213-3.2926 1.2016v3.8247l3.2926-1.2009zm-3.4124 1.2439-3.2947 1.1988v3.8254l3.2947-1.1988zm-6.6585 0.016195v3.8275l3.244 1.1805v-3.8254zm16.9 0.21143-3.2947 1.1988v3.8247l3.2947-1.1981zm-3.4145 1.2411-3.2926 1.2016v3.8247l3.2926-1.2009zm-3.4145 1.2411-3.2926 1.2016v3.8247l3.2926-1.2009zm-3.4124 1.2432-3.2947 1.1988v3.8254l3.2947-1.1988zm-6.6585 0.019027v3.8247l3.244 1.1805v-3.8254zm13.485 1.4497-3.2947 1.1988v3.8247l3.2947-1.1981zm-3.4145 1.2411-3.2926 1.2016v3.8247l3.2926-1.2009zm2.4018 0.38127c0.0093-1.83e-4 0.01833-3.16e-4 0.02749 0 0.25633 0.0085 0.4263 0.20713 0.42638 0.49826 1.97e-4 0.38532-0.29327 0.80469-0.65542 0.93662-0.36188 0.1316-0.65525-0.07375-0.65542-0.4588-1.95e-4 -0.38532 0.29328-0.80469 0.65542-0.93662 0.06842-0.02494 0.13655-0.03819 0.20156-0.03947zm-5.8142 0.86403-3.244 1.1805v1.4201l3.244 1.1805z",
17+
],
18+
},
19+
);

docs/_static/pypi-icon.js

Lines changed: 0 additions & 18 deletions
This file was deleted.

docs/conf.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
import tomllib
55

6-
sys.path.insert(0, os.path.abspath(".."))
6+
sys.path.insert(0, os.path.abspath("../src"))
77

88
# Configuration file for the Sphinx documentation builder.
99
#
@@ -23,7 +23,7 @@
2323
# General configuration
2424
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
2525

26-
extensions = ["numpydoc", "pydata_sphinx_theme", "sphinx.ext.intersphinx"]
26+
extensions = ["numpydoc", "sphinx.ext.intersphinx"]
2727
templates_path = ["_templates"]
2828
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
2929

@@ -50,7 +50,7 @@
5050

5151
html_theme = "pydata_sphinx_theme"
5252
html_static_path = ["_static"]
53-
html_js_files = ["pypi-icon.js"]
53+
html_js_files = [("custom-icons.js", {"defer": "defer"})]
5454
html_sidebars = {"usage": [], "dev": []}
5555
html_theme_options = {
5656
"icon_links": [

docs/dev.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,4 @@ This project is built and published using `uv <https ://docs.astral.sh/uv>`__.
4444

4545
.. code:: shell
4646
47-
uv export --group docs --no-hashes > docs/requirements.txt
47+
uv export --no-hashes --no-dev --group docs --output-file docs/requirements.txt

docs/requirements.txt

Lines changed: 58 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -1,152 +1,113 @@
11
# This file was autogenerated by uv via the following command:
2-
# uv export --group docs --no-hashes
2+
# uv export --no-hashes --no-dev --group docs --output-file docs/requirements.txt
33
-e .
4-
accessible-pygments==0.0.5
4+
accessible-pygments==0.0.5 ; python_full_version >= '3.12'
55
# via pydata-sphinx-theme
6-
alabaster==1.0.0
6+
alabaster==1.0.0 ; python_full_version >= '3.12'
77
# via sphinx
8-
babel==2.18.0
8+
anyio==4.13.0 ; python_full_version >= '3.12'
9+
# via
10+
# starlette
11+
# watchfiles
12+
babel==2.18.0 ; python_full_version >= '3.12'
913
# via
1014
# pydata-sphinx-theme
1115
# sphinx
12-
beautifulsoup4==4.14.3
16+
beautifulsoup4==4.14.3 ; python_full_version >= '3.12'
1317
# via pydata-sphinx-theme
14-
certifi==2026.2.25
18+
certifi==2026.4.22 ; python_full_version >= '3.12'
1519
# via requests
16-
charset-normalizer==3.4.7
20+
charset-normalizer==3.4.7 ; python_full_version >= '3.12'
1721
# via requests
18-
colorama==0.4.6 ; sys_platform == 'win32'
19-
# via
20-
# pytest
21-
# sphinx
22-
coverage==7.13.5
23-
# via pytest-cov
24-
docutils==0.21.2 ; python_full_version < '3.11'
22+
click==8.3.3 ; python_full_version >= '3.12'
23+
# via uvicorn
24+
colorama==0.4.6 ; python_full_version >= '3.12'
2525
# via
26-
# pydata-sphinx-theme
26+
# click
2727
# sphinx
28-
docutils==0.22.4 ; python_full_version >= '3.11'
28+
# sphinx-autobuild
29+
docutils==0.22.4 ; python_full_version >= '3.12'
2930
# via
3031
# pydata-sphinx-theme
3132
# sphinx
32-
exceptiongroup==1.3.1 ; python_full_version < '3.11'
33-
# via pytest
3433
free-threading==1.1.1
3534
# via pyriodicity
36-
idna==3.11
37-
# via requests
38-
imagesize==2.0.0
35+
h11==0.16.0 ; python_full_version >= '3.12'
36+
# via uvicorn
37+
idna==3.15 ; python_full_version >= '3.12'
38+
# via
39+
# anyio
40+
# requests
41+
imagesize==2.0.0 ; python_full_version >= '3.12'
3942
# via sphinx
40-
iniconfig==2.3.0
41-
# via pytest
42-
jinja2==3.1.6
43+
jinja2==3.1.6 ; python_full_version >= '3.12'
4344
# via sphinx
44-
markupsafe==3.0.3
45+
markupsafe==3.0.3 ; python_full_version >= '3.12'
4546
# via jinja2
4647
numpy==2.2.6 ; python_full_version < '3.11'
4748
# via
48-
# pandas
49-
# patsy
5049
# pywavelets
5150
# scipy
52-
# statsmodels
53-
numpy==2.4.4 ; python_full_version >= '3.11'
51+
numpy==2.4.5 ; python_full_version >= '3.11'
5452
# via
55-
# pandas
56-
# patsy
5753
# pywavelets
5854
# scipy
59-
# statsmodels
60-
numpydoc==1.10.0
61-
packaging==26.0
62-
# via
63-
# pytest
64-
# sphinx
65-
# statsmodels
66-
pandas==2.3.3 ; python_full_version < '3.11'
67-
# via statsmodels
68-
pandas==3.0.2 ; python_full_version >= '3.11'
69-
# via statsmodels
70-
patsy==1.0.2
71-
# via statsmodels
72-
pluggy==1.6.0
73-
# via
74-
# pytest
75-
# pytest-cov
76-
pydata-sphinx-theme==0.16.1
77-
pygments==2.20.0
55+
numpydoc==1.10.0 ; python_full_version >= '3.12'
56+
packaging==26.2 ; python_full_version >= '3.12'
57+
# via sphinx
58+
pydata-sphinx-theme==0.17.1 ; python_full_version >= '3.12'
59+
pygments==2.20.0 ; python_full_version >= '3.12'
7860
# via
7961
# accessible-pygments
8062
# pydata-sphinx-theme
81-
# pytest
8263
# sphinx
83-
pytest==9.0.2
84-
# via pytest-cov
85-
pytest-cov==7.0.0
86-
python-dateutil==2.9.0.post0
87-
# via pandas
88-
pytz==2026.1.post1 ; python_full_version < '3.11'
89-
# via pandas
9064
pywavelets==1.8.0 ; python_full_version < '3.11'
9165
# via pyriodicity
9266
pywavelets==1.9.0 ; python_full_version >= '3.11'
9367
# via pyriodicity
94-
requests==2.33.1
68+
requests==2.34.2 ; python_full_version >= '3.12'
9569
# via sphinx
96-
roman-numerals==4.1.0 ; python_full_version >= '3.11'
70+
roman-numerals==4.1.0 ; python_full_version >= '3.12'
9771
# via sphinx
98-
ruff==0.15.9
9972
scipy==1.15.3 ; python_full_version < '3.11'
100-
# via
101-
# pyriodicity
102-
# statsmodels
73+
# via pyriodicity
10374
scipy==1.17.1 ; python_full_version >= '3.11'
104-
# via
105-
# pyriodicity
106-
# statsmodels
107-
six==1.17.0
108-
# via python-dateutil
109-
snowballstemmer==3.0.1
75+
# via pyriodicity
76+
snowballstemmer==3.0.1 ; python_full_version >= '3.12'
11077
# via sphinx
111-
soupsieve==2.8.3
78+
soupsieve==2.8.3 ; python_full_version >= '3.12'
11279
# via beautifulsoup4
113-
sphinx==8.1.3 ; python_full_version < '3.11'
114-
# via
115-
# numpydoc
116-
# pydata-sphinx-theme
117-
sphinx==9.0.4 ; python_full_version == '3.11.*'
118-
# via
119-
# numpydoc
120-
# pydata-sphinx-theme
12180
sphinx==9.1.0 ; python_full_version >= '3.12'
12281
# via
12382
# numpydoc
12483
# pydata-sphinx-theme
125-
sphinxcontrib-applehelp==2.0.0
84+
# sphinx-autobuild
85+
sphinx-autobuild==2025.8.25 ; python_full_version >= '3.12'
86+
sphinxcontrib-applehelp==2.0.0 ; python_full_version >= '3.12'
12687
# via sphinx
127-
sphinxcontrib-devhelp==2.0.0
88+
sphinxcontrib-devhelp==2.0.0 ; python_full_version >= '3.12'
12889
# via sphinx
129-
sphinxcontrib-htmlhelp==2.1.0
90+
sphinxcontrib-htmlhelp==2.1.0 ; python_full_version >= '3.12'
13091
# via sphinx
131-
sphinxcontrib-jsmath==1.0.1
92+
sphinxcontrib-jsmath==1.0.1 ; python_full_version >= '3.12'
13293
# via sphinx
133-
sphinxcontrib-qthelp==2.0.0
94+
sphinxcontrib-qthelp==2.0.0 ; python_full_version >= '3.12'
13495
# via sphinx
135-
sphinxcontrib-serializinghtml==2.0.0
96+
sphinxcontrib-serializinghtml==2.0.0 ; python_full_version >= '3.12'
13697
# via sphinx
137-
statsmodels==0.14.6
138-
tomli==2.4.1 ; python_full_version <= '3.11'
139-
# via
140-
# coverage
141-
# numpydoc
142-
# pytest
143-
# sphinx
144-
typing-extensions==4.15.0
98+
starlette==1.0.0 ; python_full_version >= '3.12'
99+
# via sphinx-autobuild
100+
typing-extensions==4.15.0 ; python_full_version >= '3.12'
145101
# via
102+
# anyio
146103
# beautifulsoup4
147-
# exceptiongroup
148104
# pydata-sphinx-theme
149-
tzdata==2026.1 ; python_full_version < '3.11' or sys_platform == 'emscripten' or sys_platform == 'win32'
150-
# via pandas
151-
urllib3==2.6.3
105+
# starlette
106+
urllib3==2.7.0 ; python_full_version >= '3.12'
152107
# via requests
108+
uvicorn==0.47.0 ; python_full_version >= '3.12'
109+
# via sphinx-autobuild
110+
watchfiles==1.1.1 ; python_full_version >= '3.12'
111+
# via sphinx-autobuild
112+
websockets==16.0 ; python_full_version >= '3.12'
113+
# via sphinx-autobuild

justfile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
set quiet
2+
3+
# List available recipes
4+
default:
5+
just --list
6+
7+
# Upgrade dependencies
8+
upgrade:
9+
uv sync --upgrade
10+
uv export --quiet --no-hashes --no-dev --group docs --output-file docs/requirements.txt
11+
12+
# Serve the docs
13+
[no-exit-message]
14+
serve-docs:
15+
rm -rf docs/_build docs/generated
16+
uv run --with-requirements docs/requirements.txt sphinx-autobuild docs docs/_build

pyproject.toml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[build-system]
2-
requires = ["uv_build"]
2+
requires = ["uv_build~=0.11"]
33
build-backend = "uv_build"
44

55
[project]
@@ -46,16 +46,17 @@ Repository = "https://github.com/iskandergaba/pyriodicity"
4646
dev = [
4747
"ruff~=0.15.0",
4848
"pytest~=9.0.0",
49-
"pytest-cov~=7.0.0",
49+
"pytest-cov~=7.1.0",
5050
"statsmodels~=0.14.0",
5151
]
5252
docs = [
5353
"numpydoc~=1.10.0",
54-
"pydata-sphinx-theme~=0.16.0",
54+
"pydata-sphinx-theme~=0.17.0",
55+
"sphinx-autobuild~=2025.08.0",
5556
]
5657

57-
[tool.uv]
58-
default-groups = "all"
58+
[tool.uv.dependency-groups]
59+
docs = { requires-python = ">=3.12" }
5960

6061
[tool.ruff.lint]
6162
extend-select = ["E501"]

0 commit comments

Comments
 (0)