Skip to content
Permalink
Browse files
docs: add templates for move to googleapis/python-bigquery-sqlalchemy…
… repo (#88)

* chore: add generated templates (via synthtool)

* use templated noxfile

* restore setup.cfg db section
  • Loading branch information
tswast committed Mar 23, 2021
1 parent d2f6ae4 commit 37e584e05db6316b4abd41ebc08486047d2c49b8
Showing with 4,528 additions and 1,039 deletions.
  1. +38 −0 .coveragerc
  2. +33 −0 .flake8
  3. +28 −0 .github/CONTRIBUTING.md
  4. +43 −0 .github/ISSUE_TEMPLATE/bug_report.md
  5. +18 −0 .github/ISSUE_TEMPLATE/feature_request.md
  6. +7 −0 .github/ISSUE_TEMPLATE/support_request.md
  7. +7 −0 .github/PULL_REQUEST_TEMPLATE.md
  8. +15 −0 .github/header-checker-lint.yml
  9. +1 −0 .github/release-please.yml
  10. 0 .github/snippet-bot.yml
  11. +62 −13 .gitignore
  12. +59 −0 .kokoro/build.sh
  13. +27 −0 .kokoro/continuous/common.cfg
  14. +1 −0 .kokoro/continuous/continuous.cfg
  15. +98 −0 .kokoro/docker/docs/Dockerfile
  16. +45 −0 .kokoro/docker/docs/fetch_gpg_keys.sh
  17. +65 −0 .kokoro/docs/common.cfg
  18. +28 −0 .kokoro/docs/docs-presubmit.cfg
  19. +1 −0 .kokoro/docs/docs.cfg
  20. +43 −0 .kokoro/populate-secrets.sh
  21. +27 −0 .kokoro/presubmit/common.cfg
  22. +1 −0 .kokoro/presubmit/presubmit.cfg
  23. +64 −0 .kokoro/publish-docs.sh
  24. +32 −0 .kokoro/release.sh
  25. +40 −0 .kokoro/release/common.cfg
  26. +1 −0 .kokoro/release/release.cfg
  27. +34 −0 .kokoro/samples/lint/common.cfg
  28. +6 −0 .kokoro/samples/lint/continuous.cfg
  29. +6 −0 .kokoro/samples/lint/periodic.cfg
  30. +6 −0 .kokoro/samples/lint/presubmit.cfg
  31. +40 −0 .kokoro/samples/python3.6/common.cfg
  32. +7 −0 .kokoro/samples/python3.6/continuous.cfg
  33. +11 −0 .kokoro/samples/python3.6/periodic-head.cfg
  34. +6 −0 .kokoro/samples/python3.6/periodic.cfg
  35. +6 −0 .kokoro/samples/python3.6/presubmit.cfg
  36. +40 −0 .kokoro/samples/python3.7/common.cfg
  37. +6 −0 .kokoro/samples/python3.7/continuous.cfg
  38. +11 −0 .kokoro/samples/python3.7/periodic-head.cfg
  39. +6 −0 .kokoro/samples/python3.7/periodic.cfg
  40. +6 −0 .kokoro/samples/python3.7/presubmit.cfg
  41. +40 −0 .kokoro/samples/python3.8/common.cfg
  42. +6 −0 .kokoro/samples/python3.8/continuous.cfg
  43. +11 −0 .kokoro/samples/python3.8/periodic-head.cfg
  44. +6 −0 .kokoro/samples/python3.8/periodic.cfg
  45. +6 −0 .kokoro/samples/python3.8/presubmit.cfg
  46. +28 −0 .kokoro/test-samples-against-head.sh
  47. +102 −0 .kokoro/test-samples-impl.sh
  48. +46 −0 .kokoro/test-samples.sh
  49. +28 −0 .kokoro/trampoline.sh
  50. +487 −0 .kokoro/trampoline_v2.sh
  51. +17 −0 .pre-commit-config.yaml
  52. +9 −0 .repo-metadata.json
  53. +52 −0 .trampolinerc
  54. +95 −0 CODE_OF_CONDUCT.md
  55. +274 −0 CONTRIBUTING.rst
  56. +25 −0 MANIFEST.in
  57. +9 −0 docs/_static/custom.css
  58. +50 −0 docs/_templates/layout.html
  59. +352 −0 docs/conf.py
  60. +7 −0 docs/multiprocessing.rst
  61. +239 −0 noxfile.py
  62. +0 −1 pybigquery/__init__.py
  63. +2 −1 pybigquery/api.py
  64. +98 −57 pybigquery/parse_url.py
  65. +198 −133 pybigquery/sqlalchemy_bigquery.py
  66. +6 −0 renovate.json
  67. +46 −0 scripts/decrypt-secrets.sh
  68. +66 −0 scripts/readme-gen/readme_gen.py
  69. +87 −0 scripts/readme-gen/templates/README.tmpl.rst
  70. +9 −0 scripts/readme-gen/templates/auth.tmpl.rst
  71. +14 −0 scripts/readme-gen/templates/auth_api_key.tmpl.rst
  72. +29 −0 scripts/readme-gen/templates/install_deps.tmpl.rst
  73. +35 −0 scripts/readme-gen/templates/install_portaudio.tmpl.rst
  74. +19 −13 setup.cfg
  75. +38 −19 setup.py
  76. +11 −0 synth.metadata
  77. +78 −0 synth.py
  78. +0 −178 test/test_parse_url.py
  79. +0 −623 test/test_sqlalchemy_bigquery.py
  80. +3 −0 testing/.gitignore
  81. 0 testing/constraints-3.10.txt
  82. +8 −0 testing/constraints-3.6.txt
  83. 0 testing/constraints-3.7.txt
  84. 0 testing/constraints-3.8.txt
  85. 0 testing/constraints-3.9.txt
  86. 0 {test → tests}/conftest.py
  87. +0 −1 {test → tests/system}/__init__.py
  88. +706 −0 tests/system/test_sqlalchemy_bigquery.py
  89. 0 {test → tests/unit}/test_dialect_types.py
  90. +211 −0 tests/unit/test_parse_url.py
@@ -0,0 +1,38 @@
# -*- coding: utf-8 -*-
#
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Generated by synthtool. DO NOT EDIT!
[run]
branch = True
omit =
google/cloud/__init__.py

[report]
fail_under = 100
show_missing = True
exclude_lines =
# Re-enable the standard pragma
pragma: NO COVER
# Ignore debug-only repr
def __repr__
# Ignore abstract methods
raise NotImplementedError
omit =
*/gapic/*.py
*/proto/*.py
*/core/*.py
*/site-packages/*.py
google/cloud/__init__.py
33 .flake8
@@ -0,0 +1,33 @@
# -*- coding: utf-8 -*-
#
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Generated by synthtool. DO NOT EDIT!
[flake8]
ignore = E203, E266, E501, W503
exclude =
# Exclude generated code.
**/proto/**
**/gapic/**
**/services/**
**/types/**
*_pb2.py

# Standard linting exemptions.
**/.nox/**
__pycache__,
.git,
*.pyc,
conf.py
@@ -0,0 +1,28 @@
# How to Contribute

We'd love to accept your patches and contributions to this project. There are
just a few small guidelines you need to follow.

## Contributor License Agreement

Contributions to this project must be accompanied by a Contributor License
Agreement. You (or your employer) retain the copyright to your contribution;
this simply gives us permission to use and redistribute your contributions as
part of the project. Head over to <https://cla.developers.google.com/> to see
your current agreements on file or to sign a new one.

You generally only need to submit a CLA once, so if you've already submitted one
(even if it was for a different project), you probably don't need to do it
again.

## Code reviews

All submissions, including submissions by project members, require review. We
use GitHub pull requests for this purpose. Consult
[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
information on using pull requests.

## Community Guidelines

This project follows [Google's Open Source Community
Guidelines](https://opensource.google.com/conduct/).
@@ -0,0 +1,43 @@
---
name: Bug report
about: Create a report to help us improve

---

Thanks for stopping by to let us know something could be better!

**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response.

Please run down the following list and make sure you've tried the usual "quick fixes":

- Search the issues already opened: https://github.com/googleapis/python-bigquery-sqlalchemy/issues
- Search StackOverflow: https://stackoverflow.com/questions/tagged/google-cloud-platform+python

If you are still having issues, please be sure to include as much information as possible:

#### Environment details

- OS type and version:
- Python version: `python --version`
- pip version: `pip --version`
- `pybigquery` version: `pip show pybigquery`

#### Steps to reproduce

1. ?
2. ?

#### Code example

```python
# example
```

#### Stack trace
```
# example
```

Making sure to follow these steps will guarantee the quickest resolution possible.

Thanks!
@@ -0,0 +1,18 @@
---
name: Feature request
about: Suggest an idea for this library

---

Thanks for stopping by to let us know something could be better!

**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response.

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.
@@ -0,0 +1,7 @@
---
name: Support request
about: If you have a support contract with Google, please create an issue in the Google Cloud Support console.

---

**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response.
@@ -0,0 +1,7 @@
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigquery-sqlalchemy/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕
@@ -0,0 +1,15 @@
{"allowedCopyrightHolders": ["Google LLC"],
"allowedLicenses": ["Apache-2.0", "MIT", "BSD-3"],
"ignoreFiles": ["**/requirements.txt", "**/requirements-test.txt"],
"sourceFileExtensions": [
"ts",
"js",
"java",
"sh",
"Dockerfile",
"yaml",
"py",
"html",
"txt"
]
}
@@ -0,0 +1 @@
releaseType: python
Empty file.
@@ -1,14 +1,63 @@
.DS_Store
/.env/
/.vscode/
/build
/dist
/pybigquery.egg-info
.idea/
.cache/
.pytest_cache/
env
venv/
*.py[cod]
*.sw[op]

