Skip to content

Commit a4d0b53

Browse files
authored
Revert "Remove Python 3.8 support"
1 parent 9996abe commit a4d0b53

File tree

7 files changed

+44
-25
lines changed

7 files changed

+44
-25
lines changed

.coin-or/projDesc.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ Carl D. Laird, Chair, Pyomo Management Committee, claird at andrew dot cmu dot e
287287

288288
<platform>
289289
<operatingSystem>Any</operatingSystem>
290-
<compiler>Python 3.9, 3.10, 3.11, 3.12, 3.13</compiler>
290+
<compiler>Python 3.8, 3.9, 3.10, 3.11, 3.12, 3.13</compiler>
291291
</platform>
292292

293293
</testedPlatforms>

.github/workflows/release_wheel_creation.yml

+9-3
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,12 @@ jobs:
2929
matrix:
3030
os: [ubuntu-22.04, windows-latest, macos-latest]
3131
arch: [all]
32-
wheel-version: ['cp39*', 'cp310*', 'cp311*', 'cp312*', 'cp313*']
32+
wheel-version: ['cp38*', 'cp39*', 'cp310*', 'cp311*', 'cp312*', 'cp313*']
3333

3434
include:
35+
- wheel-version: 'cp38*'
36+
TARGET: 'py38'
37+
GLOBAL_OPTIONS: "--with-cython --with-distributable-extensions"
3538
- wheel-version: 'cp39*'
3639
TARGET: 'py39'
3740
GLOBAL_OPTIONS: "--with-cython --with-distributable-extensions"
@@ -93,9 +96,12 @@ jobs:
9396
matrix:
9497
os: [ubuntu-22.04]
9598
arch: [all]
96-
wheel-version: ['cp39*', 'cp310*', 'cp311*', 'cp312*', 'cp313*']
99+
wheel-version: ['cp38*', 'cp39*', 'cp310*', 'cp311*', 'cp312*', 'cp313*']
97100

98101
include:
102+
- wheel-version: 'cp38*'
103+
TARGET: 'py38'
104+
GLOBAL_OPTIONS: "--with-cython --with-distributable-extensions"
99105
- wheel-version: 'cp39*'
100106
TARGET: 'py39'
101107
GLOBAL_OPTIONS: "--with-cython --with-distributable-extensions"
@@ -179,7 +185,7 @@ jobs:
179185
include:
180186
- os: ubuntu-latest
181187
TARGET: generic_tarball
182-
python-version: [3.9]
188+
python-version: [3.8]
183189
steps:
184190
- uses: actions/checkout@v4
185191
- name: Set up Python ${{ matrix.python-version }}

.github/workflows/test_branches.yml

+14-8
Original file line numberDiff line numberDiff line change
@@ -75,14 +75,20 @@ jobs:
7575
other: [""]
7676
category: [""]
7777

78+
# win/3.8 conda builds no longer work due to environment not being able
79+
# to resolve. We are skipping it now.
80+
exclude:
81+
- os: windows-latest
82+
python: 3.8
83+
7884
include:
7985
- os: ubuntu-latest
8086
python: '3.13'
8187
TARGET: linux
8288
PYENV: pip
8389

8490
- os: macos-latest
85-
python: '3.11'
91+
python: '3.10'
8692
TARGET: osx
8793
PYENV: pip
8894

@@ -119,7 +125,7 @@ jobs:
119125
PACKAGES: cython
120126

121127
- os: windows-latest
122-
python: '3.10'
128+
python: 3.8
123129
other: /pip
124130
skip_doctest: 1
125131
TARGET: win
@@ -687,17 +693,17 @@ jobs:
687693
688694
689695
bare-python-env:
690-
name: linux/3.9/bare-env
696+
name: linux/3.8/bare-env
691697
runs-on: ubuntu-latest
692698
timeout-minutes: 10
693699
steps:
694700
- name: Checkout Pyomo source
695701
uses: actions/checkout@v4
696702

697-
- name: Set up Python 3.9
703+
- name: Set up Python 3.8
698704
uses: actions/setup-python@v5
699705
with:
700-
python-version: 3.9
706+
python-version: 3.8
701707

702708
- name: Install Pyomo
703709
run: |
@@ -755,17 +761,17 @@ jobs:
755761
# id: pip-cache
756762
# with:
757763
# path: cache/pip
758-
# key: pip-${{env.CACHE_VER}}.0-${{runner.os}}-3.9
764+
# key: pip-${{env.CACHE_VER}}.0-${{runner.os}}-3.8
759765

760766
- name: Download build artifacts
761767
uses: actions/download-artifact@v4
762768
with:
763769
path: artifacts
764770

765-
- name: Set up Python 3.9
771+
- name: Set up Python 3.8
766772
uses: actions/setup-python@v5
767773
with:
768-
python-version: 3.9
774+
python-version: 3.8
769775

