From 67db3de99a10b39e3475078a15294d335a0cedc5 Mon Sep 17 00:00:00 2001 From: Dustin Spicuzza Date: Sun, 20 Oct 2024 00:43:03 -0400 Subject: [PATCH] Update for 2025 --- .github/workflows/bump.yml | 6 ++-- .github/workflows/dist.yml | 70 +++++++++++++++++++------------------- pyproject.toml | 65 +++++++++++++++++++---------------- setup.py | 4 +-- 4 files changed, 75 insertions(+), 70 deletions(-) diff --git a/.github/workflows/bump.yml b/.github/workflows/bump.yml index 96eaaab..2334404 100644 --- a/.github/workflows/bump.yml +++ b/.github/workflows/bump.yml @@ -15,15 +15,15 @@ jobs: with: token: ${{ secrets.REPO_ACCESS_TOKEN }} fetch-depth: 0 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: - python-version: 3.8 + python-version: "3.9" - name: Install script requirements shell: bash run: | python -m pip --disable-pip-version-check install packaging tomlkit - + - name: Bump requirements shell: bash run: | diff --git a/.github/workflows/dist.yml b/.github/workflows/dist.yml index f42ec23..6a048bb 100644 --- a/.github/workflows/dist.yml +++ b/.github/workflows/dist.yml @@ -25,17 +25,17 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: - python-version: 3.8 + python-version: "3.9" - run: pip install build - name: Build packages run: python -m build - + - name: Upload build artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: dist path: dist @@ -45,24 +45,24 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [windows-2022, macos-12, ubuntu-22.04] + os: [windows-2022, macos-13, ubuntu-22.04] python_version: - - '3.8' - '3.9' - '3.10' - '3.11' - '3.12' + - '3.13' architecture: [x64] steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python_version }} architecture: ${{ matrix.architecture }} - + - name: Download build artifacts - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: dist path: dist @@ -71,7 +71,7 @@ jobs: shell: bash run: | python -m pip list - + - name: Install native wheel shell: bash run: | @@ -92,44 +92,44 @@ jobs: strategy: matrix: os: - - container: wpilib/roborio-cross-ubuntu:2024-22.04-py312 + - container: wpilib/roborio-cross-ubuntu:2025-22.04-py313 name: roborio - - container: wpilib/raspbian-cross-ubuntu:bullseye-22.04-py38 - name: raspbian - - container: wpilib/raspbian-cross-ubuntu:bullseye-22.04-py39 - name: raspbian - - container: wpilib/raspbian-cross-ubuntu:bullseye-22.04-py310 - name: raspbian - - container: wpilib/raspbian-cross-ubuntu:bullseye-22.04-py311 - name: raspbian - - container: wpilib/raspbian-cross-ubuntu:bullseye-22.04-py312 - name: raspbian - - - container: wpilib/aarch64-cross-ubuntu:bullseye-22.04-py38 - name: raspbian - - container: wpilib/aarch64-cross-ubuntu:bullseye-22.04-py39 - name: raspbian - - container: wpilib/aarch64-cross-ubuntu:bullseye-22.04-py310 - name: raspbian - - container: wpilib/aarch64-cross-ubuntu:bullseye-22.04-py311 - name: raspbian - - container: wpilib/aarch64-cross-ubuntu:bullseye-22.04-py312 - name: raspbian + - container: wpilib/raspbian-cross-ubuntu:2025-bullseye-22.04-py39 + name: raspbian-py39 + - container: wpilib/raspbian-cross-ubuntu:2025-bullseye-22.04-py310 + name: raspbian-py310 + - container: wpilib/raspbian-cross-ubuntu:2025-bullseye-22.04-py311 + name: raspbian-py311 + - container: wpilib/raspbian-cross-ubuntu:2025-bullseye-22.04-py312 + name: raspbian-py312 + - container: wpilib/raspbian-cross-ubuntu:2025-bullseye-22.04-py313 + name: raspbian-py313 + + - container: wpilib/aarch64-cross-ubuntu:2025-bullseye-22.04-py39 + name: raspbian-aarch64-py39 + - container: wpilib/aarch64-cross-ubuntu:2025-bullseye-22.04-py310 + name: raspbian-aarch64-py310 + - container: wpilib/aarch64-cross-ubuntu:2025-bullseye-22.04-py311 + name: raspbian-aarch64-py311 + - container: wpilib/aarch64-cross-ubuntu:2025-bullseye-22.04-py312 + name: raspbian-aarch64-py312 + - container: wpilib/aarch64-cross-ubuntu:bullseye-22.04-py313 + name: raspbian-aarch64-py313 container: image: "${{ matrix.os.container }}" steps: - uses: actions/checkout@v4 - if: (inputs.enable_raspbian && matrix.os.name == 'raspbian') || (inputs.enable_roborio && matrix.os.name == 'roborio') + if: (inputs.enable_raspbian && startsWith(matrix.os.name, 'raspbian')) || (inputs.enable_roborio && matrix.os.name == 'roborio') - name: Show installed packages shell: bash run: | /build/venv/bin/cross-python -m pip list - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: dist path: dist/ @@ -153,7 +153,7 @@ jobs: if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') steps: - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: dist path: dist/ diff --git a/pyproject.toml b/pyproject.toml index a23d27d..c625921 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,15 +39,15 @@ navx = ["robotpy-navx"] pathplannerlib = ["robotpy-pathplannerlib"] -photonvision = ["photonlibpy"] +# photonvision = ["photonlibpy"] -playingwithfusion = ["robotpy-playingwithfusion"] +# playingwithfusion = ["robotpy-playingwithfusion"] -phoenix5 = ["robotpy-ctre"] +# phoenix5 = ["robotpy-ctre"] phoenix6 = ["phoenix6"] -rev = ["robotpy-rev"] +# rev = ["robotpy-rev"] romi = ["robotpy-romi"] @@ -60,7 +60,7 @@ xrp = ["robotpy-xrp"] # [tool.meta.packages."mostrobotpy"] -version = "==2024.3.2.1" +version = "==2025.0.0b1" [tool.meta.packages."pyntcore"] version = "mostrobotpy" @@ -111,26 +111,26 @@ version = "mostrobotpy" # [tool.meta.packages."pyfrc"] -max_version = "2025.0.0" -min_version = "2024.0.0" +max_version = "2026.0.0" +min_version = "2025.0.0b1" constraint = 'platform_machine != "roborio" and platform_machine != "armv7l" and platform_machine != "aarch64"' [tool.meta.packages."robotpy-cli"] -max_version = "2025.0.0" +max_version = "2026.0.0" min_version = "2024.0.0" [tool.meta.packages."robotpy-commands-v2"] -max_version = "2025.0.0" -min_version = "2024.3.1" +max_version = "2026.0.0" +min_version = "2025.0.0b1" [tool.meta.packages."robotpy-installer"] -max_version = "2025.0.0" -min_version = "2024.2.0" +max_version = "2026.0.0" +min_version = "2025.0.0b1" constraint = 'platform_machine != "roborio" and platform_machine != "armv7l" and platform_machine != "aarch64"' [tool.meta.packages."robotpy-wpilib-utilities"] -max_version = "2025.0.0" -min_version = "2024.0.0" +max_version = "2026.0.0" +min_version = "2025.0.0b1" # @@ -138,7 +138,7 @@ min_version = "2024.0.0" # [tool.meta.packages."numpy"] -version = "==1.25.2" +version = "==2.1.2" constraint = "platform_machine == 'roborio'" # only require on RoboRIO [tool.meta.packages."robotpy-opencv"] @@ -146,33 +146,38 @@ version = "" constraint = "platform_machine == 'roborio'" # only require on RoboRIO [tool.meta.packages."phoenix6"] -version = "~=24.1" -constraint = "python_version >= '3.9' and platform_machine != 'armv7l' and platform_machine != 'aarch64'" +version = "~=25.0.0b1" +# the arm constraint is only here because we can't check this in CI, I think +# their package will actually work +constraint = "python_version >= '3.12' and platform_machine != 'armv7l' and platform_machine != 'aarch64'" [tool.meta.packages."photonlibpy"] -max_version = "2025.0.0" -min_version = "2024.2.2" +max_version = "2026.0.0" +min_version = "2025.0.0b1" [tool.meta.packages."robotpy-ctre"] -max_version = "2025.0.0" -min_version = "2024.1.3" -constraint = "python_version >= '3.9' and platform_machine != 'armv7l' and platform_machine != 'aarch64'" +max_version = "2026.0.0" +min_version = "2025.0.0b1" +constraint = "python_version >= '3.12' and platform_machine != 'armv7l' and platform_machine != 'aarch64'" [tool.meta.packages."robotpy-navx"] -max_version = "2025.0.0" -min_version = "2024.1.1" +max_version = "2026.0.0" +min_version = "2025.0.0b1" [tool.meta.packages."robotpy-pathplannerlib"] -max_version = "2025.0.0" -min_version = "2024.1.1" +max_version = "2026.0.0" +min_version = "2025.0.0b1" +# depends on numpy 2.1.2 which depends on python 3.11+, and crossenv can't +# install numpy for aarch64 +constraint = "python_version >= '3.11' and platform_machine != 'aarch64'" [tool.meta.packages."robotpy-playingwithfusion"] -max_version = "2025.0.0" -min_version = "2024.2.0" +max_version = "2026.0.0" +min_version = "2025.0.0b1" [tool.meta.packages."robotpy-rev"] -max_version = "2025.0.0" -min_version = "2024.2.3" +max_version = "2026.0.0" +min_version = "2025.0.0b1" [tool.meta.packages."invalid"] available = false diff --git a/setup.py b/setup.py index 2a08d91..2794fe1 100755 --- a/setup.py +++ b/setup.py @@ -71,18 +71,18 @@ license="BSD-3-Clause", install_requires=install_requires, extras_require=extras_require, - python_requires=">=3.8,<3.13", + python_requires=">=3.9,<3.14", classifiers=[ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Education", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.8", "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", "Topic :: Scientific/Engineering", "Topic :: Software Development", "Topic :: Software Development :: Testing",