From 8ec6df2c5b9d53e4eb34721a1da0e269b9880b76 Mon Sep 17 00:00:00 2001 From: Nicholas Cilfone <23509131+ncilfone@users.noreply.github.com> Date: Wed, 30 Aug 2023 14:12:43 -0400 Subject: [PATCH] dropping 3.6 support because of dependency hell --- .github/workflows/python-coverage.yaml | 2 +- .github/workflows/python-docs.yaml | 2 +- .github/workflows/python-manual-docs.yaml | 2 +- .github/workflows/python-publish.yaml | 2 +- .github/workflows/python-pytest-s3.yaml | 2 +- .github/workflows/python-pytest.yml | 2 +- .github/workflows/python-test-docs.yaml | 2 +- README.md | 10 +++++++--- REQUIREMENTS.txt | 6 ++---- requirements/DEV_REQUIREMENTS.txt | 8 -------- requirements/S3_REQUIREMENTS.txt | 3 --- requirements/TUNE_REQUIREMENTS.txt | 1 - setup.py | 2 +- spock/backend/typed.py | 1 - spock/backend/validators.py | 1 - spock/graph.py | 1 - 16 files changed, 17 insertions(+), 30 deletions(-) diff --git a/.github/workflows/python-coverage.yaml b/.github/workflows/python-coverage.yaml index 43b66921..d7345020 100644 --- a/.github/workflows/python-coverage.yaml +++ b/.github/workflows/python-coverage.yaml @@ -19,7 +19,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v2 with: - python-version: '3.8' + python-version: '3.10' - uses: actions/cache@v2 with: diff --git a/.github/workflows/python-docs.yaml b/.github/workflows/python-docs.yaml index 97769414..e628b26f 100644 --- a/.github/workflows/python-docs.yaml +++ b/.github/workflows/python-docs.yaml @@ -17,7 +17,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v2 with: - python-version: '3.8' + python-version: '3.10' - uses: actions/cache@v2 with: diff --git a/.github/workflows/python-manual-docs.yaml b/.github/workflows/python-manual-docs.yaml index 139d9976..40d55f04 100644 --- a/.github/workflows/python-manual-docs.yaml +++ b/.github/workflows/python-manual-docs.yaml @@ -14,7 +14,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v2 with: - python-version: '3.8' + python-version: '3.10' - uses: actions/cache@v2 with: diff --git a/.github/workflows/python-publish.yaml b/.github/workflows/python-publish.yaml index 8e0eca4d..f5ad99ec 100644 --- a/.github/workflows/python-publish.yaml +++ b/.github/workflows/python-publish.yaml @@ -20,7 +20,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v2 with: - python-version: '3.8' + python-version: '3.10' - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/python-pytest-s3.yaml b/.github/workflows/python-pytest-s3.yaml index 80d9d32c..545118a9 100644 --- a/.github/workflows/python-pytest-s3.yaml +++ b/.github/workflows/python-pytest-s3.yaml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-20.04 strategy: matrix: - python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"] + python-version: ["3.7", "3.8", "3.9", "3.10"] steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/python-pytest.yml b/.github/workflows/python-pytest.yml index 38bca867..d550a708 100644 --- a/.github/workflows/python-pytest.yml +++ b/.github/workflows/python-pytest.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-20.04 strategy: matrix: - python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"] + python-version: ["3.7", "3.8", "3.9", "3.10"] steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/python-test-docs.yaml b/.github/workflows/python-test-docs.yaml index 75ed90ac..141de20b 100644 --- a/.github/workflows/python-test-docs.yaml +++ b/.github/workflows/python-test-docs.yaml @@ -21,7 +21,7 @@ jobs: - uses: actions/setup-python@v2 with: - python-version: '3.8' + python-version: '3.10' - uses: actions/cache@v2 with: diff --git a/README.md b/README.md index 9670609e..df832f9e 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@

- + @@ -84,7 +84,7 @@ generating CLI arguments, and hierarchical configuration by composition. ## Quick Install -The basic install and `[s3]` extension require Python 3.6+ while the `[tune]` extension requires Python 3.8+ +The basic install and `[s3]` extension require Python 3.7+ while the `[tune]` extension requires Python 3.8+ | Base | w/ S3 Extension | w/ Hyper-Parameter Tuner | |------|-----------------|--------------------------| @@ -102,7 +102,11 @@ See [Releases](https://github.com/fidelity/spock/releases) for more information.

