From c4111f25f7d6259433190cd66c3a2e342368e07a Mon Sep 17 00:00:00 2001 From: joncrall <jon.crall@kitware.com> Date: Fri, 21 Jun 2024 15:05:03 -0400 Subject: [PATCH] Remove 3.6 and 3.7 support, bump minor version, push back deprecation schedule --- .gitlab-ci.yml | 50 ---------------------------------------- CHANGELOG.md | 6 ++++- pyproject.toml | 3 ++- requirements/runtime.txt | 2 +- requirements/tests.txt | 2 +- scriptconfig/__init__.py | 2 +- scriptconfig/config.py | 12 +++++----- 7 files changed, 16 insertions(+), 61 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8003d10..2ef094a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -251,52 +251,6 @@ stages: - |- python -m pytest --verbose -p pytester -p no:doctest --xdoctest --cov-config ../pyproject.toml --cov-report term --durations=100 --cov="$MOD_NAME" "$MOD_DPATH" ../tests - echo "pytest command finished, moving the coverage file to the repo root" -build/cp36-linux-x86_64: - <<: *build_template - image: python:3.6 -test/minimal-loose/cp36-linux-x86_64: - <<: *test_minimal-loose_template - image: python:3.6 - needs: - - build/cp36-linux-x86_64 -test/full-loose/cp36-linux-x86_64: - <<: *test_full-loose_template - image: python:3.6 - needs: - - build/cp36-linux-x86_64 -test/minimal-strict/cp36-linux-x86_64: - <<: *test_minimal-strict_template - image: python:3.6 - needs: - - build/cp36-linux-x86_64 -test/full-strict/cp36-linux-x86_64: - <<: *test_full-strict_template - image: python:3.6 - needs: - - build/cp36-linux-x86_64 -build/cp37-linux-x86_64: - <<: *build_template - image: python:3.7 -test/minimal-loose/cp37-linux-x86_64: - <<: *test_minimal-loose_template - image: python:3.7 - needs: - - build/cp37-linux-x86_64 -test/full-loose/cp37-linux-x86_64: - <<: *test_full-loose_template - image: python:3.7 - needs: - - build/cp37-linux-x86_64 -test/minimal-strict/cp37-linux-x86_64: - <<: *test_minimal-strict_template - image: python:3.7 - needs: - - build/cp37-linux-x86_64 -test/full-strict/cp37-linux-x86_64: - <<: *test_full-strict_template - image: python:3.7 - needs: - - build/cp37-linux-x86_64 build/cp38-linux-x86_64: <<: *build_template image: python:3.8 @@ -440,10 +394,6 @@ gpgsign/wheels: - main - release needs: - - job: build/cp36-linux-x86_64 - artifacts: true - - job: build/cp37-linux-x86_64 - artifacts: true - job: build/cp38-linux-x86_64 artifacts: true - job: build/cp39-linux-x86_64 diff --git a/CHANGELOG.md b/CHANGELOG.md index 5251b18..429df7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,11 @@ This changelog follows the specifications detailed in: [Keep a Changelog](https: This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html), although we have not yet reached a `1.0.0` release. -## Version 0.7.16 - Unreleased +## Version 0.8.0 - Unreleased + +### Removed + +* Remove 3.6 and 3.7 support ## Version 0.7.15 - Released 2024-05-13 diff --git a/pyproject.toml b/pyproject.toml index 08edd03..10a58fc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,8 @@ repo_name = "scriptconfig" rel_mod_parent_dpath = "." os = [ "osx", "linux", "win", "all",] url = "https://gitlab.kitware.com/utils/scriptconfig" -min_python = 3.6 +min_python = 3.8 +max_python = 3.12 version = "{mod_dpath}/__init__.py::__version__" author = "Kitware Inc., Jon Crall" author_email = "kitware@kitware.com, jon.crall@kitware.com" diff --git a/requirements/runtime.txt b/requirements/runtime.txt index 9c3a1d0..2a8d324 100644 --- a/requirements/runtime.txt +++ b/requirements/runtime.txt @@ -1,4 +1,4 @@ -ubelt>=1.2.3 +ubelt>=1.3.6 PyYAML>=6.0.1 ; python_version < '4.0' and python_version >= '3.12' # Python 3.12+ PyYAML>=6.0 ; python_version < '3.12' and python_version >= '3.11' # Python 3.11+ diff --git a/requirements/tests.txt b/requirements/tests.txt index 76f07e4..382d28a 100644 --- a/requirements/tests.txt +++ b/requirements/tests.txt @@ -20,4 +20,4 @@ pytest-cov>=2.9.0 ; python_version < '3.6.0' and python_version >= '3 pytest-cov>=2.8.1 ; python_version < '3.5.0' and python_version >= '3.4.0' # Python 3.4 pytest-cov>=2.8.1 ; python_version < '2.8.0' and python_version >= '2.7.0' # Python 2.7 -xdoctest >= 1.1.3 +xdoctest >= 1.1.5 diff --git a/scriptconfig/__init__.py b/scriptconfig/__init__.py index 333d506..e156610 100644 --- a/scriptconfig/__init__.py +++ b/scriptconfig/__init__.py @@ -151,7 +151,7 @@ Ignore: mkinit ~/code/scriptconfig/scriptconfig/__init__.py --nomods --relative -w """ -__version__ = '0.7.16' +__version__ = '0.8.0' __submodules__ = { 'modal': None, diff --git a/scriptconfig/config.py b/scriptconfig/config.py index 56c7861..a1fe7e3 100644 --- a/scriptconfig/config.py +++ b/scriptconfig/config.py @@ -180,7 +180,7 @@ class MetaConfig(type): ub.schedule_deprecation( 'scriptconfig', 'default', f'class attribute of {name}', migration='Use __default__ instead', - deprecate='0.7.6', error='0.8.0', remove='0.9.0', + deprecate='0.7.6', error='0.10.0', remove='1.0.0', ) HANDLE_INHERITENCE = 1 @@ -212,7 +212,7 @@ class MetaConfig(type): ub.schedule_deprecation( 'scriptconfig', 'normalize', f'class attribute of {name}', migration='Use __post_init__ instead', - deprecate='0.7.6', error='0.8.0', remove='0.9.0', + deprecate='0.7.6', error='0.10.0', remove='1.0.0', ) if '__post_init__' in namespace and 'normalize' not in namespace: @@ -756,7 +756,7 @@ class Config(ub.NiceRepr, DictLike, metaclass=MetaConfig): if isinstance(cmdline, dict): ub.schedule_deprecation('scriptconfig', 'cmdline', 'parameter as a dictionary', migration='The API should expose any special params explicitly', - deprecate='0.7.15', error='0.8.0', remove='0.9.0') + deprecate='0.7.15', error='0.10.0', remove='1.0.0') read_argv_kwargs.update(cmdline) elif ub.iterable(cmdline) or isinstance(cmdline, str): read_argv_kwargs['argv'] = cmdline @@ -1089,7 +1089,7 @@ class Config(ub.NiceRepr, DictLike, metaclass=MetaConfig): ub.schedule_deprecation( 'scriptconfig', 'description', 'attribute of Config classes', migration='Use __description__ or the docstring instead', - deprecate='0.7.11', error='0.8.0', remove='0.9.0') + deprecate='0.7.11', error='0.10.0', remove='1.0.0') description = getattr(self, '__description__', getattr(self, 'description', None)) @@ -1108,7 +1108,7 @@ class Config(ub.NiceRepr, DictLike, metaclass=MetaConfig): ub.schedule_deprecation( 'scriptconfig', 'epilog', 'attribute of Config classes', migration='Use __epilog__ instead', - deprecate='0.7.11', error='0.8.0', remove='0.9.0') + deprecate='0.7.11', error='0.10.0', remove='1.0.0') epilog = getattr(self, '__epilog__', getattr(self, 'epilog', None)) if epilog is not None: @@ -1121,7 +1121,7 @@ class Config(ub.NiceRepr, DictLike, metaclass=MetaConfig): ub.schedule_deprecation( 'scriptconfig', 'prog', 'attribute of Config classes', migration='Use __prog__ instead', - deprecate='0.7.11', error='0.8.0', remove='0.9.0') + deprecate='0.7.11', error='0.10.0', remove='1.0.0') prog = getattr(self, '__prog__', getattr(self, 'prog', None)) if prog is None: prog = self.__class__.__name__ -- GitLab