Skip to content
Open
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
26 changes: 25 additions & 1 deletion .github/workflows/python-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
echo 'python-versions=["3.12"]' >> "$GITHUB_OUTPUT"
echo 'runners=["ubuntu-24.04"]' >> "$GITHUB_OUTPUT"
else
echo 'python-versions=["3.11", "3.12", "3.13"]' >> "$GITHUB_OUTPUT"
echo 'python-versions=["3.12", "3.13", "3.14"]' >> "$GITHUB_OUTPUT"
echo 'runners=["ubuntu-24.04", "macos-15"]' >> "$GITHUB_OUTPUT"
fi

Expand Down Expand Up @@ -108,6 +108,17 @@ jobs:
sudo apt-get update
sudo apt-get install -y libgpiod-dev liblgpio-dev

- name: Install Python package build dependencies (Linux, Python 3.14)
if: runner.os == 'Linux' && matrix.python-version == '3.14'
run: |
sudo apt-get update
# Pillow dependencies
sudo apt-get install -y libjpeg-dev zlib1g-dev libtiff-dev libfreetype6-dev liblcms2-dev libwebp-dev libopenjp2-7-dev
# scipy dependencies
sudo apt-get install -y g++ gfortran libopenblas-dev liblapack-dev pkg-config
# cffi dependencies
sudo apt-get install -y libffi-dev

- name: Install nftables and dnsmasq (Linux)
if: runner.os == 'Linux'
run: |
Expand All @@ -132,6 +143,19 @@ jobs:
run: |
brew install qemu

- name: Install Python package build dependencies (macOS, Python 3.14)
if: runner.os == 'macOS' && matrix.python-version == '3.14'
run: |
# Pillow dependencies
brew install libjpeg libtiff little-cms2 webp
# scipy dependencies
brew install gcc openblas
# Make OpenBLAS discoverable by meson/pkg-config
echo "PKG_CONFIG_PATH=$(brew --prefix openblas)/lib/pkgconfig:$PKG_CONFIG_PATH" >> "$GITHUB_ENV"
# Link gfortran so scipy's meson build can find it
# Homebrew's gcc provides gfortran-14, create a gfortran symlink
ln -sf "$(brew --prefix gcc)/bin/gfortran-$(brew list --versions gcc | sed 's/gcc //' | cut -d. -f1)" /usr/local/bin/gfortran

# Homebrew Renode is slow (~5+ minutes per job). Install on macOS only when this run
# touches the Renode driver, or on workflow_dispatch (full manual run). Linux still
# installs Renode from the .deb in all jobs (fast).
Expand Down
2 changes: 1 addition & 1 deletion python/__templates__/driver/pyproject.toml.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ license = "Apache-2.0"
authors = [
{ name = "${AUTHOR_NAME}", email = "${AUTHOR_EMAIL}" }
]
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"anyio>=4.10.0",
"jumpstarter",
Expand Down
2 changes: 1 addition & 1 deletion python/examples/android-emulator/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ version = "0.1.0"
description = "Android emulator testing example using Jumpstarter ADB tunneling"
authors = [{ name = "Kirk Brauer", email = "kbrauer@hatci.com" }]
license = "Apache-2.0"
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"pytest>=8.3.2",
"jumpstarter",
Expand Down
2 changes: 1 addition & 1 deletion python/examples/automotive/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ authors = [
]
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"pytest>=8.3.2",
"jumpstarter",
Expand Down
2 changes: 1 addition & 1 deletion python/examples/soc-pytest/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ authors = [
]
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"pytest>=8.3.2",
"jumpstarter",
Expand Down
2 changes: 1 addition & 1 deletion python/examples/xcp-ecu/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ authors = [
]
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"pytest>=8.3.2",
"jumpstarter",
Expand Down
2 changes: 1 addition & 1 deletion python/packages/hatch-pin-jumpstarter/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ readme = "README.md"
authors = [
{ name = "Nick Cao", email = "nickcao@nichi.co" }
]
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"hatchling>=1.27.0",
"packaging>=24.2",
Expand Down
2 changes: 1 addition & 1 deletion python/packages/jumpstarter-all/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description = "Jumpstarter meta-package which will install all packages"
authors = [{ name = "Miguel Angel Ajo", email = "majopela@redhat.com" }]
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"jumpstarter",
"jumpstarter-cli",
Expand Down
2 changes: 1 addition & 1 deletion python/packages/jumpstarter-cli-admin/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description = ""
authors = [{ name = "Kirk Brauer", email = "kbrauer@hatci.com" }]
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"grpcio-reflection>=1.60.0",
"jumpstarter-cli-common",
Expand Down
2 changes: 1 addition & 1 deletion python/packages/jumpstarter-cli-common/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description = ""
authors = [{ name = "Kirk Brauer", email = "kbrauer@hatci.com" }]
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"jumpstarter",
"pydantic>=2.8.2",
Expand Down
2 changes: 1 addition & 1 deletion python/packages/jumpstarter-cli-driver/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ authors = [
]
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = ["jumpstarter-cli-common", "click>=8.1.7.2"]

