Skip to content
This repository was archived by the owner on Oct 31, 2023. It is now read-only.

Commit 990fe7a

Browse files
fix: require python 3.7+ (#88)
* 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 * fix typo in .repo-metadata.json * 🦉 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 67156ab commit 990fe7a

14 files changed

+100
-129
lines changed

.github/.OwlBot.lock.yaml

Lines 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

Lines 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

Lines changed: 0 additions & 40 deletions
This file was deleted.

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

Lines changed: 0 additions & 7 deletions
This file was deleted.

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

Lines changed: 0 additions & 11 deletions
This file was deleted.

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

Lines changed: 0 additions & 6 deletions
This file was deleted.

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

Lines changed: 0 additions & 6 deletions
This file was deleted.

.kokoro/test-samples-impl.sh

Lines 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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,6 @@
1212
"api_id": "file.googleapis.com",
1313
"default_version": "v1",
1414
"codeowner_team": "",
15-
"api_shortname": "file"
15+
"api_shortname": "file",
16+
"api_description": "Filestore instances are fully managed NFS file servers on Google Cloud for use with applications running on Compute Engine virtual machines (VMs) instances or Google Kubernetes Engine clusters."
1617
}

CONTRIBUTING.rst

Lines 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-filestore/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

Lines changed: 35 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
1-
Python Client for Filestore
2-
===========================
1+
Python Client for Filestore API
2+
===============================
33

4-
|ga| |pypi| |versions|
4+
|stable| |pypi| |versions|
55

6-
`Filestore`_: instances are fully managed NFS file servers on Google Cloud for use with applications
7-
running on Compute Engine virtual machines (VMs) instances or Google Kubernetes Engine clusters.
6+
`Filestore API`_: Filestore instances are fully managed NFS file servers on Google Cloud for use with applications running on Compute Engine virtual machines (VMs) instances or Google Kubernetes Engine clusters.
87

98
- `Client Library Documentation`_
109
- `Product Documentation`_
1110

12-
.. |ga| image:: https://img.shields.io/badge/support-ga-gold.svg
13-
:target: https://github.com/googleapis/google-cloud-python/blob/main/README.rst#general-availability
11+
.. |stable| image:: https://img.shields.io/badge/support-stable-gold.svg
12+
:target: https://github.com/googleapis/google-cloud-python/blob/main/README.rst#stability-levels
1413
.. |pypi| image:: https://img.shields.io/pypi/v/google-cloud-filestore.svg
1514
:target: https://pypi.org/project/google-cloud-filestore/
1615
.. |versions| image:: https://img.shields.io/pypi/pyversions/google-cloud-filestore.svg
1716
:target: https://pypi.org/project/google-cloud-filestore/
18-
.. _Filestore: https://cloud.google.com/filestore/
17+
.. _Filestore API: https://cloud.google.com/filestore/
1918
.. _Client Library Documentation: https://cloud.google.com/python/docs/reference/file/latest
20-
.. _Product Documentation: https://cloud.google.com/filestore/docs
19+
.. _Product Documentation: https://cloud.google.com/filestore/
2120

2221
Quick Start
2322
-----------
@@ -26,12 +25,12 @@ In order to use this library, you first need to go through the following steps:
2625

2726
1. `Select or create a Cloud Platform project.`_
2827
2. `Enable billing for your project.`_
29-
3. `Follow the quickstart guide.`_
28+
3. `Enable the Filestore API.`_
3029
4. `Setup Authentication.`_
3130

3231
.. _Select or create a Cloud Platform project.: https://console.cloud.google.com/project
3332
.. _Enable billing for your project.: https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project
34-
.. _Follow the quickstart guide.: https://cloud.google.com/filestore/docs/quickstarts
33+
.. _Enable the Filestore API.: https://cloud.google.com/filestore/
3534
.. _Setup Authentication.: https://googleapis.dev/python/google-api-core/latest/auth.html
3635

3736
Installation
@@ -48,6 +47,27 @@ dependencies.
4847
.. _`virtualenv`: https://virtualenv.pypa.io/en/latest/
4948

5049

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+
5171
Mac/Linux
5272
^^^^^^^^^
5373

@@ -72,12 +92,12 @@ Windows
7292
Next Steps
7393
~~~~~~~~~~
7494

75-
- Read the `Client Library Documentation`_ for Filestore
95+
- Read the `Client Library Documentation`_ for Filestore API
7696
to see other available methods on the client.
77-
- Read the `Filestore Product documentation`_ to learn
97+
- Read the `Filestore API Product documentation`_ to learn
7898
more about the product and see How-to Guides.
7999
- View this `README`_ to see the full list of Cloud
80100
APIs that we cover.
81101

82-
.. _Filestore Product documentation: https://cloud.google.com/filestore/docs
83-
.. _README: https://github.com/googleapis/google-cloud-python/blob/main/README.rst
102+
.. _Filestore API Product documentation: https://cloud.google.com/filestore/
103+
.. _README: https://github.com/googleapis/google-cloud-python/blob/main/README.rst

noxfile.py

Lines changed: 54 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131

3232
DEFAULT_PYTHON_VERSION = "3.8"
3333

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

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

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

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

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

383395
# Print out prerelease package versions
384396
session.run(
@@ -387,5 +399,16 @@ def prerelease_deps(session):
387399
session.run("python", "-c", "import grpc; print(grpc.__version__)")
388400

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

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

Lines 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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@
6767
"License :: OSI Approved :: Apache Software License",
6868
"Programming Language :: Python",
6969
"Programming Language :: Python :: 3",
70-
"Programming Language :: Python :: 3.6",
7170
"Programming Language :: Python :: 3.7",
7271
"Programming Language :: Python :: 3.8",
7372
"Programming Language :: Python :: 3.9",
@@ -77,7 +76,7 @@
7776
],
7877
platforms="Posix; MacOS X; Windows",
7978
packages=packages,
80-
python_requires=">=3.6",
79+
python_requires=">=3.7",
8180
namespace_packages=namespaces,
8281
install_requires=dependencies,
8382
include_package_data=True,

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy