Skip to content

Commit d83c175

Browse files
committed
MAINT: Bump minimum python version
Follow NEP and drop 3.7
1 parent 7c781f1 commit d83c175

File tree

7 files changed

+37
-37
lines changed

7 files changed

+37
-37
lines changed

INSTALL.txt

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
Dependencies
22
------------
33

4-
python >= 3.7
4+
python >= 3.8
55

66
www.python.org
77

8-
numpy >= 1.17
8+
numpy >= 1.18
99

1010
www.numpy.org
1111

12-
scipy >= 1.3
12+
scipy >= 1.4
1313

1414
www.scipy.org
1515

@@ -21,7 +21,7 @@ patsy >= 0.5.2
2121

2222
patsy.readthedocs.org
2323

24-
cython >= 0.29.22
24+
cython >= 0.29.26
2525

2626
https://cython.org/
2727

docs/source/install.rst

+5-5
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Instructions for installing from PyPI, source or a development version are also
1515
Python Support
1616
--------------
1717

18-
statsmodels supports Python 3.7, 3.8, and 3.9.
18+
statsmodels supports Python 3.8, 3.9, and 3.10.
1919

2020
Anaconda
2121
--------
@@ -130,15 +130,15 @@ Dependencies
130130

131131
The current minimum dependencies are:
132132

133-
* `Python <https://www.python.org>`__ >= 3.7
134-
* `NumPy <https://www.scipy.org/>`__ >= 1.17
135-
* `SciPy <https://www.scipy.org/>`__ >= 1.3
133+
* `Python <https://www.python.org>`__ >= 3.8
134+
* `NumPy <https://www.scipy.org/>`__ >= 1.18
135+
* `SciPy <https://www.scipy.org/>`__ >= 1.4
136136
* `Pandas <https://pandas.pydata.org/>`__ >= 1.0
137137
* `Patsy <https://patsy.readthedocs.io/en/latest/>`__ >= 0.5.2
138138

139139
Cython is required to build from a git checkout but not to run or install from PyPI:
140140

141-
* `Cython <https://cython.org/>`__ >= 0.29 is required to build the code from
141+
* `Cython <https://cython.org/>`__ >= 0.29.26 is required to build the code from
142142
github but not from a source distribution.
143143

144144
Given the long release cycle, statsmodels follows a loose time-based policy for

setup.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,9 @@
9898
"Development Status :: 4 - Beta",
9999
"Environment :: Console",
100100
"Programming Language :: Cython",
101-
"Programming Language :: Python :: 3.7",
102101
"Programming Language :: Python :: 3.8",
103102
"Programming Language :: Python :: 3.9",
103+
"Programming Language :: Python :: 3.10",
104104
"Operating System :: OS Independent",
105105
"Intended Audience :: End Users/Desktop",
106106
"Intended Audience :: Developers",
@@ -399,7 +399,7 @@ def is_pure(self):
399399
install_requires=INSTALL_REQUIRES,
400400
extras_require=EXTRAS_REQUIRE,
401401
zip_safe=False,
402-
python_requires=">=3.7",
402+
python_requires=">=3.8",
403403
)
404404

405405
# Clean-up copied files

statsmodels/compat/pandas.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
assert_series_equal = testing.assert_series_equal
6161

6262

63-
def is_int_index(index: pd.Index):
63+
def is_int_index(index: pd.Index) -> bool:
6464
"""
6565
Check if an index is integral
6666
@@ -81,7 +81,7 @@ def is_int_index(index: pd.Index):
8181
)
8282

8383

84-
def is_float_index(index):
84+
def is_float_index(index: pd.Index) -> bool:
8585
"""
8686
Check if an index is floating
8787

tools/ci/azure/azure_template_posix.yml

+20-20
Original file line numberDiff line numberDiff line change
@@ -17,44 +17,44 @@ jobs:
1717
strategy:
1818
matrix:
1919
${{ if eq(parameters.name, 'Linux') }}:
20+
python_310_latest:
21+
python.version: '3.10'
22+
lint: true
2023
python_39:
2124
python.version: '3.9'
22-
lint: true
23-
python_38:
24-
python.version: '3.8'
2525
USE_MATPLOTLIB: false
2626
USE_CVXOPT: false
2727
SCIPY: 1.5.4
28-
PANDAS: 1.1.5
29-
NUMPY: 1.19.5
28+
PANDAS: 1.2.5
29+
NUMPY: 1.20.3
3030
lint: true
31-
python37:
32-
python.version: '3.7'
31+
python38:
32+
python.version: '3.8'
3333
use.conda: true
34-
PANDAS: 0.25.3
34+
PANDAS: 1.0.5
3535
NUMPY: 1.18.5
3636
SCIPY: 1.4.1
3737
MATPLOTLIB: 3.2.2
3838
coverage: true
3939
PYTEST_OPTIONS: ''
40-
python_37_legacy_blas:
41-
python.version: '3.7'
40+
python_38_legacy_blas:
41+
python.version: '3.8'
4242
use.conda: true
4343
coverage: true
44-
NUMPY: 1.17.4
45-
PANDAS: 0.25.3
44+
NUMPY: 1.18.5
45+
PANDAS: 1.0.5
4646
MATPLOTLIB: 3.1.3
47-
SCIPY: 1.3.2
47+
SCIPY: 1.4.1
4848
BLAS: "nomkl blas=*=openblas"
4949
PYTEST_OPTIONS: ''
50-
python38_numpy118:
51-
python.version: '3.8'
52-
NUMPY: 1.18.5
53-
SCIPY: 1.3.3
54-
PANDAS: 1.0.5
55-
lint: true
56-
python_39_pre:
50+
python39_numpy119:
5751
python.version: '3.9'
52+
NUMPY: 1.19.5
53+
SCIPY: 1.4.1
54+
PANDAS: 1.1.5
55+
lint: true
56+
python_310_pre:
57+
python.version: '3.10'
5858
pip.pre: true
5959
${{ if eq(parameters.name, 'macOS') }}:
6060
python39_macos_latest:

tools/ci/azure/azure_template_windows.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@ jobs:
1616
vmImage: ${{ parameters.vmImage }}
1717
strategy:
1818
matrix:
19-
python37_win_latest:
20-
python.version: '3.7'
21-
python.architecture: 'x64'
2219
python38_win_latest:
2320
python.version: '3.8'
2421
python.architecture: 'x64'
2522
python39_win_latest:
2623
python.version: '3.9'
2724
python.architecture: 'x64'
25+
python310_win_latest:
26+
python.version: '3.10'
27+
python.architecture: 'x64'
2828
maxParallel: 10
2929

3030
steps:

tox.ini

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@
1717
##############################################################################
1818
[tox]
1919
envlist =
20-
py37
2120
py38
2221
py39
22+
py310
2323
coverage
2424
cython-coverage
2525

0 commit comments

Comments
 (0)