Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 2.0 #69

Open
wants to merge 275 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
275 commits
Select commit Hold shift + click to select a range
8cabaac
feat: merge conflicts
donatas-dt May 22, 2023
6b32a85
feat: changes to release ci/cd
donatas-dt May 22, 2023
af91f0e
docs: readme update related to changes to ci/cd
donatas-dt May 22, 2023
fe3d9d9
Merge pull request #12 from teamdatatonic/feature/enable-multiquery
ariadnafer May 22, 2023
48b7be2
feat: radd missing tests
ariadnafer May 22, 2023
86b47b2
docs: add comments in tests
ariadnafer May 22, 2023
fd40dd1
Merge branch 'develop' into feature/add-poetry
roberta-dt May 23, 2023
c960f13
refactor(pyproject.toml): change description
roberta-dt May 23, 2023
644660e
refactor(pyproject.toml): change description
roberta-dt May 23, 2023
6d9c43f
refactor: change patch formatting in all tests
ariadnafer May 23, 2023
be883a5
build(Makefile): change all pipenv commands to poetry commands
roberta-dt May 23, 2023
170a746
style(pyproject.toml): correct authors description to string type
roberta-dt May 23, 2023
5c3274f
build(Makefile): fix makefile setup instructions
roberta-dt May 23, 2023
9ede258
build(Makefile): fix pr-commit issue
roberta-dt May 23, 2023
a5d5d85
feat: changes to release ci
donatas-dt May 23, 2023
7cf5b16
build(Makefile): fix pre-commit checks
roberta-dt May 23, 2023
68c6484
build(Makefile): fix pre-commit issue
roberta-dt May 23, 2023
d40d879
feat: fix nested assets folder in release
donatas-dt May 23, 2023
b9faf75
build(.pre-commit-config.yaml): update from python 3.7 to 3.9
roberta-dt May 23, 2023
610bbd3
refactor(.pre-commit-config.yaml): fix pre-commit hooks
roberta-dt May 23, 2023
5bdad5a
refactor(.pre-commit-config.yaml): fix pre-commit
roberta-dt May 23, 2023
ff14b8c
feat: delete assets
donatas-dt May 23, 2023
ee30188
feat: assets files
donatas-dt May 23, 2023
dce966e
Merge branch 'develop' into feat/combine_assets
donatas-dt May 23, 2023
95d44f8
style(pyproject.toml): change author description to string format
roberta-dt May 23, 2023
96aff8b
Update Makefile
donatas-dt May 24, 2023
9f6cbc4
Update README.md
donatas-dt May 24, 2023
352a4ed
build(pyproject.toml): update packages
roberta-dt May 25, 2023
68a290d
build(makefile): update makefile
roberta-dt May 25, 2023
cec9f3e
build(pyproject.toml): update poetry dependencies
roberta-dt May 26, 2023
149ab44
build(pyproject.toml): remove pytest from dependecies
roberta-dt May 26, 2023
3238801
Merge pull request #15 from teamdatatonic/feature/add-tests
ariadnafer May 26, 2023
341392a
docs(CONTRIBUTING.md): update docs with poetry requirements
roberta-dt May 26, 2023
1258220
docs(README.md): update poetry dependencies
roberta-dt May 26, 2023
08c3796
style(pr-checks.yaml): update comment with poetry dependency
roberta-dt May 26, 2023
7185dc6
style(pr-checks.yaml): update comments with poetry dependency
roberta-dt May 26, 2023
7aa2efc
style(release.yaml): update comments with poetry dependency
roberta-dt May 26, 2023
86fc921
style(README.md): update comments with poetry dependency
roberta-dt May 26, 2023
bcea327
style(README.md): update comments with poetry dependency
roberta-dt May 26, 2023
9bf426c
style(README.md): update comments with how to install new component p…
roberta-dt May 26, 2023
67abb5e
style(CONTRIBUTING.md): update docs with poetry requirements
roberta-dt May 26, 2023
6a7b6d9
style(README.md): update comments with how to install new component p…
roberta-dt May 26, 2023
94cd885
style(README.md): update comments to reflect poetry package installation
roberta-dt May 26, 2023
05378d9
style(README.md): update with poetry requirements
roberta-dt May 26, 2023
736392c
build(poetry.lock): update poetry.lock file
roberta-dt May 26, 2023
369d99d
style(README.md): update with poetry requirements
roberta-dt May 26, 2023
d6afa10
build(src): update the base images of components to python 3.9
roberta-dt May 30, 2023
b87c285
Merge branch 'main' into feat/combine_assets
donatas-dt May 30, 2023
28251c6
build(.python-version): change python version from 3.9 to 3.7
roberta-dt May 30, 2023
358abc2
build(.python-vesrion): python 3.7 to 3.9
roberta-dt May 30, 2023
b58e20b
feat: merge conflict
donatas-dt May 30, 2023
d856cd3
Revert "feat: merge conflict"
donatas-dt May 30, 2023
caeaa74
Merge branch 'develop' into feat/combine_assets
donatas-dt May 30, 2023
98ba6db
refactor(pyproject.toml): rebase
roberta-dt May 30, 2023
386349d
style(README.md): add instructions for python version detection
roberta-dt May 30, 2023
ee462f0
style(Makefile): remove pip install poetry from setup command
roberta-dt May 30, 2023
d2c7c28
Merge pull request #14 from teamdatatonic/feat/combine_assets
ariadnafer May 30, 2023
7d18fa8
build: revert python version from 3.9 to 3.7
roberta-dt May 30, 2023
db68bec
Merge branch 'develop' into feature/add-poetry
roberta-dt May 30, 2023
fc13174
style(Makefile): fix Makefile
roberta-dt May 30, 2023
ee5bb52
style(pyproject.toml): change description
roberta-dt May 30, 2023
43463f8
style(pyproject.toml): change description
roberta-dt May 30, 2023
bf2fa78
docs(README.md): update docs
roberta-dt May 30, 2023
e39dc49
docs(CONTRIBUTING.md): update docs
roberta-dt May 30, 2023
4adc66e
style(pyproject.toml): change description
roberta-dt May 30, 2023
ebcc591
style(.python-version): fix python version
roberta-dt May 30, 2023
3a694cd
style(Makefile): update makefile
roberta-dt May 30, 2023
f74931b
Add ADDITIONAL_SUFFIX environment variable
jan-zajac-dt May 31, 2023
db7fe79
Update components/README.md
felix-datatonic Jun 2, 2023
f5a5572
Update components/README.md
felix-datatonic Jun 2, 2023
8df3413
Update components/bigquery-components/.python-version
felix-datatonic Jun 2, 2023
ee5c1aa
Cleanup
felix-datatonic Jun 2, 2023
874d282
build(pyproject.toml): add coverage package
roberta-dt Jun 2, 2023
c465a0b
Merge remote-tracking branch 'refs/remotes/origin/feature/add-poetry'…
roberta-dt Jun 2, 2023
4d259e3
Merge pull request #13 from teamdatatonic/feature/add-poetry
felix-datatonic Jun 2, 2023
2a76377
feat: return gcp resources (draft)
donatas-dt Jun 1, 2023
3b68c31
feat: return gcp_resources
donatas-dt Jun 1, 2023
62ce7e3
feat: change uri
donatas-dt Jun 1, 2023
becdefd
feat: change resource uri to backingCustomJob
donatas-dt Jun 1, 2023
cca75d5
style: formatting
donatas-dt Jun 1, 2023
15675d4
test: gcp resources unit tests
donatas-dt Jun 2, 2023
44730dd
Merge pull request #19 from teamdatatonic/features/gcp_resources
felix-datatonic Jun 5, 2023
ece4444
Add ADDITIONAL_SUFFIX for all other pipelines
jan-zajac-dt Jun 5, 2023
3ea015a
more comprehensive comment for ADDITIONAL_SUFFIX
jan-zajac-dt Jun 5, 2023
3eb8788
Merge branch 'develop' into feat/enable-concurrent-runs
jan-zajac-dt Jun 5, 2023
01e7d02
extend comment for ADDITIONAL_SUFFIX
jan-zajac-dt Jun 5, 2023
6d6fc45
Add empty ADDITIONAL_SUFFIX in cloudbuild e2e tests
jan-zajac-dt Jun 5, 2023
8e54ee1
Combine ADDITIONAL_SUFFIX into PIPELINE_FILES_GCS_PATH
jan-zajac-dt Jun 5, 2023
52e6ac3
Change to RESOURCE_SUFFIX env var that is the current git user name
jan-zajac-dt Jun 8, 2023
630833c
Update README.md with info about RESOURCE_SUFFIX
jan-zajac-dt Jun 8, 2023
d850a5a
Comment out Make variables to check if they're affecting e2e tests
jan-zajac-dt Jun 8, 2023
f8ef02b
Fix e2e tests by sourcing env.sh as part of Make commands
jan-zajac-dt Jun 8, 2023
b4e2abc
Change from source to . in makefile
jan-zajac-dt Jun 8, 2023
dba5afd
Try using conditional assignment in Makefile to fix e2e tests
jan-zajac-dt Jun 8, 2023
1b11d02
Update PIPELINE_FILES_GCS_PATH env var in e2e tests to include assets…
jan-zajac-dt Jun 8, 2023
617ed59
Revert to letting users specify their own suffix
jan-zajac-dt Jun 8, 2023
c480f6f
RESOURCE_SUFFIX typo in env.sh.example
jan-zajac-dt Jun 8, 2023
60de248
Revert including `assets` as part of pipeline_files_gcs_path
jan-zajac-dt Jun 8, 2023
020bc8a
Revert "Revert including `assets` as part of pipeline_files_gcs_path"
jan-zajac-dt Jun 8, 2023
b4623a9
Revert PIPELINE_GCS_PATH to NOT include assets subdirectory
jan-zajac-dt Jun 9, 2023
b318d07
update scheduled_jobs.auto.tfvars.example
jan-zajac-dt Jun 9, 2023
29e25b0
Add single quotes in env.sh.example comment
jan-zajac-dt Jun 12, 2023
14f354d
revert changes made to pipeline_files_gcs_path in scheduled_jobs.auto…
jan-zajac-dt Jun 14, 2023
d240286
Handle resource suffix in Makefile
jan-zajac-dt Jun 15, 2023
47cf5d6
Merge pull request #18 from teamdatatonic/feat/enable-concurrent-runs
Jun 23, 2023
cbac0c0
set the logging level to DEBUG in the sandbox_run function without ca…
rachel-datatonic Jun 26, 2023
40ac52f
Fix RESOURCE_SUFFIX bug
jan-zajac-dt Jun 26, 2023
2492cff
Remove double quotes from PIPELINE_FILES_GCS_PATH
jan-zajac-dt Jun 26, 2023
9d6a6a8
Fix e2e tests by using RESOURCE_SUFFIX when uploading assets
jan-zajac-dt Jun 27, 2023
a8a22af
Use custom substitutions for RESOURCE_SUFFIX in e2e-tests
jan-zajac-dt Jun 27, 2023
938200c
Move substitutions to EOF in e2e-test.yaml
jan-zajac-dt Jun 27, 2023
97a080f
ADD underscore to RESOURCE_SUFFIX in e2e-tests.yaml
jan-zajac-dt Jun 27, 2023
e9d410b
remove log in sandbox_run to avoid duplicated log
rachel-datatonic Jun 27, 2023
600e3e9
Simplify solution by giving RESOURCE_SUFFIX a default value
jan-zajac-dt Jun 27, 2023
25a3990
remove underscore from suffix in env.sh.example and adjust pipelines …
jan-zajac-dt Jun 27, 2023
7721bcd
Merge pull request #27 from teamdatatonic/feat/enable-concurrent-runs
felix-datatonic Jul 5, 2023
b9e3134
Merge pull request #26 from teamdatatonic/fix/duplicated-logs
Jul 6, 2023
a981b73
feat: upgrade to KFP V2
Jul 10, 2023
bfa2904
feat: upgrade to kfp v2 and Python 3.9
Jul 19, 2023
0a2ffeb
feat: replace docker build with gcloud build
Jul 25, 2023
e612b31
feat: replace GCS buckets with KFP AR for compiled pipelines and remo…
Jul 25, 2023
496cf15
remove tensorflow pipelines
Jul 26, 2023
5abfa36
fix: restore lookup_model component for prediction pipeline
Jul 26, 2023
15b4c98
feat: add custom serving container
Jul 27, 2023
e0939cf
consolidate training and serving image builds
Jul 27, 2023
c744956
add container builds to ci/cd
Jul 27, 2023
6ba2298
fix: update E2E tests for kfp v2
Jul 28, 2023
12c5dc2
ci: fix release.yaml pipeline
Jul 28, 2023
130addc
test: add unit tests for new component
Jul 29, 2023
d28e2b2
docs: update copyright headers
Jul 29, 2023
0d778b4
test: revert accidental changes to test_lookup_model
Jul 29, 2023
8e138cd
docs: update documentation and Makefile
Aug 1, 2023
1d577c0
docs: add container reg to arch diagram
Aug 1, 2023
78755b3
ci: fix poetry install in ci
Aug 1, 2023
ee15c99
Update docstrings and code structure in upload_model.py
felix-datatonic Aug 4, 2023
0ee7152
Update training/pipeline.py with renamed parameters
felix-datatonic Aug 4, 2023
c868bd4
Fix upload_model.py
felix-datatonic Aug 4, 2023
03863bc
Merge pull request #28 from teamdatatonic/feat/kfp_v2
Aug 5, 2023
9246789
fix: disable incorrect caching
Aug 7, 2023
14ca843
Merge pull request #29 from teamdatatonic/fix/pl_step_caching
Aug 7, 2023
627143f
docs: update PR template
Aug 7, 2023
a331fdb
Merge pull request #31 from teamdatatonic/update_pr_template
Aug 8, 2023
0b226cd
refactor: pipeline trigger code + cloud function
Aug 7, 2023
cce5a15
fix: terraform variables declaration
Aug 14, 2023
5a8a167
fix: fix cloud function YAML and bump google-cloud-aiplatform version
Aug 14, 2023
438c01e
fix: terraform variables file
Aug 14, 2023
2c8ce1e
fix: add more permissions to CF service account
Aug 14, 2023
72c7860
docs: fix example terraform config
Aug 14, 2023
e61c539
fix: add workaround for Vertex Pipelines bug
Aug 14, 2023
0e37aba
refactor: tidy regex group
Aug 15, 2023
59bd7e6
fix: bump google-cloud-aiplatform version in cloud function
Aug 15, 2023
8b66dc0
fix: update ENABLE_PIPELINE_CACHING env var
Aug 15, 2023
4db1c2c
refactor: remove redundant default value
Aug 15, 2023
ce82e95
test: tidy test imports
Aug 15, 2023
c14c299
refactor(Makefile): simplify make commands
roberta-dt Aug 15, 2023
638bc90
style: pre-commit fixes
Aug 17, 2023
868b91c
refactor: env var handling code
Aug 17, 2023
4161e4e
build(cloudbuild): update make commands
roberta-dt Aug 17, 2023
d16d566
Merge pull request #30 from teamdatatonic/decouple_trigger_code
Aug 18, 2023
9cf60f5
refactor(Makefile): fix targets list with training and serving commands
roberta-dt Aug 21, 2023
b45c50a
docs(Makefile): add and update doc strings
roberta-dt Aug 21, 2023
5fb0503
refactor(Makefile): add doc string to the run command
roberta-dt Aug 22, 2023
edaed19
fix: rebase from develop
roberta-dt Aug 22, 2023
38c94d9
refactor: fix rebase issues
roberta-dt Aug 22, 2023
3bb06ff
build: update make commands in cloudbuild files
roberta-dt Aug 22, 2023
79d5f99
style: change copyright to 2023
roberta-dt Aug 23, 2023
e088d52
style: add quotes to doc strings
roberta-dt Aug 23, 2023
9dc734e
docs: update README with new make commands
roberta-dt Aug 23, 2023
9819d02
docs: README tweaks
Aug 23, 2023
7828266
Merge pull request #32 from teamdatatonic/refactor/refine-MAKEFILE
Aug 23, 2023
914aa9e
add wait param to MAKEFILE to wait until pipeline ends in make run
becky-dt Aug 21, 2023
d03d07e
removed old pytest e2e tests
becky-dt Aug 21, 2023
acca598
added default wait value to trigger_pipeline
becky-dt Aug 22, 2023
81b37ad
added comments and updated README
becky-dt Aug 22, 2023
af5a003
wait defaults to false and moved logic out of trigger_pipeline func
becky-dt Aug 22, 2023
a9a5c83
removed ref to e2e tests in README
becky-dt Aug 22, 2023
3e9f63b
more formatting of numbers in readme
becky-dt Aug 22, 2023
362ad8a
removed mention of deleted e2e tests
becky-dt Aug 23, 2023
9907264
fix: update docstring in Makefile
Aug 23, 2023
6951b47
ci: skip image build in ci pipeline step
Aug 23, 2023
01abc17
fix: fix Makefile after previous PR
Aug 23, 2023
15afe3a
fix: update docs strings for test command in Makefile
roberta-dt Aug 24, 2023
1393bc6
fixed logic error in trigger_pipeline.py
becky-dt Aug 24, 2023
77f2584
added logic to makefile to check true/false input
becky-dt Aug 24, 2023
59305a6
removed .lower() from trigger_pipeline for wait param
becky-dt Aug 24, 2023
be7cc57
docs: tweak docstring in Makefile
Aug 25, 2023
31da0ac
Merge pull request #33 from teamdatatonic/refactor/simplify-e2e-tests
Aug 25, 2023
84dd5cb
Added tutorial notebook
becky-dt Sep 5, 2023
345690f
Added comment to notebook
becky-dt Sep 5, 2023
6894f65
fix: make build variable substitution fix
donatas-dt Sep 5, 2023
9d95143
feat: example notebook
donatas-dt Sep 5, 2023
9c963fb
feat: comments
donatas-dt Sep 5, 2023
90e2af8
Merge pull request #35 from teamdatatonic/bugfix/make-build
donatas-dt Sep 6, 2023
6ff532f
feat: deployt chdir
donatas-dt Sep 6, 2023
87f3c65
feat: Updated notebook
donatas-dt Sep 6, 2023
3ee9089
feat: Updated Tutorial
donatas-dt Sep 6, 2023
0c4ea34
feat: Remove outputs
donatas-dt Sep 6, 2023
181fd78
feat: Clean up
donatas-dt Sep 6, 2023
0cfc402
feat: Updates to notebook
donatas-dt Sep 8, 2023
c4799f3
feat: Typos
donatas-dt Sep 8, 2023
450a6e0
feat: Notebook update, makefile update
donatas-dt Sep 18, 2023
ef93fdd
style: Notebook style
donatas-dt Sep 18, 2023
f476171
feat: Terraform for workbench
donatas-dt Sep 19, 2023
dfa90ac
style: typos
donatas-dt Sep 19, 2023
2d13074
feat: pin pyyaml
donatas-dt Sep 20, 2023
cb99502
feat: makefile
donatas-dt Sep 21, 2023
a73ce26
feat: split into colab, workbench, local
donatas-dt Sep 25, 2023
d1403ff
feat: update
donatas-dt Sep 25, 2023
bb58845
feat: terraform disable dependent services
donatas-dt Sep 25, 2023
8989336
feat: Changing notebook directory, splitting into 3 notebooks
donatas-dt Sep 27, 2023
1582025
feat: Changing project_id
donatas-dt Sep 27, 2023
b5da3c1
feat: Small updates to notebooks (local)
donatas-dt Sep 28, 2023
0a6972c
feat: Adding workbench notebook
donatas-dt Sep 28, 2023
fb80ecc
fix: Typo
donatas-dt Sep 28, 2023
4138241
Simplify docs and notebooks
felix-datatonic Nov 7, 2023
99e681b
Add poetry.lock
felix-datatonic Nov 7, 2023
f6c969c
Update licenses
felix-datatonic Nov 7, 2023
6f19ee4
Update README.md
felix-datatonic Nov 7, 2023
ba515e7
Update docs and remove pre-commit from PR checks
felix-datatonic Nov 7, 2023
7fdb184
Update notebooks
felix-datatonic Nov 7, 2023
51fad4b
Fix spelling in notebooks
felix-datatonic Nov 8, 2023
19ab4f0
Fix spelling in notebooks
felix-datatonic Nov 9, 2023
6978293
Fix spelling in notebooks
felix-datatonic Nov 9, 2023
317b288
Make repo cloning optional in notebooks
felix-datatonic Nov 9, 2023
6c7145b
Merge branch 'develop' into feat/tutorial_notebook
felix-datatonic Nov 13, 2023
ee124f2
Merge pull request #34 from teamdatatonic/feat/tutorial_notebook
felix-datatonic Nov 13, 2023
40c9d24
Add hparam notebook
felix-datatonic Nov 13, 2023
5c7b75a
Minor improvements to notebook
felix-datatonic Nov 13, 2023
7a28ae2
Minor improvements to notebook
felix-datatonic Nov 13, 2023
fbc608f
Merge pull request #39 from teamdatatonic/feat/hparam_tuning
felix-datatonic Nov 13, 2023
0a63609
Update training pipeline
felix-datatonic Nov 13, 2023
56d56e1
Fix unit tests
felix-datatonic Nov 13, 2023
fcec564
Update docs and add new make commands
felix-datatonic Nov 14, 2023
7c932b9
Minor changes
felix-datatonic Nov 15, 2023
07fb10b
Address comments
felix-datatonic Nov 15, 2023
4c80faf
Merge pull request #40 from teamdatatonic/refactor/train_pipeline
felix-datatonic Nov 15, 2023
7f4536b
Minor improvements
felix-datatonic Dec 15, 2023
0ae7c45
Doc updates
felix-datatonic Dec 15, 2023
67ae120
Merge pull request #41 from teamdatatonic/feat/tweaks
felix-datatonic Dec 18, 2023
09b944f
Add animation to README
felix-datatonic Dec 20, 2023
a5c6167
Merge pull request #42 from teamdatatonic/feat/animation
felix-datatonic Dec 20, 2023
c526bda
Adding notification channels and enable logging variables to batch pr…
lily-nicholls Jan 10, 2024
c884b65
Merge pull request #43 from teamdatatonic/feat/extending-model-monito…
felix-datatonic Jan 11, 2024
2a3a11c
Remove jupyter
felix-datatonic Jan 19, 2024
e3330af
Merge pull request #49 from teamdatatonic/fix/remove-jupyter-dep
felix-datatonic Jan 19, 2024
f7cbf19
Remove poetry cache
felix-datatonic Jan 23, 2024
dff22d4
Merge pull request #50 from teamdatatonic/feat/reduce-image-size
felix-datatonic Jan 23, 2024
9be489b
updated readme
theo-dt Nov 27, 2024
43a0d6c
Update README.md
felix-datatonic Nov 27, 2024
ab9710d
Merge pull request #54 from teamdatatonic/refactor/README_update
felix-datatonic Nov 27, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 3 additions & 6 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!--
Copyright 2022 Google LLC
Copyright 2023 Google LLC

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand All @@ -24,10 +24,7 @@ Please explain how you have tested the new changes.
# Checklist

- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have successfully run the E2E tests, and have included the links to the pipeline runs below
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] New and existing unit tests pass locally with my changes (`make test-trigger` and `make test-all-components`)
- [ ] I have successfully run the E2E tests
- [ ] I have updated any relevant documentation to reflect my changes
- [ ] I have assigned a reviewer and messaged them

# Pipeline run links:
8 changes: 1 addition & 7 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -95,13 +95,6 @@ target/
profile_default/
ipython_config.py

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/

Expand Down Expand Up @@ -172,3 +165,4 @@ env.sh

# Compiled pipelines
**/*pipeline.json
**/*pipeline.yaml
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

---
default_language_version:
python: python3.7
python: python3.9

repos:
- repo: https://github.com/gruntwork-io/pre-commit
Expand Down
2 changes: 1 addition & 1 deletion .python-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.7.12
3.9.16
282 changes: 0 additions & 282 deletions CONTRIBUTING.md

This file was deleted.

177 changes: 104 additions & 73 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2022 Google LLC
# Copyright 2023 Google LLC

# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand All @@ -15,79 +15,110 @@
-include env.sh
export

help: ## Display this help screen
@grep -h -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'

pre-commit: ## Runs the pre-commit checks over entire repo
@cd pipelines && \
pipenv run pre-commit run --all-files

setup: ## Set up local environment for Python development on pipelines
@pip install pipenv && \
cd pipelines && \
pipenv install --dev

test-trigger: ## Runs unit tests for the pipeline trigger code
@cd pipelines && \
pipenv run python -m pytest tests/trigger

compile-pipeline: ## Compile the pipeline to training.json or prediction.json. Must specify pipeline=<training|prediction>
@cd pipelines/src && \
pipenv run python -m pipelines.${PIPELINE_TEMPLATE}.${pipeline}.pipeline

setup-components: ## Run unit tests for a component group
@cd "components/${GROUP}" && \
pipenv install --dev

setup-all-components: ## Run unit tests for all pipeline components
@set -e && \
for component_group in components/*/ ; do \
echo "Setup components under $$component_group" && \
$(MAKE) setup-components GROUP=$$(basename $$component_group) ; \
done

test-components: ## Run unit tests for a component group
@cd "components/${GROUP}" && \
pipenv run pytest

test-all-components: ## Run unit tests for all pipeline components
@set -e && \
for component_group in components/*/ ; do \
echo "Test components under $$component_group" && \
$(MAKE) test-components GROUP=$$(basename $$component_group) ; \
done

sync-assets: ## Sync assets folder to GCS. Must specify pipeline=<training|prediction>
@if [ -d "./pipelines/src/pipelines/${PIPELINE_TEMPLATE}/$(pipeline)/assets/" ] ; then \
echo "Syncing assets to GCS" && \
gsutil -m rsync -r -d ./pipelines/src/pipelines/${PIPELINE_TEMPLATE}/$(pipeline)/assets ${PIPELINE_FILES_GCS_PATH}/$(pipeline)/assets ; \
else \
echo "No assets folder found for pipeline $(pipeline)" ; \
fi ;

