diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index b3d1f6029..039f43681 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,44 +1,95 @@ -# Contributor Code of Conduct +# Code of Conduct -As contributors and maintainers of this project, -and in the interest of fostering an open and welcoming community, -we pledge to respect all people who contribute through reporting issues, -posting feature requests, updating documentation, -submitting pull requests or patches, and other activities. +## Our Pledge -We are committed to making participation in this project -a harassment-free experience for everyone, -regardless of level of experience, gender, gender identity and expression, -sexual orientation, disability, personal appearance, -body size, race, ethnicity, age, religion, or nationality. +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of +experience, education, socio-economic status, nationality, personal appearance, +race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members Examples of unacceptable behavior by participants include: -* The use of sexualized language or imagery -* Personal attacks -* Trolling or insulting/derogatory comments -* Public or private harassment -* Publishing other's private information, -such as physical or electronic -addresses, without explicit permission -* Other unethical or unprofessional conduct. +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. Project maintainers have the right and responsibility to remove, edit, or reject -comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct. -By adopting this Code of Conduct, -project maintainers commit themselves to fairly and consistently -applying these principles to every aspect of managing this project. -Project maintainers who do not follow or enforce the Code of Conduct -may be permanently removed from the project team. - -This code of conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. - -Instances of abusive, harassing, or otherwise unacceptable behavior -may be reported by opening an issue -or contacting one or more of the project maintainers. - -This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0, -available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/) +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, or to ban temporarily or permanently any +contributor for other behaviors that they deem inappropriate, threatening, +offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +This Code of Conduct also applies outside the project spaces when the Project +Steward has a reasonable belief that an individual's behavior may have a +negative impact on the project or its community. + +## Conflict Resolution + +We do not believe that all conflict is bad; healthy debate and disagreement +often yield positive results. However, it is never okay to be disrespectful or +to engage in behavior that violates the project’s code of conduct. + +If you see someone violating the code of conduct, you are encouraged to address +the behavior directly with those involved. Many issues can be resolved quickly +and easily, and this gives people more control over the outcome of their +dispute. If you are unable to resolve the matter for any reason, or if the +behavior is threatening or harassing, report it. We are dedicated to providing +an environment where participants feel welcome and safe. + + +Reports should be directed to *googleapis-stewards@google.com*, the +Project Steward(s) for *Google Cloud Client Libraries*. It is the Project Steward’s duty to +receive and address reported violations of the code of conduct. They will then +work with a committee consisting of representatives from the Open Source +Programs Office and the Google Open Source Strategy team. If for any reason you +are uncomfortable reaching out to the Project Steward, please email +opensource@google.com. + +We will investigate every complaint, but you may not receive a direct response. +We will use our discretion in determining when and how to follow up on reported +incidents, which may range from not taking action to permanent expulsion from +the project and project-sponsored spaces. We will notify the accused of the +report and provide them an opportunity to discuss it before any action is taken. +The identity of the reporter will be omitted from the details of the report +supplied to the accused. In potentially harmful situations, such as ongoing +harassment or threats to anyone's safety, we may take action without notice. + +## Attribution + +This Code of Conduct is adapted from the Contributor Covenant, version 1.4, +available at +https://www.contributor-covenant.org/version/1/4/code-of-conduct.html \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py index 742217c2a..f7af7c5d7 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -349,6 +349,7 @@ "google-auth": ("https://google-auth.readthedocs.io/en/stable", None), "google.api_core": ("https://googleapis.dev/python/google-api-core/latest/", None,), "grpc": ("https://grpc.io/grpc/python/", None), + "proto-plus": ("https://proto-plus-python.readthedocs.io/en/latest/", None), } diff --git a/google/cloud/firestore_v1/services/firestore/async_client.py b/google/cloud/firestore_v1/services/firestore/async_client.py index 3c00be1bf..92b790f4c 100644 --- a/google/cloud/firestore_v1/services/firestore/async_client.py +++ b/google/cloud/firestore_v1/services/firestore/async_client.py @@ -154,9 +154,9 @@ async def get_document( maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - exceptions.DeadlineExceeded, exceptions.InternalServerError, exceptions.ServiceUnavailable, + exceptions.DeadlineExceeded, ), ), default_timeout=60.0, @@ -218,9 +218,9 @@ async def list_documents( maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - exceptions.DeadlineExceeded, exceptions.InternalServerError, exceptions.ServiceUnavailable, + exceptions.DeadlineExceeded, ), ), default_timeout=60.0, @@ -396,9 +396,9 @@ async def delete_document( maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - exceptions.DeadlineExceeded, exceptions.InternalServerError, exceptions.ServiceUnavailable, + exceptions.DeadlineExceeded, ), ), default_timeout=60.0, @@ -458,9 +458,9 @@ def batch_get_documents( maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - exceptions.DeadlineExceeded, exceptions.InternalServerError, exceptions.ServiceUnavailable, + exceptions.DeadlineExceeded, ), ), default_timeout=300.0, @@ -539,9 +539,9 @@ async def begin_transaction( maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - exceptions.DeadlineExceeded, exceptions.InternalServerError, exceptions.ServiceUnavailable, + exceptions.DeadlineExceeded, ), ), default_timeout=60.0, @@ -710,9 +710,9 @@ async def rollback( maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - exceptions.DeadlineExceeded, exceptions.InternalServerError, exceptions.ServiceUnavailable, + exceptions.DeadlineExceeded, ), ), default_timeout=60.0, @@ -770,9 +770,9 @@ def run_query( maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - exceptions.DeadlineExceeded, exceptions.InternalServerError, exceptions.ServiceUnavailable, + exceptions.DeadlineExceeded, ), ), default_timeout=300.0, @@ -838,9 +838,9 @@ async def partition_query( maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - exceptions.DeadlineExceeded, exceptions.InternalServerError, exceptions.ServiceUnavailable, + exceptions.DeadlineExceeded, ), ), default_timeout=300.0, @@ -957,9 +957,9 @@ def listen( maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - exceptions.DeadlineExceeded, exceptions.InternalServerError, exceptions.ServiceUnavailable, + exceptions.DeadlineExceeded, ), ), default_timeout=86400.0, @@ -1041,9 +1041,9 @@ async def list_collection_ids( maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - exceptions.DeadlineExceeded, exceptions.InternalServerError, exceptions.ServiceUnavailable, + exceptions.DeadlineExceeded, ), ), default_timeout=60.0, diff --git a/google/cloud/firestore_v1/services/firestore/transports/base.py b/google/cloud/firestore_v1/services/firestore/transports/base.py index 6a0e3a7d3..2fb5d0143 100644 --- a/google/cloud/firestore_v1/services/firestore/transports/base.py +++ b/google/cloud/firestore_v1/services/firestore/transports/base.py @@ -117,9 +117,9 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - exceptions.DeadlineExceeded, exceptions.InternalServerError, exceptions.ServiceUnavailable, + exceptions.DeadlineExceeded, ), ), default_timeout=60.0, @@ -132,9 +132,9 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - exceptions.DeadlineExceeded, exceptions.InternalServerError, exceptions.ServiceUnavailable, + exceptions.DeadlineExceeded, ), ), default_timeout=60.0, @@ -158,9 +158,9 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - exceptions.DeadlineExceeded, exceptions.InternalServerError, exceptions.ServiceUnavailable, + exceptions.DeadlineExceeded, ), ), default_timeout=60.0, @@ -173,9 +173,9 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - exceptions.DeadlineExceeded, exceptions.InternalServerError, exceptions.ServiceUnavailable, + exceptions.DeadlineExceeded, ), ), default_timeout=300.0, @@ -188,9 +188,9 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - exceptions.DeadlineExceeded, exceptions.InternalServerError, exceptions.ServiceUnavailable, + exceptions.DeadlineExceeded, ), ), default_timeout=60.0, @@ -214,9 +214,9 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - exceptions.DeadlineExceeded, exceptions.InternalServerError, exceptions.ServiceUnavailable, + exceptions.DeadlineExceeded, ), ), default_timeout=60.0, @@ -229,9 +229,9 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - exceptions.DeadlineExceeded, exceptions.InternalServerError, exceptions.ServiceUnavailable, + exceptions.DeadlineExceeded, ), ), default_timeout=300.0, @@ -244,9 +244,9 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - exceptions.DeadlineExceeded, exceptions.InternalServerError, exceptions.ServiceUnavailable, + exceptions.DeadlineExceeded, ), ), default_timeout=300.0, @@ -262,9 +262,9 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - exceptions.DeadlineExceeded, exceptions.InternalServerError, exceptions.ServiceUnavailable, + exceptions.DeadlineExceeded, ), ), default_timeout=86400.0, @@ -277,9 +277,9 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - exceptions.DeadlineExceeded, exceptions.InternalServerError, exceptions.ServiceUnavailable, + exceptions.DeadlineExceeded, ), ), default_timeout=60.0, diff --git a/noxfile.py b/noxfile.py index 567f6bda2..e5e398e6c 100644 --- a/noxfile.py +++ b/noxfile.py @@ -81,7 +81,9 @@ def default(session): # Install all test dependencies, then install this package in-place. session.install("pytest-asyncio", "aiounittest") - session.install("mock", "pytest", "pytest-cov") + session.install( + "mock", "pytest", "pytest-cov", + ) session.install("-e", ".") # Run py.test against the unit tests. diff --git a/synth.metadata b/synth.metadata index 3069caf91..a4626e30c 100644 --- a/synth.metadata +++ b/synth.metadata @@ -3,8 +3,8 @@ { "git": { "name": ".", - "remote": "git@github.com:googleapis/python-firestore", - "sha": "db5f286772592460b2bf02df25a121994889585d" + "remote": "https://github.com/googleapis/python-firestore.git", + "sha": "75d0a4821b09c3bed710353cf86082e41c28191f" } }, { @@ -19,7 +19,7 @@ "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "901ddd44e9ef7887ee681b9183bbdea99437fdcc" + "sha": "6542bd723403513626f61642fc02ddca528409aa" } } ], @@ -42,5 +42,112 @@ "generator": "bazel" } } + ], + "generatedFiles": [ + ".coveragerc", + ".flake8", + ".github/CONTRIBUTING.md", + ".github/ISSUE_TEMPLATE/bug_report.md", + ".github/ISSUE_TEMPLATE/feature_request.md", + ".github/ISSUE_TEMPLATE/support_request.md", + ".github/PULL_REQUEST_TEMPLATE.md", + ".github/release-please.yml", + ".github/snippet-bot.yml", + ".gitignore", + ".kokoro/build.sh", + ".kokoro/continuous/common.cfg", + ".kokoro/continuous/continuous.cfg", + ".kokoro/docker/docs/Dockerfile", + ".kokoro/docker/docs/fetch_gpg_keys.sh", + ".kokoro/docs/common.cfg", + ".kokoro/docs/docs-presubmit.cfg", + ".kokoro/docs/docs.cfg", + ".kokoro/populate-secrets.sh", + ".kokoro/presubmit/common.cfg", + ".kokoro/presubmit/presubmit.cfg", + ".kokoro/publish-docs.sh", + ".kokoro/release.sh", + ".kokoro/release/common.cfg", + ".kokoro/release/release.cfg", + ".kokoro/samples/lint/common.cfg", + ".kokoro/samples/lint/continuous.cfg", + ".kokoro/samples/lint/periodic.cfg", + ".kokoro/samples/lint/presubmit.cfg", + ".kokoro/samples/python3.6/common.cfg", + ".kokoro/samples/python3.6/continuous.cfg", + ".kokoro/samples/python3.6/periodic.cfg", + ".kokoro/samples/python3.6/presubmit.cfg", + ".kokoro/samples/python3.7/common.cfg", + ".kokoro/samples/python3.7/continuous.cfg", + ".kokoro/samples/python3.7/periodic.cfg", + ".kokoro/samples/python3.7/presubmit.cfg", + ".kokoro/samples/python3.8/common.cfg", + ".kokoro/samples/python3.8/continuous.cfg", + ".kokoro/samples/python3.8/periodic.cfg", + ".kokoro/samples/python3.8/presubmit.cfg", + ".kokoro/test-samples.sh", + ".kokoro/trampoline.sh", + ".kokoro/trampoline_v2.sh", + ".trampolinerc", + "CODE_OF_CONDUCT.md", + "CONTRIBUTING.rst", + "LICENSE", + "MANIFEST.in", + "docs/_static/custom.css", + "docs/_templates/layout.html", + "docs/conf.py", + "docs/multiprocessing.rst", + "google/cloud/firestore_admin_v1/__init__.py", + "google/cloud/firestore_admin_v1/py.typed", + "google/cloud/firestore_admin_v1/services/__init__.py", + "google/cloud/firestore_admin_v1/services/firestore_admin/__init__.py", + "google/cloud/firestore_admin_v1/services/firestore_admin/async_client.py", + "google/cloud/firestore_admin_v1/services/firestore_admin/client.py", + "google/cloud/firestore_admin_v1/services/firestore_admin/pagers.py", + "google/cloud/firestore_admin_v1/services/firestore_admin/transports/__init__.py", + "google/cloud/firestore_admin_v1/services/firestore_admin/transports/base.py", + "google/cloud/firestore_admin_v1/services/firestore_admin/transports/grpc.py", + "google/cloud/firestore_admin_v1/services/firestore_admin/transports/grpc_asyncio.py", + "google/cloud/firestore_admin_v1/types/__init__.py", + "google/cloud/firestore_admin_v1/types/field.py", + "google/cloud/firestore_admin_v1/types/firestore_admin.py", + "google/cloud/firestore_admin_v1/types/index.py", + "google/cloud/firestore_admin_v1/types/location.py", + "google/cloud/firestore_admin_v1/types/operation.py", + "google/cloud/firestore_v1/py.typed", + "google/cloud/firestore_v1/services/__init__.py", + "google/cloud/firestore_v1/services/firestore/__init__.py", + "google/cloud/firestore_v1/services/firestore/async_client.py", + "google/cloud/firestore_v1/services/firestore/client.py", + "google/cloud/firestore_v1/services/firestore/pagers.py", + "google/cloud/firestore_v1/services/firestore/transports/__init__.py", + "google/cloud/firestore_v1/services/firestore/transports/base.py", + "google/cloud/firestore_v1/services/firestore/transports/grpc.py", + "google/cloud/firestore_v1/services/firestore/transports/grpc_asyncio.py", + "google/cloud/firestore_v1/types/__init__.py", + "google/cloud/firestore_v1/types/common.py", + "google/cloud/firestore_v1/types/document.py", + "google/cloud/firestore_v1/types/firestore.py", + "google/cloud/firestore_v1/types/query.py", + "google/cloud/firestore_v1/types/write.py", + "noxfile.py", + "renovate.json", + "samples/AUTHORING_GUIDE.md", + "samples/CONTRIBUTING.md", + "scripts/decrypt-secrets.sh", + "scripts/fixup_firestore_admin_v1_keywords.py", + "scripts/fixup_firestore_v1_keywords.py", + "scripts/readme-gen/readme_gen.py", + "scripts/readme-gen/templates/README.tmpl.rst", + "scripts/readme-gen/templates/auth.tmpl.rst", + "scripts/readme-gen/templates/auth_api_key.tmpl.rst", + "scripts/readme-gen/templates/install_deps.tmpl.rst", + "scripts/readme-gen/templates/install_portaudio.tmpl.rst", + "setup.cfg", + "testing/.gitignore", + "tests/unit/gapic/firestore_admin_v1/__init__.py", + "tests/unit/gapic/firestore_admin_v1/test_firestore_admin.py", + "tests/unit/gapic/firestore_v1/__init__.py", + "tests/unit/gapic/firestore_v1/test_firestore.py" ] } \ No newline at end of file