Skip to content

Commit 15cd150

Browse files
committed
Merge tag 'v1.13.13'
2 parents 00c6570 + 61c066c commit 15cd150

255 files changed

Lines changed: 11494 additions & 2157 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/monodocs_build.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ jobs:
1818
steps:
1919
- name: Fetch flytekit code
2020
uses: actions/checkout@v4
21-
with:
22-
path: "${{ github.workspace }}/flytekit"
21+
- name: 'Clear action cache'
22+
uses: ./.github/actions/clear-action-cache
2323
- name: Fetch flyte code
2424
uses: actions/checkout@v4
2525
with:
@@ -41,7 +41,6 @@ jobs:
4141
export SETUPTOOLS_SCM_PRETEND_VERSION="2.0.0"
4242
pip install -e ./flyteidl
4343
- shell: bash -el {0}
44-
working-directory: ${{ github.workspace }}/flytekit
4544
run: |
4645
conda activate monodocs-env
4746
pip install -e .
@@ -54,7 +53,7 @@ jobs:
5453
working-directory: ${{ github.workspace }}/flyte
5554
shell: bash -el {0}
5655
env:
57-
FLYTEKIT_LOCAL_PATH: ${{ github.workspace }}/flytekit
56+
FLYTEKIT_LOCAL_PATH: ${{ github.workspace }}
5857
run: |
5958
conda activate monodocs-env
6059
make -C docs clean html SPHINXOPTS="-W -vvv"

.github/workflows/pythonbuild.yml

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ on:
66
push:
77
branches:
88
- master
9+
- 'release-v**'
910
pull_request:
1011
schedule:
1112
- cron: "0 13 * * *" # This schedule runs at 1pm UTC every day
@@ -28,7 +29,7 @@ jobs:
2829
if [[ ${{ github.event_name }} == "schedule" ]]; then
2930
echo "python_versions=[\"3.8\",\"3.9\",\"3.10\",\"3.11\",\"3.12\"]" >> $GITHUB_ENV
3031
else
31-
echo "python_versions=[\"3.12\"]" >> $GITHUB_ENV
32+
echo "python_versions=[\"3.9\", \"3.12\"]" >> $GITHUB_ENV
3233
fi
3334
3435
build:
@@ -42,7 +43,7 @@ jobs:
4243
python-version: ${{fromJson(needs.detect-python-versions.outputs.python-versions)}}
4344
steps:
4445
- uses: actions/checkout@v4
45-
- name: 'Clear action cache'
46+
- name: "Clear action cache"
4647
uses: ./.github/actions/clear-action-cache
4748
- name: Set up Python ${{ matrix.python-version }}
4849
uses: actions/setup-python@v4
@@ -59,7 +60,7 @@ jobs:
5960
run: |
6061
pip install uv
6162
make setup-global-uv
62-
uv pip uninstall --system pandas
63+
uv pip uninstall --system pandas pyarrow
6364
uv pip freeze
6465
- name: Test with coverage
6566
run: |
@@ -81,7 +82,7 @@ jobs:
8182
python-version: ${{fromJson(needs.detect-python-versions.outputs.python-versions)}}
8283
steps:
8384
- uses: actions/checkout@v4
84-
- name: 'Clear action cache'
85+
- name: "Clear action cache"
8586
uses: ./.github/actions/clear-action-cache
8687
- name: Set up Python ${{ matrix.python-version }}
8788
uses: actions/setup-python@v4
@@ -98,7 +99,7 @@ jobs:
9899
run: |
99100
pip install uv
100101
make setup-global-uv
101-
uv pip uninstall --system pandas
102+
uv pip uninstall --system pandas pyarrow
102103
uv pip freeze
103104
- name: Run extras unit tests with coverage
104105
# Skip this step if running on python 3.12 due to https://github.com/tensorflow/tensorflow/issues/62003
@@ -128,10 +129,12 @@ jobs:
128129
pandas: "pandas<2.0.0"
129130
- numpy: "numpy<2.0.0"
130131
pandas: "pandas>=2.0.0"
132+
- numpy: "numpy>=2.0.0"
133+
python-version: "3.8"
131134

