From a6673f7b5c9b0caf1dcdea6485bc78f3b01b16eb Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Wed, 18 Nov 2020 17:35:46 -0600 Subject: [PATCH 1/6] deps: support Python 3.9, drop 3.5 and 3.6 --- .circleci/config.yml | 35 +++++++------------ ci/constraints-3.5.pip | 6 ---- ci/constraints-3.6.pip | 3 -- ci/constraints-3.7.pip | 11 ++++-- ci/constraints-3.8.pip | 2 +- ci/constraints-3.9.pip | 2 ++ ....1.conda => requirements-3.7-0.20.1.conda} | 0 ...Y.conda => requirements-3.9-NIGHTLY.conda} | 0 docs/source/changelog.rst | 11 ++++++ noxfile.py | 6 ++-- setup.py | 7 ++-- 11 files changed, 41 insertions(+), 42 deletions(-) delete mode 100644 ci/constraints-3.5.pip delete mode 100644 ci/constraints-3.6.pip create mode 100644 ci/constraints-3.9.pip rename ci/{requirements-3.6-0.20.1.conda => requirements-3.7-0.20.1.conda} (100%) rename ci/{requirements-3.8-NIGHTLY.conda => requirements-3.9-NIGHTLY.conda} (100%) diff --git a/.circleci/config.yml b/.circleci/config.yml index a3863bd4..8e5e170c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,37 +1,29 @@ version: 2 jobs: # Pip - "pip-3.5": - docker: - - image: thekevjames/nox - steps: - - checkout - - run: ci/config_auth.sh - - run: nox -s unit-3.5 system-3.5 - - "pip-3.6": + "pip-3.7": docker: - image: thekevjames/nox steps: - checkout - run: ci/config_auth.sh - - run: nox -s unit-3.6 + - run: nox -s unit-3.7 - "pip-3.7": + "pip-3.8": docker: - image: thekevjames/nox steps: - checkout - run: ci/config_auth.sh - - run: nox -s unit-3.7 + - run: nox -s unit-3.8 system-3.8 cover - "pip-3.8": + "pip-3.9": docker: - image: thekevjames/nox steps: - checkout - run: ci/config_auth.sh - - run: nox -s unit-3.8 system-3.8 cover + - run: nox -s unit-3.9 system-3.9 cover "lint": docker: @@ -45,21 +37,21 @@ jobs: - run: nox -s lint # Conda - "conda-3.6-0.20.1": + "conda-3.7-0.20.1": docker: - image: continuumio/miniconda3 environment: - PYTHON: "3.6" + PYTHON: "3.7" PANDAS: "0.20.1" steps: - checkout - run: ci/config_auth.sh - run: ci/run_conda.sh - "conda-3.8-NIGHTLY": + "conda-3.9-NIGHTLY": docker: - image: continuumio/miniconda3 environment: - PYTHON: "3.8" + PYTHON: "3.9" PANDAS: "NIGHTLY" steps: - checkout @@ -70,10 +62,9 @@ workflows: version: 2 build: jobs: - - "pip-3.5" - - "pip-3.6" - "pip-3.7" - "pip-3.8" + - "pip-3.9" - lint - - "conda-3.6-0.20.1" - - "conda-3.8-NIGHTLY" \ No newline at end of file + - "conda-3.7-0.20.1" + - "conda-3.9-NIGHTLY" \ No newline at end of file diff --git a/ci/constraints-3.5.pip b/ci/constraints-3.5.pip deleted file mode 100644 index 2fd6f28a..00000000 --- a/ci/constraints-3.5.pip +++ /dev/null @@ -1,6 +0,0 @@ -numpy==1.13.3 -pandas==0.20.1 -google-auth==1.4.1 -google-auth-oauthlib==0.0.1 -google-cloud-bigquery==1.11.1 -pydata-google-auth==0.1.2 \ No newline at end of file diff --git a/ci/constraints-3.6.pip b/ci/constraints-3.6.pip deleted file mode 100644 index 25b7b34e..00000000 --- a/ci/constraints-3.6.pip +++ /dev/null @@ -1,3 +0,0 @@ -pandas -pydata-google-auth -google-cloud-bigquery \ No newline at end of file diff --git a/ci/constraints-3.7.pip b/ci/constraints-3.7.pip index 6025ac8a..3477a2b7 100644 --- a/ci/constraints-3.7.pip +++ b/ci/constraints-3.7.pip @@ -1,3 +1,8 @@ -pandas==0.24.0 -google-cloud-bigquery==1.12.0 -pydata-google-auth==0.1.2 \ No newline at end of file +numpy==1.14.5 +pandas==0.23.2 +google-auth==1.4.1 +google-auth-oauthlib==0.0.1 +google-cloud-bigquery==1.11.1 +google-cloud-bigquery[bqstorage,pandas]==1.11.1 +pydata-google-auth==0.1.2 +tqdm==4.23.0 diff --git a/ci/constraints-3.8.pip b/ci/constraints-3.8.pip index 1411a4a0..9c67e95e 100644 --- a/ci/constraints-3.8.pip +++ b/ci/constraints-3.8.pip @@ -1 +1 @@ -pandas \ No newline at end of file +numpy==1.17.5 diff --git a/ci/constraints-3.9.pip b/ci/constraints-3.9.pip new file mode 100644 index 00000000..76864a66 --- /dev/null +++ b/ci/constraints-3.9.pip @@ -0,0 +1,2 @@ +numpy==1.19.4 +pandas==1.1.4 diff --git a/ci/requirements-3.6-0.20.1.conda b/ci/requirements-3.7-0.20.1.conda similarity index 100% rename from ci/requirements-3.6-0.20.1.conda rename to ci/requirements-3.7-0.20.1.conda diff --git a/ci/requirements-3.8-NIGHTLY.conda b/ci/requirements-3.9-NIGHTLY.conda similarity index 100% rename from ci/requirements-3.8-NIGHTLY.conda rename to ci/requirements-3.9-NIGHTLY.conda diff --git a/docs/source/changelog.rst b/docs/source/changelog.rst index 20ef4139..4d6c5b2f 100644 --- a/docs/source/changelog.rst +++ b/docs/source/changelog.rst @@ -1,6 +1,17 @@ Changelog ========= +.. _changelog-0.15.0: + +0.15.0 / TBD +------------ + +Dependencies +~~~~~~~~~~~~ + +- Support Python 3.9. (:issue:`338`) +- Drop support for Python 3.5 and 3.6. (:issue:`337`) + .. _changelog-0.14.1: 0.14.1 / 2020-11-10 diff --git a/noxfile.py b/noxfile.py index 6ed0cef1..d40c2af3 100644 --- a/noxfile.py +++ b/noxfile.py @@ -10,9 +10,9 @@ import nox -supported_pythons = ["3.5", "3.6", "3.7", "3.8"] -system_test_pythons = ["3.5", "3.8"] -latest_python = "3.8" +supported_pythons = ["3.7", "3.8", "3.9"] +system_test_pythons = ["3.7", "3.8", "3.9"] +latest_python = "3.9" # Use a consistent version of black so CI is deterministic. # Should match Stickler: https://stickler-ci.com/docs#black diff --git a/setup.py b/setup.py index 4e3d01c9..3ebe4a46 100644 --- a/setup.py +++ b/setup.py @@ -18,7 +18,7 @@ def readme(): INSTALL_REQUIRES = [ "setuptools", - "pandas>=0.20.1", + "pandas>=0.23.2", "pydata-google-auth", "google-auth", "google-auth-oauthlib", @@ -44,16 +44,15 @@ def readme(): "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", "Topic :: Scientific/Engineering", ], keywords="data", install_requires=INSTALL_REQUIRES, extras_require=extras, - python_requires=">=3.5", + python_requires=">=3.7", packages=find_packages(exclude=["contrib", "docs", "tests*"]), test_suite="tests", ) From c39e033a1f69217f83d15feb298ef67cb1c93aa0 Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Wed, 18 Nov 2020 17:44:43 -0600 Subject: [PATCH 2/6] update minimum pandas --- .circleci/config.yml | 6 +++--- ...ments-3.7-0.20.1.conda => requirements-3.7-0.23.2.conda} | 0 2 files changed, 3 insertions(+), 3 deletions(-) rename ci/{requirements-3.7-0.20.1.conda => requirements-3.7-0.23.2.conda} (100%) diff --git a/.circleci/config.yml b/.circleci/config.yml index 8e5e170c..4544ea9a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -37,12 +37,12 @@ jobs: - run: nox -s lint # Conda - "conda-3.7-0.20.1": + "conda-3.7": docker: - image: continuumio/miniconda3 environment: PYTHON: "3.7" - PANDAS: "0.20.1" + PANDAS: "0.23.2" steps: - checkout - run: ci/config_auth.sh @@ -66,5 +66,5 @@ workflows: - "pip-3.8" - "pip-3.9" - lint - - "conda-3.7-0.20.1" + - "conda-3.7" - "conda-3.9-NIGHTLY" \ No newline at end of file diff --git a/ci/requirements-3.7-0.20.1.conda b/ci/requirements-3.7-0.23.2.conda similarity index 100% rename from ci/requirements-3.7-0.20.1.conda rename to ci/requirements-3.7-0.23.2.conda From 7a0981121a2178e69ad2fdea0a4be73ccc962769 Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Thu, 17 Dec 2020 12:53:54 -0600 Subject: [PATCH 3/6] drop 3.9 --- .circleci/config.yml | 32 +++++++++++--------------------- noxfile.py | 6 +++--- 2 files changed, 14 insertions(+), 24 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4544ea9a..54a3f04a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,40 +1,31 @@ version: 2 jobs: - # Pip - "pip-3.7": + "lint": docker: - image: thekevjames/nox + environment: + # Resolve "Python 3 was configured to use ASCII as encoding for the environment" + LC_ALL: C.UTF-8 + LANG: C.UTF-8 steps: - checkout - - run: ci/config_auth.sh - - run: nox -s unit-3.7 + - run: nox -s lint - "pip-3.8": + # Pip + "pip-3.7": docker: - image: thekevjames/nox steps: - checkout - run: ci/config_auth.sh - - run: nox -s unit-3.8 system-3.8 cover - - "pip-3.9": + - run: nox -s unit-3.7 + "pip-3.8": docker: - image: thekevjames/nox steps: - checkout - run: ci/config_auth.sh - - run: nox -s unit-3.9 system-3.9 cover - - "lint": - docker: - - image: thekevjames/nox - environment: - # Resolve "Python 3 was configured to use ASCII as encoding for the environment" - LC_ALL: C.UTF-8 - LANG: C.UTF-8 - steps: - - checkout - - run: nox -s lint + - run: nox -s unit-3.8 system-3.8 cover # Conda "conda-3.7": @@ -64,7 +55,6 @@ workflows: jobs: - "pip-3.7" - "pip-3.8" - - "pip-3.9" - lint - "conda-3.7" - "conda-3.9-NIGHTLY" \ No newline at end of file diff --git a/noxfile.py b/noxfile.py index d40c2af3..08f203e9 100644 --- a/noxfile.py +++ b/noxfile.py @@ -10,9 +10,9 @@ import nox -supported_pythons = ["3.7", "3.8", "3.9"] -system_test_pythons = ["3.7", "3.8", "3.9"] -latest_python = "3.9" +supported_pythons = ["3.7", "3.8"] +system_test_pythons = ["3.7", "3.8"] +latest_python = "3.8" # Use a consistent version of black so CI is deterministic. # Should match Stickler: https://stickler-ci.com/docs#black From c812296da48d64f8977f95fa03396d9068eeda22 Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Thu, 17 Dec 2020 12:56:12 -0600 Subject: [PATCH 4/6] drop 3.9 --- docs/source/changelog.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/source/changelog.rst b/docs/source/changelog.rst index 4d6c5b2f..339ce71b 100644 --- a/docs/source/changelog.rst +++ b/docs/source/changelog.rst @@ -9,7 +9,6 @@ Changelog Dependencies ~~~~~~~~~~~~ -- Support Python 3.9. (:issue:`338`) - Drop support for Python 3.5 and 3.6. (:issue:`337`) .. _changelog-0.14.1: From f97ec1f2c0b67a15ca617ad7c0d8e3872c15cd2a Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Thu, 17 Dec 2020 14:26:16 -0600 Subject: [PATCH 5/6] add docs-presubmit to build --- .circleci/config.yml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 54a3f04a..817b2e73 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -10,6 +10,16 @@ jobs: steps: - checkout - run: nox -s lint + "docs-presubmit": + docker: + - image: thekevjames/nox + environment: + # Resolve "Python 3 was configured to use ASCII as encoding for the environment" + LC_ALL: C.UTF-8 + LANG: C.UTF-8 + steps: + - checkout + - run: nox -s docs # Pip "pip-3.7": @@ -53,8 +63,9 @@ workflows: version: 2 build: jobs: + - lint + - docs-presubmit - "pip-3.7" - "pip-3.8" - - lint - "conda-3.7" - "conda-3.9-NIGHTLY" \ No newline at end of file From e80709b5b008ae17052ed1a9ec7f0cc4ff6a9c58 Mon Sep 17 00:00:00 2001 From: Tim Swast Date: Thu, 17 Dec 2020 14:45:44 -0600 Subject: [PATCH 6/6] fix lint session --- noxfile.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/noxfile.py b/noxfile.py index 08f203e9..0af7c2f6 100644 --- a/noxfile.py +++ b/noxfile.py @@ -19,10 +19,9 @@ black_package = "black==20.8b1" -@nox.session -def lint(session, python=latest_python): +@nox.session(python=latest_python) +def lint(session): session.install(black_package, "flake8") - session.install("-e", ".") session.run("flake8", "pandas_gbq") session.run("flake8", "tests") session.run("black", "--check", ".") @@ -57,8 +56,8 @@ def unit(session): ) -@nox.session -def cover(session, python=latest_python): +@nox.session(python=latest_python) +def cover(session): session.install("coverage", "pytest-cov") session.run("coverage", "report", "--show-missing", "--fail-under=73") session.run("coverage", "erase")