# 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/master/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
