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

LINT - Run updated pre-commit hooks #2049

Merged
merged 9 commits into from
Nov 21, 2024
Merged
Show file tree
Hide file tree
Changes from all 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
14 changes: 8 additions & 6 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,11 @@
# https://git-scm.com/docs/git-config#Documentation/git-config.txt-blameignoreRevsFile
# https://github.com/pydata/pydata-sphinx-theme/pull/713
#
90550b66ace16a370caa446e54698b126fda740b # initial black-format
236d4c6d1f10f5da064d929e9eb594daecf23551 # apply black 20.8b1 format
69f1a42a3b184f4ba4c98f1745779a277d56c5e2 # [pre-commit.ci] Automatic linting and formatting fixes
a35529c9ee8d5863613df40787cda0021b3e0128 # Manual fixes for stylelint
ce583b8f3136d52e8056c9a651bf6f92e7922f79 # Manual adjustments to autofixes
d1ee9eb7a132cde51433e9594513319fdab41f2f # Autofix (stylelint)
90550b66ace16a370caa446e54698b126fda740b # initial black-format
236d4c6d1f10f5da064d929e9eb594daecf23551 # apply black 20.8b1 format
69f1a42a3b184f4ba4c98f1745779a277d56c5e2 # [pre-commit.ci] Automatic linting and formatting fixes
a35529c9ee8d5863613df40787cda0021b3e0128 # Manual fixes for stylelint
ce583b8f3136d52e8056c9a651bf6f92e7922f79 # Manual adjustments to autofixes
d1ee9eb7a132cde51433e9594513319fdab41f2f # Autofix (stylelint)
0f3aa5ca174fe1534ef4817d42f0e2ffa7d9d921 # [pre-commit.ci] Automatic linting and formatting fixes
9c5a3d592d03849bd050fe946b246145ad171605 # Automated and manual fixes for pre-commits
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]
- [email protected]

- repo: "https://github.com/pre-commit/pre-commit-hooks"
rev: v5.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
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
3 changes: 2 additions & 1 deletion 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 Expand Up @@ -76,7 +77,7 @@ def run(self) -> List[nodes.Node]:
path_doc = Path(path_doc).parent
path_data = (path_doc / path_data_rel).resolve()
if not path_data.exists():
logger.info(f"Could not find grid data at {path_data}.")
logger.info("Could not find grid data at %s.", path_data)
nodes.text("No grid data found at {path_data}.")
return
yaml_string = path_data.read_text()
Expand Down
14 changes: 11 additions & 3 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 Expand Up @@ -191,7 +193,8 @@
},
"use_edit_page_button": True,
"show_toc_level": 1,
"navbar_align": "left", # [left, content, right] For testing that the navbar items align properly
# [left, content, right] For testing that the navbar items align properly
"navbar_align": "left",
# "show_nav_level": 2,
"announcement": "https://raw.githubusercontent.com/pydata/pydata-sphinx-theme/main/docs/_templates/custom-template.html",
"show_version_warning_banner": True,
Expand Down Expand Up @@ -293,10 +296,15 @@
def setup_to_main(
app: Sphinx, pagename: str, templatename: str, context, doctree
) -> None:
"""Add a function that jinja can access for returning an "edit this page" link pointing to `main`."""
"""
Add a function that jinja can access for returning an "edit this page" link
pointing to `main`.
"""

def to_main(link: str) -> str:
"""Transform "edit on github" links and make sure they always point to the main branch.
"""
Transform "edit on github" links and make sure they always point to the
main branch.

Args:
link: the link to the github edit interface
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
7 changes: 6 additions & 1 deletion docs/scripts/generate_collaborators_gallery.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
"""Uses the GitHub API to list a gallery of all people with direct access to the repository."""
"""
Uses the GitHub API to list a gallery of all people with direct access to the
repository.
"""

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
5 changes: 4 additions & 1 deletion docs/scripts/update_kitchen_sink.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,13 @@
from pathlib import Path
from urllib.request import urlopen


EXTRA_MESSAGE = """\
.. note::

The Kitchen Sink was generated from the `Sphinx Themes website <https://sphinx-themes.org/>`_, a community-supported showcase of themes for `Sphinx <https://www.sphinx-doc.org/>`_.
The Kitchen Sink was generated from the
`Sphinx Themes website <https://sphinx-themes.org/>`_, a community-supported showcase
of themes for `Sphinx <https://www.sphinx-doc.org/>`_.
Check it out to see other great themes.

.. button-link:: https://sphinx-themes.org
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", # docstring summary must be on first physical line
"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
8 changes: 6 additions & 2 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 Expand Up @@ -202,7 +205,7 @@ def update_and_remove_templates(
for i in range(len(context["css_files"])):
asset = context["css_files"][i]
# TODO: eventually the contents of context['css_files'] etc should probably
# only be _CascadingStyleSheet etc. For now, assume mixed with strings.
# only be _CascadingStyleSheet etc. For now, assume mixed with strings.
asset_path = getattr(asset, "filename", str(asset))
if asset_path == theme_css_name:
del context["css_files"][i]
Expand Down Expand Up @@ -233,7 +236,8 @@ def update_and_remove_templates(
DOCUMENTATION_OPTIONS.theme_version = '{__version__}';
DOCUMENTATION_OPTIONS.theme_switcher_json_url = '{json_url}';
DOCUMENTATION_OPTIONS.theme_switcher_version_match = '{version_match}';
DOCUMENTATION_OPTIONS.show_version_warning_banner = {str(context["theme_show_version_warning_banner"]).lower()};
DOCUMENTATION_OPTIONS.show_version_warning_banner =
{str(context["theme_show_version_warning_banner"]).lower()};
"""
app.add_js_file(None, body=js)

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 ""

Loading
Loading