Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MAINT - Update pre-commit hooks and config #2044

Closed
Closed
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 17 additions & 14 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,41 +9,38 @@ ci:
# Fix the node version to avoid a GLIBC error
# ref: https://stackoverflow.com/questions/71939099/bitbucket-pipeline-error-installing-pre-commit-ts-lint/71940852#71940852
default_language_version:
node: 16.14.2
node: 22.9.0

repos:
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v4.0.0-alpha.8
- repo: "https://github.com/pycontribs/mirrors-prettier"
rev: v3.3.3
hooks:
- id: prettier
# Exclude the HTML, since it doesn't understand Jinja2
# exclude also the webpack.config.js file has it embed complete url dificult to prettify
# exclude the pytest-regressions folder tests/test_ally
exclude: .+\.html|webpack\.config\.js|tests/test_a11y/

- repo: https://github.com/psf/black
rev: 24.10.0
hooks:
- id: black

- repo: https://github.com/astral-sh/ruff-pre-commit
- repo: "https://github.com/astral-sh/ruff-pre-commit"
rev: "v0.7.2"
hooks:
- id: ruff
args: [--exit-non-zero-on-fix]
- id: ruff-format

- repo: https://github.com/asottile/pyupgrade
- repo: "https://github.com/asottile/pyupgrade"
rev: v3.19.0
hooks:
- id: pyupgrade
args: [--py37-plus]

- repo: https://github.com/Riverside-Healthcare/djLint
- repo: "https://github.com/Riverside-Healthcare/djLint"
rev: v1.35.4
hooks:
- id: djlint-jinja
types_or: ["html"]

- repo: https://github.com/PyCQA/doc8
- repo: "https://github.com/PyCQA/doc8"
rev: v1.1.2
hooks:
- id: doc8
Expand All @@ -53,12 +50,12 @@ repos:
hooks:
- id: nbstripout

- repo: https://github.com/mondeja/pre-commit-po-hooks
- repo: "https://github.com/mondeja/pre-commit-po-hooks"
rev: v1.7.3
hooks:
- id: remove-metadata

- repo: https://github.com/thibaudcolas/pre-commit-stylelint
- repo: "https://github.com/thibaudcolas/pre-commit-stylelint"
rev: v16.10.0
hooks:
- id: stylelint
Expand All @@ -68,3 +65,9 @@ repos:
# stylelint itself needs to be here when using additional_dependencies.
- [email protected]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

odd that this version (16.5.0) doesn't match rev: v16.10.0 above

- [email protected]

- repo: "https://github.com/pre-commit/pre-commit-hooks"
rev: v5.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
Carreau marked this conversation as resolved.
Show resolved Hide resolved
2 changes: 2 additions & 0 deletions docs/_extension/component_directive.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
"""

import re

from pathlib import Path
from typing import Any, Dict, List

Expand All @@ -14,6 +15,7 @@
from sphinx.util import logging
from sphinx.util.docutils import SphinxDirective


logger = logging.getLogger(__name__)


Expand Down
1 change: 1 addition & 0 deletions docs/_extension/gallery_directive.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
from sphinx.util.docutils import SphinxDirective
from yaml import safe_load


logger = logging.getLogger(__name__)


Expand Down
2 changes: 2 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
# -- Path setup --------------------------------------------------------------
import os
import sys

from pathlib import Path
from typing import Any, Dict

Expand All @@ -16,6 +17,7 @@

import pydata_sphinx_theme


sys.path.append(str(Path(".").resolve()))

# -- Project information -----------------------------------------------------
Expand Down
23 changes: 15 additions & 8 deletions docs/examples/pydata.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
"import numpy as np\n",
"import pandas as pd\n",
"\n",
"\n",
"rng = np.random.default_rng(seed=15485863)\n",
"data = rng.standard_normal((100, 26))\n",
"df = pd.DataFrame(data, columns=list(string.ascii_lowercase))\n",
Expand All @@ -51,8 +52,10 @@
"import ipywidgets as widgets\n",
"import numpy as np\n",
"import pandas as pd\n",
"\n",
"from IPython.display import display\n",
"\n",
"\n",
"tab = widgets.Tab()\n",
"\n",
"descr_str = \"Hello\"\n",
Expand All @@ -65,9 +68,9 @@
"\n",
"# render in output widgets\n",
"with widget_images:\n",
" display(pd.DataFrame(np.random.randn(10,10)))\n",
" display(pd.DataFrame(np.random.randn(10, 10)))\n",
"with widget_annotations:\n",
" display(pd.DataFrame(np.random.randn(10,10)))\n",
" display(pd.DataFrame(np.random.randn(10, 10)))\n",
"\n",
"tab.children = [widget_images, widget_annotations]\n",
"tab.titles = [\"Images\", \"Annotations\"]\n",
Expand All @@ -90,6 +93,7 @@
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"\n",
"fig, ax = plt.subplots()\n",
"ax.scatter(df[\"a\"], df[\"b\"], c=df[\"b\"], s=3)"
]
Expand Down Expand Up @@ -125,10 +129,13 @@
"import plotly.express as px\n",
"import plotly.io as pio\n",
"\n",
"\n",
"pio.renderers.default = \"notebook\"\n",
"\n",
"df = px.data.iris()\n",
"fig = px.scatter(df, x=\"sepal_width\", y=\"sepal_length\", color=\"species\", size=\"sepal_length\")\n",
"fig = px.scatter(\n",
" df, x=\"sepal_width\", y=\"sepal_length\", color=\"species\", size=\"sepal_length\"\n",
")\n",
"fig"
]
},
Expand All @@ -149,11 +156,10 @@
"source": [
"import xarray as xr\n",
"\n",
"\n",
"data = xr.DataArray(\n",
" np.random.randn(2, 3),\n",
" dims=(\"x\", \"y\"),\n",
" coords={\"x\": [10, 20]}, attrs={\"foo\": \"bar\"}\n",
" )\n",
" np.random.randn(2, 3), dims=(\"x\", \"y\"), coords={\"x\": [10, 20]}, attrs={\"foo\": \"bar\"}\n",
")\n",
"data"
]
},
Expand All @@ -174,8 +180,9 @@
"source": [
"from ipyleaflet import Map, basemaps\n",
"\n",
"\n",
"# display a map centered on France\n",
"m = Map(basemap=basemaps.Esri.WorldImagery, zoom=5, center=[46.21, 2.21])\n",
"m = Map(basemap=basemaps.Esri.WorldImagery, zoom=5, center=[46.21, 2.21])\n",
"m"
]
}
Expand Down
2 changes: 2 additions & 0 deletions docs/scripts/generate_collaborators_gallery.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@

import json
import shlex

from pathlib import Path
from subprocess import run

from yaml import dump


COLLABORATORS_API = "https://api.github.com/repos/pydata/pydata-sphinx-theme/collaborators?affiliation=direct"

print("Grabbing latest collaborators with GitHub API via GitHub's CLI...")
Expand Down
1 change: 1 addition & 0 deletions docs/scripts/update_kitchen_sink.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from pathlib import Path
from urllib.request import urlopen


EXTRA_MESSAGE = """\
.. note::