# C extensions
*.so

# Packages
*.egg
*.iml
*.pyc
*.egg-info
dist
build
eggs
.eggs
parts
bin
var
sdist
develop-eggs
.installed.cfg
lib
lib64
__pycache__

# Installer logs
pip-log.txt

# Unit test / coverage reports
.coverage
.nox
.cache
.pytest_cache


# Mac
.DS_Store

# JetBrains
.idea

# VS Code
.vscode

# emacs
*~

# Built documentation
docs/_build
bigquery/docs/generated
docs.metadata

# Virtual environment
env/

# Test logs
coverage.xml
*sponge_log.xml

# System test environment variables.
system_tests/local_test_setup

# Make sure a generated file isn't accidentally committed.
pylintrc
pylintrc.test
@@ -0,0 +1,59 @@
#!/bin/bash
# Copyright 2018 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

set -eo pipefail

if [[ -z "${PROJECT_ROOT:-}" ]]; then
PROJECT_ROOT="github/python-bigquery-sqlalchemy"
fi

cd "${PROJECT_ROOT}"

# Disable buffering, so that the logs stream through.
export PYTHONUNBUFFERED=1

# Debug: show build environment
env | grep KOKORO

# Setup service account credentials.
export GOOGLE_APPLICATION_CREDENTIALS=${KOKORO_GFILE_DIR}/service-account.json

