sphinx-combine 2026.1.11__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- sphinx_combine-2026.1.11/.git_archival.txt +1 -0
- sphinx_combine-2026.1.11/.gitattributes +2 -0
- sphinx_combine-2026.1.11/.github/dependabot.yml +13 -0
- sphinx_combine-2026.1.11/.github/workflows/ci.yml +82 -0
- sphinx_combine-2026.1.11/.github/workflows/dependabot-merge.yml +24 -0
- sphinx_combine-2026.1.11/.github/workflows/release.yml +113 -0
- sphinx_combine-2026.1.11/.gitignore +119 -0
- sphinx_combine-2026.1.11/.pre-commit-config.yaml +328 -0
- sphinx_combine-2026.1.11/.prettierrc +11 -0
- sphinx_combine-2026.1.11/.vscode/extensions.json +6 -0
- sphinx_combine-2026.1.11/.vscode/settings.json +14 -0
- sphinx_combine-2026.1.11/CHANGELOG.rst +25 -0
- sphinx_combine-2026.1.11/CONTRIBUTING.rst +84 -0
- sphinx_combine-2026.1.11/LICENSE +190 -0
- sphinx_combine-2026.1.11/PKG-INFO +317 -0
- sphinx_combine-2026.1.11/README.rst +70 -0
- sphinx_combine-2026.1.11/pyproject.toml +389 -0
- sphinx_combine-2026.1.11/sample/source/__init__.py +3 -0
- sphinx_combine-2026.1.11/sample/source/conf.py +7 -0
- sphinx_combine-2026.1.11/sample/source/index.rst +30 -0
- sphinx_combine-2026.1.11/setup.cfg +4 -0
- sphinx_combine-2026.1.11/spelling_private_dict.txt +17 -0
- sphinx_combine-2026.1.11/src/sphinx_combine/__init__.py +53 -0
- sphinx_combine-2026.1.11/src/sphinx_combine/py.typed +0 -0
- sphinx_combine-2026.1.11/src/sphinx_combine.egg-info/PKG-INFO +317 -0
- sphinx_combine-2026.1.11/src/sphinx_combine.egg-info/SOURCES.txt +32 -0
- sphinx_combine-2026.1.11/src/sphinx_combine.egg-info/dependency_links.txt +1 -0
- sphinx_combine-2026.1.11/src/sphinx_combine.egg-info/not-zip-safe +1 -0
- sphinx_combine-2026.1.11/src/sphinx_combine.egg-info/requires.txt +36 -0
- sphinx_combine-2026.1.11/src/sphinx_combine.egg-info/top_level.txt +1 -0
- sphinx_combine-2026.1.11/tests/__init__.py +3 -0
- sphinx_combine-2026.1.11/tests/conftest.py +18 -0
- sphinx_combine-2026.1.11/tests/test_combine_code_block.py +236 -0
- sphinx_combine-2026.1.11/zizmor.yml +14 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ref-names: $Format:%D$
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: CI
|
|
3
|
+
|
|
4
|
+
on:
|
|
5
|
+
push:
|
|
6
|
+
branches: [main]
|
|
7
|
+
pull_request:
|
|
8
|
+
branches: [main]
|
|
9
|
+
schedule:
|
|
10
|
+
# * is a special character in YAML so you have to quote this string
|
|
11
|
+
# Run at 1:00 every day
|
|
12
|
+
- cron: 0 1 * * *
|
|
13
|
+
|
|
14
|
+
permissions: {}
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
build:
|
|
18
|
+
strategy:
|
|
19
|
+
matrix:
|
|
20
|
+
python-version: ['3.11', '3.12', '3.13']
|
|
21
|
+
uv-resolution: [highest, lowest-direct]
|
|
22
|
+
platform: [ubuntu-latest, windows-latest]
|
|
23
|
+
|
|
24
|
+
runs-on: ${{ matrix.platform }}
|
|
25
|
+
|
|
26
|
+
steps:
|
|
27
|
+
- uses: actions/checkout@v6
|
|
28
|
+
|
|
29
|
+
with:
|
|
30
|
+
persist-credentials: false
|
|
31
|
+
- name: Install uv
|
|
32
|
+
uses: astral-sh/setup-uv@v7
|
|
33
|
+
with:
|
|
34
|
+
enable-cache: true
|
|
35
|
+
cache-dependency-glob: '**/pyproject.toml'
|
|
36
|
+
|
|
37
|
+
- name: Lint
|
|
38
|
+
run: |
|
|
39
|
+
# pre-commit is the only hook stage
|
|
40
|
+
uv run --extra=dev prek run --all-files --hook-stage pre-commit --verbose
|
|
41
|
+
env:
|
|
42
|
+
UV_PYTHON: ${{ matrix.python-version }}
|
|
43
|
+
# UV_RESOLUTION is intentionally not set here. prek uses uv to
|
|
44
|
+
# install hooks, and uv inherits UV_RESOLUTION. With lowest-direct,
|
|
45
|
+
# this causes hook dependencies to resolve to ancient versions that
|
|
46
|
+
# don't build on modern Python.
|
|
47
|
+
|
|
48
|
+
- name: Build sample
|
|
49
|
+
run: |
|
|
50
|
+
uv run --extra=dev sphinx-build -W -b html sample/source sample/build
|
|
51
|
+
env:
|
|
52
|
+
UV_PYTHON: ${{ matrix.python-version }}
|
|
53
|
+
UV_RESOLUTION: ${{ matrix.uv-resolution }}
|
|
54
|
+
|
|
55
|
+
- name: Build sample parallel
|
|
56
|
+
run: |
|
|
57
|
+
uv run --extra=dev sphinx-build -j 2 -W -b html sample/source sample/build
|
|
58
|
+
env:
|
|
59
|
+
UV_PYTHON: ${{ matrix.python-version }}
|
|
60
|
+
UV_RESOLUTION: ${{ matrix.uv-resolution }}
|
|
61
|
+
|
|
62
|
+
- name: Run tests
|
|
63
|
+
run: |
|
|
64
|
+
uv run --extra=dev pytest -s -vvv --cov-fail-under 100 --cov=src/ --cov=tests .
|
|
65
|
+
env:
|
|
66
|
+
UV_PYTHON: ${{ matrix.python-version }}
|
|
67
|
+
UV_RESOLUTION: ${{ matrix.uv-resolution }}
|
|
68
|
+
|
|
69
|
+
- uses: pre-commit-ci/lite-action@v1.1.0
|
|
70
|
+
if: always()
|
|
71
|
+
|
|
72
|
+
completion-ci:
|
|
73
|
+
needs: build
|
|
74
|
+
runs-on: ubuntu-latest
|
|
75
|
+
if: always() # Run even if one matrix job fails
|
|
76
|
+
steps:
|
|
77
|
+
- name: Check matrix job status
|
|
78
|
+
run: |-
|
|
79
|
+
if ! ${{ needs.build.result == 'success' }}; then
|
|
80
|
+
echo "One or more matrix jobs failed"
|
|
81
|
+
exit 1
|
|
82
|
+
fi
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
|
|
3
|
+
name: Dependabot auto-merge
|
|
4
|
+
on: pull_request
|
|
5
|
+
|
|
6
|
+
permissions:
|
|
7
|
+
contents: write
|
|
8
|
+
pull-requests: write
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
dependabot:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
if: github.actor == 'dependabot[bot]'
|
|
14
|
+
steps:
|
|
15
|
+
- name: Dependabot metadata
|
|
16
|
+
id: metadata
|
|
17
|
+
uses: dependabot/fetch-metadata@v2
|
|
18
|
+
with:
|
|
19
|
+
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
20
|
+
- name: Enable auto-merge for Dependabot PRs
|
|
21
|
+
run: gh pr merge --auto --merge "$PR_URL"
|
|
22
|
+
env:
|
|
23
|
+
PR_URL: ${{github.event.pull_request.html_url}}
|
|
24
|
+
GH_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Release
|
|
3
|
+
|
|
4
|
+
on: workflow_dispatch
|
|
5
|
+
|
|
6
|
+
jobs:
|
|
7
|
+
build:
|
|
8
|
+
name: Publish a release
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
|
|
11
|
+
# Specifying an environment is strongly recommended by PyPI.
|
|
12
|
+
# See https://github.com/pypa/gh-action-pypi-publish/tree/release/v1/?tab=readme-ov-file#trusted-publishing.
|
|
13
|
+
environment: release
|
|
14
|
+
|
|
15
|
+
permissions:
|
|
16
|
+
# This is needed for PyPI publishing.
|
|
17
|
+
# See https://github.com/pypa/gh-action-pypi-publish/tree/release/v1/?tab=readme-ov-file#trusted-publishing.
|
|
18
|
+
id-token: write
|
|
19
|
+
# This is needed for https://github.com/stefanzweifel/git-auto-commit-action.
|
|
20
|
+
contents: write
|
|
21
|
+
|
|
22
|
+
steps:
|
|
23
|
+
- uses: actions/checkout@v6
|
|
24
|
+
with:
|
|
25
|
+
# See
|
|
26
|
+
# https://github.com/stefanzweifel/git-auto-commit-action?tab=readme-ov-file#push-to-protected-branches
|
|
27
|
+
token: ${{ secrets.RELEASE_PAT }}
|
|
28
|
+
# Fetch all history including tags.
|
|
29
|
+
# Needed to find the latest tag.
|
|
30
|
+
#
|
|
31
|
+
# Also, avoids
|
|
32
|
+
# https://github.com/stefanzweifel/git-auto-commit-action/issues/99.
|
|
33
|
+
fetch-depth: 0
|
|
34
|
+
|
|
35
|
+
- name: Install uv
|
|
36
|
+
uses: astral-sh/setup-uv@v7
|
|
37
|
+
with:
|
|
38
|
+
enable-cache: true
|
|
39
|
+
cache-dependency-glob: '**/pyproject.toml'
|
|
40
|
+
|
|
41
|
+
- name: Calver calculate version
|
|
42
|
+
uses: StephaneBour/actions-calver@master
|
|
43
|
+
id: calver
|
|
44
|
+
with:
|
|
45
|
+
date_format: '%Y.%m.%d'
|
|
46
|
+
release: false
|
|
47
|
+
env:
|
|
48
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
49
|
+
|
|
50
|
+
- name: Get the changelog underline
|
|
51
|
+
id: changelog_underline
|
|
52
|
+
run: |
|
|
53
|
+
underline="$(echo "${{ steps.calver.outputs.release }}" | tr -c '\n' '-')"
|
|
54
|
+
echo "underline=${underline}" >> "$GITHUB_OUTPUT"
|
|
55
|
+
|
|
56
|
+
- name: Update changelog
|
|
57
|
+
id: update_changelog
|
|
58
|
+
uses: jacobtomlinson/gha-find-replace@v3
|
|
59
|
+
with:
|
|
60
|
+
find: "Next\n----"
|
|
61
|
+
replace: |
|
|
62
|
+
Next
|
|
63
|
+
----
|
|
64
|
+
|
|
65
|
+
${{ steps.calver.outputs.release }}
|
|
66
|
+
${{ steps.changelog_underline.outputs.underline }}
|
|
67
|
+
include: CHANGELOG.rst
|
|
68
|
+
regex: false
|
|
69
|
+
|
|
70
|
+
- name: Check Update changelog was modified
|
|
71
|
+
run: |
|
|
72
|
+
if [ "${{ steps.update_changelog.outputs.modifiedFiles }}" = "0" ]; then
|
|
73
|
+
echo "Error: No files were modified when updating changelog"
|
|
74
|
+
exit 1
|
|
75
|
+
fi
|
|
76
|
+
- uses: stefanzweifel/git-auto-commit-action@v7
|
|
77
|
+
id: commit
|
|
78
|
+
with:
|
|
79
|
+
commit_message: Bump CHANGELOG
|
|
80
|
+
file_pattern: CHANGELOG.rst
|
|
81
|
+
# Error if there are no changes.
|
|
82
|
+
skip_dirty_check: true
|
|
83
|
+
|
|
84
|
+
- name: Bump version and push tag
|
|
85
|
+
id: tag_version
|
|
86
|
+
uses: mathieudutour/github-tag-action@v6.2
|
|
87
|
+
with:
|
|
88
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
89
|
+
custom_tag: ${{ steps.calver.outputs.release }}
|
|
90
|
+
tag_prefix: ''
|
|
91
|
+
commit_sha: ${{ steps.commit.outputs.commit_hash }}
|
|
92
|
+
|
|
93
|
+
- name: Create a GitHub release
|
|
94
|
+
uses: ncipollo/release-action@v1
|
|
95
|
+
with:
|
|
96
|
+
tag: ${{ steps.tag_version.outputs.new_tag }}
|
|
97
|
+
makeLatest: true
|
|
98
|
+
name: Release ${{ steps.tag_version.outputs.new_tag }}
|
|
99
|
+
body: ${{ steps.tag_version.outputs.changelog }}
|
|
100
|
+
|
|
101
|
+
- name: Build a binary wheel and a source tarball
|
|
102
|
+
run: |
|
|
103
|
+
git fetch --tags
|
|
104
|
+
git checkout ${{ steps.tag_version.outputs.new_tag }}
|
|
105
|
+
uv build --sdist --wheel --out-dir dist/
|
|
106
|
+
uv run --extra=release check-wheel-contents dist/*.whl
|
|
107
|
+
|
|
108
|
+
# We use PyPI trusted publishing rather than a PyPI API token.
|
|
109
|
+
# See https://github.com/pypa/gh-action-pypi-publish/tree/release/v1/?tab=readme-ov-file#trusted-publishing.
|
|
110
|
+
- name: Publish distribution 📦 to PyPI
|
|
111
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
112
|
+
with:
|
|
113
|
+
verbose: true
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# C extensions
|
|
7
|
+
*.so
|
|
8
|
+
|
|
9
|
+
# Distribution / packaging
|
|
10
|
+
.Python
|
|
11
|
+
build/
|
|
12
|
+
develop-eggs/
|
|
13
|
+
dist/
|
|
14
|
+
downloads/
|
|
15
|
+
eggs/
|
|
16
|
+
.eggs/
|
|
17
|
+
lib/
|
|
18
|
+
lib64/
|
|
19
|
+
parts/
|
|
20
|
+
sdist/
|
|
21
|
+
var/
|
|
22
|
+
wheels/
|
|
23
|
+
*.egg-info/
|
|
24
|
+
.installed.cfg
|
|
25
|
+
*.egg
|
|
26
|
+
MANIFEST
|
|
27
|
+
|
|
28
|
+
# PyInstaller
|
|
29
|
+
# Usually these files are written by a python script from a template
|
|
30
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
31
|
+
*.manifest
|
|
32
|
+
*.spec
|
|
33
|
+
|
|
34
|
+
# Installer logs
|
|
35
|
+
pip-log.txt
|
|
36
|
+
pip-delete-this-directory.txt
|
|
37
|
+
|
|
38
|
+
# Unit test / coverage reports
|
|
39
|
+
htmlcov/
|
|
40
|
+
.tox/
|
|
41
|
+
.coverage
|
|
42
|
+
.coverage.*
|
|
43
|
+
.cache
|
|
44
|
+
nosetests.xml
|
|
45
|
+
coverage.xml
|
|
46
|
+
*.cover
|
|
47
|
+
.hypothesis/
|
|
48
|
+
.pytest_cache/
|
|
49
|
+
|
|
50
|
+
# Translations
|
|
51
|
+
*.mo
|
|
52
|
+
*.pot
|
|
53
|
+
|
|
54
|
+
# Django stuff:
|
|
55
|
+
*.log
|
|
56
|
+
local_settings.py
|
|
57
|
+
db.sqlite3
|
|
58
|
+
|
|
59
|
+
# Flask stuff:
|
|
60
|
+
instance/
|
|
61
|
+
.webassets-cache
|
|
62
|
+
|
|
63
|
+
# Scrapy stuff:
|
|
64
|
+
.scrapy
|
|
65
|
+
|
|
66
|
+
# Sphinx documentation
|
|
67
|
+
docs/_build/
|
|
68
|
+
|
|
69
|
+
# PyBuilder
|
|
70
|
+
target/
|
|
71
|
+
|
|
72
|
+
# Jupyter Notebook
|
|
73
|
+
.ipynb_checkpoints
|
|
74
|
+
|
|
75
|
+
# pyenv
|
|
76
|
+
.python-version
|
|
77
|
+
|
|
78
|
+
# celery beat schedule file
|
|
79
|
+
celerybeat-schedule
|
|
80
|
+
|
|
81
|
+
# SageMath parsed files
|
|
82
|
+
*.sage.py
|
|
83
|
+
|
|
84
|
+
# Environments
|
|
85
|
+
.env
|
|
86
|
+
.venv
|
|
87
|
+
env/
|
|
88
|
+
venv/
|
|
89
|
+
ENV/
|
|
90
|
+
env.bak/
|
|
91
|
+
venv.bak/
|
|
92
|
+
|
|
93
|
+
# direnv file
|
|
94
|
+
.envrc
|
|
95
|
+
|
|
96
|
+
# IDEA ide
|
|
97
|
+
.idea/
|
|
98
|
+
|
|
99
|
+
# Spyder project settings
|
|
100
|
+
.spyderproject
|
|
101
|
+
.spyproject
|
|
102
|
+
|
|
103
|
+
# Rope project settings
|
|
104
|
+
.ropeproject
|
|
105
|
+
|
|
106
|
+
# mkdocs documentation
|
|
107
|
+
/site
|
|
108
|
+
|
|
109
|
+
# mypy
|
|
110
|
+
.mypy_cache/
|
|
111
|
+
|
|
112
|
+
# setuptools_scm
|
|
113
|
+
src/*/_setuptools_scm_version.txt
|
|
114
|
+
|
|
115
|
+
uv.lock
|
|
116
|
+
|
|
117
|
+
# Ignore Mac DS_Store files
|
|
118
|
+
.DS_Store
|
|
119
|
+
**/.DS_Store
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
---
|
|
2
|
+
fail_fast: true
|
|
3
|
+
|
|
4
|
+
# We use system Python, with required dependencies specified in pyproject.toml.
|
|
5
|
+
# We therefore cannot use those dependencies in pre-commit CI.
|
|
6
|
+
ci:
|
|
7
|
+
skip:
|
|
8
|
+
- actionlint
|
|
9
|
+
- check-manifest
|
|
10
|
+
- deptry
|
|
11
|
+
- doc8
|
|
12
|
+
- docformatter
|
|
13
|
+
- interrogate
|
|
14
|
+
- interrogate-docs
|
|
15
|
+
- mypy
|
|
16
|
+
- mypy-docs
|
|
17
|
+
- pylint
|
|
18
|
+
- pyproject-fmt-fix
|
|
19
|
+
- pyright
|
|
20
|
+
- pyright-docs
|
|
21
|
+
- pyright-verifytypes
|
|
22
|
+
- ty
|
|
23
|
+
- ty-docs
|
|
24
|
+
- pyrefly
|
|
25
|
+
- pyrefly-docs
|
|
26
|
+
- pyroma
|
|
27
|
+
- ruff-check-fix
|
|
28
|
+
- ruff-check-fix-docs
|
|
29
|
+
- ruff-format-fix
|
|
30
|
+
- ruff-format-fix-docs
|
|
31
|
+
- shellcheck
|
|
32
|
+
- shellcheck-docs
|
|
33
|
+
- shfmt
|
|
34
|
+
- shfmt-docs
|
|
35
|
+
- sphinx-lint
|
|
36
|
+
- vulture
|
|
37
|
+
- vulture-docs
|
|
38
|
+
- yamlfix
|
|
39
|
+
- zizmor
|
|
40
|
+
|
|
41
|
+
# See https://pre-commit.com for more information
|
|
42
|
+
# See https://pre-commit.com/hooks.html for more hooks
|
|
43
|
+
default_install_hook_types: [pre-commit, pre-push]
|
|
44
|
+
|
|
45
|
+
repos:
|
|
46
|
+
- repo: meta
|
|
47
|
+
hooks:
|
|
48
|
+
- id: check-useless-excludes
|
|
49
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
50
|
+
rev: v6.0.0
|
|
51
|
+
hooks:
|
|
52
|
+
- id: check-added-large-files
|
|
53
|
+
- id: check-case-conflict
|
|
54
|
+
- id: check-executables-have-shebangs
|
|
55
|
+
- id: check-merge-conflict
|
|
56
|
+
- id: check-shebang-scripts-are-executable
|
|
57
|
+
- id: check-symlinks
|
|
58
|
+
- id: check-json
|
|
59
|
+
- id: check-toml
|
|
60
|
+
- id: check-vcs-permalinks
|
|
61
|
+
- id: check-yaml
|
|
62
|
+
- id: end-of-file-fixer
|
|
63
|
+
- id: file-contents-sorter
|
|
64
|
+
files: spelling_private_dict\.txt$
|
|
65
|
+
- id: trailing-whitespace
|
|
66
|
+
- repo: https://github.com/pre-commit/pygrep-hooks
|
|
67
|
+
rev: v1.10.0
|
|
68
|
+
hooks:
|
|
69
|
+
- id: rst-directive-colons
|
|
70
|
+
- id: rst-inline-touching-normal
|
|
71
|
+
- id: text-unicode-replacement-char
|
|
72
|
+
- id: rst-backticks
|
|
73
|
+
|
|
74
|
+
- repo: local
|
|
75
|
+
hooks:
|
|
76
|
+
- id: actionlint
|
|
77
|
+
name: actionlint
|
|
78
|
+
entry: uv run --extra=dev actionlint
|
|
79
|
+
language: python
|
|
80
|
+
pass_filenames: false
|
|
81
|
+
types_or: [yaml]
|
|
82
|
+
additional_dependencies: [uv==0.9.5]
|
|
83
|
+
|
|
84
|
+
- id: docformatter
|
|
85
|
+
name: docformatter
|
|
86
|
+
entry: uv run --extra=dev -m docformatter --in-place
|
|
87
|
+
language: python
|
|
88
|
+
types_or: [python]
|
|
89
|
+
additional_dependencies: [uv==0.9.5]
|
|
90
|
+
|
|
91
|
+
- id: shellcheck
|
|
92
|
+
name: shellcheck
|
|
93
|
+
entry: uv run --extra=dev shellcheck --shell=bash
|
|
94
|
+
language: python
|
|
95
|
+
types_or: [shell]
|
|
96
|
+
additional_dependencies: [uv==0.9.5]
|
|
97
|
+
|
|
98
|
+
- id: shellcheck-docs
|
|
99
|
+
name: shellcheck-docs
|
|
100
|
+
entry: uv run --extra=dev doccmd --no-write-to-file --example-workers 0 --language=shell
|
|
101
|
+
--language=console --command="shellcheck --shell=bash"
|
|
102
|
+
language: python
|
|
103
|
+
types_or: [markdown, rst]
|
|
104
|
+
additional_dependencies: [uv==0.9.5]
|
|
105
|
+
|
|
106
|
+
- id: shfmt
|
|
107
|
+
name: shfmt
|
|
108
|
+
entry: shfmt --write --space-redirects --indent=4
|
|
109
|
+
language: python
|
|
110
|
+
types_or: [shell]
|
|
111
|
+
additional_dependencies: [uv==0.9.5]
|
|
112
|
+
|
|
113
|
+
- id: shfmt-docs
|
|
114
|
+
name: shfmt-docs
|
|
115
|
+
entry: uv run --extra=dev doccmd --language=shell --language=console --skip-marker=shfmt
|
|
116
|
+
--no-pad-file --command="shfmt --write --space-redirects --indent=4"
|
|
117
|
+
language: python
|
|
118
|
+
types_or: [markdown, rst]
|
|
119
|
+
additional_dependencies: [uv==0.9.5]
|
|
120
|
+
|
|
121
|
+
- id: mypy
|
|
122
|
+
name: mypy
|
|
123
|
+
stages: [pre-push]
|
|
124
|
+
entry: uv run --extra=dev -m mypy
|
|
125
|
+
language: python
|
|
126
|
+
types_or: [python, toml]
|
|
127
|
+
pass_filenames: false
|
|
128
|
+
additional_dependencies: [uv==0.9.5]
|
|
129
|
+
|
|
130
|
+
- id: mypy-docs
|
|
131
|
+
name: mypy-docs
|
|
132
|
+
stages: [pre-push]
|
|
133
|
+
entry: uv run --extra=dev doccmd --no-write-to-file --example-workers 0 --language=python
|
|
134
|
+
--command="mypy"
|
|
135
|
+
language: python
|
|
136
|
+
types_or: [markdown, rst]
|
|
137
|
+
|
|
138
|
+
- id: check-manifest
|
|
139
|
+
name: check-manifest
|
|
140
|
+
stages: [pre-push]
|
|
141
|
+
entry: uv run --extra=dev -m check_manifest
|
|
142
|
+
language: python
|
|
143
|
+
pass_filenames: false
|
|
144
|
+
additional_dependencies: [uv==0.9.5]
|
|
145
|
+
|
|
146
|
+
- id: pyright
|
|
147
|
+
name: pyright
|
|
148
|
+
stages: [pre-push]
|
|
149
|
+
entry: uv run --extra=dev -m pyright .
|
|
150
|
+
language: python
|
|
151
|
+
types_or: [python, toml]
|
|
152
|
+
pass_filenames: false
|
|
153
|
+
additional_dependencies: [uv==0.9.5]
|
|
154
|
+
|
|
155
|
+
- id: pyright-docs
|
|
156
|
+
name: pyright-docs
|
|
157
|
+
stages: [pre-push]
|
|
158
|
+
entry: uv run --extra=dev doccmd --no-write-to-file --example-workers 0 --language=python
|
|
159
|
+
--command="pyright"
|
|
160
|
+
language: python
|
|
161
|
+
types_or: [markdown, rst]
|
|
162
|
+
|
|
163
|
+
- id: pyright-verifytypes
|
|
164
|
+
name: pyright-verifytypes
|
|
165
|
+
stages: [pre-push]
|
|
166
|
+
# Use `--ignoreexternal` because we expose parts of the Sphinx API and Sphinx is not
|
|
167
|
+
# thoroughly typed enough.
|
|
168
|
+
entry: uv run --extra=dev -m pyright --ignoreexternal --verifytypes sphinx_combine
|
|
169
|
+
language: python
|
|
170
|
+
pass_filenames: false
|
|
171
|
+
types_or: [python]
|
|
172
|
+
additional_dependencies: [uv==0.9.5]
|
|
173
|
+
|
|
174
|
+
- id: ty
|
|
175
|
+
name: ty
|
|
176
|
+
stages: [pre-push]
|
|
177
|
+
entry: uv run --extra=dev ty check
|
|
178
|
+
language: python
|
|
179
|
+
types_or: [python, toml]
|
|
180
|
+
pass_filenames: false
|
|
181
|
+
additional_dependencies: [uv==0.9.5]
|
|
182
|
+
|
|
183
|
+
- id: ty-docs
|
|
184
|
+
name: ty-docs
|
|
185
|
+
stages: [pre-push]
|
|
186
|
+
entry: uv run --extra=dev doccmd --no-write-to-file --example-workers 0 --language=python
|
|
187
|
+
--command="ty check"
|
|
188
|
+
language: python
|
|
189
|
+
types_or: [markdown, rst]
|
|
190
|
+
additional_dependencies: [uv==0.9.5]
|
|
191
|
+
|
|
192
|
+
- id: pyrefly
|
|
193
|
+
name: pyrefly
|
|
194
|
+
stages: [pre-push]
|
|
195
|
+
entry: uv run --extra=dev pyrefly check
|
|
196
|
+
language: python
|
|
197
|
+
types_or: [python, toml]
|
|
198
|
+
pass_filenames: false
|
|
199
|
+
additional_dependencies: [uv==0.9.5]
|
|
200
|
+
|
|
201
|
+
- id: pyrefly-docs
|
|
202
|
+
name: pyrefly-docs
|
|
203
|
+
stages: [pre-push]
|
|
204
|
+
entry: uv run --extra=dev doccmd --no-write-to-file --example-workers 0 --language=python
|
|
205
|
+
--command="pyrefly check"
|
|
206
|
+
language: python
|
|
207
|
+
types_or: [markdown, rst]
|
|
208
|
+
additional_dependencies: [uv==0.9.5]
|
|
209
|
+
|
|
210
|
+
- id: vulture
|
|
211
|
+
name: vulture
|
|
212
|
+
entry: uv run --extra=dev -m vulture .
|
|
213
|
+
language: python
|
|
214
|
+
types_or: [python]
|
|
215
|
+
pass_filenames: false
|
|
216
|
+
additional_dependencies: [uv==0.9.5]
|
|
217
|
+
|
|
218
|
+
- id: vulture-docs
|
|
219
|
+
name: vulture docs
|
|
220
|
+
entry: uv run --extra=dev doccmd --no-write-to-file --example-workers 0 --language=python
|
|
221
|
+
--command="vulture"
|
|
222
|
+
language: python
|
|
223
|
+
types_or: [markdown, rst]
|
|
224
|
+
additional_dependencies: [uv==0.9.5]
|
|
225
|
+
|
|
226
|
+
- id: pyroma
|
|
227
|
+
name: pyroma
|
|
228
|
+
entry: uv run --extra=dev -m pyroma --min 10 .
|
|
229
|
+
language: python
|
|
230
|
+
pass_filenames: false
|
|
231
|
+
types_or: [toml]
|
|
232
|
+
additional_dependencies: [uv==0.9.5]
|
|
233
|
+
|
|
234
|
+
- id: deptry
|
|
235
|
+
name: deptry
|
|
236
|
+
entry: uv run --extra=dev -m deptry src/
|
|
237
|
+
language: python
|
|
238
|
+
pass_filenames: false
|
|
239
|
+
additional_dependencies: [uv==0.9.5]
|
|
240
|
+
|
|
241
|
+
- id: pylint
|
|
242
|
+
name: pylint
|
|
243
|
+
entry: uv run --extra=dev -m pylint src/ tests/
|
|
244
|
+
language: python
|
|
245
|
+
stages: [manual]
|
|
246
|
+
pass_filenames: false
|
|
247
|
+
additional_dependencies: [uv==0.9.5]
|
|
248
|
+
|
|
249
|
+
- id: ruff-check-fix
|
|
250
|
+
name: Ruff check fix
|
|
251
|
+
entry: uv run --extra=dev -m ruff check --fix
|
|
252
|
+
language: python
|
|
253
|
+
types_or: [python]
|
|
254
|
+
additional_dependencies: [uv==0.9.5]
|
|
255
|
+
|
|
256
|
+
- id: ruff-check-fix-docs
|
|
257
|
+
name: Ruff check fix docs
|
|
258
|
+
entry: uv run --extra=dev doccmd --language=python --command="ruff check --fix"
|
|
259
|
+
language: python
|
|
260
|
+
types_or: [markdown, rst]
|
|
261
|
+
additional_dependencies: [uv==0.9.5]
|
|
262
|
+
|
|
263
|
+
- id: ruff-format-fix
|
|
264
|
+
name: Ruff format
|
|
265
|
+
entry: uv run --extra=dev -m ruff format
|
|
266
|
+
language: python
|
|
267
|
+
types_or: [python]
|
|
268
|
+
additional_dependencies: [uv==0.9.5]
|
|
269
|
+
|
|
270
|
+
- id: ruff-format-fix-docs
|
|
271
|
+
name: Ruff format docs
|
|
272
|
+
entry: uv run --extra=dev doccmd --language=python --no-pad-file --command="ruff
|
|
273
|
+
format"
|
|
274
|
+
language: python
|
|
275
|
+
types_or: [markdown, rst]
|
|
276
|
+
additional_dependencies: [uv==0.9.5]
|
|
277
|
+
|
|
278
|
+
- id: doc8
|
|
279
|
+
name: doc8
|
|
280
|
+
entry: uv run --extra=dev -m doc8
|
|
281
|
+
language: python
|
|
282
|
+
types_or: [rst]
|
|
283
|
+
additional_dependencies: [uv==0.9.5]
|
|
284
|
+
|
|
285
|
+
- id: interrogate
|
|
286
|
+
name: interrogate
|
|
287
|
+
entry: uv run --extra=dev -m interrogate
|
|
288
|
+
language: python
|
|
289
|
+
types_or: [python]
|
|
290
|
+
additional_dependencies: [uv==0.9.5]
|
|
291
|
+
|
|
292
|
+
- id: interrogate-docs
|
|
293
|
+
name: interrogate docs
|
|
294
|
+
entry: uv run --extra=dev doccmd --no-write-to-file --example-workers 0 --language=python
|
|
295
|
+
--command="interrogate"
|
|
296
|
+
language: python
|
|
297
|
+
types_or: [markdown, rst]
|
|
298
|
+
additional_dependencies: [uv==0.9.5]
|
|
299
|
+
|
|
300
|
+
- id: pyproject-fmt-fix
|
|
301
|
+
name: pyproject-fmt
|
|
302
|
+
entry: uv run --extra=dev pyproject-fmt
|
|
303
|
+
language: python
|
|
304
|
+
types_or: [toml]
|
|
305
|
+
files: pyproject.toml
|
|
306
|
+
additional_dependencies: [uv==0.9.5]
|
|
307
|
+
|
|
308
|
+
- id: yamlfix
|
|
309
|
+
name: yamlfix
|
|
310
|
+
entry: uv run --extra=dev yamlfix
|
|
311
|
+
language: python
|
|
312
|
+
types_or: [yaml]
|
|
313
|
+
additional_dependencies: [uv==0.9.5]
|
|
314
|
+
|
|
315
|
+
- id: zizmor
|
|
316
|
+
name: zizmor
|
|
317
|
+
entry: uv run --extra=dev zizmor --strict-collection .github
|
|
318
|
+
language: python
|
|
319
|
+
pass_filenames: false
|
|
320
|
+
types_or: [yaml]
|
|
321
|
+
additional_dependencies: [uv==0.9.5]
|
|
322
|
+
|
|
323
|
+
- id: sphinx-lint
|
|
324
|
+
name: sphinx-lint
|
|
325
|
+
entry: uv run --extra=dev sphinx-lint --enable=all --disable=line-too-long
|
|
326
|
+
language: python
|
|
327
|
+
types_or: [rst]
|
|
328
|
+
additional_dependencies: [uv==0.9.5]
|