run: ## Compile pipeline, copy assets to GCS, and run pipeline in sandbox environment. Must specify pipeline=<training|prediction>. Optionally specify enable_pipeline_caching=<true|false> (defaults to default Vertex caching behaviour)
@ $(MAKE) compile-pipeline && \
$(MAKE) sync-assets && \
cd pipelines/src && \
pipenv run python -m pipelines.trigger --template_path=./$(pipeline).json --enable_caching=$(enable_pipeline_caching)

sync_assets ?= true
e2e-tests: ## (Optionally) copy assets to GCS, and perform end-to-end (E2E) pipeline tests. Must specify pipeline=<training|prediction>. Optionally specify enable_pipeline_caching=<true|false> (defaults to default Vertex caching behaviour). Optionally specify sync_assets=<true|false> (defaults to true)
@if [ $$sync_assets = true ] ; then \
$(MAKE) sync-assets; \
else \
echo "Skipping syncing assets to GCS"; \
fi && \
cd pipelines && \
pipenv run pytest --log-cli-level=INFO tests/${PIPELINE_TEMPLATE}/$(pipeline) --enable_caching=$(enable_pipeline_caching)
help: ## Display this help screen.
@grep -h -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \
awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'

env ?= dev
deploy-infra: ## Deploy the Terraform infrastructure to your project. Requires VERTEX_PROJECT_ID and VERTEX_LOCATION env variables to be set in env.sh. Optionally specify env=<dev|test|prod> (default = dev)
@ cd terraform/envs/$(env) && \
AUTO_APPROVE_FLAG :=
deploy: ## Deploy infrastructure to your project. Optionally set env=<dev|test|prod> (default=dev).
@echo "################################################################################" && \
echo "# Deploy $$env environment" && \
echo "################################################################################" && \
if [ "$(auto-approve)" = "true" ]; then \
AUTO_APPROVE_FLAG="-auto-approve"; \
fi; \
cd terraform/envs/$(env) && \
terraform init -backend-config='bucket=${VERTEX_PROJECT_ID}-tfstate' && \
terraform apply -var 'project_id=${VERTEX_PROJECT_ID}' -var 'region=${VERTEX_LOCATION}'

