Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
This repository was archived by the owner on Sep 5, 2023. It is now read-only.

Commit 2200832

Browse filesBrowse files
fix: require python 3.7+ (#113)
* chore(python): drop python 3.6 Source-Link: googleapis/synthtool@4f89b13 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:e7bb19d47c13839fe8c147e50e02e8b6cf5da8edd1af8b82208cd6f66cc2829c * add api_description to .repo-metadata.json * require python 3.7+ in setup.py * remove python 3.6 sample configs * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: Anthonios Partheniou <partheniou@google.com>
1 parent 01ac991 commit 2200832
Copy full SHA for 2200832

File tree

Expand file treeCollapse file tree

14 files changed

+96
-124
lines changed
Filter options
Expand file treeCollapse file tree

14 files changed

+96
-124
lines changed

‎.github/.OwlBot.lock.yaml

Copy file name to clipboardExpand all lines: .github/.OwlBot.lock.yaml
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@
1313
# limitations under the License.
1414
docker:
1515
image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest
16-
digest: sha256:b2dc5f80edcf5d4486c39068c9fa11f7f851d9568eea4dcba130f994ea9b5e97
17-
# created: 2022-06-12T16:09:31.61859086Z
16+
digest: sha256:e7bb19d47c13839fe8c147e50e02e8b6cf5da8edd1af8b82208cd6f66cc2829c
17+
# created: 2022-07-05T18:31:20.838186805Z

‎.github/workflows/unittest.yml

Copy file name to clipboardExpand all lines: .github/workflows/unittest.yml
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
runs-on: ubuntu-latest
99
strategy:
1010
matrix:
11-
python: ['3.6', '3.7', '3.8', '3.9', '3.10']
11+
python: ['3.7', '3.8', '3.9', '3.10']
1212
steps:
1313
- name: Checkout
1414
uses: actions/checkout@v3

‎.kokoro/samples/python3.6/common.cfg

Copy file name to clipboardExpand all lines: .kokoro/samples/python3.6/common.cfg
-40Lines changed: 0 additions & 40 deletions
This file was deleted.

‎.kokoro/samples/python3.6/continuous.cfg

Copy file name to clipboardExpand all lines: .kokoro/samples/python3.6/continuous.cfg
-7Lines changed: 0 additions & 7 deletions
This file was deleted.

‎.kokoro/samples/python3.6/periodic-head.cfg

Copy file name to clipboardExpand all lines: .kokoro/samples/python3.6/periodic-head.cfg
-11Lines changed: 0 additions & 11 deletions
This file was deleted.

‎.kokoro/samples/python3.6/periodic.cfg

Copy file name to clipboardExpand all lines: .kokoro/samples/python3.6/periodic.cfg
-6Lines changed: 0 additions & 6 deletions
This file was deleted.

‎.kokoro/samples/python3.6/presubmit.cfg

Copy file name to clipboardExpand all lines: .kokoro/samples/python3.6/presubmit.cfg
-6Lines changed: 0 additions & 6 deletions
This file was deleted.

‎.kokoro/test-samples-impl.sh

Copy file name to clipboardExpand all lines: .kokoro/test-samples-impl.sh
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export PYTHONUNBUFFERED=1
3333
env | grep KOKORO
3434

3535
# Install nox
36-
python3.6 -m pip install --upgrade --quiet nox
36+
python3.9 -m pip install --upgrade --quiet nox
3737

3838
# Use secrets acessor service account to get secrets
3939
if [[ -f "${KOKORO_GFILE_DIR}/secrets_viewer_service_account.json" ]]; then
@@ -76,7 +76,7 @@ for file in samples/**/requirements.txt; do
7676
echo "------------------------------------------------------------"
7777

7878
# Use nox to execute the tests for the project.
79-
python3.6 -m nox -s "$RUN_TESTS_SESSION"
79+
python3.9 -m nox -s "$RUN_TESTS_SESSION"
8080
EXIT=$?
8181

8282
# If this is a periodic build, send the test log to the FlakyBot.

‎.repo-metadata.json

Copy file name to clipboardExpand all lines: .repo-metadata.json
+2-1Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,6 @@
1212
"api_id": "datastream.googleapis.com",
1313
"default_version": "v1",
1414
"codeowner_team": "",
15-
"api_shortname": "datastream"
15+
"api_shortname": "datastream",
16+
"api_description": "is a serverless and easy-to-use change data capture (CDC) and replication service. It allows you to synchronize data across heterogeneous databases and applications reliably, and with minimal latency and downtime."
1617
}

‎CONTRIBUTING.rst

Copy file name to clipboardExpand all lines: CONTRIBUTING.rst
+2-4Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ In order to add a feature:
2222
documentation.
2323

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

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

222222
We support:
223223

224-
- `Python 3.6`_
225224
- `Python 3.7`_
226225
- `Python 3.8`_
227226
- `Python 3.9`_
228227
- `Python 3.10`_
229228

230-
.. _Python 3.6: https://docs.python.org/3.6/
231229
.. _Python 3.7: https://docs.python.org/3.7/
232230
.. _Python 3.8: https://docs.python.org/3.8/
233231
.. _Python 3.9: https://docs.python.org/3.9/
@@ -239,7 +237,7 @@ Supported versions can be found in our ``noxfile.py`` `config`_.
239237
.. _config: https://github.com/googleapis/python-datastream/blob/main/noxfile.py
240238

241239

242-
We also explicitly decided to support Python 3 beginning with version 3.6.
240+
We also explicitly decided to support Python 3 beginning with version 3.7.
243241
Reasons for this include:
244242

245243
- Encouraging use of newest versions of Python 3

‎README.rst

Copy file name to clipboardExpand all lines: README.rst
+31-10Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
1-
Python Client for Datastream
2-
============================
1+
Python Client for Datastream API
2+
================================
33

44
|stable| |pypi| |versions|
55

6-
`Datastream`_: Serverless and easy-to-use change data capture and replication service.
6+
`Datastream API`_: is a serverless and easy-to-use change data capture (CDC) and replication service. It allows you to synchronize data across heterogeneous databases and applications reliably, and with minimal latency and downtime.
77

88
- `Client Library Documentation`_
99
- `Product Documentation`_
1010

1111
.. |stable| image:: https://img.shields.io/badge/support-stable-gold.svg
12-
:target: https://github.com/googleapis/google-cloud-python/blob/main/README.rst#general-availability
12+
:target: https://github.com/googleapis/google-cloud-python/blob/main/README.rst#stability-levels
1313
.. |pypi| image:: https://img.shields.io/pypi/v/google-cloud-datastream.svg
1414
:target: https://pypi.org/project/google-cloud-datastream/
1515
.. |versions| image:: https://img.shields.io/pypi/pyversions/google-cloud-datastream.svg
1616
:target: https://pypi.org/project/google-cloud-datastream/
17-
.. _Datastream: https://cloud.google.com/datastream
17+
.. _Datastream API: https://cloud.google.com/datastream/
1818
.. _Client Library Documentation: https://cloud.google.com/python/docs/reference/datastream/latest
19-
.. _Product Documentation: https://cloud.google.com/datastream
19+
.. _Product Documentation: https://cloud.google.com/datastream/
2020

2121
Quick Start
2222
-----------
@@ -30,7 +30,7 @@ In order to use this library, you first need to go through the following steps:
3030

3131
.. _Select or create a Cloud Platform project.: https://console.cloud.google.com/project
3232
.. _Enable billing for your project.: https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project
33-
.. _Enable the Datastream API.: https://cloud.google.com/datastream/docs/before-you-begin#prerequisites
33+
.. _Enable the Datastream API.: https://cloud.google.com/datastream/
3434
.. _Setup Authentication.: https://googleapis.dev/python/google-api-core/latest/auth.html
3535

3636
Installation
@@ -47,6 +47,27 @@ dependencies.
4747
.. _`virtualenv`: https://virtualenv.pypa.io/en/latest/
4848

4949

