Skip to content

DNM before 2021-09-05: Remove support for Python 3.5 #1201

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

Merged
merged 1 commit into from
Jun 16, 2021
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
29 changes: 2 additions & 27 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,12 @@ environment:
CYGWIN64_GIT_PATH: "C:\\cygwin64\\bin;%GIT_DAEMON_PATH%"

matrix:
- PYTHON: "C:\\Python34-x64"
PYTHON_VERSION: "3.4"
GIT_PATH: "%GIT_DAEMON_PATH%"
- PYTHON: "C:\\Python35-x64"
PYTHON_VERSION: "3.5"
GIT_PATH: "%GIT_DAEMON_PATH%"
- PYTHON: "C:\\Python36-x64"
PYTHON_VERSION: "3.6"
GIT_PATH: "%GIT_DAEMON_PATH%"
- PYTHON: "C:\\Python37-x64"
PYTHON_VERSION: "3.7"
GIT_PATH: "%GIT_DAEMON_PATH%"
- PYTHON: "C:\\Miniconda35-x64"
PYTHON_VERSION: "3.5"
IS_CONDA: "yes"
MAYFAIL: "yes"
GIT_PATH: "%GIT_DAEMON_PATH%"
## Cygwin
- PYTHON: "C:\\Python35-x64"
PYTHON_VERSION: "3.5"
IS_CYGWIN: "yes"
MAYFAIL: "yes"
GIT_PATH: "%CYGWIN64_GIT_PATH%"

matrix:
allow_failures:
Expand Down Expand Up @@ -76,18 +59,10 @@ install:
build: false

test_script:
- IF "%IS_CYGWIN%" == "yes" (
nosetests -v
) ELSE (
IF "%PYTHON_VERSION%" == "3.5" (
nosetests -v --with-coverage
) ELSE (
nosetests -v
)
)
- nosetests -v

on_success:
- IF "%PYTHON_VERSION%" == "3.5" IF NOT "%IS_CYGWIN%" == "yes" (codecov)
- IF "%PYTHON_VERSION%" == "3.6" IF NOT "%IS_CYGWIN%" == "yes" (codecov)

# Enable this to be able to login to the build worker. You can use the
# `remmina` program in Ubuntu, use the login information that the line below
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/pythonpackage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.5, 3.6, 3.7, 3.8, 3.9]
python-version: [3.6, 3.7, 3.8, 3.9]

steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -56,4 +56,4 @@ jobs:
run: |
set -x
pip install -r doc/requirements.txt
make -C doc html
make -C doc html
4 changes: 1 addition & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
# UNUSED, only for reference. If adjustments are needed, please see github actions
language: python
python:
- "3.4"
- "3.5"
- "3.6"
- "3.7"
- "3.8"
Expand Down Expand Up @@ -38,7 +36,7 @@ script:
- ulimit -n
- coverage run --omit="test/*" -m unittest --buffer
- coverage report
- if [ "$TRAVIS_PYTHON_VERSION" == '3.5' ]; then cd doc && make html; fi
- if [ "$TRAVIS_PYTHON_VERSION" == '3.6' ]; then cd doc && make html; fi
- if [ "$TRAVIS_PYTHON_VERSION" == '3.6' ]; then flake8 --ignore=W293,E265,E266,W503,W504,E731; fi
after_success:
- codecov
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ If it is not in your `PATH`, you can help GitPython find it by setting
the `GIT_PYTHON_GIT_EXECUTABLE=<path/to/git>` environment variable.

* Git (1.7.x or newer)
* Python >= 3.5
* Python >= 3.6

The list of dependencies are listed in `./requirements.txt` and `./test-requirements.txt`.
The installer takes care of installing them for you.
Expand Down
2 changes: 1 addition & 1 deletion doc/source/intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ The object database implementation is optimized for handling large quantities of
Requirements
============

* `Python`_ >= 3.5
* `Python`_ >= 3.6
* `Git`_ 1.7.0 or newer
It should also work with older versions, but it may be that some operations
involving remotes will not work as expected.
Expand Down
9 changes: 0 additions & 9 deletions git/cmd.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,7 @@
import subprocess
import sys
import threading
from collections import OrderedDict
from textwrap import dedent
import warnings

from git.compat import (
defenc,
Expand Down Expand Up @@ -903,13 +901,6 @@ def transform_kwarg(self, name, value, split_single_char_options):

def transform_kwargs(self, split_single_char_options=True, **kwargs):
"""Transforms Python style kwargs into git command line options."""
# Python 3.6 preserves the order of kwargs and thus has a stable
# order. For older versions sort the kwargs by the key to get a stable
# order.
if sys.version_info[:2] < (3, 6):
kwargs = OrderedDict(sorted(kwargs.items(), key=lambda x: x[0]))
warnings.warn("Python 3.5 support is deprecated and will be removed 2021-09-05.\n" +
"It does not preserve the order for key-word arguments and enforce lexical sorting instead.")
args = []
for k, v in kwargs.items():
if isinstance(v, (list, tuple)):
Expand Down
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ def build_py_modules(basedir, excludes=[]):
include_package_data=True,
py_modules=build_py_modules("./git", excludes=["git.ext.*"]),
package_dir={'git': 'git'},
python_requires='>=3.5',
python_requires='>=3.6',
install_requires=requirements,
tests_require=requirements + test_requirements,
zip_safe=False,
Expand Down Expand Up @@ -127,6 +127,6 @@ def build_py_modules(basedir, excludes=[]):
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9"
"Programming Language :: Python :: 3.9"
]
)