destroy-infra: ## DESTROY the Terraform infrastructure in your project. Requires VERTEX_PROJECT_ID and VERTEX_LOCATION env variables to be set in env.sh. Optionally specify env=<dev|test|prod> (default = dev)
@ cd terraform/envs/$(env) && \
terraform apply -var 'project_id=${VERTEX_PROJECT_ID}' -var 'region=${VERTEX_LOCATION}' $$AUTO_APPROVE_FLAG

undeploy: ## Destroy the infrastructure in your project. Optionally set env=<dev|test|prod> (default=dev).
@echo "################################################################################" && \
echo "# Destroy $$env environment" && \
echo "################################################################################" && \
if [ "$(auto-approve)" = "true" ]; then \
AUTO_APPROVE_FLAG="-auto-approve"; \
fi; \
cd terraform/envs/$(env) && \
terraform init -backend-config='bucket=${VERTEX_PROJECT_ID}-tfstate' && \
terraform destroy -var 'project_id=${VERTEX_PROJECT_ID}' -var 'region=${VERTEX_LOCATION}'
terraform destroy -var 'project_id=${VERTEX_PROJECT_ID}' -var 'region=${VERTEX_LOCATION}' $$AUTO_APPROVE_FLAG

install: ## Set up local Python environment for development.
@echo "################################################################################" && \
echo "# Install Python dependencies" && \
echo "################################################################################" && \
cd model && \
poetry install --no-root && \
cd ../pipelines && \
poetry install --with dev && \
cd ../components && \
poetry install --with dev