[dependency-groups]
Expand Down
2 changes: 1 addition & 1 deletion python/packages/jumpstarter-cli/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ authors = [
]
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"jumpstarter-cli-admin",
"jumpstarter-cli-driver",
Expand Down
2 changes: 1 addition & 1 deletion python/packages/jumpstarter-driver-adb/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ license = "Apache-2.0"
authors = [
{ name = "Kirk Brauer", email = "kbrauer@hatci.com" }
]
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"click>=8.0.0",
"jumpstarter",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ license = "Apache-2.0"
authors = [
{ name = "Kirk Brauer", email = "kbrauer@hatci.com" }
]
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"jumpstarter",
"jumpstarter-driver-adb",
Expand Down
2 changes: 1 addition & 1 deletion python/packages/jumpstarter-driver-ble/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description = "Bluetooth Low Energy (BLE) driver"
readme = "README.md"
license = "Apache-2.0"
authors = [{ name = "Andreas Karner", email = "andreas.karner@outlook.com" }]
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"anyio>=4.10.0",
"click>=8.1.8",
Expand Down
2 changes: 1 addition & 1 deletion python/packages/jumpstarter-driver-can/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ authors = [
]
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = ["jumpstarter", "python-can>=4.5.0", "can-isotp>=2.0.6"]