-### Jan 12th, 2023 +#### August 30th, 2023 +* Removed Python 3.6 support as it was causing dependency hell +* Collection of bugfixes + +#### Jan 12th, 2023 * Added support for resolving value definitions from references to other defined variables with the following syntax,`${spock.var:SpockClass.defined_variable}` * Added support for new fundamental types: (1) file: this is an overload of a str that verifies file existence and (r/w) access (2) directory: this is an overload of a str that verifies directory existence, creation if not existing, and (r/w) access * Deprecated support for `List` of repeated `@spock` decorated classes. diff --git a/REQUIREMENTS.txt b/REQUIREMENTS.txt index ab9f7b5f..1cc4e214 100644 --- a/REQUIREMENTS.txt +++ b/REQUIREMENTS.txt @@ -1,10 +1,8 @@ -attrs~=23.1 ; python_version >= '3.7' -attrs~=22.2 ; python_version == '3.6' +attrs~=23.1 cryptography~=37.0 GitPython~=3.1 pytomlpp~=1.0 # pyYAML~=5.4 pyYAML~=6.0 setuptools~=68.1 ; python_version >= '3.8' -setuptools~=68.0 ; python_version == '3.7' -setuptools~=59.6 ; python_version == '3.6' \ No newline at end of file +setuptools~=68.0 ; python_version == '3.7' \ No newline at end of file diff --git a/requirements/DEV_REQUIREMENTS.txt b/requirements/DEV_REQUIREMENTS.txt index 409582de..e586773b 100644 --- a/requirements/DEV_REQUIREMENTS.txt +++ b/requirements/DEV_REQUIREMENTS.txt @@ -1,22 +1,14 @@ black~=23.7 ; python_version >= '3.8' black~=23.3 ; python_version == '3.7' -black~=21.4b0 ; python_version == '3.6' # coveralls~=3.3 coverage[toml]~=7.3 ; python_version >= '3.8' coverage[toml]~=7.2 ; python_version == '3.7' -coverage[toml]~=6.2 ; python_version == '3.6' isort~=5.12 ; python_version >= '3.8' isort~=5.11 ; python_version == '3.7' -isort~=5.10 ; python_version == '3.6' moto~=3.1 pre-commit~=3.3 ; python_version >= '3.8' pre-commit~=2.21 ; python_version == '3.7' -pre-commit~=2.17 ; python_version == '3.6' pydoc-markdown~=4.8 ; python_version >= '3.7' -pydoc-markdown~=3.13 ; python_version == '3.6' pytest~=7.4 ; python_version >= '3.7' -pytest~=7.0 ; python_version == '3.6' pytest-cov~=4.1 ; python_version >= '3.7' -pytest-cov~=4.0 ; python_version == '3.6' pylint~=2.17 ; python_version >= '3.7' -pylint~=2.13 ; python_version == '3.6' diff --git a/requirements/S3_REQUIREMENTS.txt b/requirements/S3_REQUIREMENTS.txt index 47d1bf5a..f91b9032 100644 --- a/requirements/S3_REQUIREMENTS.txt +++ b/requirements/S3_REQUIREMENTS.txt @@ -1,7 +1,4 @@ boto3~=1.28 ; python_version >= '3.7' -boto3~=1.23 ; python_version == '3.6' botocore~=1.31 ; python_version >= '3.7' -botocore~=1.26 ; python_version == '3.6' hurry.filesize~=0.9 s3transfer~=0.6 ; python_version >= '3.7' -s3transfer~=0.5 ; python_version == '3.6' diff --git a/requirements/TUNE_REQUIREMENTS.txt b/requirements/TUNE_REQUIREMENTS.txt index 4d89e88f..162264dd 100644 --- a/requirements/TUNE_REQUIREMENTS.txt +++ b/requirements/TUNE_REQUIREMENTS.txt @@ -4,5 +4,4 @@ torch~=2.0 ; python_version >= '3.8' torch~=1.13 ; python_version <= '3.7' ax-platform~=0.3.4; python_version >= '3.9' ax-platform~=0.3.3; python_version == '3.8' -# ax-platform~=0.2.4; python_version == '3.7' diff --git a/setup.py b/setup.py index 110657cd..338b8df9 100644 --- a/setup.py +++ b/setup.py @@ -70,7 +70,7 @@ "": ["py.typed", "*.pyi"], }, include_package_data=True, - python_requires=">=3.6", + python_requires=">=3.7", install_requires=install_reqs, extras_require={"s3": s3_reqs, "tune": tune_reqs}, ) diff --git a/spock/backend/typed.py b/spock/backend/typed.py index db9d4d82..3cbbaeb2 100644 --- a/spock/backend/typed.py +++ b/spock/backend/typed.py @@ -73,7 +73,6 @@ def _recursive_generic_validator(typed): # Iterate through since there might be multiple types? # Handle Tuple type if _get_name_py_version(typed) == "Tuple": - # Tuples by def have len more than 1. We throw an exception if not since # a tuple is not necessary in that case. Tuples can also have mixed types, # thus we need to handle this oddity here -- we do this by passing each diff --git a/spock/backend/validators.py b/spock/backend/validators.py index b0428c7c..4f86c3c2 100644 --- a/spock/backend/validators.py +++ b/spock/backend/validators.py @@ -390,7 +390,6 @@ def __call__( validator(inst, attr, member) def __repr__(self): - return ( f"" diff --git a/spock/graph.py b/spock/graph.py index 8fd93d0c..e1703b64 100644 --- a/spock/graph.py +++ b/spock/graph.py @@ -230,7 +230,6 @@ def _build(self) -> Dict: class SelfGraph(BaseGraph): - var_resolver = VarResolver() def __init__(self, cls: _C, fields: Dict):