132135
steps:
133136
- uses: actions/checkout@v4
134-
- name: 'Clear action cache'
137+
- name: "Clear action cache"
135138
uses: ./.github/actions/clear-action-cache
136139
- name: Set up Python ${{ matrix.python-version }}
137140
uses: actions/setup-python@v4
@@ -242,12 +245,16 @@ jobs:
242245
matrix:
243246
os: [ubuntu-latest]
244247
python-version: ${{fromJson(needs.detect-python-versions.outputs.python-versions)}}
248+
makefile-cmd:
249+
[integration_test_codecov, integration_test_lftransfers_codecov]
245250
steps:
246251
# As described in https://github.com/pypa/setuptools_scm/issues/414, SCM needs git history
247252
# and tags to work.
248253
- uses: actions/checkout@v4
249254
with:
250255
fetch-depth: 0
256+
- name: "Clear action cache"
257+
uses: ./.github/actions/clear-action-cache # sandbox has disk pressure, so we need to clear the cache to get more disk space.
251258
- name: Set up Python ${{ matrix.python-version }}
252259
uses: actions/setup-python@v4
253260
with:
@@ -293,7 +300,7 @@ jobs:
293300
FLYTEKIT_CI: 1
294301
PYTEST_OPTS: -n2
295302
run: |
296-
make integration_test_codecov
303+
make ${{ matrix.makefile-cmd }}
297304
- name: Codecov
298305
uses: codecov/codecov-action@v3.1.0
299306
with:
@@ -330,18 +337,21 @@ jobs:
330337
- flytekit-hive
331338
- flytekit-huggingface
332339
- flytekit-identity-aware-proxy
340+
- flytekit-inference
333341
- flytekit-k8s-pod
334342
- flytekit-kf-mpi
335343
- flytekit-kf-pytorch
336344
- flytekit-kf-tensorflow
337345
- flytekit-mlflow
338346
- flytekit-mmcloud
339347
- flytekit-modin
348+
- flytekit-neptune
340349
- flytekit-onnx-pytorch
341350
- flytekit-onnx-scikitlearn
342351
# onnx-tensorflow needs a version of tensorflow that does not work with protobuf>4.
343352
# The issue is being tracked on the tensorflow side in https://github.com/tensorflow/tensorflow/issues/53234#issuecomment-1330111693
344353
# flytekit-onnx-tensorflow
354+
- flytekit-omegaconf
345355
- flytekit-openai
346356
- flytekit-pandera
347357
- flytekit-papermill
@@ -354,6 +364,10 @@ jobs:
354364
- flytekit-vaex
355365
- flytekit-whylogs
356366
exclude:
367+
- python-version: 3.8
368+
plugin-names: "flytekit-aws-sagemaker"
369+
- python-version: 3.9
370+
plugin-names: "flytekit-aws-sagemaker"
357371
# flytekit-modin depends on ray which does not have a 3.11 wheel yet.
358372
# Issue tracked in https://github.com/ray-project/ray/issues/27881
359373
- python-version: 3.11
@@ -383,9 +397,6 @@ jobs:
383397
# apache-beam, one of flytekit-airflow dependencies, does not support python 3.12: https://github.com/apache/beam/issues/29149
384398
- python-version: 3.12
385399
plugin-names: "flytekit-airflow"
386-
# ydata-profiling, a dependency of flytekit-deck-standard, does not support python 3.12: https://github.com/ydataai/ydata-profiling/issues/1510
387-
- python-version: 3.12
388-
plugin-names: "flytekit-deck-standard"
389400
# Tensorflow is a dependency of flytekit-mlflow tests and that is not supported yet: https://github.com/tensorflow/tensorflow/issues/62003
390401
- python-version: 3.12
391402
plugin-names: "flytekit-mlflow"
@@ -403,7 +414,7 @@ jobs:
403414
plugin-names: "flytekit-kf-pytorch"
404415
steps:
405416
- uses: actions/checkout@v4
406-
- name: 'Clear action cache'
417+
- name: "Clear action cache"
407418
uses: ./.github/actions/clear-action-cache
408419
- name: Set up Python ${{ matrix.python-version }}
409420
uses: actions/setup-python@v4
@@ -426,7 +437,7 @@ jobs:
426437
uv pip install --system .
427438
if [ -f dev-requirements.in ]; then uv pip install --system -r dev-requirements.in; fi
428439
# TODO: move to protobuf>=5. Github issue: https://github.com/flyteorg/flyte/issues/5448
429-
uv pip install --system -U $GITHUB_WORKSPACE "protobuf<5"
440+
uv pip install --system -U $GITHUB_WORKSPACE "protobuf<5" "git+https://github.com/flyteorg/flyte.git@master#subdirectory=flyteidl"
430441
# TODO: remove this when numpy v2 in onnx has been resolved
431442
if [[ ${{ matrix.plugin-names }} == *"onnx"* || ${{ matrix.plugin-names }} == "flytekit-sqlalchemy" || ${{ matrix.plugin-names }} == "flytekit-pandera" ]]; then
432443
uv pip install --system "numpy<2.0.0"

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ repos:
2323
hooks:
2424
- id: check_pdb_hook
2525
- repo: https://github.com/codespell-project/codespell
26-
rev: v2.2.6
26+
rev: v2.3.0
2727
hooks:
2828
- id: codespell
2929
additional_dependencies:

Dockerfile

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
ARG PYTHON_VERSION
1+
ARG PYTHON_VERSION=3.12
22
FROM python:${PYTHON_VERSION}-slim-bookworm
33

4-
MAINTAINER Flyte Team <users@flyte.org>
4+
LABEL org.opencontainers.image.authors="Flyte Team <users@flyte.org>"
55
LABEL org.opencontainers.image.source=https://github.com/flyteorg/flytekit
66

77
WORKDIR /root
8-
ENV PYTHONPATH /root
9-
ENV FLYTE_SDK_RICH_TRACEBACKS 0
8+
ENV PYTHONPATH=/root
9+
ENV FLYTE_SDK_RICH_TRACEBACKS=0
1010

1111
ARG VERSION
1212
ARG DOCKER_IMAGE
@@ -27,11 +27,12 @@ RUN apt-get update && apt-get install build-essential -y \
2727
&& apt-get clean autoclean \
2828
&& apt-get autoremove --yes \
2929
&& rm -rf /var/lib/{apt,dpkg,cache,log}/ \
30+
&& rm -rf /root/.cache/pip \
3031
&& useradd -u 1000 flytekit \
3132
&& chown flytekit: /root \
3233
&& chown flytekit: /home \
3334
&& :
3435

3536
USER flytekit
3637

37-
ENV FLYTE_INTERNAL_IMAGE "$DOCKER_IMAGE"
38+
ENV FLYTE_INTERNAL_IMAGE="$DOCKER_IMAGE"

Dockerfile.agent

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
1-
FROM python:3.10-slim-bookworm as agent-slim
1+
FROM python:3.10-slim-bookworm AS agent-slim
22

3-
MAINTAINER Flyte Team <users@flyte.org>
3+
LABEL org.opencontainers.image.authors="Flyte Team <users@flyte.org>"
44
LABEL org.opencontainers.image.source=https://github.com/flyteorg/flytekit
55

66
ARG VERSION
77

8-
RUN apt-get update && apt-get install build-essential -y
8+
RUN apt-get update && apt-get install build-essential -y \
9+
&& pip install uv
910

10-
RUN pip install prometheus-client grpcio-health-checking
11-
RUN pip install --no-cache-dir -U flytekit==$VERSION \
11+
RUN uv pip install --system prometheus-client grpcio-health-checking
12+
RUN uv pip install --system --no-cache-dir -U flytekit==$VERSION \
1213
flytekitplugins-airflow==$VERSION \
1314
flytekitplugins-bigquery==$VERSION \
1415
flytekitplugins-openai==$VERSION \
@@ -19,11 +20,11 @@ RUN pip install --no-cache-dir -U flytekit==$VERSION \
1920
&& rm -rf /var/lib/{apt,dpkg,cache,log}/ \
2021
&& :
2122

22-
CMD pyflyte serve agent --port 8000
23+
CMD ["pyflyte", "serve", "agent", "--port", "8000"]
2324

24-
FROM agent-slim as agent-all
25+
FROM agent-slim AS agent-all
2526
ARG VERSION
2627

27-
RUN pip install --no-cache-dir -U \
28+
RUN uv pip install --system --no-cache-dir -U \
2829
flytekitplugins-mmcloud==$VERSION \
2930
flytekitplugins-spark==$VERSION

Dockerfile.dev

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@
55
# From your test user code
66
# $ pyflyte run --image localhost:30000/flytekittest:someversion
77

8-
ARG PYTHON_VERSION
8+
ARG PYTHON_VERSION=3.12
99
FROM python:${PYTHON_VERSION}-slim-bookworm
1010

11-
MAINTAINER Flyte Team <users@flyte.org>
11+
LABEL org.opencontainers.image.authors="Flyte Team <users@flyte.org>"
1212
LABEL org.opencontainers.image.source=https://github.com/flyteorg/flytekit
1313