770776
- name: Install Python Packages (pip)
771777
shell: bash # DO NOT REMOVE: see note above

.github/workflows/test_pr_and_main.yml

+16-10
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,16 @@ jobs:
6868
fail-fast: false
6969
matrix:
7070
os: [ubuntu-latest, macos-latest, windows-latest]
71-
python: [ 3.9, '3.10', '3.11', '3.12', '3.13' ]
71+
python: [ 3.8, 3.9, '3.10', '3.11', '3.12', '3.13' ]
7272
other: [""]
7373
category: [""]
7474

75+
# win/3.8 conda builds no longer work due to environment not being able
76+
# to resolve. We are skipping it now.
77+
exclude:
78+
- os: windows-latest
79+
python: 3.8
80+
7581
include:
7682
- os: ubuntu-latest
7783
TARGET: linux
@@ -113,7 +119,7 @@ jobs:
113119
PACKAGES: cython
114120

115121
- os: windows-latest
116-
python: 3.9
122+
python: 3.8
117123
other: /pip
118124
skip_doctest: 1
119125
TARGET: win
@@ -128,7 +134,7 @@ jobs:
128134
PYENV: pip
129135

130136
- os: ubuntu-latest
131-
python: 3.9
137+
python: 3.8
132138
other: /slim
133139
slim: 1
134140
skip_doctest: 1
@@ -145,7 +151,7 @@ jobs:
145151
PACKAGES: "gurobipy dill numpy>2.0 scipy networkx"
146152

147153
- os: ubuntu-latest
148-
python: '3.10'
154+
python: 3.9
149155
other: /pyutilib
150156
TARGET: linux
151157
PYENV: pip
@@ -721,18 +727,18 @@ jobs:
721727
722728
723729
bare-python-env:
724-
name: linux/3.9/bare-env
730+
name: linux/3.8/bare-env
725731
needs: lint # the linter job is a prerequisite for PRs
726732
runs-on: ubuntu-latest
727733
timeout-minutes: 10
728734
steps:
729735
- name: Checkout Pyomo source
730736
uses: actions/checkout@v4
731737

732-
- name: Set up Python 3.9
738+
- name: Set up Python 3.8
733739
uses: actions/setup-python@v5
734740
with:
735-
python-version: 3.9
741+
python-version: 3.8
736742

737743
- name: Install Pyomo
738744
run: |
@@ -790,17 +796,17 @@ jobs:
790796
# id: pip-cache
791797
# with:
792798
# path: cache/pip
793-
# key: pip-${{env.CACHE_VER}}.0-${{runner.os}}-3.9
799+
# key: pip-${{env.CACHE_VER}}.0-${{runner.os}}-3.8
794800

795801
- name: Download build artifacts
796802
uses: actions/download-artifact@v4
797803
with:
798804
path: artifacts
799805

800-
- name: Set up Python 3.9
806+
- name: Set up Python 3.8
801807
uses: actions/setup-python@v5
802808
with:
803-
python-version: 3.9
809+
python-version: 3.8
804810

805811
- name: Install Python Packages (pip)
806812
shell: bash # DO NOT REMOVE: see note above

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ Pyomo is available under the BSD License - see the
5252

5353
Pyomo is currently tested with the following Python implementations:
5454

55-
* CPython: 3.9, 3.10, 3.11, 3.12, 3.13
55+
* CPython: 3.8, 3.9, 3.10, 3.11, 3.12, 3.13
5656
* PyPy: 3.9
5757

5858
_Testing and support policy_:

doc/OnlineDocs/getting_started/installation.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Installation
33

44
Pyomo currently supports the following versions of Python:
55

6-
* CPython: 3.9, 3.10, 3.11, 3.12, 3.13
6+
* CPython: 3.8, 3.9, 3.10, 3.11, 3.12, 3.13
77
* PyPy: 3
88

99
At the time of the first Pyomo release after the end-of-life of a minor Python

setup.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,7 @@ def __ne__(self, other):
234234
'Operating System :: Unix',
235235
'Programming Language :: Python',
236236
'Programming Language :: Python :: 3',
237+
'Programming Language :: Python :: 3.8',
237238
'Programming Language :: Python :: 3.9',
238239
'Programming Language :: Python :: 3.10',
239240
'Programming Language :: Python :: 3.11',
@@ -244,7 +245,7 @@ def __ne__(self, other):
244245
'Topic :: Scientific/Engineering :: Mathematics',
245246
'Topic :: Software Development :: Libraries :: Python Modules',
246247
],
247-
python_requires='>=3.9',
248+
python_requires='>=3.8',
248249
install_requires=['ply'],
249250
extras_require={
250251
# There are certain tests that also require pytest-qt, but because those

0 commit comments

Comments
 (0)