diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index da2fd5e..514ee8c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,25 +12,23 @@ jobs: timeout-minutes: 10 strategy: + fail-fast: false matrix: include: - - os: ubuntu-20.04 - python-version: "3.6" - - os: ubuntu-latest - python-version: "3.7" - - os: ubuntu-latest - python-version: "3.8" + - os: ubuntu-22.04 + python-version: "3.11" + pynvml-version: 11.495.46 # legacy pynvml, see #143 - os: ubuntu-latest - python-version: "3.9" + python-version: "3.12" - os: ubuntu-latest - python-version: "3.10" + python-version: "3.13" - os: ubuntu-latest - python-version: "3.11" + python-version: "3.14" - os: ubuntu-latest - python-version: "3.11" - pynvml-version: 11.495.46 # legacy pynvml, see #143 + python-version: "3.15" + allow-prereleases: true - os: ubuntu-latest - python-version: "3.12" + python-version: "3.16-dev" - os: windows-latest python-version: "3.8" - os: windows-latest @@ -41,14 +39,19 @@ jobs: python-version: "3.11" - os: windows-latest python-version: "3.12" + - os: windows-latest + python-version: "3.13" + - os: windows-latest + python-version: "3.14" steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} + allow-prereleases: ${{ matrix.allow-prereleases || false }} - name: Upgrade pip run: | @@ -60,14 +63,14 @@ jobs: - name: Install dependencies run: | - pip install -e ".[test]" + python -m pip install -e ".[test]" if [ -n "${{ matrix.pynvml-version }}" ]; then - pip install nvidia-ml-py==${{ matrix.pynvml-version }} + python -m pip install nvidia-ml-py==${{ matrix.pynvml-version }} fi python -m gpustat --version - name: Run tests run: | - pytest --color=yes -v -s + python -m pytest --color=yes -v -s env: PYTHONIOENCODING: UTF-8 diff --git a/CHANGELOG.md b/CHANGELOG.md index efe9491..93cd02b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ Changelog for `gpustat` - Non-official pynvml is no longer allowed (#153) - Internal refactoring for display and formatting - Improve CI and release workflow -- Support Python 3.12 by running CI tests. +- Add test coverage for Python 3.13 through 3.16 development builds. ## [v1.1.1] (2023/8/22) diff --git a/README.md b/README.md index b9d1890..ff91fb3 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,7 @@ pip install git+https://github.com/wookayin/gpustat.git@master - gpustat<1.0: Compatible with python 2.7 and >=3.4 - gpustat 1.0: [Python >= 3.4][gh-issue-66] - gpustat 1.1: Python >= 3.6 +- gpustat 1.2+: Python >= 3.6 (tested through Python 3.16 development builds) Usage diff --git a/setup.py b/setup.py index c1a47f4..b4a1a90 100644 --- a/setup.py +++ b/setup.py @@ -125,6 +125,10 @@ def run(self): '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', + 'Programming Language :: Python :: 3.15', + 'Programming Language :: Python :: 3.16', 'Topic :: System :: Monitoring', ], packages=['gpustat'],