Skip to content

Commit

Permalink
chore(python): drop python 3.6 (#420)
Browse files Browse the repository at this point in the history
Source-Link: googleapis/synthtool@4f89b13
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:e7bb19d47c13839fe8c147e50e02e8b6cf5da8edd1af8b82208cd6f66cc2829c

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: nicain <[email protected]>
  • Loading branch information
3 people authored Jul 6, 2022
1 parent 670e534 commit be6b03c
Show file tree
Hide file tree
Showing 7 changed files with 92 additions and 50 deletions.
4 changes: 2 additions & 2 deletions packages/google-cloud-dialogflow-cx/.github/.OwlBot.lock.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,5 @@
# limitations under the License.
docker:
image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest
digest: sha256:a5d81b61dfd1a432d3c03f51a25d2e71b37be24da509966d50724aea7c57c5c2
# created: 2022-07-04T12:33:08.125873124Z
digest: sha256:e7bb19d47c13839fe8c147e50e02e8b6cf5da8edd1af8b82208cd6f66cc2829c
# created: 2022-07-05T18:31:20.838186805Z
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python: ['3.6', '3.7', '3.8', '3.9', '3.10']
python: ['3.7', '3.8', '3.9', '3.10']
steps:
- name: Checkout
uses: actions/checkout@v3
Expand Down
6 changes: 2 additions & 4 deletions packages/google-cloud-dialogflow-cx/CONTRIBUTING.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ In order to add a feature:
documentation.

- The feature must work fully on the following CPython versions:
3.6, 3.7, 3.8, 3.9 and 3.10 on both UNIX and Windows.
3.7, 3.8, 3.9 and 3.10 on both UNIX and Windows.

- The feature must not add unnecessary dependencies (where
"unnecessary" is of course subjective, but new dependencies should
Expand Down Expand Up @@ -221,13 +221,11 @@ Supported Python Versions

We support:

- `Python 3.6`_
- `Python 3.7`_
- `Python 3.8`_
- `Python 3.9`_
- `Python 3.10`_

.. _Python 3.6: https://docs.python.org/3.6/
.. _Python 3.7: https://docs.python.org/3.7/
.. _Python 3.8: https://docs.python.org/3.8/
.. _Python 3.9: https://docs.python.org/3.9/
Expand All @@ -239,7 +237,7 @@ Supported versions can be found in our ``noxfile.py`` `config`_.
.. _config: https://github.com/googleapis/python-dialogflow-cx/blob/main/noxfile.py


We also explicitly decided to support Python 3 beginning with version 3.6.
We also explicitly decided to support Python 3 beginning with version 3.7.
Reasons for this include:

- Encouraging use of newest versions of Python 3
Expand Down
41 changes: 31 additions & 10 deletions packages/google-cloud-dialogflow-cx/README.rst
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
Python Client for Dialogflow CX API
=================================================
===================================

|GA| |pypi| |versions|
|stable| |pypi| |versions|

`Dialogflow CX API`_: Builds conversational interfaces (for example, chatbots, and voice-powered apps and devices).
`Dialogflow CX API`_:

- `Client Library Documentation`_
- `Product Documentation`_

.. |GA| image:: https://img.shields.io/badge/support-ga-gold.svg
:target: https://github.com/googleapis/google-cloud-python/blob/main/README.rst#general-availability
.. |stable| image:: https://img.shields.io/badge/support-stable-gold.svg
:target: https://github.com/googleapis/google-cloud-python/blob/main/README.rst#stability-levels
.. |pypi| image:: https://img.shields.io/pypi/v/google-cloud-dialogflow-cx.svg
:target: https://pypi.org/project/google-cloud-dialogflow-cx/
.. |versions| image:: https://img.shields.io/pypi/pyversions/google-cloud-dialogflow-cx.svg
:target: https://pypi.org/project/google-cloud-dialogflow-cx/
.. _Dialogflow CX API: https://cloud.google.com/dialogflow/cx/docs
.. _Client Library Documentation: https://googleapis.dev/python/dialogflow-cx/latest
.. _Client Library Documentation: https://cloud.google.com/python/docs/reference/dialogflow/latest
.. _Product Documentation: https://cloud.google.com/dialogflow/cx/docs

Quick Start
Expand Down Expand Up @@ -47,6 +47,27 @@ dependencies.
.. _`virtualenv`: https://virtualenv.pypa.io/en/latest/


Code samples and snippets
~~~~~~~~~~~~~~~~~~~~~~~~~

Code samples and snippets live in the `samples/` folder.


Supported Python Versions
^^^^^^^^^^^^^^^^^^^^^^^^^
Our client libraries are compatible with all current [active](https://devguide.python.org/devcycle/#in-development-main-branch) and [maintenance](https://devguide.python.org/devcycle/#maintenance-branches) versions of
Python.

Python >= 3.7

Unsupported Python Versions
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Python <= 3.6

If you are using an [end-of-life](https://devguide.python.org/devcycle/#end-of-life-branches)
version of Python, we recommend that you update as soon as possible to an actively supported version.


Mac/Linux
^^^^^^^^^

Expand All @@ -71,12 +92,12 @@ Windows
Next Steps
~~~~~~~~~~

- Read the `Client Library Documentation`_ for Cloud Dialogflow CX API
API to see other available methods on the client.
- Read the `Client Library Documentation`_ for Dialogflow CX API
to see other available methods on the client.
- Read the `Dialogflow CX API Product documentation`_ to learn
more about the product and see How-to Guides.
- View this `README`_ to see the full list of Cloud
APIs that we cover.

.. _Dialogflow CX API Product documentation: https://cloud.google.com/dialogflow/cx/docs
.. _README: https://github.com/googleapis/google-cloud-python/blob/main/README.rst
.. _Dialogflow CX API Product documentation: https://cloud.google.com/dialogflow/cx/docs
.. _README: https://github.com/googleapis/google-cloud-python/blob/main/README.rst
85 changes: 54 additions & 31 deletions packages/google-cloud-dialogflow-cx/noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@

DEFAULT_PYTHON_VERSION = "3.8"

UNIT_TEST_PYTHON_VERSIONS = ["3.6", "3.7", "3.8", "3.9", "3.10"]
UNIT_TEST_PYTHON_VERSIONS = ["3.7", "3.8", "3.9", "3.10"]
UNIT_TEST_STANDARD_DEPENDENCIES = [
"mock",
"asyncmock",
Expand Down Expand Up @@ -330,28 +330,15 @@ def docfx(session):
def prerelease_deps(session):
"""Run all tests with prerelease versions of dependencies installed."""

prerel_deps = [
"protobuf",
"googleapis-common-protos",
"google-auth",
"grpcio",
"grpcio-status",
"google-api-core",
"proto-plus",
# dependencies of google-auth
"cryptography",
"pyasn1",
]

for dep in prerel_deps:
session.install("--pre", "--no-deps", "--upgrade", dep)

# Remaining dependencies
other_deps = ["requests"]
session.install(*other_deps)

# Install all dependencies
session.install("-e", ".[all, tests, tracing]")
session.install(*UNIT_TEST_STANDARD_DEPENDENCIES)
session.install(*SYSTEM_TEST_STANDARD_DEPENDENCIES)
system_deps_all = (
SYSTEM_TEST_STANDARD_DEPENDENCIES
+ SYSTEM_TEST_EXTERNAL_DEPENDENCIES
+ SYSTEM_TEST_EXTRAS
)
session.install(*system_deps_all)

# Because we test minimum dependency versions on the minimum Python
# version, the first version we test with in the unit tests sessions has a
Expand All @@ -365,19 +352,44 @@ def prerelease_deps(session):
constraints_text = constraints_file.read()

# Ignore leading whitespace and comment lines.
deps = [
constraints_deps = [
match.group(1)
for match in re.finditer(
r"^\s*(\S+)(?===\S+)", constraints_text, flags=re.MULTILINE
)
]

# Don't overwrite prerelease packages.
deps = [dep for dep in deps if dep not in prerel_deps]
# We use --no-deps to ensure that pre-release versions aren't overwritten
# by the version ranges in setup.py.
session.install(*deps)
session.install("--no-deps", "-e", ".[all]")
session.install(*constraints_deps)

if os.path.exists("samples/snippets/requirements.txt"):
session.install("-r", "samples/snippets/requirements.txt")

if os.path.exists("samples/snippets/requirements-test.txt"):
session.install("-r", "samples/snippets/requirements-test.txt")

prerel_deps = [
"protobuf",
# dependency of grpc
"six",
"googleapis-common-protos",
"grpcio",
"grpcio-status",
"google-api-core",
"proto-plus",
"google-cloud-testutils",
# dependencies of google-cloud-testutils"
"click",
]

for dep in prerel_deps:
session.install("--pre", "--no-deps", "--upgrade", dep)

# Remaining dependencies
other_deps = [
"requests",
"google-auth",
]
session.install(*other_deps)

# Print out prerelease package versions
session.run(
Expand All @@ -386,5 +398,16 @@ def prerelease_deps(session):
session.run("python", "-c", "import grpc; print(grpc.__version__)")

session.run("py.test", "tests/unit")
session.run("py.test", "tests/system")
session.run("py.test", "samples/snippets")

system_test_path = os.path.join("tests", "system.py")
system_test_folder_path = os.path.join("tests", "system")

# Only run system tests if found.
if os.path.exists(system_test_path) or os.path.exists(system_test_folder_path):
session.run("py.test", "tests/system")

snippets_test_path = os.path.join("samples", "snippets")

# Only run samples tests if found.
if os.path.exists(snippets_test_path):
session.run("py.test", "samples/snippets")
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ def get_pytest_env_vars() -> Dict[str, str]:

# DO NOT EDIT - automatically generated.
# All versions used to test samples.
ALL_VERSIONS = ["3.6", "3.7", "3.8", "3.9", "3.10"]
ALL_VERSIONS = ["3.7", "3.8", "3.9", "3.10"]

# Any default versions that should be ignored.
IGNORED_VERSIONS = TEST_CONFIG["ignored_versions"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Install Dependencies
.. _Python Development Environment Setup Guide:
https://cloud.google.com/python/setup

#. Create a virtualenv. Samples are compatible with Python 3.6+.
#. Create a virtualenv. Samples are compatible with Python 3.7+.

.. code-block:: bash
Expand Down

0 comments on commit be6b03c

Please sign in to comment.