Skip to content
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
40 changes: 20 additions & 20 deletions .github/workflows/pr_code_changes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ jobs:
Lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.13"
python-version: "3.14"
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Install relevant dependencies
Expand All @@ -25,7 +25,7 @@ jobs:
outputs:
mdn_changed: ${{ steps.check.outputs.mdn_changed }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Check for MDN-related file changes
Expand All @@ -50,63 +50,63 @@ jobs:
strategy:
matrix:
os: [ ubuntu-latest ]
python-version: ["3.12", "3.13"]
python-version: ["3.12", "3.14"]
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repo
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install slim version
run: |
uv pip install -e "." --system
- name: Install R and dependencies (Python 3.13 only)
if: matrix.python-version == '3.13'
- name: Install R and dependencies (Python 3.14 only)
if: matrix.python-version == '3.14'
run: |
sudo apt-get update
sudo apt-get install -y r-base r-base-dev libtirpc-dev
- name: Install R packages (Python 3.13 only)
if: matrix.python-version == '3.13'
- name: Install R packages (Python 3.14 only)
if: matrix.python-version == '3.14'
run: |
sudo Rscript -e 'install.packages("StatMatch", repos="https://cloud.r-project.org")'
sudo Rscript -e 'install.packages("clue", repos="https://cloud.r-project.org")'
- name: Install full test dependencies without MDN (Python 3.13)
if: matrix.python-version == '3.13' && needs.Check-MDN-Changes.outputs.mdn_changed != 'true'
- name: Install full test dependencies without MDN (Python 3.14)
if: matrix.python-version == '3.14' && needs.Check-MDN-Changes.outputs.mdn_changed != 'true'
run: |
uv pip install -e ".[dev,matching]" --system
- name: Install full test dependencies with MDN (Python 3.13)
if: matrix.python-version == '3.13' && needs.Check-MDN-Changes.outputs.mdn_changed == 'true'
- name: Install full test dependencies with MDN (Python 3.14)
if: matrix.python-version == '3.14' && needs.Check-MDN-Changes.outputs.mdn_changed == 'true'
run: |
uv pip install -e ".[dev,matching,mdn]" --system
- name: Install minimal test dependencies (Python 3.12)
if: matrix.python-version == '3.12'
run: |
uv pip install -e ".[dev]" --system
- name: Run full tests with coverage (Python 3.13)
if: matrix.python-version == '3.13'
- name: Run full tests with coverage (Python 3.14)
if: matrix.python-version == '3.14'
run: make test
- name: Run smoke test only (Python 3.12)
if: matrix.python-version == '3.12'
run: |
python -m pytest tests/test_smoke_qrf.py -v
python -m pytest tests/test_basic.py -v
- name: Run pipeline example
if: matrix.python-version == '3.13'
if: matrix.python-version == '3.14'
run: |
python examples/pipeline.py
- name: Upload microimputation results
if: always() && matrix.python-version == '3.13'
if: always() && matrix.python-version == '3.14'
uses: actions/upload-artifact@v4
with:
name: microimputation-results-${{ github.sha }}
path: microimputation-dashboard/public/microimputation_results.csv
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v5
with:
file: ./coverage.xml
fail_ci_if_error: false
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr_docs_changes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.13'
python-version: '3.14'

- name: Install R and dependencies
run: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/versioning.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: 3.13
python-version: 3.14
- name: Bump version and build changelog
run: |
pip install towncrier
Expand All @@ -41,7 +41,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.13"]
python-version: ["3.14"]
steps:
- name: Checkout code
uses: actions/checkout@v4
Expand Down
1 change: 1 addition & 0 deletions changelog.d/python-3.14.changed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Added Python 3.14 support, bumped dependency upper bounds (pandas, plotly, scipy, pytest, pytest-cov), and upgraded GitHub Actions versions.
14 changes: 7 additions & 7 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ authors = [
{ name = "María Juaristi", email = "juaristi@uni.minerva.edu" },
{ name = "Nikhil Woodruff", email = "nikhil.woodruff@outlook.com" }
]
requires-python = ">=3.12,<3.14"
requires-python = ">=3.12,<3.15"
dependencies = [
"numpy>=2.0.0,<3.0.0",
"pandas>=2.2.0,<3.0.0",
"plotly>=5.24.0,<6.0.0",
"pandas>=2.2.0,<4.0.0",
"plotly>=5.24.0,<7.0.0",
"scikit-learn>=1.7.0,<2.0.0",
"scipy>=1.16.0,<1.17.0",
"scipy>=1.16.0,<2.0.0",
"requests>=2.32.0,<3.0.0",
"tqdm>=4.65.0,<5.0.0",
"statsmodels>=0.14.5,<0.16.0",
Expand All @@ -33,8 +33,8 @@ dependencies = [

[project.optional-dependencies]
dev = [
"pytest>=8.0.0,<9.0.0",
"pytest-cov>=6.0.0,<7.0.0",
"pytest>=8.0.0,<10.0.0",
"pytest-cov>=6.0.0,<8.0.0",
"ruff>=0.9.0",
"mypy>=1.2.3,<2.0.0",
"build>=1.2.0,<2.0.0",
Expand All @@ -54,7 +54,7 @@ docs = [
"jupyter-book",
"furo>=2024.0.0", # Sphinx theme for documentation
"ipywidgets>=8.0.0,<9.0.0",
"plotly>=5.24.0,<6.0.0",
"plotly>=5.24.0,<7.0.0",
"h5py>=3.1.0,<4.0.0",
]

Expand Down
Loading