Skip to content

Commit fcccd75

Browse files
authored
Merge 0aac44e into release
2 parents 3c676e2 + 0aac44e commit fcccd75

80 files changed

Lines changed: 3739 additions & 2314 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/_build_and_publish_documentation.yml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,20 @@ jobs:
1313
runs-on: ubuntu-latest
1414
steps:
1515
- name: Checkout active branch
16-
uses: actions/checkout@v4
16+
uses: actions/checkout@v5
1717
with:
1818
lfs: true
1919
- name: Install uv
20-
uses: astral-sh/setup-uv@v2
20+
uses: astral-sh/setup-uv@v7
2121
with:
2222
enable-cache: true
23-
cache-dependency-glob: "uv.lock"
23+
cache-dependency-glob: 'uv.lock'
2424
- name: Set up Python
25-
uses: actions/setup-python@v5
25+
uses: actions/setup-python@v6
2626
with:
27-
python-version: "3.12.8"
28-
python-version-file: "pyproject.toml"
27+
python-version-file: 'pyproject.toml'
2928
- name: Install the project
30-
run: uv sync --upgrade
29+
run: uv sync --frozen
3130
- name: Print debugging information
3231
run: |
3332
echo "github.ref:" ${{github.ref}}

.github/workflows/_build_package.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,22 @@ jobs:
77
name: Build source distribution
88
runs-on: ubuntu-latest
99
steps:
10-
- uses: actions/checkout@v4
10+
- uses: actions/checkout@v5
1111
with:
1212
lfs: true
1313
- name: Install uv
14-
uses: astral-sh/setup-uv@v2
14+
uses: astral-sh/setup-uv@v7
1515
with:
1616
enable-cache: true
1717
cache-dependency-glob: "uv.lock"
18-
- uses: actions/setup-python@v5
18+
- uses: actions/setup-python@v6
1919
with:
20-
python-version: "3.12.8"
2120
python-version-file: "pyproject.toml"
2221
- name: Build source distribution and wheel
2322
run: uv build
2423
- name: Run twine check
2524
run: uvx twine check --strict dist/*
26-
- uses: actions/upload-artifact@v4
25+
- uses: actions/upload-artifact@v5
2726
with:
2827
path: |
2928
dist/*.tar.gz

.github/workflows/_code_quality.yml

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,16 @@ jobs:
77
runs-on: ubuntu-latest
88
name: ruff format
99
steps:
10-
- uses: actions/checkout@v4
10+
- uses: actions/checkout@v5
1111
- name: Install uv
12-
uses: astral-sh/setup-uv@v2
12+
uses: astral-sh/setup-uv@v7
1313
with:
1414
enable-cache: true
15-
cache-dependency-glob: "uv.lock"
15+
cache-dependency-glob: 'uv.lock'
1616
- name: Set up Python
17-
uses: actions/setup-python@v5
17+
uses: actions/setup-python@v6
1818
with:
19-
python-version: "3.12.8"
20-
python-version-file: "pyproject.toml"
19+
python-version-file: 'pyproject.toml'
2120
- name: Install the project
2221
run: uv sync --upgrade
2322
- name: Run ruff format
@@ -27,17 +26,16 @@ jobs:
2726
runs-on: ubuntu-latest
2827
name: ruff check
2928
steps:
30-
- uses: actions/checkout@v4
29+
- uses: actions/checkout@v5
3130
- name: Install uv
32-
uses: astral-sh/setup-uv@v2
31+
uses: astral-sh/setup-uv@v7
3332
with:
3433
enable-cache: true
35-
cache-dependency-glob: "uv.lock"
34+
cache-dependency-glob: 'uv.lock'
3635
- name: Set up Python
37-
uses: actions/setup-python@v5
36+
uses: actions/setup-python@v6
3837
with:
39-
python-version: "3.12.8"
40-
python-version-file: "pyproject.toml"
38+
python-version-file: 'pyproject.toml'
4139
- name: Install the project
4240
run: uv sync --upgrade
4341
- name: Run ruff check
@@ -47,37 +45,36 @@ jobs:
4745
# runs-on: ubuntu-latest
4846
# name: pyright
4947
# steps:
50-
# - uses: actions/checkout@v4
48+
# - uses: actions/checkout@v5
5149
# - name: Install uv
52-
# uses: astral-sh/setup-uv@v2
50+
# uses: astral-sh/setup-uv@v7
5351
# with:
5452
# enable-cache: true
5553
# cache-dependency-glob: "uv.lock"
5654
# - name: Set up Python
57-
# uses: actions/setup-python@v5
55+
# uses: actions/setup-python@v6
5856
# with:
5957
# python-version-file: "pyproject.toml"
6058
# - name: Install the project
61-
# run: uv sync --upgrade
59+
# run: uv sync --upgrade --extra test
6260
# - name: Run pyright
6361
# run: uv run pyright
6462

6563
mypy:
6664
runs-on: ubuntu-latest
6765
name: mypy
6866
steps:
69-
- uses: actions/checkout@v4
67+
- uses: actions/checkout@v5
7068
- name: Install uv
71-
uses: astral-sh/setup-uv@v2
69+
uses: astral-sh/setup-uv@v7
7270
with:
7371
enable-cache: true
74-
cache-dependency-glob: "uv.lock"
72+
cache-dependency-glob: 'uv.lock'
7573
- name: Set up Python
76-
uses: actions/setup-python@v5
74+
uses: actions/setup-python@v6
7775
with:
78-
python-version: "3.12.8"
79-
python-version-file: "pyproject.toml"
76+
python-version-file: 'pyproject.toml'
8077
- name: Install the project
81-
run: uv sync --upgrade --extra tests
78+
run: uv sync --upgrade --extra test
8279
- name: Run mypy
8380
run: uv run mypy

.github/workflows/_merge_into_release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
runs-on: ubuntu-latest
1313
environment: release
1414
steps:
15-
- uses: actions/checkout@v4
15+
- uses: actions/checkout@v5
1616
with:
1717
# Fetch the whole history to prevent unrelated history errors
1818
fetch-depth: 0

.github/workflows/_test.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ jobs:
77
name: Test on ${{matrix.python.version}}-${{matrix.platform.runner}}
88
runs-on: ${{ matrix.platform.runner }}
99
strategy:
10+
fail-fast: true
1011
matrix:
1112
platform:
1213
- runner: ubuntu-latest
@@ -16,22 +17,21 @@ jobs:
1617
- version: '3.11'
1718
- version: '3.12'
1819
- version: '3.13'
20+
- version: '3.14'
1921
steps:
20-
- uses: actions/checkout@v4
22+
- uses: actions/checkout@v5
2123
- name: Install uv
22-
uses: astral-sh/setup-uv@v2
24+
uses: astral-sh/setup-uv@v7
2325
with:
2426
enable-cache: true
25-
cache-dependency-glob: "uv.lock"
27+
cache-dependency-glob: 'uv.lock'
2628
- name: Install Python ${{ matrix.python.version }}
27-
uses: actions/setup-python@v5
29+
uses: actions/setup-python@v6
2830
with:
2931
python-version: ${{ matrix.python.version }}
3032
- name: Install the project
31-
run: uv sync --upgrade -p ${{ matrix.python.version }} --no-dev --extra tests
32-
- name: Install pytest
33-
run: |
34-
uv pip install pytest
35-
uv pip install pytest-cov
33+
run: uv sync -p ${{ matrix.python.version }} -U --no-dev --extra test
3634
- name: Run pytest
37-
run: uv run pytest --cov
35+
run: >
36+
uv run --with pytest --with pytest-cov
37+
pytest --cov

.github/workflows/_test_future.yml

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,47 @@
1-
name: Unit Tests (py314)
2-
# Test also with Python 3.14 (experimental; workflow will not fail on error.)
1+
name: Unit Tests (py315)
2+
# Test also with Python 3.15 (experimental; workflow will not fail on error.)
33

44
on: workflow_call
55

66
jobs:
7-
test314:
7+
test315:
88
name: Test on ${{matrix.python.version}}-${{matrix.platform.runner}} (experimental)
99
continue-on-error: true
1010
runs-on: ${{ matrix.platform.runner }}
1111
strategy:
12+
fail-fast: true
1213
matrix:
1314
platform:
1415
- runner: ubuntu-latest
1516
- runner: windows-latest
1617
python:
17-
- version: '3.14.0-alpha - 3.14.0'
18-
uvpy: '3.14'
18+
- version: '3.15.0-alpha - 3.15.0'
19+
uvpy: '3.15'
1920
steps:
20-
- uses: actions/checkout@v4
21+
- uses: actions/checkout@v5
2122
- name: Install uv
22-
uses: astral-sh/setup-uv@v2
23+
uses: astral-sh/setup-uv@v7
2324
with:
2425
enable-cache: true
25-
cache-dependency-glob: "uv.lock"
26+
cache-dependency-glob: 'uv.lock'
2627
- name: Install Python ${{ matrix.python.version }}
27-
uses: actions/setup-python@v5
28+
uses: actions/setup-python@v6
2829
with:
2930
python-version: ${{ matrix.python.version }}
30-
- name: Install the project
31-
run: uv sync --upgrade -p ${{ matrix.python.uvpy }} --no-dev --extra tests
32-
- name: Install pytest
31+
- name: Remove Python upper version constraint from pyproject.toml
32+
shell: pwsh
3333
run: |
34-
uv pip install pytest
35-
uv pip install pytest-cov
34+
$File = Get-Item pyproject.toml
35+
$Content = Get-Content $File -Raw
36+
[regex]$RequiresPythonPattern = '(?<!-)(\brequires-python = "\s?[>=]{1,2}\s?\d+\.\d+\.?\d*\.?[\d\w]*\s?)(,\s?[<=]{1,2}\s?\d+\.?\d*\.?\d*\.?[\d\w]*\s?)?(")'
37+
if ($Content -match $RequiresPythonPattern) {
38+
$RequiresPythonFound = $Matches[0]
39+
$RequiresPythonReplacement = $Matches[1] + $Matches[3]
40+
$Content -Replace $RequiresPythonFound, $RequiresPythonReplacement | Set-Content $File -NoNewline
41+
}
42+
- name: Install the project
43+
run: uv sync -p ${{ matrix.python.uvpy }} -U --no-dev --extra test
3644
- name: Run pytest
37-
run: uv run pytest --cov
45+
run: >
46+
uv run --with pytest --with pytest-cov
47+
pytest --cov

.github/workflows/nightly_build.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ on:
66
- cron: '30 5 * * *'
77

88
jobs:
9-
code_quality:
10-
uses: ./.github/workflows/_code_quality.yml
119
test:
1210
uses: ./.github/workflows/_test.yml
1311
test_future:

.github/workflows/publish_release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
permissions:
1919
id-token: write
2020
steps:
21-
- uses: actions/download-artifact@v4
21+
- uses: actions/download-artifact@v5
2222
with:
2323
name: artifact
2424
path: dist

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ ipython_config.py
9191
# It is generally recommended to include `uv.lock` in version control.
9292
# However, in case of collaboration, if having platform-specific dependencies or dependencies
9393
# having no cross-platform support, `uv` might install dependencies in one environment that don't work in another.
94-
# In such case, `uv.lock` should be added to `.gitignore`
94+
# In such case, `uv.lock` should be added to `.gitignore` (and, as such, excluded from version control).
9595
# uv.lock
9696

9797
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm

.pre-commit-config.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
repos:
22
- repo: https://github.com/pre-commit/pre-commit-hooks
3-
rev: v4.6.0
3+
rev: v6.0.0
44
hooks:
55
- id: mixed-line-ending
6-
fix: auto
6+
args: [--fix=auto]
77
- id: trailing-whitespace
88
- id: check-yaml
99
- id: check-toml
1010
- id: check-merge-conflict
1111
- repo: https://github.com/astral-sh/ruff-pre-commit
12-
rev: v0.6.2
12+
rev: v0.14.3
1313
hooks:
14-
- id: ruff
1514
- id: ruff-format
15+
- id: ruff-check
1616
# - repo: https://github.com/pre-commit/mirrors-mypy
17-
# rev: v1.9.0
17+
# rev: v1.14.1
1818
# hooks:
1919
# - id: mypy
20-
# exclude: tests/
20+
exclude: '(.venv|.*_cache)/.*'

0 commit comments

Comments
 (0)