Expand Down
1 change: 0 additions & 1 deletion docs/user_guide/layout.rst
Original file line number Diff line number Diff line change
Expand Up @@ -593,4 +593,3 @@ Please find here the full list of keys you can use in the ``html_theme_options``
.. include:: ../../src/pydata_sphinx_theme/theme/pydata_sphinx_theme/theme.conf
:code: ini
:class: highlight-ini

14 changes: 11 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -100,22 +100,30 @@ ignore = ["D001"] # we follow a 1 line = 1 paragraph style

[tool.ruff]
fix = true
# keep consistent with black
line-length = 88
indent-width = 4

[tool.ruff.lint]
ignore = [
"E501", # line too long | Black take care of it
"D107", # Missing docstring in `__init__` | set the docstring in the class
"D205", # 1 blank line required between summary line and description,
"D212",
Carreau marked this conversation as resolved.
Show resolved Hide resolved
"W291", # let pre-commit handle trailing whitespace

]
ignore-init-module-imports = true
select = ["E", "F", "W", "I", "D", "RUF"]
select = ["E", "F", "W", "I", "D", "RUF", "G"]

[tool.ruff.lint.flake8-quotes]
docstring-quotes = "double"

[tool.ruff.lint.pydocstyle]
convention = "google"

[tool.ruff.lint.isort]
lines-between-types = 1
lines-after-imports = 2

[tool.djlint]
profile = "jinja"
extension = "html"
Expand Down
3 changes: 3 additions & 0 deletions src/pydata_sphinx_theme/__init__.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
"""Bootstrap-based sphinx theme from the PyData community."""

import json

from functools import partial
from pathlib import Path
from typing import Dict
from urllib.parse import urlparse

import requests

from requests.exceptions import ConnectionError, HTTPError, RetryError
from sphinx.application import Sphinx
from sphinx.builders.dirhtml import DirectoryHTMLBuilder
from sphinx.errors import ExtensionError

from . import edit_this_page, logo, pygments, short_link, toctree, translator, utils


__version__ = "0.16.1dev0"


Expand Down
1 change: 1 addition & 0 deletions src/pydata_sphinx_theme/edit_this_page.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
"""Create an "edit this page" url compatible with bitbucket, gitlab and github."""

import jinja2

from sphinx.application import Sphinx
from sphinx.errors import ExtensionError

Expand Down
4 changes: 2 additions & 2 deletions src/pydata_sphinx_theme/locale/ca/LC_MESSAGES/sphinx.po
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
# Copyright (C) 2024 ORGANIZATION
# This file is distributed under the same license as the PROJECT project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#
# Translators:
# Cristhian Rivera, 2024
# Oriol Abril-Pla <[email protected]>, 2024
#
#
msgid ""
msgstr ""

