diff --git a/.circleci/config.yml b/.circleci/config.yml index a3863bd4..817b2e73 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,22 +1,27 @@ version: 2 jobs: - # Pip - "pip-3.5": + "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.5 system-3.5 - - "pip-3.6": + - 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: ci/config_auth.sh - - run: nox -s unit-3.6 + - run: nox -s docs + # Pip "pip-3.7": docker: - image: thekevjames/nox @@ -24,7 +29,6 @@ jobs: - checkout - run: ci/config_auth.sh - run: nox -s unit-3.7 - "pip-3.8": docker: - image: thekevjames/nox @@ -33,33 +37,22 @@ jobs: - run: ci/config_auth.sh - run: nox -s unit-3.8 system-3.8 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 - # Conda - "conda-3.6-0.20.1": + "conda-3.7": docker: - image: continuumio/miniconda3 environment: - PYTHON: "3.6" - PANDAS: "0.20.1" + PYTHON: "3.7" + PANDAS: "0.23.2" 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 +63,9 @@ workflows: version: 2 build: jobs: - - "pip-3.5" - - "pip-3.6" + - lint + - docs-presubmit - "pip-3.7" - "pip-3.8" - - lint - - "conda-3.6-0.20.1" - - "conda-3.8-NIGHTLY" \ No newline at end of file + - "conda-3.7" + - "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.23.2.conda similarity index 100% rename from ci/requirements-3.6-0.20.1.conda rename to ci/requirements-3.7-0.23.2.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 0dd1f925..372a0c61 100644 --- a/docs/source/changelog.rst +++ b/docs/source/changelog.rst @@ -13,6 +13,11 @@ Features client project. Specify the target table ID as ``project.dataset.table`` to use this feature. (:issue:`321`, :issue:`347`) +Dependencies +~~~~~~~~~~~~ + +- Drop support for Python 3.5 and 3.6. (:issue:`337`) + .. _changelog-0.14.1: diff --git a/noxfile.py b/noxfile.py index 6ed0cef1..0af7c2f6 100644 --- a/noxfile.py +++ b/noxfile.py @@ -10,8 +10,8 @@ import nox -supported_pythons = ["3.5", "3.6", "3.7", "3.8"] -system_test_pythons = ["3.5", "3.8"] +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. @@ -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") 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", )