[project.entry-points."jumpstarter.drivers"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ authors = [
]
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = ["jumpstarter", "click>=8.1.7.2"]

[project.entry-points."jumpstarter.drivers"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description = ""
authors = [{ name = "Leonardo Rossetti", email = "lrossett@redhat.com" }]
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"jumpstarter",
"jumpstarter-driver-composite",
Expand Down
2 changes: 1 addition & 1 deletion python/packages/jumpstarter-driver-doip/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ license = "Apache-2.0"
authors = [
{ name = "Vinicius Zein", email = "vtzein@gmail.com" },
]
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"jumpstarter",
"doipclient>=1.1.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ license = "Apache-2.0"
authors = [
{ name = "Miguel Angel Ajo Pelayo", email = "miguelangel@ajo.es" }
]
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"jumpstarter",
"click>=8.1.7",
Expand Down
2 changes: 1 addition & 1 deletion python/packages/jumpstarter-driver-dutlink/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ authors = [
]
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"jumpstarter",
"jumpstarter-driver-composite",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ license = { text = "Apache-2.0" }
authors = [
{ name = "Enric Balletbo i Serra", email = "eballetbo@redhat.com" }
]
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"anyio>=4.10.0",
"jumpstarter",
Expand Down
2 changes: 1 addition & 1 deletion python/packages/jumpstarter-driver-esp32/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ license = "Apache-2.0"
authors = [
{ name = "Benny Zlotnik", email = "bzlotnik@redhat.com" }
]
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"anyio>=4.10.0",
"click>=8.3.1",
Expand Down
2 changes: 1 addition & 1 deletion python/packages/jumpstarter-driver-flashers/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ authors = [
{ name = "Benny Zlotnik", email = "bzlotnik@redhat.com" },
{ name = "Miguel Angel Ajo", email = "majopela@redhat.com" },
]
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"oras>=0.2.25",
"anyio>=4.10.0",
Expand Down
2 changes: 1 addition & 1 deletion python/packages/jumpstarter-driver-gpiod/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ authors = [
]
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = ["jumpstarter", "jumpstarter-driver-power", "click>=8.1.7.2", "gpiod; platform_system == 'Linux'"]

[project.entry-points."jumpstarter.drivers"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ license = "Apache-2.0"
authors = [
{ name = "Miguel Angel Ajo", email = "majopela@redhat.com" }
]
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"anyio>=4.10.0",
"jumpstarter",
Expand Down
3 changes: 1 addition & 2 deletions python/packages/jumpstarter-driver-http/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description = "Exporter HTTP service driver"
readme = "README.md"
license = "Apache-2.0"
authors = [{ name = "Benny Zlotnik", email = "bzlotnik@redhat.com" }]
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"anyio>=4.10.0",
"jumpstarter",
Expand Down Expand Up @@ -39,7 +39,6 @@ build-backend = "hatchling.build"
dev = [
"pytest-cov>=6.0.0",
"pytest>=8.3.3",
"pytest-asyncio>=0.0.0",
"pytest-asyncio>=0.24.0",
]

Expand Down
3 changes: 2 additions & 1 deletion python/packages/jumpstarter-driver-iscsi/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@ name = "jumpstarter-driver-iscsi"
dynamic = ["version", "urls"]
description = "Exporter ISCSI service driver"
readme = "README.md"
license = "Apache-2.0"
authors = [{ name = "Benny Zlotnik", email = "bzlotnik@redhat.com" }]
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"anyio>=4.10.0",
"jumpstarter",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ dynamic = ["version", "urls"]
description = "Jumpstarter driver for mitmproxy HTTP(S) interception, mocking, and traffic recording"
readme = "README.md"
authors = [{ name = "Kirk Brauer", email = "kbrauer@hatci.com" }]
requires-python = ">=3.11"
requires-python = ">=3.12"
license = "Apache-2.0"
dependencies = ["jumpstarter", "mitmproxy>=10.0"]

Expand Down
2 changes: 1 addition & 1 deletion python/packages/jumpstarter-driver-network/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ authors = [
]
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"jumpstarter",
"pexpect>=4.9.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ license = "Apache-2.0"
authors = [
{ name = "Kirk Brauer", email = "kbrauer@hatci.com" }
]
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"pyserial>=3.5",
"hid>=1.0.4",
Expand Down
2 changes: 1 addition & 1 deletion python/packages/jumpstarter-driver-opendal/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ authors = [
]
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"jumpstarter",
"opendal>=0.45.8,<0.46",
Expand Down
2 changes: 1 addition & 1 deletion python/packages/jumpstarter-driver-pi-pico/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ license = "Apache-2.0"
authors = [
{ name = "Benny Zlotnik", email = "bzlotnik@redhat.com" }
]
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"anyio>=4.10.0",
"click>=8.3.1",
Expand Down
2 changes: 1 addition & 1 deletion python/packages/jumpstarter-driver-power/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ authors = [
]
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = ["jumpstarter", "pyserial>=3.5", "click>=8.1.7.2"]

[project.entry-points."jumpstarter.drivers"]
Expand Down
2 changes: 1 addition & 1 deletion python/packages/jumpstarter-driver-probe-rs/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description = "rust probe-rs driver for jumpstarter"
readme = "README.md"
license = "Apache-2.0"
authors = [{ name = "Miguel Angel Ajo", email = "miguelangel@ajo.es" }]
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"anyio>=4.10.0",
"click>=8.1.7.2",
Expand Down
2 changes: 1 addition & 1 deletion python/packages/jumpstarter-driver-pyserial/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ authors = [
]
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"jumpstarter",
"jumpstarter-driver-network",
Expand Down
2 changes: 1 addition & 1 deletion python/packages/jumpstarter-driver-qemu/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ authors = [
]
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"jumpstarter",
"jumpstarter-driver-composite",
Expand Down
2 changes: 1 addition & 1 deletion python/packages/jumpstarter-driver-renode/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ license = "Apache-2.0"
authors = [
{ name = "Vinicius Zein", email = "vtzein@gmail.com" }
]
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"jumpstarter",
"jumpstarter-driver-composite",
Expand Down
2 changes: 1 addition & 1 deletion python/packages/jumpstarter-driver-ridesx/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description = "Jumpstarter driver for Qualcomm RideSX"
readme = "README.md"
license = "Apache-2.0"
authors = [{ name = "Benny Zlotnik", email = "bzlotnik@redhat.com" }]
requires-python = ">=3.11"
requires-python = ">=3.12"
dependencies = [
"jumpstarter",
"jumpstarter-driver-composite",
Expand Down
Loading
Loading