1414
WORKDIR /root
15-
ENV FLYTE_SDK_RICH_TRACEBACKS 0
15+
ENV FLYTE_SDK_RICH_TRACEBACKS=0
1616

1717
# Flytekit version of flytekit to be installed in the image
18-
ARG PSEUDO_VERSION
18+
ARG PSEUDO_VERSION=1.13.3
1919

2020

2121
# Note: Pod tasks should be exposed in the default image
@@ -38,10 +38,15 @@ RUN SETUPTOOLS_SCM_PRETEND_VERSION_FOR_FLYTEKIT=$PSEUDO_VERSION \
3838
uv pip install --system --no-cache-dir -U \
3939
"git+https://github.com/flyteorg/flyte.git@master#subdirectory=flyteidl" \
4040
-e /flytekit \
41-
-e /flytekit/plugins/flytekit-k8s-pod \
4241
-e /flytekit/plugins/flytekit-deck-standard \
4342
-e /flytekit/plugins/flytekit-flyteinteractive \
43+
markdown \
44+
pandas \
45+
pillow \
46+
plotly \
47+
pygments \
4448
scikit-learn \
49+
ydata-profiling \
4550
&& apt-get clean autoclean \
4651
&& apt-get autoremove --yes \
4752
&& rm -rf /var/lib/{apt,dpkg,cache,log}/ \
@@ -51,7 +56,7 @@ RUN SETUPTOOLS_SCM_PRETEND_VERSION_FOR_FLYTEKIT=$PSEUDO_VERSION \
5156
&& :
5257

5358

54-
ENV PYTHONPATH "/flytekit:/flytekit/plugins/flytekit-k8s-pod:/flytekit/plugins/flytekit-deck-standard:"
59+
ENV PYTHONPATH="/flytekit:/flytekit/tests/flytekit/integration/remote"
5560

5661
# Switch to the 'flytekit' user for better security.
5762
USER flytekit

Makefile

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,15 @@ integration_test_codecov:
9595

9696
.PHONY: integration_test
9797
integration_test:
98-
$(PYTEST_AND_OPTS) tests/flytekit/integration ${CODECOV_OPTS}
98+
$(PYTEST_AND_OPTS) tests/flytekit/integration ${CODECOV_OPTS} -m "not lftransfers"
99+
100+
.PHONY: integration_test_lftransfers_codecov
101+
integration_test_lftransfers_codecov:
102+
$(MAKE) CODECOV_OPTS="--cov=./ --cov-report=xml --cov-append" integration_test_lftransfers
103+
104+
.PHONY: integration_test_lftransfers
105+
integration_test_lftransfers:
106+
$(PYTEST) tests/flytekit/integration ${CODECOV_OPTS} -m "lftransfers"
99107

100108
doc-requirements.txt: export CUSTOM_COMPILE_COMMAND := make doc-requirements.txt
101109
doc-requirements.txt: doc-requirements.in install-piptools
@@ -119,5 +127,6 @@ build-dev: export PLATFORM ?= linux/arm64
119127
build-dev: export REGISTRY ?= localhost:30000
120128
build-dev: export PYTHON_VERSION ?= 3.12
121129
build-dev: export PSEUDO_VERSION ?= $(shell python -m setuptools_scm)
130+
build-dev: export TAG ?= dev
122131
build-dev:
123132
docker build --platform ${PLATFORM} --push . -f Dockerfile.dev -t ${REGISTRY}/flytekit:${TAG} --build-arg PYTHON_VERSION=${PYTHON_VERSION} --build-arg PSEUDO_VERSION=${PSEUDO_VERSION}

dev-requirements.in

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,14 @@ pre-commit
1616
codespell
1717
google-cloud-bigquery
1818
google-cloud-bigquery-storage
19+
snowflake-connector-python
1920
IPython
2021
keyrings.alt
2122
setuptools_scm
2223
pytest-icdiff
2324

2425
# Tensorflow is not available for python 3.12 yet: https://github.com/tensorflow/tensorflow/issues/62003
25-
tensorflow; python_version<'3.12'
26+
tensorflow<=2.15.1; python_version<'3.12'
2627
# Newer versions of torch bring in nvidia dependencies that are not present in windows, so
2728
# we put this constraint while we do not have per-environment requirements files
2829
torch<=1.12.1; python_version<'3.11'
@@ -50,6 +51,7 @@ autoflake
5051
pillow
5152
numpy
5253
pandas
54+
pyarrow
5355
scikit-learn
5456
types-requests
5557
prometheus-client

0 commit comments

Comments
 (0)