Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
eec2330
BREAK: run CI tasks through `poe` or `pixi`
redeboer Jan 12, 2026
d3f0f2b
ENH: test for Poe `test` job
redeboer Jan 12, 2026
d3cf952
ENH: automatically update `test-all` job
redeboer Jan 12, 2026
f43bcd7
ENH: automatically update `lab` job
redeboer Jan 12, 2026
91ba440
FIX: get from `dependency-groups`
redeboer Jan 12, 2026
b325b7b
ENH: update Poe `nb` task
redeboer Jan 12, 2026
bcd5a14
ENH: update `uv.lock` through dependabot
redeboer Jan 12, 2026
073c85a
ENH: add Dependabot Julia support
redeboer Jan 12, 2026
5f9eb92
BEHAVIOR: always update `dependabot.yml`
redeboer Jan 12, 2026
2e2990d
ENH: remove `ci.autoupdate_schedule`
redeboer Jan 12, 2026
1d2a8c6
ENH: remove GitHub Actions from dependabot if not available
redeboer Jan 12, 2026
82dab17
MAINT: improve function name
redeboer Jan 12, 2026
7d72be9
MAINT: remove quotation marks from path name
redeboer Jan 12, 2026
7582dad
DX: type argument namespace
redeboer Jan 12, 2026
86f2ee1
ENH: outsource upgrade-lock if dependabot
redeboer Jan 12, 2026
b905d66
FIX: address Sphinx problems
redeboer Jan 12, 2026
6c34e7f
ENH: update `ci.autoupdate_schedule` if dependabot
redeboer Jan 12, 2026
1601739
ENH: outsource to pre-commit
redeboer Jan 12, 2026
06e640e
ENH: autoupdate Poe `all` task
redeboer Jan 12, 2026
74a1692
ENH: autoupdate `doclive` job
redeboer Jan 14, 2026
d17e708
ENH: deny `tool.pytest.ini_options`
redeboer Jan 14, 2026
b20ee63
ENH: set Pytest `minversion`
redeboer Jan 14, 2026
3a02ab1
MAINT: sort arguments
redeboer Jan 14, 2026
f0b6f2e
DX: automatically add issues to project board
redeboer Jan 14, 2026
b076586
MAINT: remove redundant `"python.languageServer": "None"`
redeboer Jan 15, 2026
b4e45ab
MAINT: adapt to `ty` v0.0.12
redeboer Jan 15, 2026
5bd926d
ENH: check for `uv run` calls in Poe the Poet
redeboer Jan 15, 2026
3238a20
MAINT: upgrade Prettier pre-commit hook
redeboer Jan 15, 2026
0e47c16
DX: switch to `jupyter-ruff` extension
redeboer Jan 15, 2026
96cab21
MAINT: remove add-to-project workflow
redeboer Jan 16, 2026
5814a84
MAINT: only add `known-first-party` if has notebooks
redeboer Jan 16, 2026
54e220d
FIX: only set `known-first-party` if package
redeboer Jan 16, 2026
ca812e8
MAINT: remove `rope` from `python-lsp-server`
redeboer Jan 18, 2026
0205a81
ENH: only install `jupyterlab-myst` if MyST project
redeboer Jan 18, 2026
56b69a1
ENH: update Jupyter dependencies if no package name
redeboer Jan 18, 2026
cac1c42
ENH: activate doc support when documentation is in root
redeboer Jan 18, 2026
6852317
ENH: autodetect if repository contains Python code
redeboer Jan 18, 2026
87d31fe
ENH: do not create empty `sphinx` key
redeboer Jan 18, 2026
ca14232
ENH: match patterns with `ls-files` only
redeboer Jan 18, 2026
8bca78f
ENH: determine docs dir automatically
redeboer Jan 18, 2026
f6a04fb
ENH: do not add `no-group` if no `dev` group
redeboer Jan 18, 2026
eb6d7fa
FIX: install correct `jupyterlab-quarto` package
redeboer Jan 18, 2026
3eb8cbf
FIX: always install `nbmake`
redeboer Jan 18, 2026
788be03
ENH: remove `jupyterlab-myst` if not MyST
redeboer Jan 18, 2026
a247646
ENH: create `.github` directory for Dependabot
redeboer Jan 18, 2026
f694b94
ENH: only require `docnb` and `docnblive` if `myst-nb` extension
redeboer Jan 18, 2026
422b4f4
FIX: only delete `executor` table if available
redeboer Jan 18, 2026
827d253
ENH: add `.github/dependabot.yml` to cSpell ignore
redeboer Jan 18, 2026
592dd32
FIX: do not require `doc` in `doclive` group
redeboer Jan 18, 2026
a5e2120
FEAT: add `--keep-contributing-md` flag
redeboer Jan 18, 2026
402aee7
MAINT: ugprade lock files
redeboer Jan 21, 2026
df34004
MAINT: remove `MAINT` from cspell config
redeboer Jan 21, 2026
a372dc1
FIX: support no `pyproject.toml`
redeboer Jan 21, 2026
fce47e3
FIX: exclude `conf.py` and `_quarto.yml` under `tests/`
redeboer Jan 21, 2026
ae7d625
FIX: rename `tool.pixi.project
redeboer Jan 21, 2026
136f58e
FIX: always use Pixi `workspace` key
redeboer Jan 21, 2026
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
2 changes: 1 addition & 1 deletion .cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
"*.ico",
".editorconfig",
".envrc",
".github/dependabot.yml",
".gitignore",
".gitpod.*",
".pre-commit-config.yaml",
Expand All @@ -39,7 +40,6 @@
],
"ignoreWords": [
"FURB",
"MAINT",
"PyPI",
"addopts",
"argparse",
Expand Down
22 changes: 10 additions & 12 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
version: 2

multi-ecosystem-groups:
lock:
assignees: [redeboer]
commit-message: { prefix: MAINT }
schedule: { interval: quarterly }

updates:
- package-ecosystem: github-actions
directory: "/"
assignees:
- redeboer
commit-message:
prefix: MAINT
groups:
actions:
patterns:
- "*"
labels:
- ⬆️ Lock
schedule:
interval: monthly
labels: [⬆️ Lock]
multi-ecosystem-group: lock
patterns: ["*"]
4 changes: 2 additions & 2 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ on:
jobs:
milestone:
if: startsWith(github.ref, 'refs/tags')
uses: ComPWA/actions/.github/workflows/close-milestone.yml@v3
uses: ComPWA/actions/.github/workflows/close-milestone.yml@v4
push:
if: startsWith(github.ref, 'refs/tags') && !github.event.release.prerelease
secrets: inherit
uses: ComPWA/actions/.github/workflows/push-to-version-branches.yml@v3
uses: ComPWA/actions/.github/workflows/push-to-version-branches.yml@v4
28 changes: 10 additions & 18 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,32 +17,24 @@ on:
- epic/*
- "[0-9]+.[0-9]+.x"
workflow_dispatch:
inputs:
specific-pip-packages:
description: Run CI with specific pip packages
required: false
type: string

jobs:
doc:
uses: ComPWA/actions/.github/workflows/ci-docs.yml@v3.0
uses: ComPWA/actions/.github/workflows/ci-docs.yml@v4.0
permissions:
pages: write
id-token: write
with:
gh-pages: true
specific-pip-packages: ${{ inputs.specific-pip-packages }}
pytest:
uses: ComPWA/actions/.github/workflows/pytest.yml@v3.0
with:
coverage-target: compwa_policy
macos-python-version: "3.10"
multithreaded: false
specific-pip-packages: ${{ inputs.specific-pip-packages }}
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
style:
if: inputs.specific-pip-packages == ''
secrets:
token: ${{ secrets.PAT }}
uses: ComPWA/actions/.github/workflows/pre-commit.yml@v3.0
uses: ComPWA/actions/.github/workflows/pre-commit.yml@v4.0
test:
uses: ComPWA/actions/.github/workflows/test.yml@v4.0
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
coverage-python-version: "3.13"
macos-python-version: "3.10"
multithreaded: false
2 changes: 1 addition & 1 deletion .github/workflows/clean-caches.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
name: Remove caches
runs-on: ubuntu-24.04
steps:
- uses: ComPWA/actions/clean-caches@v3
- uses: ComPWA/actions/clean-caches@v4
with:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ref: ${{ inputs.ref }}
2 changes: 1 addition & 1 deletion .github/workflows/lock.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@ on:

jobs:
lock:
uses: ComPWA/actions/.github/workflows/lock.yml@v3
uses: ComPWA/actions/.github/workflows/lock.yml@v4
secrets:
token: ${{ secrets.PAT }}
2 changes: 1 addition & 1 deletion .github/workflows/pr-linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ on:

jobs:
lint-pr:
uses: ComPWA/actions/.github/workflows/pr-linting.yml@v3
uses: ComPWA/actions/.github/workflows/pr-linting.yml@v4
5 changes: 2 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ repos:
- id: check-useless-excludes

- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.14.11
rev: v0.14.13
hooks:
- id: ruff-check
args: [--fix]
Expand Down Expand Up @@ -49,7 +49,6 @@ repos:
pass_filenames: false
args:
- --allow-labels
- --dependabot=update
- --keep-local-precommit
- --no-pypi
- --pytest-single-threaded
Expand All @@ -64,7 +63,7 @@ repos:
files: ^\.pre\-commit\-(config|hooks)\.yaml$

- repo: https://github.com/ComPWA/prettier-pre-commit
rev: v3.4.2
rev: v3.8.0
hooks:
- id: prettier

Expand Down
1 change: 0 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@
},
"notebook.formatOnSave.enabled": true,
"python.defaultInterpreterPath": ".venv/bin/python",
"python.languageServer": "None",
"python.terminal.activateEnvironment": false,
"python.testing.pytestEnabled": true,
"python.testing.unittestEnabled": false,
Expand Down
10 changes: 6 additions & 4 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,8 @@
api_target_substitutions: dict[str, str | tuple[str, str]] = {
"Array": "tomlkit.items.Array",
"ConfigParser": "configparser.ConfigParser",
"DependabotOption": (
"obj",
"compwa_policy.check_dev_files.dependabot.DependabotOption",
),
"Frequency": "typing.Literal",
"InlineTable": "tomlkit.items.InlineTable",
"IO": "typing.IO",
"Iterable": "typing.Iterable",
"K": "typing.TypeVar",
Expand All @@ -39,8 +36,13 @@
"T": "typing.TypeVar",
"Table": "tomlkit.items.Table",
"TOMLDocument": "tomlkit.TOMLDocument",
"ty.TypeChecker": ("obj", "compwa_policy.check_dev_files.ty.TypeChecker"),
"TypeChecker": ("obj", "compwa_policy.check_dev_files.ty.TypeChecker"),
"typing_extensions.NotRequired": ("obj", "typing.NotRequired"),
"upgrade_lock.Frequency": (
"obj",
"compwa_policy.check_dev_files.upgrade_lock.Frequency",
),
"V": "typing.TypeVar",
}
author = "Common Partial Wave Analysis"
Expand Down
74 changes: 42 additions & 32 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ dependencies = [
"pip-tools",
"rtoml", # fast, read-only parsing
"ruamel.yaml", # better YAML dumping
"setuptools",
"tomlkit", # preserve original TOML formatting
'more-itertools; python_version <"3.10.0"', # pairwise
'typing-extensions; python_version <"3.12.0"', # override
Expand Down Expand Up @@ -58,7 +59,6 @@ Tracker = "https://github.com/ComPWA/policy/issues"
dev = [
"labels",
"ruff",
"sphinx-autobuild",
{include-group = "doc"},
{include-group = "style"},
{include-group = "test"},
Expand Down Expand Up @@ -130,7 +130,8 @@ no-group = "dev"
type = "uv"

[tool.poe.tasks.all]
help = "Run all continuous integration tasks locally"
help = "Run all continuous integration (CI) tasks locally"
ignore_fail = "return_non_zero"
sequence = [
"cov",
"doc",
Expand All @@ -141,13 +142,13 @@ sequence = [

[tool.poe.tasks.cov]
cmd = """
uv run --group test --isolated --no-dev \
pytest \
--cov-fail-under=32 \
--cov-report=html \
--cov-report=xml \
${paths}
pytest \
--cov-fail-under=32 \
--cov-report=html \
--cov-report=xml \
${paths}
"""
executor = {group = "test"}
help = "Compute how much of the source code is covered by tests"

[[tool.poe.tasks.cov.args]]
Expand Down Expand Up @@ -188,8 +189,8 @@ sphinx-autobuild \
docs/ \
docs/_build/html/
"""
executor = {group = "doc"}
help = "Run all unit tests"
executor = {group = "doc", with = "sphinx-autobuild"}
help = "Set up a server to directly preview changes to the HTML pages"

[tool.poe.tasks.linkcheck]
cmd = """
Expand Down Expand Up @@ -221,31 +222,40 @@ positional = true
[tool.poe.tasks.test-all]
help = "Run all tests on each supported Python version"
sequence = [
{ref = "test-py 3.10"},
{ref = "test-py 3.11"},
{ref = "test-py 3.12"},
{ref = "test-py 3.13"},
{ref = "test-py 3.14"},
{ref = "test-py310 ${paths}"},
{ref = "test-py311 ${paths}"},
{ref = "test-py312 ${paths}"},
{ref = "test-py313 ${paths}"},
{ref = "test-py314 ${paths}"},
]

[tool.poe.tasks.test-py]
cmd = """
uv run \
--group=test \
--isolated \
--no-dev \
--python=${python} \
pytest --no-summary
"""
help = "Run all tests on a specific Python version"

[[tool.poe.tasks.test-py.args]]
default = "3.13"
help = "Selected Python version"
name = "python"
[[tool.poe.tasks.test-all.args]]
default = ""
multiple = true
name = "paths"
positional = true

[tool.pytest.ini_options]
[tool.poe.tasks.test-py310]
env = {UV_PYTHON = "3.10"}
ref = "test"

[tool.poe.tasks.test-py311]
env = {UV_PYTHON = "3.11"}
ref = "test"

[tool.poe.tasks.test-py312]
env = {UV_PYTHON = "3.12"}
ref = "test"

[tool.poe.tasks.test-py313]
env = {UV_PYTHON = "3.13"}
ref = "test"

[tool.poe.tasks.test-py314]
env = {UV_PYTHON = "3.14"}
ref = "test"

[tool.pytest]
addopts = [
"--color=yes",
"--doctest-continue-on-failure",
Expand All @@ -259,6 +269,7 @@ filterwarnings = [
"ignore: Importing ErrorTree directly from the jsonschema package is deprecated.*",
"ignore: The `hash` argument is deprecated in favor of `unsafe_hash` and will be removed in or after August 2025.:DeprecationWarning",
]
minversion = "9.0"
testpaths = [
"src",
"tests",
Expand Down Expand Up @@ -316,7 +327,6 @@ task-tags = ["cspell"]
ban-relative-imports = "all"

[tool.ruff.lint.isort]
known-first-party = ["compwa_policy"]
split-on-trailing-comma = false

[tool.ruff.lint.per-file-ignores]
Expand Down
8 changes: 4 additions & 4 deletions src/compwa_policy/.github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ on:
jobs:
milestone:
if: startsWith(github.ref, 'refs/tags')
uses: ComPWA/actions/.github/workflows/close-milestone.yml@v3
uses: ComPWA/actions/.github/workflows/close-milestone.yml@v4
package-name:
uses: ComPWA/actions/.github/workflows/get-pypi-name.yml@v3
uses: ComPWA/actions/.github/workflows/get-pypi-name.yml@v4
pypi:
environment:
name: PyPI
Expand All @@ -24,9 +24,9 @@ jobs:
id-token: write
runs-on: ubuntu-24.04
steps:
- uses: ComPWA/actions/build-pypi-distribution@v3
- uses: ComPWA/actions/build-pypi-distribution@v4
- uses: pypa/gh-action-pypi-publish@release/v1
push:
if: startsWith(github.ref, 'refs/tags') && !github.event.release.prerelease
secrets: inherit
uses: ComPWA/actions/.github/workflows/push-to-version-branches.yml@v3
uses: ComPWA/actions/.github/workflows/push-to-version-branches.yml@v4
18 changes: 4 additions & 14 deletions src/compwa_policy/.github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,26 +20,16 @@ on:
- epic/*
- "[0-9]+.[0-9]+.x"
workflow_dispatch:
inputs:
specific-pip-packages:
description: Run CI with specific pip packages
required: false
type: string

jobs:
doc:
uses: ComPWA/actions/.github/workflows/ci-docs.yml@v3.0
uses: ComPWA/actions/.github/workflows/ci-docs.yml@v4.0
permissions:
pages: write
id-token: write
with:
specific-pip-packages: ${{ inputs.specific-pip-packages }}
pytest:
uses: ComPWA/actions/.github/workflows/pytest.yml@v3.0
with:
specific-pip-packages: ${{ inputs.specific-pip-packages }}
style:
if: inputs.specific-pip-packages == ''
secrets:
token: ${{ secrets.PAT }}
uses: ComPWA/actions/.github/workflows/pre-commit.yml@v3.0
uses: ComPWA/actions/.github/workflows/pre-commit.yml@v4.0
test:
uses: ComPWA/actions/.github/workflows/test.yml@v4.0
2 changes: 1 addition & 1 deletion src/compwa_policy/.github/workflows/lock.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,6 @@ on:

jobs:
lock:
uses: ComPWA/actions/.github/workflows/lock.yml@v3
uses: ComPWA/actions/.github/workflows/lock.yml@v4
secrets:
token: ${{ secrets.PAT }}
2 changes: 1 addition & 1 deletion src/compwa_policy/.template/.cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
".editorconfig",
".envrc",
".gitattributes",
".github/dependabot.yml",
".gitignore",
".gitpod.*",
".htaccess",
Expand Down Expand Up @@ -63,7 +64,6 @@
"update-www"
],
"ignoreWords": [
"MAINT",
"PyPI",
"argparse",
"autonumbering",
Expand Down
Loading
Loading