diff --git a/.ci_support/linux_64_python3.7_default.____cpython.yaml b/.ci_support/linux_64_python3.7_default.____cpython.yaml deleted file mode 100644 index 79f1b2a1..00000000 --- a/.ci_support/linux_64_python3.7_default.____cpython.yaml +++ /dev/null @@ -1,14 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '9' -cxx_compiler: -- gxx -cxx_compiler_version: -- '9' -numpy: -- '1.17' -python: -- 3.7.* *_cpython -target_platform: -- linux-64 diff --git a/.ci_support/linux_64_python3.8_default.____cpython.yaml b/.ci_support/linux_64_python3.8_default.____cpython.yaml deleted file mode 100644 index d19b0ce8..00000000 --- a/.ci_support/linux_64_python3.8_default.____cpython.yaml +++ /dev/null @@ -1,14 +0,0 @@ -c_compiler: -- gcc -c_compiler_version: -- '9' -cxx_compiler: -- gxx -cxx_compiler_version: -- '9' -numpy: -- '1.17' -python: -- 3.8.* *_cpython -target_platform: -- linux-64 diff --git a/.ci_support/osx_64_python3.7_default.____cpython.yaml b/.ci_support/osx_64_python3.11_default.____cpython.yaml similarity index 88% rename from .ci_support/osx_64_python3.7_default.____cpython.yaml rename to .ci_support/osx_64_python3.11_default.____cpython.yaml index 0baaba8d..55ae2867 100644 --- a/.ci_support/osx_64_python3.7_default.____cpython.yaml +++ b/.ci_support/osx_64_python3.11_default.____cpython.yaml @@ -11,8 +11,9 @@ cxx_compiler_version: macos_machine: - x86_64-apple-darwin13.4.0 numpy: -- '1.17' +- '1.23' python: -- 3.7.* *_cpython +- 3.11.* *_cpython target_platform: - osx-64 + diff --git a/.ci_support/osx_64_python3.8_default.____cpython.yaml b/.ci_support/osx_64_python3.8_default.____cpython.yaml deleted file mode 100644 index 92c52743..00000000 --- a/.ci_support/osx_64_python3.8_default.____cpython.yaml +++ /dev/null @@ -1,18 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '10.9' -c_compiler: -- clang -c_compiler_version: -- '11' -cxx_compiler: -- clangxx -cxx_compiler_version: -- '11' -macos_machine: -- x86_64-apple-darwin13.4.0 -numpy: -- '1.17' -python: -- 3.8.* *_cpython -target_platform: -- osx-64 diff --git a/.ci_support/osx_arm64_python3.8.____cpython.yaml b/.ci_support/osx_arm64_python3.8.____cpython.yaml deleted file mode 100644 index 6a2f13d9..00000000 --- a/.ci_support/osx_arm64_python3.8.____cpython.yaml +++ /dev/null @@ -1,18 +0,0 @@ -MACOSX_DEPLOYMENT_TARGET: -- '11.0' -c_compiler: -- clang -c_compiler_version: -- '11' -cxx_compiler: -- clangxx -cxx_compiler_version: -- '11' -macos_machine: -- arm64-apple-darwin20.0.0 -numpy: -- '1.19' -python: -- 3.8.* *_cpython -target_platform: -- osx-arm64 diff --git a/.ci_support/win_64_python3.7.____cpython.yaml b/.ci_support/win_64_python3.7.____cpython.yaml deleted file mode 100644 index 1fd5d63e..00000000 --- a/.ci_support/win_64_python3.7.____cpython.yaml +++ /dev/null @@ -1,10 +0,0 @@ -c_compiler: -- vs2017 -cxx_compiler: -- vs2017 -numpy: -- '1.17' -python: -- 3.7.* *_cpython -target_platform: -- win-64 diff --git a/.ci_support/win_64_python3.8.____cpython.yaml b/.ci_support/win_64_python3.8.____cpython.yaml deleted file mode 100644 index a1a367a4..00000000 --- a/.ci_support/win_64_python3.8.____cpython.yaml +++ /dev/null @@ -1,10 +0,0 @@ -c_compiler: -- vs2017 -cxx_compiler: -- vs2017 -numpy: -- '1.17' -python: -- 3.8.* *_cpython -target_platform: -- win-64 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 27a30b5f..eab9669f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,14 +29,10 @@ jobs: fail-fast: true matrix: include: - - { os: ubuntu-latest, python-version: '3.7' } - - { os: ubuntu-latest, python-version: '3.8' } - { os: ubuntu-latest, python-version: '3.9' } - { os: ubuntu-latest, python-version: '3.10' } - { os: ubuntu-latest, python-version: '3.11' } - - { os: macos-latest, python-version: '3.7' } - { os: macos-latest, python-version: '3.11' } - - { os: windows-latest, python-version: '3.7' } - { os: windows-latest, python-version: '3.11' } steps: - name: Checkout branch diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index 7b0a60cc..92f736e7 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -15,14 +15,11 @@ jobs: fail-fast: false matrix: include: - - { conda_build_yml: linux_64_python3.7_default.____cpython, os: ubuntu-latest, conda-build-args: '' } - - { conda_build_yml: linux_64_python3.8_default.____cpython, os: ubuntu-latest, conda-build-args: '' } - { conda_build_yml: linux_64_python3.9_default.____cpython, os: ubuntu-latest, conda-build-args: '' } - { conda_build_yml: linux_64_python3.10_default.____cpython, os: ubuntu-latest, conda-build-args: '' } - { conda_build_yml: linux_aarch64_python3.10_default.____cpython, os: ubuntu-latest, conda-build-args: ' --no-test' } - { conda_build_yml: linux_ppc64le_python3.10_default.____cpython, os: ubuntu-latest, conda-build-args: ' --no-test' } - - { conda_build_yml: osx_64_python3.7_default.____cpython, os: macos-latest, conda-build-args: '' } - - { conda_build_yml: osx_64_python3.8_default.____cpython, os: macos-latest, conda-build-args: '' } + - { conda_build_yml: osx_64_python3.11_default.____cpython, os: macos-latest, conda-build-args: '' } - { conda_build_yml: osx_arm64_python3.9.____cpython, os: macos-latest, conda-build-args: ' --no-test' } - { conda_build_yml: osx_arm64_python3.10.____cpython, os: macos-latest, conda-build-args: ' --no-test' } - { conda_build_yml: win_64_python3.9.____cpython, os: windows-latest, conda-build-args: '' } diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 028592e3..58fb8839 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ repos: additional_dependencies: [flake8-docstrings, flake8-rst-docstrings] args: - --safe - - --target-version=py36 + - --target-version=py39 - repo: https://github.com/Quantco/pre-commit-mirrors-flake8 rev: 6.1.0 hooks: @@ -20,6 +20,7 @@ repos: flake8-docstrings=1.6.0, flake8-print=4.0.0, pep8-naming=0.11.1, + python<3.12, ] - repo: https://github.com/Quantco/pre-commit-mirrors-isort rev: 5.12.0 @@ -31,7 +32,7 @@ repos: hooks: - id: mypy-conda additional_dependencies: - - python=3.8 + - python=3.9 - repo: https://github.com/Quantco/pre-commit-mirrors-pyupgrade rev: 3.13.0 hooks: diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 331695b1..0501e9de 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -13,6 +13,7 @@ Unreleased **Other changes:** - Improve the performance of ``from_pandas`` in the case of low-cardinality categorical variables. +- Require Python>=3.9 in line with `NEP 29 `_ 3.1.10 - 2023-06-23 ------------------- diff --git a/pyproject.toml b/pyproject.toml index e4749445..0b940f79 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,7 +34,10 @@ skip = [ "*-manylinux_i686", "pp*", "*-musllinux_*", - "cp312*" + "cp312*", + "cp36*", + "cp37*", + "cp38*", ] test-requires = ["pytest", "pytest-xdist"] test-command = "pytest {package}/tests/test_matrices.py" diff --git a/setup.py b/setup.py index ca097076..b6228b2d 100644 --- a/setup.py +++ b/setup.py @@ -159,6 +159,7 @@ package_dir={"": "src"}, packages=find_packages(where="src"), install_requires=["numpy", "pandas", "scipy"], + python_requires=">=3.9", ext_modules=cythonize( ext_modules, annotate=False,