diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8003d10f072dff66e2fc91aabb58ff49c3e25b7c..2ef094a7643dff76ba865139abc4b075a09c1816 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 5251b18da7cadb7ae8679bdb17b6ae052b79121e..429df7f9eb6e1ada153aa7dd843b65c1d8541715 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 08edd03496f2a32ee920d811cc03511eb74dd8ad..10a58fcc30a0bbf33ef239786bd08f04ca654a08 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 9c3a1d0e8e1f7272761be4d922e70408d784a9f7..2a8d324c818a499fbe3b46117c3775750c970f63 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 76f07e4bd22c1814274852f50c9229773622c794..382d28a1d2c9f54ec2251e567e9ac8ca6516f175 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 333d50639efa190b0bb33d1fb391f0014346aa46..e156610f5bc559e8cc711302a0a8b379ef51f6cf 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 56c78618f4f7f479589470323e726f6f0850ed57..a1fe7e3f7b30d3987522abd081f16aee94ae1102 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__