# Setup project id.
export PROJECT_ID=$(cat "${KOKORO_GFILE_DIR}/project-id.json")

# Remove old nox
python3 -m pip uninstall --yes --quiet nox-automation

# Install nox
python3 -m pip install --upgrade --quiet nox
python3 -m nox --version

# If this is a continuous build, send the test log to the FlakyBot.
# See https://github.com/googleapis/repo-automation-bots/tree/master/packages/flakybot.
if [[ $KOKORO_BUILD_ARTIFACTS_SUBDIR = *"continuous"* ]]; then
cleanup() {
chmod +x $KOKORO_GFILE_DIR/linux_amd64/flakybot
$KOKORO_GFILE_DIR/linux_amd64/flakybot
}
trap cleanup EXIT HUP
fi

# If NOX_SESSION is set, it only runs the specified session,
# otherwise run all the sessions.
if [[ -n "${NOX_SESSION:-}" ]]; then
python3 -m nox -s ${NOX_SESSION:-}
else
python3 -m nox
fi
@@ -0,0 +1,27 @@
# Format: //devtools/kokoro/config/proto/build.proto

# Build logs will be here
action {
define_artifacts {
regex: "**/*sponge_log.xml"
}
}

# Download trampoline resources.
gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"

# Download resources for system tests (service account key, etc.)
gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python"

# Use the trampoline script to run in docker.
build_file: "python-bigquery-sqlalchemy/.kokoro/trampoline.sh"

# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
value: "gcr.io/cloud-devrel-kokoro-resources/python-multi"
}
env_vars: {
key: "TRAMPOLINE_BUILD_FILE"
value: "github/python-bigquery-sqlalchemy/.kokoro/build.sh"
}
@@ -0,0 +1 @@
# Format: //devtools/kokoro/config/proto/build.proto

0 comments on commit 37e584e

Please sign in to comment.