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 support for python < 3.9 #208

Merged
merged 11 commits into from
Oct 31, 2024
41 changes: 16 additions & 25 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
# will run until the file is removed (or 60 min have passed)
#
# - in a terminal execute, for example, `C:\datalad_debug.bat 39` to set up the
# environment to debug in a Python 3.8 session (should generally match the
# environment to debug in a Python 3.9 session (should generally match the
# respective CI run configuration).


Expand All @@ -59,9 +59,10 @@ environment:
# is a need for debugging

# Ubuntu core tests
- ID: Ubu20
APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2004
INSTALL_SYSPKGS: python3-virtualenv
- ID: Ubu22
APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2204
PY: 3.10
INSTALL_SYSPKGS: libffi7 python3-venv
# system git-annex is way too old, use better one
INSTALL_GITANNEX: git-annex -m deb-url --url http://snapshot.debian.org/archive/debian/20201228T023115Z/pool/main/g/git-annex/git-annex_8.20201127-1_amd64.deb
# Windows core tests
Expand All @@ -71,32 +72,22 @@ environment:
PY: 39-x64
INSTALL_GITANNEX: git-annex -m datalad/packages
# MacOS core tests
- ID: MacP38core
- ID: MacP310-default
APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey
PY: 3.8
# does not give a functional installation
# INSTALL_GITANNEX: git-annex -m snapshot
#INSTALL_GITANNEX: git-annex=8.20201129
PY: 3.10
# ATM default is brew
INSTALL_GITANNEX: git-annex

- ID: MacP38a1
APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey
PY: 3.8
INSTALL_GITANNEX: git-annex
- ID: MacP38a2
- ID: MacP310-packages
APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey
PY: 3.8
INSTALL_GITANNEX: git-annex
- ID: MacP38a3
APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey
PY: 3.8
INSTALL_GITANNEX: git-annex
PY: 3.10
INSTALL_GITANNEX: git-annex -m datalad/packages

# Test alternative Python versions
- ID: Ubu20P37
PY: 3.7
- ID: Ubu20P39
PY: 3.9
APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2004
INSTALL_SYSPKGS: python3-virtualenv
INSTALL_SYSPKGS: python3-venv
# system git-annex is way too old, use better one
INSTALL_GITANNEX: git-annex -m deb-url --url http://snapshot.debian.org/archive/debian/20201228T023115Z/pool/main/g/git-annex/git-annex_8.20201127-1_amd64.deb

Expand Down Expand Up @@ -137,10 +128,10 @@ install:
# https://help.appveyor.com/discussions/problems/28217-appveyor-ubunu-image-with-python3-lzma-module
# Otherwise create a virtualenv using the default Python 3, to enable uniform
# use of python/pip executables below
- sh: "[ \"x$PY\" != x ] && . ${HOME}/venv${PY}/bin/activate || virtualenv -p 3 ${HOME}/dlvenv && . ${HOME}/dlvenv/bin/activate; ln -s \"$VIRTUAL_ENV\" \"${HOME}/VENV\""
- sh: "[ \"x$PY\" != x ] && . ${HOME}/venv${PY}/bin/activate || python${PY} -m venv ${HOME}/dlvenv && . ${HOME}/dlvenv/bin/activate; ln -s \"$VIRTUAL_ENV\" \"${HOME}/VENV\""
- cmd: "set PATH=C:\\Python%PY%;C:\\Python%PY%\\Scripts;%PATH%"
# Missing system software
- sh: "[ -n \"$INSTALL_SYSPKGS\" ] && ( [ \"x${APPVEYOR_BUILD_WORKER_IMAGE}\" = \"xmacos-monterey\" ] && brew install -q ${INSTALL_SYSPKGS} || sudo apt-get install --no-install-recommends -y ${INSTALL_SYSPKGS} ) || true"
- sh: "[ -n \"$INSTALL_SYSPKGS\" ] && ( [ \"x${APPVEYOR_BUILD_WORKER_IMAGE}\" = \"xmacos-monterey\" ] && brew install -q ${INSTALL_SYSPKGS} || { sudo apt-get update; sudo apt-get install --no-install-recommends -y ${INSTALL_SYSPKGS} ; } ) || true"
- python -m pip install .

test_script:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '^3.7'
python-version: '^3.9'

- name: Install Python dependencies
run: python -m pip install build bump2version twine
Expand Down
10 changes: 4 additions & 6 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,11 @@ jobs:
- windows-latest
- ubuntu-latest
python-version:
- '3.7'
- '3.8'
- '3.9'
- '3.10'
- '3.11'
- '3.12'
- 'pypy-3.8'
- 'pypy-3.10'
# Avoid PyPy 7.3.16, as the tests currently fail on it due to a bug
# in it and/or tox: <https://github.com/pypy/pypy/issues/4958>,
# <https://github.com/tox-dev/tox/issues/3284>
Expand All @@ -43,13 +41,13 @@ jobs:
toxenv: [py]
exclude:
# Not available on arm64 macos-latest:
- python-version: '3.7'
- python-version: '3.9'
os: macos-latest
include:
- python-version: '3.7'
- python-version: '3.9'
toxenv: lint
os: ubuntu-latest
- python-version: '3.7'
- python-version: '3.9'
toxenv: typing
os: ubuntu-latest
steps:
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ repos:
hooks:
- id: isort
- repo: https://github.com/PyCQA/flake8
rev: 6.0.0
rev: 7.1.1
hooks:
- id: flake8
additional_dependencies:
Expand Down
4 changes: 1 addition & 3 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@ classifiers =
#Development Status :: 5 - Production/Stable
Programming Language :: Python :: 3 :: Only
Programming Language :: Python :: 3
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
Expand All @@ -53,7 +51,7 @@ py_modules = datalad_installer
package_dir =
=src
include_package_data = True
python_requires = >= 3.7
python_requires = >= 3.9

[options.entry_points]
console_scripts =
Expand Down
4 changes: 0 additions & 4 deletions test/test_install.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,6 @@ def test_install_miniconda(tmp_path: Path) -> None:
)


@pytest.mark.skipif(
sys.version_info[:2] == (3, 12),
reason="Python 3.12 not yet available on Conda",
)
@pytest.mark.miniconda
def test_install_miniconda_python_match(tmp_path: Path) -> None:
miniconda_path = tmp_path / "conda"
Expand Down
Loading