Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove Python 3.8 Support #3438

Merged
merged 1 commit into from
Dec 2, 2024
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
2 changes: 1 addition & 1 deletion .coin-or/projDesc.xml
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ Carl D. Laird, Chair, Pyomo Management Committee, claird at andrew dot cmu dot e

<platform>
<operatingSystem>Any</operatingSystem>
<compiler>Python 3.8, 3.9, 3.10, 3.11, 3.12, 3.13</compiler>
<compiler>Python 3.9, 3.10, 3.11, 3.12, 3.13</compiler>
</platform>

</testedPlatforms>
Expand Down
12 changes: 3 additions & 9 deletions .github/workflows/release_wheel_creation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,9 @@ jobs:
matrix:
os: [ubuntu-22.04, windows-latest, macos-latest]
arch: [all]
wheel-version: ['cp38*', 'cp39*', 'cp310*', 'cp311*', 'cp312*', 'cp313*']
wheel-version: ['cp39*', 'cp310*', 'cp311*', 'cp312*', 'cp313*']

include:
- wheel-version: 'cp38*'
TARGET: 'py38'
GLOBAL_OPTIONS: "--with-cython --with-distributable-extensions"
- wheel-version: 'cp39*'
TARGET: 'py39'
GLOBAL_OPTIONS: "--with-cython --with-distributable-extensions"
Expand Down Expand Up @@ -96,12 +93,9 @@ jobs:
matrix:
os: [ubuntu-22.04]
arch: [all]
wheel-version: ['cp38*', 'cp39*', 'cp310*', 'cp311*', 'cp312*', 'cp313*']
wheel-version: ['cp39*', 'cp310*', 'cp311*', 'cp312*', 'cp313*']

include:
- wheel-version: 'cp38*'
TARGET: 'py38'
GLOBAL_OPTIONS: "--with-cython --with-distributable-extensions"
- wheel-version: 'cp39*'
TARGET: 'py39'
GLOBAL_OPTIONS: "--with-cython --with-distributable-extensions"
Expand Down Expand Up @@ -185,7 +179,7 @@ jobs:
include:
- os: ubuntu-latest
TARGET: generic_tarball
python-version: [3.8]
python-version: [3.9]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
Expand Down
22 changes: 8 additions & 14 deletions .github/workflows/test_branches.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,20 +75,14 @@ jobs:
other: [""]
category: [""]

# win/3.8 conda builds no longer work due to environment not being able
# to resolve. We are skipping it now.
exclude:
- os: windows-latest
python: 3.8

include:
- os: ubuntu-latest
python: '3.13'
TARGET: linux
PYENV: pip

- os: macos-latest
python: '3.10'
python: '3.11'
TARGET: osx
PYENV: pip

Expand Down Expand Up @@ -125,7 +119,7 @@ jobs:
PACKAGES: cython

- os: windows-latest
python: 3.8
python: '3.10'
other: /pip
skip_doctest: 1
TARGET: win
Expand Down Expand Up @@ -693,17 +687,17 @@ jobs:


bare-python-env:
name: linux/3.8/bare-env
name: linux/3.9/bare-env
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout Pyomo source
uses: actions/checkout@v4

- name: Set up Python 3.8
- name: Set up Python 3.9
uses: actions/setup-python@v5
with:
python-version: 3.8
python-version: 3.9

- name: Install Pyomo
run: |
Expand Down Expand Up @@ -761,17 +755,17 @@ jobs:
# id: pip-cache
# with:
# path: cache/pip
# key: pip-${{env.CACHE_VER}}.0-${{runner.os}}-3.8
# key: pip-${{env.CACHE_VER}}.0-${{runner.os}}-3.9

- name: Download build artifacts
uses: actions/download-artifact@v4
with:
path: artifacts

- name: Set up Python 3.8
- name: Set up Python 3.9
uses: actions/setup-python@v5
with:
python-version: 3.8
python-version: 3.9

- name: Install Python Packages (pip)
shell: bash # DO NOT REMOVE: see note above
Expand Down
26 changes: 10 additions & 16 deletions .github/workflows/test_pr_and_main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,16 +68,10 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python: [ 3.8, 3.9, '3.10', '3.11', '3.12', '3.13' ]
python: [ 3.9, '3.10', '3.11', '3.12', '3.13' ]
other: [""]
category: [""]

# win/3.8 conda builds no longer work due to environment not being able
# to resolve. We are skipping it now.
exclude:
- os: windows-latest
python: 3.8

include:
- os: ubuntu-latest
TARGET: linux
Expand Down Expand Up @@ -119,7 +113,7 @@ jobs:
PACKAGES: cython

- os: windows-latest
python: 3.8
python: 3.9
other: /pip
skip_doctest: 1
TARGET: win
Expand All @@ -134,7 +128,7 @@ jobs:
PYENV: pip

- os: ubuntu-latest
python: 3.8
python: 3.9
other: /slim
slim: 1
skip_doctest: 1
Expand All @@ -151,7 +145,7 @@ jobs:
PACKAGES: "gurobipy dill numpy>2.0 scipy networkx"

- os: ubuntu-latest
python: 3.9
python: '3.10'
other: /pyutilib
TARGET: linux
PYENV: pip
Expand Down Expand Up @@ -727,18 +721,18 @@ jobs:


bare-python-env:
name: linux/3.8/bare-env
name: linux/3.9/bare-env
needs: lint # the linter job is a prerequisite for PRs
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout Pyomo source
uses: actions/checkout@v4

- name: Set up Python 3.8
- name: Set up Python 3.9
uses: actions/setup-python@v5
with:
python-version: 3.8
python-version: 3.9

- name: Install Pyomo
run: |
Expand Down Expand Up @@ -796,17 +790,17 @@ jobs:
# id: pip-cache
# with:
# path: cache/pip
# key: pip-${{env.CACHE_VER}}.0-${{runner.os}}-3.8
# key: pip-${{env.CACHE_VER}}.0-${{runner.os}}-3.9

- name: Download build artifacts
uses: actions/download-artifact@v4
with:
path: artifacts

- name: Set up Python 3.8
- name: Set up Python 3.9
uses: actions/setup-python@v5
with:
python-version: 3.8
python-version: 3.9

- name: Install Python Packages (pip)
shell: bash # DO NOT REMOVE: see note above
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Pyomo is available under the BSD License - see the

Pyomo is currently tested with the following Python implementations:

* CPython: 3.8, 3.9, 3.10, 3.11, 3.12, 3.13
* CPython: 3.9, 3.10, 3.11, 3.12, 3.13
* PyPy: 3.9

_Testing and support policy_:
Expand Down
2 changes: 1 addition & 1 deletion doc/OnlineDocs/getting_started/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Installation

Pyomo currently supports the following versions of Python:

* CPython: 3.8, 3.9, 3.10, 3.11, 3.12, 3.13
* CPython: 3.9, 3.10, 3.11, 3.12, 3.13
* PyPy: 3

At the time of the first Pyomo release after the end-of-life of a minor Python
Expand Down
3 changes: 1 addition & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,6 @@ def __ne__(self, other):
'Operating System :: Unix',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
Expand All @@ -245,7 +244,7 @@ def __ne__(self, other):
'Topic :: Scientific/Engineering :: Mathematics',
'Topic :: Software Development :: Libraries :: Python Modules',
],
python_requires='>=3.8',
python_requires='>=3.9',
install_requires=['ply'],
extras_require={
# There are certain tests that also require pytest-qt, but because those
Expand Down
Loading