Expand Down
1 change: 0 additions & 1 deletion src/pydata_sphinx_theme/locale/cs/LC_MESSAGES/sphinx.po
Original file line number Diff line number Diff line change
Expand Up @@ -181,4 +181,3 @@ msgstr "Navigace na stránce"

#~ msgid "© <a href=\"%(path)s\">Copyright</a> %(copyright)s."
#~ msgstr "© <a href=\"%(path)s\">Copyright</a> %(copyright)s."

1 change: 0 additions & 1 deletion src/pydata_sphinx_theme/locale/en/LC_MESSAGES/sphinx.po
Original file line number Diff line number Diff line change
Expand Up @@ -182,4 +182,3 @@ msgstr ""

#~ msgid "light/dark"
#~ msgstr ""

4 changes: 2 additions & 2 deletions src/pydata_sphinx_theme/locale/es/LC_MESSAGES/sphinx.po
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
# Copyright (C) 2024 ORGANIZATION
# This file is distributed under the same license as the PROJECT project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#
# Translators:
# Rambaud Pierrick <[email protected]>, 2023
# Cristhian Rivera, 2024
# Felipe Moreno, 2024
# Tania Allard, 2024
#
#
msgid ""
msgstr ""

Expand Down
4 changes: 2 additions & 2 deletions src/pydata_sphinx_theme/locale/fr/LC_MESSAGES/sphinx.po
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
# Copyright (C) 2024 ORGANIZATION
# This file is distributed under the same license as the PROJECT project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#
# Translators:
# Rambaud Pierrick <[email protected]>, 2024
# Denis Bitouzé <[email protected]>, 2024
#
#
msgid ""
msgstr ""

Expand Down
1 change: 0 additions & 1 deletion src/pydata_sphinx_theme/locale/it/LC_MESSAGES/sphinx.po
Original file line number Diff line number Diff line change
Expand Up @@ -184,4 +184,3 @@ msgstr "Navigazione del sito"

#~ msgid "© <a href=\"%(path)s\">Copyright</a> %(copyright)s."
#~ msgstr "© <a href=\"%(path)s\">Copyright</a> %(copyright)s."

1 change: 0 additions & 1 deletion src/pydata_sphinx_theme/locale/ja/LC_MESSAGES/sphinx.po
Original file line number Diff line number Diff line change
Expand Up @@ -186,4 +186,3 @@ msgstr "サイトナビゲーション"

#~ msgid "© <a href=\"%(path)s\">Copyright</a> %(copyright)s."
#~ msgstr "© <a href=\"%(path)s\">Copyright</a> %(copyright)s."

1 change: 0 additions & 1 deletion src/pydata_sphinx_theme/locale/ru/LC_MESSAGES/sphinx.po
Original file line number Diff line number Diff line change
Expand Up @@ -181,4 +181,3 @@ msgstr "Навигация по сайту"

#~ msgid "© <a href=\"%(path)s\">Copyright</a> %(copyright)s."
#~ msgstr "© <a href=\\\"%(path)s\\\">Копирайт</a> %(copyright)s."

1 change: 0 additions & 1 deletion src/pydata_sphinx_theme/locale/sphinx.pot
Original file line number Diff line number Diff line change
Expand Up @@ -169,4 +169,3 @@ msgstr ""
#: src/pydata_sphinx_theme/theme/pydata_sphinx_theme/sections/header.html:3
msgid "Site navigation"
msgstr ""

1 change: 0 additions & 1 deletion src/pydata_sphinx_theme/locale/zh/LC_MESSAGES/sphinx.po
Original file line number Diff line number Diff line change
Expand Up @@ -184,4 +184,3 @@ msgstr "网页导航"

#~ msgid "© <a href=\"%(path)s\">Copyright</a> %(copyright)s."
#~ msgstr "© <a href=\"%(path)s\">Copyright</a> %(copyright)s."

Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{# Displays a search field image that opens a search overlay when clicked. #}
{#
{#
As this function will only work when JavaScript is enabled,
we add a class that will hide it if js is disable.
#}
Expand Down
4 changes: 2 additions & 2 deletions src/pydata_sphinx_theme/theme/pydata_sphinx_theme/layout.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
document.documentElement.dataset.mode = localStorage.getItem("mode") || "{{ default_mode }}";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "{{ default_mode }}";
</script>
<!--
this give us a css class that will be invisible only if js is disabled
<!--
this give us a css class that will be invisible only if js is disabled
-->
<noscript>
<style>
Expand Down
1 change: 1 addition & 0 deletions src/pydata_sphinx_theme/toctree.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
from urllib.parse import urlparse

import sphinx

from bs4 import BeautifulSoup
from docutils import nodes
from docutils.nodes import Node
Expand Down
Loading
Loading