compile: ## Compile pipeline. Set pipeline=<training|prediction>.
@echo "################################################################################" && \
echo "# Compile $$pipeline pipeline" && \
echo "################################################################################" && \
cd pipelines/src && \
poetry run kfp dsl compile --py pipelines/${pipeline}.py --output pipelines/${pipeline}.yaml --function pipeline

images ?= training prediction
build: ## Build and push container(s). Set images=<training and/or prediction> (default="training prediction").
@echo "################################################################################" && \
echo "# Build $$images image(s)" && \
echo "################################################################################" && \
cd model && \
for image in $$images ; do \
echo "Build $$image image" && \
gcloud builds submit . \
--region=${VERTEX_LOCATION} \
--project=${VERTEX_PROJECT_ID} \
--gcs-source-staging-dir=gs://${VERTEX_PROJECT_ID}-staging/source \
--substitutions=_DOCKER_TARGET=$$image,_DESTINATION_IMAGE_URI=${CONTAINER_IMAGE_REGISTRY}/$$image:${RESOURCE_SUFFIX} \
--suppress-logs ; \
done

compile ?= true
build ?= true
cache ?= true
wait ?= false
run: ## Run a pipeline. Set pipeline=<training|prediction>. Optionally set compile=<true|false> (default=true), build=<true|false>, cache=<true|false> (default=true). wait=<true|false> (default=false).
@if [ $(compile) = "true" ]; then \
$(MAKE) compile ; \
elif [ $(compile) != "false" ]; then \
echo "ValueError: compile must be either true or false" ; \
exit ; \
fi && \
if [ $(build) = "true" ]; then \
$(MAKE) build ; \
elif [ $(build) != "false" ]; then \
echo "ValueError: build must be either true or false" ; \
exit ; \
fi && \
echo "################################################################################" && \
echo "# Run $$pipeline pipeline" && \
echo "################################################################################" && \
cd pipelines/src && \
ENABLE_PIPELINE_CACHING=$$cache poetry run python -m pipelines.utils.trigger_pipeline \
--template_path=pipelines/${pipeline}.yaml --display_name=${pipeline} --wait=${wait}

training: ## Run training pipeline. Rebuilds training and prediction images. Supports same options as run.
@$(MAKE) run pipeline=training

prediction: ## Run prediction pipeline. Doesn't rebuilt images. Supports same options as run.
@$(MAKE) run pipeline=prediction build=false

packages ?= pipelines components
test: ## Run unit tests. Optionally set packages=<pipelines and/or components> (default="pipelines components").
@echo "################################################################################" && \
echo "# Test $$packages package(s)" && \
echo "################################################################################" && \
for package in $$packages ; do \
echo "Testing $$package package" && \
cd $$package && \
poetry run pytest && \
cd .. ; \
done

pre-commit: ## Run pre-commit checks for pipelines.
@cd pipelines && \
poetry run pre-commit run --all-files
Loading