# Code owners file.
# This file controls who is tagged for review for any given pull request.
#
# For syntax help see:
# https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners#codeowners-syntax

# The @googleapis/yoshi-python is the default owner for changes in this repo
*               @googleapis/yoshi-python

# The python-samples-reviewers team is the default owner for samples changes
/samples/  @googleapis/python-samples-owners

# For more information, see https://github.com/googleapis/repo-automation-bots/blob/main/packages/auto-approve/README.md
.github/auto-approve.yml @googleapis/github-automation @googleapis/yoshi-python

# The following is needed to auto-approve changes to static discovery artifacts and generated documentation.
/docs/dyn/*.html                                         @yoshi-approver @googleapis/yoshi-python
/docs/dyn/index.md                                       @yoshi-approver @googleapis/yoshi-python
/googleapiclient/discovery_cache/documents/*.json        @yoshi-approver @googleapis/yoshi-python