50+
Code samples and snippets
51+
~~~~~~~~~~~~~~~~~~~~~~~~~
52+
53+
Code samples and snippets live in the `samples/` folder.
54+
55+
56+
Supported Python Versions
57+
^^^^^^^^^^^^^^^^^^^^^^^^^
58+
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
59+
Python.
60+
61+
Python >= 3.7
62+
63+
Unsupported Python Versions
64+
^^^^^^^^^^^^^^^^^^^^^^^^^^^
65+
Python <= 3.6
66+
67+
If you are using an [end-of-life](https://devguide.python.org/devcycle/#end-of-life-branches)
68+
version of Python, we recommend that you update as soon as possible to an actively supported version.
69+
70+
5071
Mac/Linux
5172
^^^^^^^^^
5273

@@ -71,12 +92,12 @@ Windows
7192
Next Steps
7293
~~~~~~~~~~
7394

74-
- Read the `Client Library Documentation`_ for Datastream
95+
- Read the `Client Library Documentation`_ for Datastream API
7596
to see other available methods on the client.
76-
- Read the `Datastream Product documentation`_ to learn
97+
- Read the `Datastream API Product documentation`_ to learn
7798
more about the product and see How-to Guides.
7899
- View this `README`_ to see the full list of Cloud
79100
APIs that we cover.
80101

81-
.. _Datastream Product documentation: https://cloud.google.com/datastream/docs
102+
.. _Datastream API Product documentation: https://cloud.google.com/datastream/
82103
.. _README: https://github.com/googleapis/google-cloud-python/blob/main/README.rst

‎noxfile.py

Copy file name to clipboardExpand all lines: noxfile.py
+54-31Lines changed: 54 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
DEFAULT_PYTHON_VERSION = "3.8"
3434

35-
UNIT_TEST_PYTHON_VERSIONS = ["3.6", "3.7", "3.8", "3.9", "3.10"]
35+
UNIT_TEST_PYTHON_VERSIONS = ["3.7", "3.8", "3.9", "3.10"]
3636
UNIT_TEST_STANDARD_DEPENDENCIES = [
3737
"mock",
3838
"asyncmock",
@@ -332,28 +332,15 @@ def docfx(session):
332332
def prerelease_deps(session):
333333
"""Run all tests with prerelease versions of dependencies installed."""
334334

335-
prerel_deps = [
336-
"protobuf",
337-
"googleapis-common-protos",
338-
"google-auth",
339-
"grpcio",
340-
"grpcio-status",
341-
"google-api-core",
342-
"proto-plus",
343-
# dependencies of google-auth
344-
"cryptography",
345-
"pyasn1",
346-
]
347-
348-
for dep in prerel_deps:
349-
session.install("--pre", "--no-deps", "--upgrade", dep)
350-
351-
# Remaining dependencies
352-
other_deps = ["requests"]
353-
session.install(*other_deps)
354-
335+
# Install all dependencies
336+
session.install("-e", ".[all, tests, tracing]")
355337
session.install(*UNIT_TEST_STANDARD_DEPENDENCIES)
356-
session.install(*SYSTEM_TEST_STANDARD_DEPENDENCIES)
338+
system_deps_all = (
339+
SYSTEM_TEST_STANDARD_DEPENDENCIES
340+
+ SYSTEM_TEST_EXTERNAL_DEPENDENCIES
341+
+ SYSTEM_TEST_EXTRAS
342+
)
343+
session.install(*system_deps_all)
357344

358345
# Because we test minimum dependency versions on the minimum Python
359346
# version, the first version we test with in the unit tests sessions has a
@@ -367,19 +354,44 @@ def prerelease_deps(session):
367354
constraints_text = constraints_file.read()
368355

369356
# Ignore leading whitespace and comment lines.
370-
deps = [
357+
constraints_deps = [
371358
match.group(1)
372359
for match in re.finditer(
373360
r"^\s*(\S+)(?===\S+)", constraints_text, flags=re.MULTILINE
374361
)
375362
]
376363

377-
# Don't overwrite prerelease packages.
378-
deps = [dep for dep in deps if dep not in prerel_deps]
379-
# We use --no-deps to ensure that pre-release versions aren't overwritten
380-
# by the version ranges in setup.py.
381-
session.install(*deps)
382-
session.install("--no-deps", "-e", ".[all]")
364+
session.install(*constraints_deps)
365+
366+
if os.path.exists("samples/snippets/requirements.txt"):
367+
session.install("-r", "samples/snippets/requirements.txt")
368+
369+
if os.path.exists("samples/snippets/requirements-test.txt"):
370+
session.install("-r", "samples/snippets/requirements-test.txt")
371+
372+
prerel_deps = [
373+
"protobuf",
374+
# dependency of grpc
375+
"six",
376+
"googleapis-common-protos",
377+
"grpcio",
378+
"grpcio-status",
379+
"google-api-core",
380+
"proto-plus",
381+
"google-cloud-testutils",
382+
# dependencies of google-cloud-testutils"
383+
"click",
384+
]
385+
386+
for dep in prerel_deps:
387+
session.install("--pre", "--no-deps", "--upgrade", dep)
388+
389+
# Remaining dependencies
390+
other_deps = [
391+
"requests",
392+
"google-auth",
393+
]
394+
session.install(*other_deps)
383395

384396
# Print out prerelease package versions
385397
session.run(
@@ -388,5 +400,16 @@ def prerelease_deps(session):
388400
session.run("python", "-c", "import grpc; print(grpc.__version__)")
389401

390402
session.run("py.test", "tests/unit")
391-
session.run("py.test", "tests/system")
392-
session.run("py.test", "samples/snippets")
403+
404+
system_test_path = os.path.join("tests", "system.py")
405+
system_test_folder_path = os.path.join("tests", "system")
406+
407+
# Only run system tests if found.
408+
if os.path.exists(system_test_path) or os.path.exists(system_test_folder_path):
409+
session.run("py.test", "tests/system")
410+
411+
snippets_test_path = os.path.join("samples", "snippets")
412+
413+
# Only run samples tests if found.
414+
if os.path.exists(snippets_test_path):
415+
session.run("py.test", "samples/snippets")

‎scripts/readme-gen/templates/install_deps.tmpl.rst

Copy file name to clipboardExpand all lines: scripts/readme-gen/templates/install_deps.tmpl.rst
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Install Dependencies
1212
.. _Python Development Environment Setup Guide:
1313
https://cloud.google.com/python/setup
1414

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

1717
.. code-block:: bash
1818

‎setup.py

Copy file name to clipboardExpand all lines: setup.py
+1-2Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@
6565
"License :: OSI Approved :: Apache Software License",
6666
"Programming Language :: Python",
6767
"Programming Language :: Python :: 3",
68-
"Programming Language :: Python :: 3.6",
6968
"Programming Language :: Python :: 3.7",
7069
"Programming Language :: Python :: 3.8",
7170
"Programming Language :: Python :: 3.9",
@@ -75,7 +74,7 @@
7574
],
7675
platforms="Posix; MacOS X; Windows",
7776
packages=packages,
78-
python_requires=">=3.6",
77+
python_requires=">=3.7",
7978
namespace_packages=namespaces,
8079
install_requires=dependencies,
8180
include_package_data=True,

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.