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

Data subsystem yt #1518

Merged
merged 45 commits into from
Feb 28, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
48bab48
docs: update register help, non-fast version is supported (#1402)
pbrogan12 Jan 4, 2023
be32ac7
Update log level for structured dataset (#1394)
pingsutw Jan 5, 2023
0dcda1d
Add Niels to code owners (#1404)
pingsutw Jan 5, 2023
d008917
Signal use (#1398)
wild-endeavor Jan 5, 2023
8c72082
User Documentation Proposal (#1200)
pingsutw Jan 5, 2023
55b6602
Add support MLFlow plugin (#1274)
kumare3 Jan 6, 2023
fcf6dce
fix remote API reference (#1405)
cosmicBboy Jan 7, 2023
1311ea4
Read structured dataset from a folder (#1406)
pingsutw Jan 10, 2023
581a5c6
Update default config to work out-of-the-box with flytectl demo (#1384)
cosmicBboy Jan 10, 2023
531db3c
Add dask plugin #patch (#1366)
bstadlbauer Jan 12, 2023
4b1675f
Add support for overriding task configurations (#1410)
pingsutw Jan 13, 2023
905cabc
Warning if git is not installed (#1414)
pingsutw Jan 18, 2023
5dd887c
Flip the settings for channel and logger (#1415)
wild-endeavor Jan 19, 2023
310aea3
Preserving Exception in the LazyEntity fetch (#1412)
kumare3 Jan 20, 2023
b6605bc
[Docs] SynchronousFlyteClient API reference #3095 (#1416)
ppiegaze Jan 20, 2023
99722d5
Return error code on fail (#1408)
pingsutw Jan 24, 2023
5126b2a
wrapping flyte entity in a task node in call to flyte node constructo…
wild-endeavor Jan 24, 2023
7b48fff
Sqlalchemy multiline query (#1421)
cosmicBboy Jan 25, 2023
1513773
Sklearn type transformer should be automatically loaded with import f…
cosmicBboy Jan 27, 2023
88c6bba
Bump isort to 5.12.0 (#1427)
eapolinario Jan 31, 2023
ea39054
Fixes guess type bug in UnionTransformer (#1426)
kumare3 Jan 31, 2023
9dc4d4d
Add `pod_template` and `pod_template_name` arguments for `PythonAutoC…
ByronHsu Feb 3, 2023
d006df6
Auto Backfill workflow (#1420)
kumare3 Feb 3, 2023
a5c9970
Fix primitive decoder when evaluating Promise (#1432)
samhita-alla Feb 6, 2023
dee4804
set maximum python version to 3.10 (#1433)
cosmicBboy Feb 7, 2023
47ac6ac
Revert "Remove project/domain from being overridden with execution va…
eapolinario Feb 8, 2023
35b1fa6
Support checkpointing in local mode from cached tasks (#1457)
bethebunny Feb 10, 2023
5087d38
Deprecate FlyteSchema (#1418)
pingsutw Feb 10, 2023
8e5bf6c
Use scarf images (#1434)
eapolinario Feb 11, 2023
ecded3e
add undocumented objects/functions to flytekit api ref (#1502)
cosmicBboy Feb 13, 2023
606e0c4
Use non-root user in default flytekit image (#1417)
pingsutw Feb 14, 2023
03d9f62
Fix PyTorch transformer (#1510)
samhita-alla Feb 15, 2023
c11362f
Fix mypy errors (#1313)
pingsutw Feb 16, 2023
014eea9
Compile the workflow only at compile time (#1311)
pingsutw Feb 16, 2023
74cbe58
Get the origin type when serializing dataclass (#1508)
pingsutw Feb 16, 2023
99d3d50
Remove requirements files (#1511)
eapolinario Feb 17, 2023
707fc03
Delay initialization of SynchronousFlyteClient in FlyteRemote (#1514)
eapolinario Feb 18, 2023
b4064fc
start testing
wild-endeavor Feb 22, 2023
e0c48da
merge master and resolve
wild-endeavor Feb 22, 2023
16ff0ae
fix a couple tests
wild-endeavor Feb 23, 2023
b7dcfa1
steadily cleaning up tests
wild-endeavor Feb 24, 2023
abbb65a
tmp
wild-endeavor Feb 25, 2023
22c6a6c
fmt and some test fixes
wild-endeavor Feb 28, 2023
ff32e3a
special case local dir copy
wild-endeavor Feb 28, 2023
027d3fe
move import up
wild-endeavor Feb 28, 2023
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
18 changes: 6 additions & 12 deletions .github/workflows/pythonbuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,7 @@ jobs:
matrix:
os: [ubuntu-latest, windows-latest]
python-version: ["3.7", "3.8", "3.9", "3.10"]
spark-version-suffix: ["", "-spark2"]
exclude:
- python-version: 3.8
spark-version-suffix: "-spark2"
- python-version: 3.9
spark-version-suffix: "-spark2"
- python-version: 3.10
spark-version-suffix: "-spark2"
# Ignore this test because we failed to install docker-py
# docker-py will install pywin32==227, whereas pywin only added support for python 3.10 in version 301.
# For more detail, see https://github.com/flyteorg/flytekit/pull/856#issuecomment-1067152855
Expand All @@ -42,10 +35,10 @@ jobs:
# This path is specific to Ubuntu
path: ~/.cache/pip
# Look to see if there is a cache hit for the corresponding requirements files
key: ${{ format('{0}-pip-{1}', runner.os, hashFiles('dev-requirements.txt', format('requirements{0}.txt', matrix.spark-version-suffix))) }}
key: ${{ format('{0}-pip-{1}', runner.os, hashFiles('dev-requirements.in', 'requirements.in')) }}
- name: Install dependencies
run: |
make setup${{ matrix.spark-version-suffix }}
make setup
pip freeze
- name: Test with coverage
run: |
Expand All @@ -67,6 +60,7 @@ jobs:
- flytekit-aws-batch
- flytekit-aws-sagemaker
- flytekit-bigquery
- flytekit-dask
- flytekit-data-fsspec
- flytekit-dbt
- flytekit-deck-standard
Expand Down Expand Up @@ -156,13 +150,13 @@ jobs:
- uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/dev-requirements.txt') }}
key: ${{ runner.os }}-pip-${{ hashFiles('**/dev-requirements.in') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install dependencies
run: |
python -m pip install --upgrade pip==21.2.4
pip install -r dev-requirements.txt
python -m pip install --upgrade pip
pip install -r dev-requirements.in
- name: Lint
run: |
make lint
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ repos:
hooks:
- id: black
- repo: https://github.com/PyCQA/isort
rev: 5.10.1
rev: 5.12.0
hooks:
- id: isort
args: ["--profile", "black"]
Expand Down
1 change: 1 addition & 0 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,4 @@ sphinx:
python:
install:
- requirements: doc-requirements.txt
- requirements: docs/requirements.txt
2 changes: 1 addition & 1 deletion CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence.
* @wild-endeavor @kumare3 @eapolinario @pingsutw
* @wild-endeavor @kumare3 @eapolinario @pingsutw @cosmicBboy
4 changes: 4 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ FROM python:${PYTHON_VERSION}-slim-buster
MAINTAINER Flyte Team <[email protected]>
LABEL org.opencontainers.image.source https://github.com/flyteorg/flytekit

RUN useradd -u 1000 flytekit
RUN chown flytekit: /root
USER flytekit

WORKDIR /root
ENV PYTHONPATH /root

Expand Down
31 changes: 8 additions & 23 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,7 @@ update_boilerplate:

.PHONY: setup
setup: install-piptools ## Install requirements
pip-sync requirements.txt dev-requirements.txt

.PHONY: setup-spark2
setup-spark2: install-piptools ## Install requirements
pip-sync requirements-spark2.txt dev-requirements.txt
pip install -r dev-requirements.in

.PHONY: fmt
fmt: ## Format code with black and isort
Expand All @@ -35,11 +31,12 @@ fmt: ## Format code with black and isort

.PHONY: lint
lint: ## Run linters
mypy flytekit/core || true
mypy flytekit/types || true
mypy tests/flytekit/unit/core || true
# Exclude setup.py to fix error: Duplicate module named "setup"
mypy plugins --exclude setup.py || true
mypy flytekit/core
mypy flytekit/types
# allow-empty-bodies: Allow empty body in function.
# disable-error-code="annotation-unchecked": Remove the warning "By default the bodies of untyped functions are not checked".
# Mypy raises a warning because it cannot determine the type from the dataclass, despite we specified the type in the dataclass.
mypy --allow-empty-bodies --disable-error-code="annotation-unchecked" tests/flytekit/unit/core
pre-commit run --all-files

.PHONY: spellcheck
Expand All @@ -62,18 +59,6 @@ unit_test:
pytest -m "not sandbox_test" tests/flytekit/unit/ --ignore=tests/flytekit/unit/extras/tensorflow ${CODECOV_OPTS} && \
PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python pytest tests/flytekit/unit/extras/tensorflow ${CODECOV_OPTS}

requirements-spark2.txt: export CUSTOM_COMPILE_COMMAND := make requirements-spark2.txt
requirements-spark2.txt: requirements-spark2.in install-piptools
$(PIP_COMPILE) $<

requirements.txt: export CUSTOM_COMPILE_COMMAND := make requirements.txt
requirements.txt: requirements.in install-piptools
$(PIP_COMPILE) $<

dev-requirements.txt: export CUSTOM_COMPILE_COMMAND := make dev-requirements.txt
dev-requirements.txt: dev-requirements.in requirements.txt install-piptools
$(PIP_COMPILE) $<

doc-requirements.txt: export CUSTOM_COMPILE_COMMAND := make doc-requirements.txt
doc-requirements.txt: doc-requirements.in install-piptools
$(PIP_COMPILE) $<
Expand All @@ -83,7 +68,7 @@ ${MOCK_FLYTE_REPO}/requirements.txt: ${MOCK_FLYTE_REPO}/requirements.in install-
$(PIP_COMPILE) $<

.PHONY: requirements
requirements: requirements.txt dev-requirements.txt requirements-spark2.txt doc-requirements.txt ${MOCK_FLYTE_REPO}/requirements.txt ## Compile requirements
requirements: doc-requirements.txt ${MOCK_FLYTE_REPO}/requirements.txt ## Compile requirements

# TODO: Change this in the future to be all of flytekit
.PHONY: coverage
Expand Down
9 changes: 7 additions & 2 deletions dev-requirements.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
-c requirements.txt
-r requirements.in

git+https://github.com/flyteorg/pytest-flyte@main#egg=pytest-flyte
coverage[toml]
Expand All @@ -12,8 +12,13 @@ codespell
google-cloud-bigquery
google-cloud-bigquery-storage
IPython
tensorflow==2.8.1

# Only install tensorflow if not running on an arm Mac.
tensorflow==2.8.1; platform_machine!='arm64' or platform_system!='Darwin'
# Newer versions of torch bring in nvidia dependencies that are not present in windows, so
# we put this constraint while we do not have per-environment requirements files
torch<=1.12.1
scikit-learn
types-protobuf
types-croniter
types-mock
Loading