Skip to content
Draft
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
2 changes: 1 addition & 1 deletion .github/py-shiny/setup/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ inputs:
python-version:
description: 'Python version to use'
required: false
default: "3.13"
default: "3.14"
runs:
using: "composite"
steps:
Expand Down
26 changes: 12 additions & 14 deletions .github/workflows/pytest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,14 @@ jobs:
strategy:
matrix:
# "3.10" must be a string; otherwise it is interpreted as 3.1.
python-version: ["3.13", "3.12", "3.11", "3.10", "3.9"]
python-version: ["3.14", "3.13", "3.12", "3.11", "3.10"]
os: [ubuntu-latest, windows-latest, macOS-latest]
exclude:
- python-version: ${{ github.event.pull_request.draft && '3.14' }}
- python-version: ${{ github.event.pull_request.draft && '3.13' }}
- python-version: ${{ github.event.pull_request.draft && '3.12' }}
- python-version: ${{ github.event.pull_request.draft && '3.11' }}
- python-version: ${{ github.event.pull_request.draft && '3.10' }}
- python-version: ${{ github.event.pull_request.draft && '3.9' }}
- os: ${{ github.event.pull_request.draft && 'windows-latest' }}
- os: ${{ github.event.pull_request.draft && 'macOS-latest' }}

Expand Down Expand Up @@ -108,19 +109,16 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.13", "3.12", "3.11", "3.10", "3.9"]
python-version: ["3.14", "3.13", "3.12", "3.11", "3.10"]
browser: ["chromium", "firefox", "webkit"]
exclude:
- python-version: ${{ github.event.pull_request.draft && '3.14' }}
- python-version: ${{ github.event.pull_request.draft && '3.13' }}
- python-version: ${{ github.event.pull_request.draft && '3.12' }}
- python-version: ${{ github.event.pull_request.draft && '3.11' }}
- python-version: ${{ github.event.pull_request.draft && '3.10' }}
- python-version: ${{ github.event.pull_request.draft && '3.9' }}
- browser: ${{ github.event.pull_request.draft && 'firefox' }}
- browser: ${{ github.event.pull_request.draft && 'webkit' }}
# There are many unexplained tests that fail on webkit w/ python 3.8, 3.9
# Given the more recent versions of python work, we will exclude this combination
- browser: "webkit"
python-version: "3.9"
fail-fast: false

steps:
Expand Down Expand Up @@ -157,13 +155,14 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.13", "3.12", "3.11", "3.10", "3.9"]
python-version: ["3.14", "3.13", "3.12", "3.11", "3.10"]
browser: ["chromium", "firefox", "webkit"]
exclude:
- python-version: ${{ github.event.pull_request.draft && '3.14' }}
- python-version: ${{ github.event.pull_request.draft && '3.13' }}
- python-version: ${{ github.event.pull_request.draft && '3.12' }}
- python-version: ${{ github.event.pull_request.draft && '3.11' }}
- python-version: ${{ github.event.pull_request.draft && '3.10' }}
- python-version: ${{ github.event.pull_request.draft && '3.9' }}
- browser: ${{ github.event.pull_request.draft && 'firefox' }}
- browser: ${{ github.event.pull_request.draft && 'webkit' }}
fail-fast: false
Expand Down Expand Up @@ -201,8 +200,6 @@ jobs:
path: py-shiny-templates

- name: Install py-shiny-templates dependencies
if: matrix.python-version != '3.9'
# Scikit-learn 1.7.0+ requires Python 3.10+
run: |
make ci-install-py-shiny-templates-deps

Expand All @@ -222,13 +219,14 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.13", "3.12", "3.11", "3.10", "3.9"]
python-version: ["3.14", "3.13", "3.12", "3.11", "3.10"]
browser: ["chromium", "firefox", "webkit"]
exclude:
- python-version: ${{ github.event.pull_request.draft && '3.14' }}
- python-version: ${{ github.event.pull_request.draft && '3.13' }}
- python-version: ${{ github.event.pull_request.draft && '3.12' }}
- python-version: ${{ github.event.pull_request.draft && '3.11' }}
- python-version: ${{ github.event.pull_request.draft && '3.10' }}
- python-version: ${{ github.event.pull_request.draft && '3.9' }}
- browser: ${{ github.event.pull_request.draft && 'firefox' }}
- browser: ${{ github.event.pull_request.draft && 'webkit' }}
fail-fast: false
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,18 @@ dynamic = ["version"]
authors = [{ name = "Winston Chang", email = "[email protected]" }]
description = "A web development framework for Python."
readme = "README.md"
requires-python = ">=3.9"
requires-python = ">=3.10"
license = { text = "MIT" }
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
]
dependencies = [
"typing-extensions>=4.10.0",
Expand Down
4 changes: 2 additions & 2 deletions scripts/generate-imports.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
from types import ModuleType
from typing import Union, cast

if sys.version_info < (3, 9):
raise RuntimeError("This script requires Python 3.9 or later")
if sys.version_info < (3, 10):
raise RuntimeError("This script requires Python 3.10 or later")


def gen_init_py(package_name: str) -> None:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,11 @@
import re

from playwright.sync_api import Page
from utils.deploy_utils import skip_on_python_version

from shiny.playwright import controller
from shiny.run import ShinyAppProc


@skip_on_python_version(
"3.9",
reason="Astropy (and numpy) hav difficulty loading on python 3.9. posit-dev/py-shiny#1678",
)
def test_data_frame_pandas_compatible(
page: Page,
local_app: ShinyAppProc,
Expand Down
Loading