diff --git a/.devcontainer/Dockerfile.txt b/.devcontainer/Dockerfile.txt new file mode 100644 index 0000000..de453a9 --- /dev/null +++ b/.devcontainer/Dockerfile.txt @@ -0,0 +1,21 @@ +# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.236.0/containers/python-3/.devcontainer/base.Dockerfile + +# [Choice] Python version (use -bullseye variants on local arm64/Apple Silicon): 3, 3.10, 3.9, 3.8, 3.7, 3.6, 3-bullseye, 3.10-bullseye, 3.9-bullseye, 3.8-bullseye, 3.7-bullseye, 3.6-bullseye, 3-buster, 3.10-buster, 3.9-buster, 3.8-buster, 3.7-buster, 3.6-buster +ARG VARIANT="3.8-bullseye" +FROM mcr.microsoft.com/vscode/devcontainers/python:0-${VARIANT} + +# [Choice] Node.js version: none, lts/*, 16, 14, 12, 10 +ARG NODE_VERSION="none" +RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi + +# [Optional] If your pip requirements rarely change, uncomment this section to add them to the image. +COPY requirements.txt /tmp/pip-tmp/ +RUN pip3 --disable-pip-version-check --no-cache-dir install -r /tmp/pip-tmp/requirements.txt \ + && rm -rf /tmp/pip-tmp + +# [Optional] Uncomment this section to install additional OS packages. +# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ +# && apt-get -y install --no-install-recommends + +# [Optional] Uncomment this line to install global node packages. +# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g " 2>&1 \ No newline at end of file diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..6db5eda --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,71 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at: +// https://github.com/microsoft/vscode-dev-containers/tree/v0.236.0/containers/python-3 +{ + "name": "Sagemaker Demo", + "build": { + "dockerfile": "Dockerfile", + "context": "..", + "args": { + // Update 'VARIANT' to pick a Python version: 3, 3.10, 3.9, 3.8, 3.7, 3.6 + // Append -bullseye or -buster to pin to an OS version. + // Use -bullseye variants on local on arm64/Apple Silicon. + "VARIANT": "3.8", + // Options + "NODE_VERSION": "none" + } + }, + "containerEnv": { + "MLRUN_ENV_FILE": "${containerWorkspaceFolder}/mlrun.env", + "SHARED_DIR": "~/mlrun-data", + "MLRUN_TAG": "1.5.2" + }, + // Configure tool-specific properties. + "customizations": { + // Configure properties specific to VS Code. + "vscode": { + // Set *default* container specific settings.json values on container create. + "settings": { + "python.defaultInterpreterPath": "/usr/local/bin/python", + "python.linting.enabled": true, + "python.linting.pylintEnabled": true, + "python.formatting.autopep8Path": "/usr/local/py-utils/bin/autopep8", + "python.formatting.blackPath": "/usr/local/py-utils/bin/black", + "python.formatting.yapfPath": "/usr/local/py-utils/bin/yapf", + "python.linting.banditPath": "/usr/local/py-utils/bin/bandit", + "python.linting.flake8Path": "/usr/local/py-utils/bin/flake8", + "python.linting.mypyPath": "/usr/local/py-utils/bin/mypy", + "python.linting.pycodestylePath": "/usr/local/py-utils/bin/pycodestyle", + "python.linting.pydocstylePath": "/usr/local/py-utils/bin/pydocstyle", + "python.linting.pylintPath": "/usr/local/py-utils/bin/pylint" + }, + + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "ms-python.python", + "ms-python.vscode-pylance" + ] + } + }, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + "forwardPorts": [8060, 8070, 8080], + // "runArgs": [ "--network", "host"], + "portsAttributes": {"8060": {"label": "MLRun UI"}, "8070": {"label": "Nuclio UI"}, "8080": {"label": "MLRun API"}}, + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "chmod +x /workspaces/tutorials/start.sh", + // "postStartCommand": "echo XXX=$(ip route get 1.2.3.4 | awk '{print $7}') > xx.env", + + // Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. + "remoteUser": "vscode", + "features": { + "docker-from-docker": "latest", + "git": "latest", + "jupyterlab": "latest" + }, + "hostRequirements": { + "cpus": 4, + "memory": "8gb", + "storage": "32gb" + } +} \ No newline at end of file diff --git a/.flake8 b/.flake8 new file mode 100644 index 0000000..55b0286 --- /dev/null +++ b/.flake8 @@ -0,0 +1,6 @@ +[flake8] +max-line-length = 120 +extend-ignore = E203, W503 + +# exclude these dirs +exclude = .git,venv,playground \ No newline at end of file diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..6d82de4 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,61 @@ +name: CI + +on: + pull_request: + branches: + - development + push: + branches: + - main + +jobs: + lint: + name: Lint code (Python ${{ matrix.python-version }}) + runs-on: ubuntu-latest + strategy: + matrix: + python-version: [3.9] + steps: + - uses: actions/checkout@v3 + - name: Set up python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - uses: actions/cache@v2 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ hashFiles('**/dev-requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip-${{ matrix.python-version }}- + ${{ runner.os }}-pip- + - name: Install dependencies + run: | + python -m pip install --upgrade pip~=22.3.0 + pip install -r dev-requirements.txt + - name: Lint + run: make lint + + + tests: + name: Run tests (Python ${{ matrix.python-version }}) + runs-on: ubuntu-latest + strategy: + matrix: + python-version: [3.9] + steps: + - uses: actions/checkout@v3 + - name: Set up python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - uses: actions/cache@v2 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ hashFiles('requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip-${{ matrix.python-version }}- + ${{ runner.os }}-pip- + - name: Install automation scripts dependencies and add mlrun to dev packages + run: pip install -r requirements.txt -r dev-requirements.txt + - name: Test package + run: make test diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9fe17bc --- /dev/null +++ b/.gitignore @@ -0,0 +1,129 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +pip-wheel-metadata/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# 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__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..dfa0412 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,3 @@ +FROM mlrun/mlrun +RUN pip install sagemaker +RUN pip install xgboost \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..3bbc6ab --- /dev/null +++ b/Makefile @@ -0,0 +1,80 @@ + +PYTHON_INTERPRETER = python3 +SHARED_DIR ?= ~/mlrun-data +MLRUN_TAG ?= 1.4.0 +HOST_IP ?=$$(ip route get 1.2.3.4 | awk '{print $$7}') +CONDA_ENV ?= mlrun +SHELL=/bin/bash +CONDA_PY_VER ?= 3.9 +CONDA_ACTIVATE = source $$(conda info --base)/etc/profile.d/conda.sh ; conda activate ; conda activate + +################################################################################# +# COMMANDS # +################################################################################# + +.PHONY: help +help: ## Display available commands + @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' + +.PHONY: all +all: + $(error please pick a target) + +.PHONY: install-requirements +install-requirements: ## Install all requirements needed for development + $(PYTHON_INTERPRETER) -m pip install -r requirements.txt -r dev-requirements.txt + + +.PHONY: package-wheel +package-wheel: clean ## Build python package wheel + python setup.py bdist_wheel + +.PHONY: clean +clean: ## Clean python package build artifacts + rm -rf build + rm -rf dist + find . -type f -name "*.py[co]" -delete + find . -type d -name "__pycache__" -delete + +.PHONY: fmt +fmt: ## Format the code (using black and isort) + @echo "Running black fmt..." + $(PYTHON_INTERPRETER) -m black src + $(PYTHON_INTERPRETER) -m isort src + +.PHONY: lint +lint: fmt-check flake8 ## Run lint on the code + +.PHONY: fmt-check +fmt-check: ## Format and check the code (using black and isort) + @echo "Running black+isort fmt check..." + $(PYTHON_INTERPRETER) -m black --check --diff src + $(PYTHON_INTERPRETER) -m isort --check --diff src + +.PHONY: flake8 +flake8: ## Run flake8 lint + @echo "Running flake8 lint..." + $(PYTHON_INTERPRETER) -m flake8 src + +.PHONY: mlrun-docker +mlrun-docker: ## Start MLRun & Nuclio containers (using Docker compose) + mkdir $(SHARED_DIR) -p + @echo "HOST_IP=$(HOST_IP)" > .env + SHARED_DIR=$(SHARED_DIR) TAG=$(MLRUN_TAG) docker-compose -f compose.yaml up -d + @echo "use docker-compose stop / logs commands to stop or view logs" + +.PHONY: mlrun-api +mlrun-api: ## Run MLRun DB locally (as process) + @echo "Installing MLRun API dependencies ..." + $(PYTHON_INTERPRETER) -m pip install uvicorn~=0.17.0 dask-kubernetes~=0.11.0 apscheduler~=3.6 sqlite3-to-mysql~=1.4 + @echo "Starting local mlrun..." + MLRUN_ARTIFACT_PATH=$$(realpath ./artifacts) MLRUN_ENV_FILE= mlrun db -b + +.PHONY: conda-env +conda-env: ## Create a conda environment + @echo "Creating new conda environment $(CONDA_ENV)..." + conda create -n $(CONDA_ENV) -y python=$(CONDA_PY_VER) ipykernel graphviz pip + test -s ./mlrun.env && conda env config vars set -n $(CONDA_ENV) MLRUN_ENV_FILE=$$(realpath ./mlrun.env) + @echo "Installing requirements.txt..." + $(CONDA_ACTIVATE) $(CONDA_ENV); pip install -r requirements.txt + @echo -e "\nTo run mlrun API as a local process type:\n conda activate $(CONDA_ENV) && make mlrun-api" \ No newline at end of file diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 0000000..235c7be --- /dev/null +++ b/compose.yaml @@ -0,0 +1,94 @@ +services: + init_nuclio: + image: alpine:3.16 + command: + - "/bin/sh" + - "-c" + - | + mkdir -p /etc/nuclio/config/platform; \ + cat << EOF | tee /etc/nuclio/config/platform/platform.yaml + runtime: + common: + env: + MLRUN_DBPATH: http://${HOST_IP:?err}:8080 + local: + defaultFunctionContainerNetworkName: mlrun + defaultFunctionRestartPolicy: + name: always + maxRetryCount: 0 + defaultFunctionVolumes: + - volume: + name: mlrun-stuff + hostPath: + path: ${SHARED_DIR:?err} + volumeMount: + name: mlrun-stuff + mountPath: /home/jovyan/data/ + logger: + sinks: + myStdoutLoggerSink: + kind: stdout + system: + - level: debug + sink: myStdoutLoggerSink + functions: + - level: debug + sink: myStdoutLoggerSink + EOF + volumes: + - nuclio-platform-config:/etc/nuclio/config + + mlrun-api: + image: "mlrun/mlrun-api:${TAG:-1.1.2}" + ports: + - "8080:8080" + environment: + MLRUN_ARTIFACT_PATH: "${SHARED_DIR}/{{project}}" + # using local storage, meaning files / artifacts are stored locally, so we want to allow access to them + MLRUN_HTTPDB__REAL_PATH: /data + MLRUN_HTTPDB__DATA_VOLUME: "${SHARED_DIR}" + MLRUN_LOG_LEVEL: DEBUG + MLRUN_NUCLIO_DASHBOARD_URL: http://nuclio:8070 + MLRUN_HTTPDB__DSN: "sqlite:////data/mlrun.db?check_same_thread=false" + MLRUN_UI__URL: http://localhost:8060 + # not running on k8s meaning no need to store secrets + MLRUN_SECRET_STORES__KUBERNETES__AUTO_ADD_PROJECT_SECRETS: "false" + # let mlrun control nuclio resources + MLRUN_HTTPDB__PROJECTS__FOLLOWERS: "nuclio" + volumes: + - "${SHARED_DIR:?err}:/data" + networks: + - mlrun + + mlrun-ui: + image: "mlrun/mlrun-ui:${TAG:-1.1.2}" + ports: + - "8060:8090" + environment: + MLRUN_API_PROXY_URL: http://mlrun-api:8080 + MLRUN_NUCLIO_MODE: enable + MLRUN_NUCLIO_API_URL: http://nuclio:8070 + MLRUN_NUCLIO_UI_URL: http://localhost:8070 + networks: + - mlrun + + nuclio: + image: "quay.io/nuclio/dashboard:${NUCLIO_TAG:-stable-amd64}" + ports: + - "8070:8070" + environment: + NUCLIO_DASHBOARD_EXTERNAL_IP_ADDRESSES: "${HOST_IP:?err}" + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - nuclio-platform-config:/etc/nuclio/config + depends_on: + - init_nuclio + networks: + - mlrun + +volumes: + nuclio-platform-config: {} + +networks: + mlrun: + name: mlrun \ No newline at end of file diff --git a/dev-requirements.txt b/dev-requirements.txt new file mode 100644 index 0000000..ab2f267 --- /dev/null +++ b/dev-requirements.txt @@ -0,0 +1,4 @@ +pytest~=5.4 +black~=22.0 +isort~=5.7 +flake8~=5.0 \ No newline at end of file diff --git a/financial-payment-pipeline_v2.ipynb b/financial-payment-pipeline_v2.ipynb index adaf520..990c106 100644 --- a/financial-payment-pipeline_v2.ipynb +++ b/financial-payment-pipeline_v2.ipynb @@ -17,7 +17,7 @@ "output_type": "stream", "text": [ "sagemaker.config INFO - Not applying SDK defaults from location: /etc/xdg/sagemaker/config.yaml\n", - "sagemaker.config INFO - Not applying SDK defaults from location: /home/sagemaker-user/.config/sagemaker/config.yaml\n" + "sagemaker.config INFO - Not applying SDK defaults from location: /User/.config/sagemaker/config.yaml\n" ] } ], @@ -30,1097 +30,29 @@ }, { "cell_type": "code", - "execution_count": 2, - "id": "b742009e-c76f-45ec-91fc-e4c9cb0d06dc", - "metadata": {}, - "outputs": [], - "source": [ - "import mlrun\n", - "mlrun.set_env_from_file(\"env.var\")" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "d5399e5b-ca31-4e62-b099-d57d3146c27c", - "metadata": {}, - "outputs": [], - "source": [ - "# Set the base project name\n", - "project_name = 'sagemaker-payment'" - ] - }, - { - "cell_type": "code", - "execution_count": 4, + "execution_count": 34, "id": "e34f8c80-6584-4e80-981c-0f17e1584ebf", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "> 2024-01-24 14:54:25,603 [info] Project loaded successfully: {'project_name': 'sagemaker'}\n" - ] - } - ], - "source": [ - "project = mlrun.get_or_create_project(name=\"sagemaker\",\n", - " user_project=True,\n", - " context=\"./\")" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "6d313b06-19d0-4345-906c-9b9bc94e0857", - "metadata": {}, - "outputs": [], - "source": [ - "# Getting our model training function\n", - "train = project.set_function('./src/train.py', requirements=['sagemaker'],\n", - " name='train', kind='job', image='mlrun/mlrun')" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "200c7038-8ec4-49f2-8fee-a049d489f643", - "metadata": {}, - "outputs": [], - "source": [ - "evaluate_function = project.set_function(\n", - " \"src/evaluate.py\",\n", - " \"evaluate\",\n", - " handler=\"evaluate\",\n", - " image=\"mlrun/mlrun\",\n", - " requirements=[\"xgboost\"],\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "592cf102-9c36-48b2-8b9d-fd43c31916f7", - "metadata": {}, - "outputs": [], - "source": [ - "# Serving\n", - "serving_function = project.set_function(\n", - " func=\"src/serving.py\",\n", - " name=\"serving\",\n", - " kind=\"serving\",\n", - " image=\"mlrun/mlrun\",\n", - " requirements=[\"xgboost\"],\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "0c569982-0fce-4b1f-bed8-c3c978cb2ca6", - "metadata": { - "scrolled": true, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "> 2024-01-24 14:54:25,893 [info] Started building image: .mlrun/func-sagemaker-admin-train:latest\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "The `overwrite_build_params` parameter default will change from 'False' to 'True' in 1.8.0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[36mINFO\u001b[0m[0000] Retrieving image manifest mlrun/mlrun:1.6.0-rc22 \n", - "\u001b[36mINFO\u001b[0m[0000] Retrieving image mlrun/mlrun:1.6.0-rc22 from registry index.docker.io \n", - "\u001b[36mINFO\u001b[0m[0000] Built cross stage deps: map[] \n", - "\u001b[36mINFO\u001b[0m[0000] Retrieving image manifest mlrun/mlrun:1.6.0-rc22 \n", - "\u001b[36mINFO\u001b[0m[0000] Returning cached image manifest \n", - "\u001b[36mINFO\u001b[0m[0000] Executing 0 build triggers \n", - "\u001b[36mINFO\u001b[0m[0000] Building stage 'mlrun/mlrun:1.6.0-rc22' [idx: '0', base-idx: '-1'] \n", - "\u001b[36mINFO\u001b[0m[0000] Unpacking rootfs as cmd RUN echo 'Installing /empty/requirements.txt...'; cat /empty/requirements.txt requires it. \n", - "\u001b[36mINFO\u001b[0m[0040] ARG AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \n", - "\u001b[36mINFO\u001b[0m[0040] ARG AWS_DEFAULT_REGION=$AWS_DEFAULT_REGION \n", - "\u001b[36mINFO\u001b[0m[0040] ARG AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \n", - "\u001b[36mINFO\u001b[0m[0040] ARG SAGEMAKER-ROLE=$SAGEMAKER-ROLE \n", - "\u001b[36mINFO\u001b[0m[0040] RUN echo 'Installing /empty/requirements.txt...'; cat /empty/requirements.txt \n", - "\u001b[36mINFO\u001b[0m[0040] Initializing snapshotter ... \n", - "\u001b[36mINFO\u001b[0m[0040] Taking snapshot of full filesystem... \n", - "\u001b[36mINFO\u001b[0m[0067] Cmd: /bin/sh \n", - "\u001b[36mINFO\u001b[0m[0067] Args: [-c echo 'Installing /empty/requirements.txt...'; cat /empty/requirements.txt] \n", - "\u001b[36mINFO\u001b[0m[0067] Running: [/bin/sh -c echo 'Installing /empty/requirements.txt...'; cat /empty/requirements.txt] \n", - "Installing /empty/requirements.txt...\n", - "mlrun[complete]==1.6.0-rc22\n", - "sagemaker\n", - "\u001b[36mINFO\u001b[0m[0067] Taking snapshot of full filesystem... \n", - "\u001b[36mINFO\u001b[0m[0071] No files were changed, appending empty layer to config. No layer added to image. \n", - "\u001b[36mINFO\u001b[0m[0071] RUN python -m pip install -r /empty/requirements.txt \n", - "\u001b[36mINFO\u001b[0m[0071] Cmd: /bin/sh \n", - "\u001b[36mINFO\u001b[0m[0071] Args: [-c python -m pip install -r /empty/requirements.txt] \n", - "\u001b[36mINFO\u001b[0m[0071] Running: [/bin/sh -c python -m pip install -r /empty/requirements.txt] \n", - "Requirement already satisfied: mlrun[complete]==1.6.0-rc22 in /opt/conda/lib/python3.9/site-packages (from -r /empty/requirements.txt (line 1)) (1.6.0rc22)\n", - "Collecting sagemaker (from -r /empty/requirements.txt (line 2))\n", - " Obtaining dependency information for sagemaker from https://files.pythonhosted.org/packages/a2/db/683af222db2bbf0abb17e6c223b158e5e76e9251dd664f469d761eb6c027/sagemaker-2.204.0-py3-none-any.whl.metadata\n", - " Downloading sagemaker-2.204.0-py3-none-any.whl.metadata (13 kB)\n", - "Requirement already satisfied: urllib3<1.27,>=1.26.9 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.26.18)\n", - "Requirement already satisfied: GitPython>=3.1.30,~=3.1 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.1.41)\n", - "Requirement already satisfied: aiohttp~=3.8 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.9.1)\n", - "Requirement already satisfied: aiohttp-retry~=2.8 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.8.3)\n", - "Requirement already satisfied: click~=8.1 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (8.1.7)\n", - "Requirement already satisfied: kfp~=1.8 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.8.22)\n", - "Requirement already satisfied: nest-asyncio~=1.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.5.9)\n", - "Requirement already satisfied: ipython~=8.10 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (8.18.1)\n", - "Requirement already satisfied: nuclio-jupyter~=0.9.14 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.9.14)\n", - "Requirement already satisfied: numpy<1.27.0,>=1.16.5 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.26.3)\n", - "Requirement already satisfied: pandas<3,>=1.2 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.1.4)\n", - "Requirement already satisfied: pyarrow<15,>=10.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (14.0.2)\n", - "Requirement already satisfied: pyyaml~=5.1 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.4.1)\n", - "Requirement already satisfied: requests~=2.31 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.31.0)\n", - "Requirement already satisfied: tabulate~=0.8.6 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.8.10)\n", - "Requirement already satisfied: v3io~=0.5.21 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.5.21)\n", - "Requirement already satisfied: pydantic>=1.10.8,~=1.10 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.10.13)\n", - "Requirement already satisfied: mergedeep~=1.3 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.3.4)\n", - "Requirement already satisfied: v3io-frames~=0.10.10 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.10.10)\n", - "Requirement already satisfied: semver~=3.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.2)\n", - "Requirement already satisfied: dependency-injector~=4.41 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.41.0)\n", - "Requirement already satisfied: fsspec==2023.9.2 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.9.2)\n", - "Requirement already satisfied: v3iofs~=0.1.17 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.1.18)\n", - "Requirement already satisfied: storey~=1.6.16 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.6.16)\n", - "Requirement already satisfied: inflection~=0.5.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.5.1)\n", - "Requirement already satisfied: python-dotenv~=0.17.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.17.1)\n", - "Requirement already satisfied: setuptools~=68.2 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (68.2.2)\n", - "Requirement already satisfied: deprecated~=1.2 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.2.14)\n", - "Requirement already satisfied: jinja2~=3.1 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.1.3)\n", - "Requirement already satisfied: anyio~=3.7 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.7.1)\n", - "Requirement already satisfied: orjson~=3.9 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.9.10)\n", - "Requirement already satisfied: adlfs==2023.9.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.9.0)\n", - "Requirement already satisfied: aiobotocore<2.8,>=2.5.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.5.4)\n", - "Requirement already satisfied: avro~=1.11 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.11.3)\n", - "Requirement already satisfied: azure-core~=1.24 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.29.6)\n", - "Requirement already satisfied: azure-identity~=1.5 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.15.0)\n", - "Requirement already satisfied: azure-keyvault-secrets~=4.2 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.7.0)\n", - "Requirement already satisfied: boto3<1.29.0,>=1.28.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.28.17)\n", - "Requirement already satisfied: dask~=2023.9.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.9.3)\n", - "Requirement already satisfied: databricks-sdk~=0.13.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.13.0)\n", - "Requirement already satisfied: distributed~=2023.9.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.9.3)\n", - "Requirement already satisfied: gcsfs==2023.9.2 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.9.2)\n", - "Requirement already satisfied: google-cloud-bigquery[bqstorage,pandas]==3.14.1 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.14.1)\n", - "Requirement already satisfied: graphviz~=0.20.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.20.1)\n", - "Requirement already satisfied: kafka-python~=2.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.0.2)\n", - "Requirement already satisfied: mlflow~=2.8 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.9.2)\n", - "Requirement already satisfied: msrest~=0.6.21 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.6.21)\n", - "Requirement already satisfied: plotly<5.12.0,~=5.4 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.11.0)\n", - "Requirement already satisfied: pyopenssl>=23 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (23.2.0)\n", - "Requirement already satisfied: redis~=4.3 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.6.0)\n", - "Requirement already satisfied: s3fs==2023.9.2 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.9.2)\n", - "Requirement already satisfied: sqlalchemy~=1.4 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.4.51)\n", - "Requirement already satisfied: azure-datalake-store<0.1,>=0.0.46 in /opt/conda/lib/python3.9/site-packages (from adlfs==2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.0.53)\n", - "Requirement already satisfied: azure-storage-blob>=12.12.0 in /opt/conda/lib/python3.9/site-packages (from adlfs==2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (12.19.0)\n", - "Requirement already satisfied: decorator>4.1.2 in /opt/conda/lib/python3.9/site-packages (from gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.1.1)\n", - "Requirement already satisfied: google-auth>=1.2 in /opt/conda/lib/python3.9/site-packages (from gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.26.2)\n", - "Requirement already satisfied: google-auth-oauthlib in /opt/conda/lib/python3.9/site-packages (from gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.2.0)\n", - "Requirement already satisfied: google-cloud-storage in /opt/conda/lib/python3.9/site-packages (from gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.14.0)\n", - "Requirement already satisfied: google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0dev,>=1.31.5 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.15.0)\n", - "Requirement already satisfied: google-cloud-core<3.0.0dev,>=1.6.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.4.1)\n", - "Requirement already satisfied: google-resumable-media<3.0dev,>=0.6.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.7.0)\n", - "Requirement already satisfied: packaging>=20.0.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (23.1)\n", - "Requirement already satisfied: python-dateutil<3.0dev,>=2.7.2 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.8.2)\n", - "Requirement already satisfied: db-dtypes<2.0.0dev,>=0.3.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.2.0)\n", - "Requirement already satisfied: google-cloud-bigquery-storage<3.0.0dev,>=2.6.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.24.0)\n", - "Requirement already satisfied: grpcio<2.0dev,>=1.47.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.60.0)\n", - "Requirement already satisfied: attrs<24,>=23.1.0 in /opt/conda/lib/python3.9/site-packages (from sagemaker->-r /empty/requirements.txt (line 2)) (23.2.0)\n", - "INFO: pip is looking at multiple versions of sagemaker to determine which version is compatible with other requirements. This could take a while.\n", - " Obtaining dependency information for sagemaker from https://files.pythonhosted.org/packages/c9/18/39b659879f4312fc484c79043b0f49fd5446ecd1e1ad90c5043bd6d1c459/sagemaker-2.203.1-py3-none-any.whl.metadata\n", - " Downloading sagemaker-2.203.1-py3-none-any.whl.metadata (13 kB)\n", - " Obtaining dependency information for sagemaker from https://files.pythonhosted.org/packages/4a/b0/dd6e8ffc253768e3676837cd620dc108346a459d415353a582b61cb9feba/sagemaker-2.203.0-py3-none-any.whl.metadata\n", - " Downloading sagemaker-2.203.0-py3-none-any.whl.metadata (13 kB)\n", - " Obtaining dependency information for sagemaker from https://files.pythonhosted.org/packages/ca/c2/1720855a813b411f0f599f19a64042ae995f22aae9cac6fb73184f8684f9/sagemaker-2.202.1-py2.py3-none-any.whl.metadata\n", - " Downloading sagemaker-2.202.1-py2.py3-none-any.whl.metadata (13 kB)\n", - " Obtaining dependency information for sagemaker from https://files.pythonhosted.org/packages/57/02/48feefc9eae90689aa94196dcb0388b08a46b985125764d76e0683dce25d/sagemaker-2.202.0-py2.py3-none-any.whl.metadata\n", - " Downloading sagemaker-2.202.0-py2.py3-none-any.whl.metadata (13 kB)\n", - " Obtaining dependency information for sagemaker from https://files.pythonhosted.org/packages/43/0d/90d442a09cc7f82d433542a7a6f9014f6c1abdd01d95709efd602ca5c2f0/sagemaker-2.201.0-py2.py3-none-any.whl.metadata\n", - " Downloading sagemaker-2.201.0-py2.py3-none-any.whl.metadata (13 kB)\n", - " Obtaining dependency information for sagemaker from https://files.pythonhosted.org/packages/74/e9/7c99298b535fc3cb8cd50efe4978c2fd115a9eba22f3cf7bf1921ad6b53d/sagemaker-2.200.1-py2.py3-none-any.whl.metadata\n", - " Downloading sagemaker-2.200.1-py2.py3-none-any.whl.metadata (13 kB)\n", - " Obtaining dependency information for sagemaker from https://files.pythonhosted.org/packages/6b/2e/5a212380364960a209f8397be1f382e02d9078175435cc393e70af39d05a/sagemaker-2.200.0-py2.py3-none-any.whl.metadata\n", - " Downloading sagemaker-2.200.0-py2.py3-none-any.whl.metadata (13 kB)\n", - "INFO: pip is still looking at multiple versions of sagemaker to determine which version is compatible with other requirements. This could take a while.\n", - " Downloading sagemaker-2.199.0.tar.gz (1.0 MB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 15.4 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.198.0.tar.gz (919 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 919.4/919.4 kB 267.0 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.197.0.tar.gz (917 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 917.0/917.0 kB 322.2 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - "Requirement already satisfied: cloudpickle==2.2.1 in /opt/conda/lib/python3.9/site-packages (from sagemaker->-r /empty/requirements.txt (line 2)) (2.2.1)\n", - "Collecting google-pasta (from sagemaker->-r /empty/requirements.txt (line 2))\n", - " Downloading google_pasta-0.2.0-py3-none-any.whl (57 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 57.5/57.5 kB 235.4 MB/s eta 0:00:00\n", - "Requirement already satisfied: protobuf<5.0,>=3.12 in /opt/conda/lib/python3.9/site-packages (from sagemaker->-r /empty/requirements.txt (line 2)) (3.20.3)\n", - "Collecting smdebug_rulesconfig==1.0.1 (from sagemaker->-r /empty/requirements.txt (line 2))\n", - " Downloading smdebug_rulesconfig-1.0.1-py2.py3-none-any.whl (20 kB)\n", - "Collecting importlib-metadata<7.0,>=1.4.0 (from sagemaker->-r /empty/requirements.txt (line 2))\n", - " Obtaining dependency information for importlib-metadata<7.0,>=1.4.0 from https://files.pythonhosted.org/packages/59/9b/ecce94952ab5ea74c31dcf9ccf78ccd484eebebef06019bf8cb579ab4519/importlib_metadata-6.11.0-py3-none-any.whl.metadata\n", - " Downloading importlib_metadata-6.11.0-py3-none-any.whl.metadata (4.9 kB)\n", - "Collecting pathos (from sagemaker->-r /empty/requirements.txt (line 2))\n", - " Obtaining dependency information for pathos from https://files.pythonhosted.org/packages/d8/08/ac94fa6f9eefe32963b8a54e573dab0dbc0d3df24fd34924bd9ce7eab7c4/pathos-0.3.1-py3-none-any.whl.metadata\n", - " Downloading pathos-0.3.1-py3-none-any.whl.metadata (11 kB)\n", - "Collecting schema (from sagemaker->-r /empty/requirements.txt (line 2))\n", - " Downloading schema-0.7.5-py2.py3-none-any.whl (17 kB)\n", - "Collecting sagemaker (from -r /empty/requirements.txt (line 2))\n", - " Downloading sagemaker-2.196.0.tar.gz (916 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 916.9/916.9 kB 304.1 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.195.1.tar.gz (915 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 915.5/915.5 kB 320.7 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - "INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.\n", - " Downloading sagemaker-2.195.0.tar.gz (915 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 915.6/915.6 kB 264.9 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.194.0.tar.gz (913 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 913.3/913.3 kB 334.8 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.193.0.tar.gz (910 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 910.0/910.0 kB 327.0 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.192.1.tar.gz (902 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 902.8/902.8 kB 322.2 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.192.0.tar.gz (902 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 902.7/902.7 kB 279.5 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.191.0.tar.gz (896 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 896.6/896.6 kB 327.7 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.190.0.tar.gz (893 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 893.8/893.8 kB 318.9 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.189.0.tar.gz (893 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 893.3/893.3 kB 331.1 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.188.0.tar.gz (892 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 892.2/892.2 kB 331.7 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.187.0.tar.gz (886 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 886.2/886.2 kB 329.7 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.186.0.tar.gz (885 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 885.1/885.1 kB 327.1 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.185.0.tar.gz (884 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 884.9/884.9 kB 315.3 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.184.0.post0.tar.gz (884 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 884.8/884.8 kB 311.8 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.184.0.tar.gz (884 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 884.6/884.6 kB 323.8 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.183.0.tar.gz (869 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 869.2/869.2 kB 254.3 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.182.0.tar.gz (868 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 868.8/868.8 kB 321.1 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.181.0.tar.gz (868 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 868.5/868.5 kB 324.7 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.180.0.tar.gz (867 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 867.8/867.8 kB 322.9 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.179.0.tar.gz (862 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 862.6/862.6 kB 323.1 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.178.0.tar.gz (861 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 861.2/861.2 kB 302.0 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.177.1.tar.gz (857 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 857.8/857.8 kB 334.0 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.177.0.tar.gz (857 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 857.5/857.5 kB 320.1 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.176.0.tar.gz (857 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 857.5/857.5 kB 336.5 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.175.0.tar.gz (857 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 857.4/857.4 kB 286.9 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.174.0.tar.gz (857 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 857.4/857.4 kB 325.8 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.173.0.tar.gz (854 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 854.4/854.4 kB 335.3 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.172.0.tar.gz (852 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 852.8/852.8 kB 330.6 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.171.0.tar.gz (853 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 853.5/853.5 kB 232.4 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - "Collecting importlib-metadata<5.0,>=1.4.0 (from sagemaker->-r /empty/requirements.txt (line 2))\n", - " Downloading importlib_metadata-4.13.0-py3-none-any.whl (23 kB)\n", - "Collecting sagemaker (from -r /empty/requirements.txt (line 2))\n", - " Downloading sagemaker-2.170.0.tar.gz (852 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 852.4/852.4 kB 322.1 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - "Collecting protobuf3-to-dict<1.0,>=0.1.5 (from sagemaker->-r /empty/requirements.txt (line 2))\n", - " Downloading protobuf3-to-dict-0.1.5.tar.gz (3.5 kB)\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - "Collecting sagemaker (from -r /empty/requirements.txt (line 2))\n", - " Downloading sagemaker-2.169.0.tar.gz (851 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 851.8/851.8 kB 325.8 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.168.0.tar.gz (844 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 844.7/844.7 kB 333.0 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.167.0.tar.gz (843 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 843.4/843.4 kB 339.2 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.166.0.tar.gz (804 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 804.1/804.1 kB 321.6 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.165.0.tar.gz (803 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 803.4/803.4 kB 334.9 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.164.0.tar.gz (802 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 802.8/802.8 kB 323.5 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.163.0.tar.gz (800 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 800.9/800.9 kB 317.3 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.162.0.tar.gz (800 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 801.0/801.0 kB 319.3 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.161.0.tar.gz (799 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 799.1/799.1 kB 32.6 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.160.0.tar.gz (796 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 796.5/796.5 kB 198.0 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.159.0.tar.gz (795 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 795.2/795.2 kB 210.9 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.158.0.tar.gz (795 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 795.1/795.1 kB 207.1 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.157.0.tar.gz (790 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 790.6/790.6 kB 204.3 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.156.0.tar.gz (789 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 790.0/790.0 kB 224.6 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - " Downloading sagemaker-2.155.0.tar.gz (787 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 787.1/787.1 kB 193.3 MB/s eta 0:00:00\n", - " Preparing metadata (setup.py): started\n", - " Preparing metadata (setup.py): finished with status 'done'\n", - "Collecting attrs<23,>=20.3.0 (from sagemaker->-r /empty/requirements.txt (line 2))\n", - " Downloading attrs-22.2.0-py3-none-any.whl (60 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 60.0/60.0 kB 218.7 MB/s eta 0:00:00\n", - "Requirement already satisfied: jsonschema in /opt/conda/lib/python3.9/site-packages (from sagemaker->-r /empty/requirements.txt (line 2)) (4.21.0)\n", - "Requirement already satisfied: platformdirs in /opt/conda/lib/python3.9/site-packages (from sagemaker->-r /empty/requirements.txt (line 2)) (3.10.0)\n", - "Collecting tblib==1.7.0 (from sagemaker->-r /empty/requirements.txt (line 2))\n", - " Downloading tblib-1.7.0-py2.py3-none-any.whl (12 kB)\n", - "Requirement already satisfied: botocore<1.31.18,>=1.31.17 in /opt/conda/lib/python3.9/site-packages (from aiobotocore<2.8,>=2.5.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.31.17)\n", - "Requirement already satisfied: wrapt<2.0.0,>=1.10.10 in /opt/conda/lib/python3.9/site-packages (from aiobotocore<2.8,>=2.5.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.16.0)\n", - "Requirement already satisfied: aioitertools<1.0.0,>=0.5.1 in /opt/conda/lib/python3.9/site-packages (from aiobotocore<2.8,>=2.5.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.11.0)\n", - "Requirement already satisfied: multidict<7.0,>=4.5 in /opt/conda/lib/python3.9/site-packages (from aiohttp~=3.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (6.0.4)\n", - "Requirement already satisfied: yarl<2.0,>=1.0 in /opt/conda/lib/python3.9/site-packages (from aiohttp~=3.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.9.4)\n", - "Requirement already satisfied: frozenlist>=1.1.1 in /opt/conda/lib/python3.9/site-packages (from aiohttp~=3.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.4.1)\n", - "Requirement already satisfied: aiosignal>=1.1.2 in /opt/conda/lib/python3.9/site-packages (from aiohttp~=3.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.3.1)\n", - "Requirement already satisfied: async-timeout<5.0,>=4.0 in /opt/conda/lib/python3.9/site-packages (from aiohttp~=3.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.0.3)\n", - "Requirement already satisfied: idna>=2.8 in /opt/conda/lib/python3.9/site-packages (from anyio~=3.7->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.4)\n", - "Requirement already satisfied: sniffio>=1.1 in /opt/conda/lib/python3.9/site-packages (from anyio~=3.7->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.3.0)\n", - "Requirement already satisfied: exceptiongroup in /opt/conda/lib/python3.9/site-packages (from anyio~=3.7->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.2.0)\n", - "Requirement already satisfied: six>=1.11.0 in /opt/conda/lib/python3.9/site-packages (from azure-core~=1.24->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.16.0)\n", - "Requirement already satisfied: typing-extensions>=4.6.0 in /opt/conda/lib/python3.9/site-packages (from azure-core~=1.24->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.9.0)\n", - "Requirement already satisfied: cryptography>=2.5 in /opt/conda/lib/python3.9/site-packages (from azure-identity~=1.5->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (41.0.7)\n", - "Requirement already satisfied: msal<2.0.0,>=1.24.0 in /opt/conda/lib/python3.9/site-packages (from azure-identity~=1.5->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.26.0)\n", - "Requirement already satisfied: msal-extensions<2.0.0,>=0.3.0 in /opt/conda/lib/python3.9/site-packages (from azure-identity~=1.5->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.1.0)\n", - "Requirement already satisfied: azure-common~=1.1 in /opt/conda/lib/python3.9/site-packages (from azure-keyvault-secrets~=4.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.1.28)\n", - "Requirement already satisfied: isodate>=0.6.1 in /opt/conda/lib/python3.9/site-packages (from azure-keyvault-secrets~=4.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.6.1)\n", - "Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in /opt/conda/lib/python3.9/site-packages (from boto3<1.29.0,>=1.28.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.0.1)\n", - "Requirement already satisfied: s3transfer<0.7.0,>=0.6.0 in /opt/conda/lib/python3.9/site-packages (from boto3<1.29.0,>=1.28.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.6.2)\n", - "Requirement already satisfied: partd>=1.2.0 in /opt/conda/lib/python3.9/site-packages (from dask~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.4.1)\n", - "Requirement already satisfied: toolz>=0.10.0 in /opt/conda/lib/python3.9/site-packages (from dask~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.12.0)\n", - "Requirement already satisfied: locket>=1.0.0 in /opt/conda/lib/python3.9/site-packages (from distributed~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.0.0)\n", - "Requirement already satisfied: msgpack>=1.0.0 in /opt/conda/lib/python3.9/site-packages (from distributed~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.0.7)\n", - "Requirement already satisfied: psutil>=5.7.2 in /opt/conda/lib/python3.9/site-packages (from distributed~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.9.7)\n", - "Requirement already satisfied: sortedcontainers>=2.0.5 in /opt/conda/lib/python3.9/site-packages (from distributed~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.4.0)\n", - "Requirement already satisfied: tornado>=6.0.4 in /opt/conda/lib/python3.9/site-packages (from distributed~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (6.4)\n", - "Requirement already satisfied: zict>=3.0.0 in /opt/conda/lib/python3.9/site-packages (from distributed~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.0)\n", - "Requirement already satisfied: gitdb<5,>=4.0.1 in /opt/conda/lib/python3.9/site-packages (from GitPython>=3.1.30,~=3.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.0.11)\n", - "Requirement already satisfied: zipp>=0.5 in /opt/conda/lib/python3.9/site-packages (from importlib-metadata<5.0,>=1.4.0->sagemaker->-r /empty/requirements.txt (line 2)) (3.17.0)\n", - "Requirement already satisfied: jedi>=0.16 in /opt/conda/lib/python3.9/site-packages (from ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.19.1)\n", - "Requirement already satisfied: matplotlib-inline in /opt/conda/lib/python3.9/site-packages (from ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.1.6)\n", - "Requirement already satisfied: prompt-toolkit<3.1.0,>=3.0.41 in /opt/conda/lib/python3.9/site-packages (from ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.43)\n", - "Requirement already satisfied: pygments>=2.4.0 in /opt/conda/lib/python3.9/site-packages (from ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.17.2)\n", - "Requirement already satisfied: stack-data in /opt/conda/lib/python3.9/site-packages (from ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.6.3)\n", - "Requirement already satisfied: traitlets>=5 in /opt/conda/lib/python3.9/site-packages (from ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.14.1)\n", - "Requirement already satisfied: pexpect>4.3 in /opt/conda/lib/python3.9/site-packages (from ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.9.0)\n", - "Requirement already satisfied: MarkupSafe>=2.0 in /opt/conda/lib/python3.9/site-packages (from jinja2~=3.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.1.3)\n", - "Requirement already satisfied: absl-py<2,>=0.9 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.4.0)\n", - "Requirement already satisfied: kubernetes<26,>=8.0.0 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (25.3.0)\n", - "Requirement already satisfied: google-api-python-client<2,>=1.7.8 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.12.11)\n", - "Requirement already satisfied: requests-toolbelt<1,>=0.8.0 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.10.1)\n", - "Requirement already satisfied: kfp-server-api<2.0.0,>=1.1.2 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.8.5)\n", - "Requirement already satisfied: strip-hints<1,>=0.1.8 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.1.10)\n", - "Requirement already satisfied: docstring-parser<1,>=0.7.3 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.15)\n", - "Requirement already satisfied: kfp-pipeline-spec<0.2.0,>=0.1.16 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.1.16)\n", - "Requirement already satisfied: fire<1,>=0.3.1 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.5.0)\n", - "Requirement already satisfied: uritemplate<4,>=3.0.1 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.1)\n", - "Requirement already satisfied: typer<1.0,>=0.3.2 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.9.0)\n", - "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /opt/conda/lib/python3.9/site-packages (from jsonschema->sagemaker->-r /empty/requirements.txt (line 2)) (2023.12.1)\n", - "Requirement already satisfied: referencing>=0.28.4 in /opt/conda/lib/python3.9/site-packages (from jsonschema->sagemaker->-r /empty/requirements.txt (line 2)) (0.32.1)\n", - "Requirement already satisfied: rpds-py>=0.7.1 in /opt/conda/lib/python3.9/site-packages (from jsonschema->sagemaker->-r /empty/requirements.txt (line 2)) (0.17.1)\n", - "Requirement already satisfied: databricks-cli<1,>=0.8.7 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.18.0)\n", - "Requirement already satisfied: entrypoints<1 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.4)\n", - "Requirement already satisfied: pytz<2024 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.3.post1)\n", - "Requirement already satisfied: sqlparse<1,>=0.4.0 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.4.4)\n", - "Requirement already satisfied: alembic!=1.10.0,<2 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.13.1)\n", - "Requirement already satisfied: docker<7,>=4.0.0 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (6.1.3)\n", - "Requirement already satisfied: Flask<4 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.0)\n", - "Requirement already satisfied: scipy<2 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.11.4)\n", - "Requirement already satisfied: querystring-parser<2 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.2.4)\n", - "Requirement already satisfied: scikit-learn<2 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.4.0)\n", - "Requirement already satisfied: markdown<4,>=3.3 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.5.2)\n", - "Requirement already satisfied: matplotlib<4 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.8.2)\n", - "Requirement already satisfied: gunicorn<22 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (21.2.0)\n", - "Requirement already satisfied: requests-oauthlib>=0.5.0 in /opt/conda/lib/python3.9/site-packages (from msrest~=0.6.21->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.3.1)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/lib/python3.9/site-packages (from msrest~=0.6.21->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.11.17)\n", - "Requirement already satisfied: nbconvert>=6.4.5 in /opt/conda/lib/python3.9/site-packages (from nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (7.14.2)\n", - "Requirement already satisfied: notebook<7.0.0,>=6.4 in /opt/conda/lib/python3.9/site-packages (from nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (6.5.6)\n", - "Requirement already satisfied: tzdata>=2022.1 in /opt/conda/lib/python3.9/site-packages (from pandas<3,>=1.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.4)\n", - "Requirement already satisfied: tenacity>=6.2.0 in /opt/conda/lib/python3.9/site-packages (from plotly<5.12.0,~=5.4->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (8.2.3)\n", - "Requirement already satisfied: charset-normalizer<4,>=2 in /opt/conda/lib/python3.9/site-packages (from requests~=2.31->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.0.4)\n", - "Requirement already satisfied: greenlet!=0.4.17 in /opt/conda/lib/python3.9/site-packages (from sqlalchemy~=1.4->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.3)\n", - "Requirement already satisfied: xxhash>=1 in /opt/conda/lib/python3.9/site-packages (from storey~=1.6.16->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.4.1)\n", - "Requirement already satisfied: nuclio-sdk>=0.5.3 in /opt/conda/lib/python3.9/site-packages (from storey~=1.6.16->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.5.9)\n", - "Requirement already satisfied: future>=0.18.2 in /opt/conda/lib/python3.9/site-packages (from v3io~=0.5.21->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.18.3)\n", - "Requirement already satisfied: ujson>=3 in /opt/conda/lib/python3.9/site-packages (from v3io~=0.5.21->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.9.0)\n", - "Requirement already satisfied: googleapis-common-protos>=1.5.3 in /opt/conda/lib/python3.9/site-packages (from v3io-frames~=0.10.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.62.0)\n", - "Requirement already satisfied: grpcio-tools!=1.34.0,<1.49,>=1.30 in /opt/conda/lib/python3.9/site-packages (from v3io-frames~=0.10.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.48.2)\n", - "Collecting ppft>=1.7.6.7 (from pathos->sagemaker->-r /empty/requirements.txt (line 2))\n", - " Obtaining dependency information for ppft>=1.7.6.7 from https://files.pythonhosted.org/packages/f0/f8/0a493dfdf73edbfe58cae1323aec72d0152f463c7a351bd285e9d500985c/ppft-1.7.6.7-py3-none-any.whl.metadata\n", - " Downloading ppft-1.7.6.7-py3-none-any.whl.metadata (12 kB)\n", - "Collecting dill>=0.3.7 (from pathos->sagemaker->-r /empty/requirements.txt (line 2))\n", - " Obtaining dependency information for dill>=0.3.7 from https://files.pythonhosted.org/packages/f5/3a/74a29b11cf2cdfcd6ba89c0cecd70b37cd1ba7b77978ce611eb7a146a832/dill-0.3.7-py3-none-any.whl.metadata\n", - " Downloading dill-0.3.7-py3-none-any.whl.metadata (9.9 kB)\n", - "Collecting pox>=0.3.3 (from pathos->sagemaker->-r /empty/requirements.txt (line 2))\n", - " Obtaining dependency information for pox>=0.3.3 from https://files.pythonhosted.org/packages/17/c7/ef7e37e5a895f5de068b408a52bee0710b1092574b6b4ab247a767e9fbd5/pox-0.3.3-py3-none-any.whl.metadata\n", - " Downloading pox-0.3.3-py3-none-any.whl.metadata (8.0 kB)\n", - "Collecting multiprocess>=0.70.15 (from pathos->sagemaker->-r /empty/requirements.txt (line 2))\n", - " Obtaining dependency information for multiprocess>=0.70.15 from https://files.pythonhosted.org/packages/c6/c9/820b5ab056f4ada76fbe05bd481a948f287957d6cbfd59e2dd2618b408c1/multiprocess-0.70.15-py39-none-any.whl.metadata\n", - " Downloading multiprocess-0.70.15-py39-none-any.whl.metadata (7.2 kB)\n", - "Collecting contextlib2>=0.5.5 (from schema->sagemaker->-r /empty/requirements.txt (line 2))\n", - " Downloading contextlib2-21.6.0-py2.py3-none-any.whl (13 kB)\n", - "Requirement already satisfied: Mako in /opt/conda/lib/python3.9/site-packages (from alembic!=1.10.0,<2->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.3.0)\n", - "Requirement already satisfied: cffi in /opt/conda/lib/python3.9/site-packages (from azure-datalake-store<0.1,>=0.0.46->adlfs==2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.16.0)\n", - "Requirement already satisfied: pyjwt>=1.7.0 in /opt/conda/lib/python3.9/site-packages (from databricks-cli<1,>=0.8.7->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.8.0)\n", - "Requirement already satisfied: oauthlib>=3.1.0 in /opt/conda/lib/python3.9/site-packages (from databricks-cli<1,>=0.8.7->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.2.2)\n", - "Requirement already satisfied: websocket-client>=0.32.0 in /opt/conda/lib/python3.9/site-packages (from docker<7,>=4.0.0->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.7.0)\n", - "Requirement already satisfied: termcolor in /opt/conda/lib/python3.9/site-packages (from fire<1,>=0.3.1->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.4.0)\n", - "Requirement already satisfied: Werkzeug>=3.0.0 in /opt/conda/lib/python3.9/site-packages (from Flask<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.1)\n", - "Requirement already satisfied: itsdangerous>=2.1.2 in /opt/conda/lib/python3.9/site-packages (from Flask<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.1.2)\n", - "Requirement already satisfied: blinker>=1.6.2 in /opt/conda/lib/python3.9/site-packages (from Flask<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.7.0)\n", - "Requirement already satisfied: smmap<6,>=3.0.1 in /opt/conda/lib/python3.9/site-packages (from gitdb<5,>=4.0.1->GitPython>=3.1.30,~=3.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.0.1)\n", - "Requirement already satisfied: httplib2<1dev,>=0.15.0 in /opt/conda/lib/python3.9/site-packages (from google-api-python-client<2,>=1.7.8->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.22.0)\n", - "Requirement already satisfied: google-auth-httplib2>=0.0.3 in /opt/conda/lib/python3.9/site-packages (from google-api-python-client<2,>=1.7.8->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.2.0)\n", - "Requirement already satisfied: cachetools<6.0,>=2.0.0 in /opt/conda/lib/python3.9/site-packages (from google-auth>=1.2->gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.3.2)\n", - "Requirement already satisfied: pyasn1-modules>=0.2.1 in /opt/conda/lib/python3.9/site-packages (from google-auth>=1.2->gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.3.0)\n", - "Requirement already satisfied: rsa<5,>=3.1.4 in /opt/conda/lib/python3.9/site-packages (from google-auth>=1.2->gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.9)\n", - "Requirement already satisfied: proto-plus<2.0.0dev,>=1.22.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery-storage<3.0.0dev,>=2.6.0->google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.23.0)\n", - "Requirement already satisfied: google-crc32c<2.0dev,>=1.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-storage->gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.5.0)\n", - "Requirement already satisfied: parso<0.9.0,>=0.8.3 in /opt/conda/lib/python3.9/site-packages (from jedi>=0.16->ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.8.3)\n", - "Requirement already satisfied: contourpy>=1.0.1 in /opt/conda/lib/python3.9/site-packages (from matplotlib<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.2.0)\n", - "Requirement already satisfied: cycler>=0.10 in /opt/conda/lib/python3.9/site-packages (from matplotlib<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.12.1)\n", - "Requirement already satisfied: fonttools>=4.22.0 in /opt/conda/lib/python3.9/site-packages (from matplotlib<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.47.2)\n", - "Requirement already satisfied: kiwisolver>=1.3.1 in /opt/conda/lib/python3.9/site-packages (from matplotlib<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.4.5)\n", - "Requirement already satisfied: pillow>=8 in /opt/conda/lib/python3.9/site-packages (from matplotlib<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (10.2.0)\n", - "Requirement already satisfied: pyparsing>=2.3.1 in /opt/conda/lib/python3.9/site-packages (from matplotlib<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.1.1)\n", - "Requirement already satisfied: importlib-resources>=3.2.0 in /opt/conda/lib/python3.9/site-packages (from matplotlib<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (6.1.1)\n", - "Requirement already satisfied: portalocker<3,>=1.0 in /opt/conda/lib/python3.9/site-packages (from msal-extensions<2.0.0,>=0.3.0->azure-identity~=1.5->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.8.2)\n", - "Requirement already satisfied: beautifulsoup4 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.12.3)\n", - "Requirement already satisfied: bleach!=5.0.0 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (6.1.0)\n", - "Requirement already satisfied: defusedxml in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.7.1)\n", - "Requirement already satisfied: jupyter-core>=4.7 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.7.1)\n", - "Requirement already satisfied: jupyterlab-pygments in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.3.0)\n", - "Requirement already satisfied: mistune<4,>=2.0.3 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.2)\n", - "Requirement already satisfied: nbclient>=0.5.0 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.9.0)\n", - "Requirement already satisfied: nbformat>=5.7 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.9.2)\n", - "Requirement already satisfied: pandocfilters>=1.4.1 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.5.0)\n", - "Requirement already satisfied: tinycss2 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.2.1)\n", - "Requirement already satisfied: pyzmq<25,>=17 in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (24.0.1)\n", - "Requirement already satisfied: argon2-cffi in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (23.1.0)\n", - "Requirement already satisfied: jupyter-client<8,>=5.3.4 in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (7.4.9)\n", - "Requirement already satisfied: ipython-genutils in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.2.0)\n", - "Requirement already satisfied: ipykernel in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (6.29.0)\n", - "Requirement already satisfied: Send2Trash>=1.8.0 in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.8.2)\n", - "Requirement already satisfied: terminado>=0.8.3 in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.18.0)\n", - "Requirement already satisfied: prometheus-client in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.19.0)\n", - "Requirement already satisfied: nbclassic>=0.4.7 in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.0.0)\n", - "Requirement already satisfied: ptyprocess>=0.5 in /opt/conda/lib/python3.9/site-packages (from pexpect>4.3->ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.7.0)\n", - "Requirement already satisfied: wcwidth in /opt/conda/lib/python3.9/site-packages (from prompt-toolkit<3.1.0,>=3.0.41->ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.2.13)\n", - "Requirement already satisfied: joblib>=1.2.0 in /opt/conda/lib/python3.9/site-packages (from scikit-learn<2->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.3.2)\n", - "Requirement already satisfied: threadpoolctl>=2.0.0 in /opt/conda/lib/python3.9/site-packages (from scikit-learn<2->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.2.0)\n", - "Requirement already satisfied: wheel in /opt/conda/lib/python3.9/site-packages (from strip-hints<1,>=0.1.8->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.41.2)\n", - "Requirement already satisfied: executing>=1.2.0 in /opt/conda/lib/python3.9/site-packages (from stack-data->ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.0.1)\n", - "Requirement already satisfied: asttokens>=2.1.0 in /opt/conda/lib/python3.9/site-packages (from stack-data->ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.4.1)\n", - "Requirement already satisfied: pure-eval in /opt/conda/lib/python3.9/site-packages (from stack-data->ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.2.2)\n", - "Requirement already satisfied: webencodings in /opt/conda/lib/python3.9/site-packages (from bleach!=5.0.0->nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.5.1)\n", - "Requirement already satisfied: pycparser in /opt/conda/lib/python3.9/site-packages (from cffi->azure-datalake-store<0.1,>=0.0.46->adlfs==2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.21)\n", - "Requirement already satisfied: grpcio-status<2.0.dev0,>=1.33.2 in /opt/conda/lib/python3.9/site-packages (from google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0dev,>=1.31.5->google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.48.2)\n", - "Requirement already satisfied: jupyter-server>=1.8 in /opt/conda/lib/python3.9/site-packages (from nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.12.5)\n", - "Requirement already satisfied: notebook-shim>=0.2.3 in /opt/conda/lib/python3.9/site-packages (from nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.2.3)\n", - "Requirement already satisfied: fastjsonschema in /opt/conda/lib/python3.9/site-packages (from nbformat>=5.7->nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.19.1)\n", - "Requirement already satisfied: pyasn1<0.6.0,>=0.4.6 in /opt/conda/lib/python3.9/site-packages (from pyasn1-modules>=0.2.1->google-auth>=1.2->gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.5.1)\n", - "Requirement already satisfied: argon2-cffi-bindings in /opt/conda/lib/python3.9/site-packages (from argon2-cffi->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (21.2.0)\n", - "Requirement already satisfied: soupsieve>1.2 in /opt/conda/lib/python3.9/site-packages (from beautifulsoup4->nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.5)\n", - "Requirement already satisfied: comm>=0.1.1 in /opt/conda/lib/python3.9/site-packages (from ipykernel->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.2.1)\n", - "Requirement already satisfied: debugpy>=1.6.5 in /opt/conda/lib/python3.9/site-packages (from ipykernel->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.8.0)\n", - "Requirement already satisfied: jupyter-events>=0.9.0 in /opt/conda/lib/python3.9/site-packages (from jupyter-server>=1.8->nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.9.0)\n", - "Requirement already satisfied: jupyter-server-terminals in /opt/conda/lib/python3.9/site-packages (from jupyter-server>=1.8->nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.5.1)\n", - "Requirement already satisfied: overrides in /opt/conda/lib/python3.9/site-packages (from jupyter-server>=1.8->nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (7.4.0)\n", - "Requirement already satisfied: python-json-logger>=2.0.4 in /opt/conda/lib/python3.9/site-packages (from jupyter-events>=0.9.0->jupyter-server>=1.8->nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.0.7)\n", - "Requirement already satisfied: rfc3339-validator in /opt/conda/lib/python3.9/site-packages (from jupyter-events>=0.9.0->jupyter-server>=1.8->nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.1.4)\n", - "Requirement already satisfied: rfc3986-validator>=0.1.1 in /opt/conda/lib/python3.9/site-packages (from jupyter-events>=0.9.0->jupyter-server>=1.8->nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.1.1)\n", - "Requirement already satisfied: fqdn in /opt/conda/lib/python3.9/site-packages (from jsonschema->sagemaker->-r /empty/requirements.txt (line 2)) (1.5.1)\n", - "Requirement already satisfied: isoduration in /opt/conda/lib/python3.9/site-packages (from jsonschema->sagemaker->-r /empty/requirements.txt (line 2)) (20.11.0)\n", - "Requirement already satisfied: jsonpointer>1.13 in /opt/conda/lib/python3.9/site-packages (from jsonschema->sagemaker->-r /empty/requirements.txt (line 2)) (2.1)\n", - "Requirement already satisfied: uri-template in /opt/conda/lib/python3.9/site-packages (from jsonschema->sagemaker->-r /empty/requirements.txt (line 2)) (1.3.0)\n", - "Requirement already satisfied: webcolors>=1.11 in /opt/conda/lib/python3.9/site-packages (from jsonschema->sagemaker->-r /empty/requirements.txt (line 2)) (1.13)\n", - "Requirement already satisfied: arrow>=0.15.0 in /opt/conda/lib/python3.9/site-packages (from isoduration->jsonschema->sagemaker->-r /empty/requirements.txt (line 2)) (1.3.0)\n", - "Requirement already satisfied: types-python-dateutil>=2.8.10 in /opt/conda/lib/python3.9/site-packages (from arrow>=0.15.0->isoduration->jsonschema->sagemaker->-r /empty/requirements.txt (line 2)) (2.8.19.20240106)\n", - "Downloading pathos-0.3.1-py3-none-any.whl (82 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 82.1/82.1 kB 240.8 MB/s eta 0:00:00\n", - "Downloading dill-0.3.7-py3-none-any.whl (115 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 115.3/115.3 kB 292.0 MB/s eta 0:00:00\n", - "Downloading multiprocess-0.70.15-py39-none-any.whl (133 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.3/133.3 kB 299.6 MB/s eta 0:00:00\n", - "Downloading pox-0.3.3-py3-none-any.whl (29 kB)\n", - "Downloading ppft-1.7.6.7-py3-none-any.whl (56 kB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.8/56.8 kB 248.1 MB/s eta 0:00:00\n", - "Building wheels for collected packages: sagemaker, protobuf3-to-dict\n", - " Building wheel for sagemaker (setup.py): started\n", - " Building wheel for sagemaker (setup.py): finished with status 'done'\n", - " Created wheel for sagemaker: filename=sagemaker-2.155.0-py2.py3-none-any.whl size=1062941 sha256=105f2bc9e983bc82fc197aa46a9990538c14a63ab1b8ba222c7765ce44a9d788\n", - " Stored in directory: /tmp/pip-ephem-wheel-cache-amlwhk99/wheels/86/0d/22/744959c10ece5fa9187ad47b4a8753a0794bc7ea017f10316d\n", - " Building wheel for protobuf3-to-dict (setup.py): started\n", - " Building wheel for protobuf3-to-dict (setup.py): finished with status 'done'\n", - " Created wheel for protobuf3-to-dict: filename=protobuf3_to_dict-0.1.5-py3-none-any.whl size=4009 sha256=8517d1d35f1e54c52a51d97eaeecfd5b380b65782f4ec67a841c0217ad0cb378\n", - " Stored in directory: /tmp/pip-ephem-wheel-cache-amlwhk99/wheels/21/bf/76/90dd7b8d0598c7642532062ddff00ecef07df873c36396488c\n", - "Successfully built sagemaker protobuf3-to-dict\n", - "Installing collected packages: tblib, smdebug_rulesconfig, protobuf3-to-dict, ppft, pox, importlib-metadata, google-pasta, dill, contextlib2, attrs, schema, multiprocess, pathos, sagemaker\n", - " Attempting uninstall: tblib\n", - " Found existing installation: tblib 3.0.0\n", - " Uninstalling tblib-3.0.0:\n", - " Successfully uninstalled tblib-3.0.0\n", - " Attempting uninstall: importlib-metadata\n", - " Found existing installation: importlib-metadata 7.0.1\n", - " Uninstalling importlib-metadata-7.0.1:\n", - " Successfully uninstalled importlib-metadata-7.0.1\n", - " Attempting uninstall: attrs\n", - " Found existing installation: attrs 23.2.0\n", - " Uninstalling attrs-23.2.0:\n", - " Successfully uninstalled attrs-23.2.0\n", - "Successfully installed attrs-22.2.0 contextlib2-21.6.0 dill-0.3.7 google-pasta-0.2.0 importlib-metadata-4.13.0 multiprocess-0.70.15 pathos-0.3.1 pox-0.3.3 ppft-1.7.6.7 protobuf3-to-dict-0.1.5 sagemaker-2.155.0 schema-0.7.5 smdebug_rulesconfig-1.0.1 tblib-1.7.0\n", - "WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\n", - "\u001b[36mINFO\u001b[0m[0106] Taking snapshot of full filesystem... \n", - "\u001b[36mINFO\u001b[0m[0111] Pushing image to docker-registry.default-tenant.app.cust-cs-il-353.iguazio-cd2.com/mlrun/func-sagemaker-admin-train:latest \n", - "\u001b[36mINFO\u001b[0m[0111] Pushed docker-registry.default-tenant.app.cust-cs-il-353.iguazio-cd2.com/mlrun/func-sagemaker-admin-train@sha256:4a9ea72cfc361ca187030f6fb913382c4d1dc3787aa02b241cc8b69dc317dac4 \n" - ] - }, - { - "data": { - "text/plain": [ - "BuildStatus(ready=True, outputs={'image': '.mlrun/func-sagemaker-admin-train:latest'})" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "project.build_function(\"train\")" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "6fc59031-fa07-491e-a33b-5b628e56e14e", "metadata": { - "scrolled": true, "tags": [] }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "The `overwrite_build_params` parameter default will change from 'False' to 'True' in 1.8.0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "> 2024-01-24 14:56:24,075 [info] Started building image: .mlrun/func-sagemaker-admin-evaluate:latest\n", - "\u001b[36mINFO\u001b[0m[0000] Retrieving image manifest mlrun/mlrun:1.6.0-rc22 \n", - "\u001b[36mINFO\u001b[0m[0000] Retrieving image mlrun/mlrun:1.6.0-rc22 from registry index.docker.io \n", - "\u001b[36mINFO\u001b[0m[0000] Built cross stage deps: map[] \n", - "\u001b[36mINFO\u001b[0m[0000] Retrieving image manifest mlrun/mlrun:1.6.0-rc22 \n", - "\u001b[36mINFO\u001b[0m[0000] Returning cached image manifest \n", - "\u001b[36mINFO\u001b[0m[0000] Executing 0 build triggers \n", - "\u001b[36mINFO\u001b[0m[0000] Building stage 'mlrun/mlrun:1.6.0-rc22' [idx: '0', base-idx: '-1'] \n", - "\u001b[36mINFO\u001b[0m[0000] Unpacking rootfs as cmd RUN echo 'Installing /empty/requirements.txt...'; cat /empty/requirements.txt requires it. \n", - "\u001b[36mINFO\u001b[0m[0036] ARG AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \n", - "\u001b[36mINFO\u001b[0m[0036] ARG AWS_DEFAULT_REGION=$AWS_DEFAULT_REGION \n", - "\u001b[36mINFO\u001b[0m[0036] ARG AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \n", - "\u001b[36mINFO\u001b[0m[0036] ARG SAGEMAKER-ROLE=$SAGEMAKER-ROLE \n", - "\u001b[36mINFO\u001b[0m[0036] RUN echo 'Installing /empty/requirements.txt...'; cat /empty/requirements.txt \n", - "\u001b[36mINFO\u001b[0m[0036] Initializing snapshotter ... \n", - "\u001b[36mINFO\u001b[0m[0036] Taking snapshot of full filesystem... \n", - "\u001b[36mINFO\u001b[0m[0066] Cmd: /bin/sh \n", - "\u001b[36mINFO\u001b[0m[0066] Args: [-c echo 'Installing /empty/requirements.txt...'; cat /empty/requirements.txt] \n", - "\u001b[36mINFO\u001b[0m[0066] Running: [/bin/sh -c echo 'Installing /empty/requirements.txt...'; cat /empty/requirements.txt] \n", - "Installing /empty/requirements.txt...\n", - "mlrun[complete]==1.6.0-rc22\n", - "xgboost\n", - "\u001b[36mINFO\u001b[0m[0066] Taking snapshot of full filesystem... \n", - "\u001b[36mINFO\u001b[0m[0071] No files were changed, appending empty layer to config. No layer added to image. \n", - "\u001b[36mINFO\u001b[0m[0071] RUN python -m pip install -r /empty/requirements.txt \n", - "\u001b[36mINFO\u001b[0m[0071] Cmd: /bin/sh \n", - "\u001b[36mINFO\u001b[0m[0071] Args: [-c python -m pip install -r /empty/requirements.txt] \n", - "\u001b[36mINFO\u001b[0m[0071] Running: [/bin/sh -c python -m pip install -r /empty/requirements.txt] \n", - "Requirement already satisfied: mlrun[complete]==1.6.0-rc22 in /opt/conda/lib/python3.9/site-packages (from -r /empty/requirements.txt (line 1)) (1.6.0rc22)\n", - "Collecting xgboost (from -r /empty/requirements.txt (line 2))\n", - " Obtaining dependency information for xgboost from https://files.pythonhosted.org/packages/c3/eb/496aa2f5d356af4185f770bc76055307f8d1870e11016b10fd779b21769c/xgboost-2.0.3-py3-none-manylinux2014_x86_64.whl.metadata\n", - " Downloading xgboost-2.0.3-py3-none-manylinux2014_x86_64.whl.metadata (2.0 kB)\n", - "Requirement already satisfied: urllib3<1.27,>=1.26.9 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.26.18)\n", - "Requirement already satisfied: GitPython>=3.1.30,~=3.1 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.1.41)\n", - "Requirement already satisfied: aiohttp~=3.8 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.9.1)\n", - "Requirement already satisfied: aiohttp-retry~=2.8 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.8.3)\n", - "Requirement already satisfied: click~=8.1 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (8.1.7)\n", - "Requirement already satisfied: kfp~=1.8 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.8.22)\n", - "Requirement already satisfied: nest-asyncio~=1.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.5.9)\n", - "Requirement already satisfied: ipython~=8.10 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (8.18.1)\n", - "Requirement already satisfied: nuclio-jupyter~=0.9.14 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.9.14)\n", - "Requirement already satisfied: numpy<1.27.0,>=1.16.5 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.26.3)\n", - "Requirement already satisfied: pandas<3,>=1.2 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.1.4)\n", - "Requirement already satisfied: pyarrow<15,>=10.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (14.0.2)\n", - "Requirement already satisfied: pyyaml~=5.1 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.4.1)\n", - "Requirement already satisfied: requests~=2.31 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.31.0)\n", - "Requirement already satisfied: tabulate~=0.8.6 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.8.10)\n", - "Requirement already satisfied: v3io~=0.5.21 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.5.21)\n", - "Requirement already satisfied: pydantic>=1.10.8,~=1.10 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.10.13)\n", - "Requirement already satisfied: mergedeep~=1.3 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.3.4)\n", - "Requirement already satisfied: v3io-frames~=0.10.10 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.10.10)\n", - "Requirement already satisfied: semver~=3.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.2)\n", - "Requirement already satisfied: dependency-injector~=4.41 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.41.0)\n", - "Requirement already satisfied: fsspec==2023.9.2 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.9.2)\n", - "Requirement already satisfied: v3iofs~=0.1.17 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.1.18)\n", - "Requirement already satisfied: storey~=1.6.16 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.6.16)\n", - "Requirement already satisfied: inflection~=0.5.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.5.1)\n", - "Requirement already satisfied: python-dotenv~=0.17.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.17.1)\n", - "Requirement already satisfied: setuptools~=68.2 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (68.2.2)\n", - "Requirement already satisfied: deprecated~=1.2 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.2.14)\n", - "Requirement already satisfied: jinja2~=3.1 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.1.3)\n", - "Requirement already satisfied: anyio~=3.7 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.7.1)\n", - "Requirement already satisfied: orjson~=3.9 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.9.10)\n", - "Requirement already satisfied: adlfs==2023.9.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.9.0)\n", - "Requirement already satisfied: aiobotocore<2.8,>=2.5.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.5.4)\n", - "Requirement already satisfied: avro~=1.11 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.11.3)\n", - "Requirement already satisfied: azure-core~=1.24 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.29.6)\n", - "Requirement already satisfied: azure-identity~=1.5 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.15.0)\n", - "Requirement already satisfied: azure-keyvault-secrets~=4.2 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.7.0)\n", - "Requirement already satisfied: boto3<1.29.0,>=1.28.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.28.17)\n", - "Requirement already satisfied: dask~=2023.9.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.9.3)\n", - "Requirement already satisfied: databricks-sdk~=0.13.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.13.0)\n", - "Requirement already satisfied: distributed~=2023.9.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.9.3)\n", - "Requirement already satisfied: gcsfs==2023.9.2 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.9.2)\n", - "Requirement already satisfied: google-cloud-bigquery[bqstorage,pandas]==3.14.1 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.14.1)\n", - "Requirement already satisfied: graphviz~=0.20.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.20.1)\n", - "Requirement already satisfied: kafka-python~=2.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.0.2)\n", - "Requirement already satisfied: mlflow~=2.8 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.9.2)\n", - "Requirement already satisfied: msrest~=0.6.21 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.6.21)\n", - "Requirement already satisfied: plotly<5.12.0,~=5.4 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.11.0)\n", - "Requirement already satisfied: pyopenssl>=23 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (23.2.0)\n", - "Requirement already satisfied: redis~=4.3 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.6.0)\n", - "Requirement already satisfied: s3fs==2023.9.2 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.9.2)\n", - "Requirement already satisfied: sqlalchemy~=1.4 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.4.51)\n", - "Requirement already satisfied: azure-datalake-store<0.1,>=0.0.46 in /opt/conda/lib/python3.9/site-packages (from adlfs==2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.0.53)\n", - "Requirement already satisfied: azure-storage-blob>=12.12.0 in /opt/conda/lib/python3.9/site-packages (from adlfs==2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (12.19.0)\n", - "Requirement already satisfied: decorator>4.1.2 in /opt/conda/lib/python3.9/site-packages (from gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.1.1)\n", - "Requirement already satisfied: google-auth>=1.2 in /opt/conda/lib/python3.9/site-packages (from gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.26.2)\n", - "Requirement already satisfied: google-auth-oauthlib in /opt/conda/lib/python3.9/site-packages (from gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.2.0)\n", - "Requirement already satisfied: google-cloud-storage in /opt/conda/lib/python3.9/site-packages (from gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.14.0)\n", - "Requirement already satisfied: google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0dev,>=1.31.5 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.15.0)\n", - "Requirement already satisfied: google-cloud-core<3.0.0dev,>=1.6.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.4.1)\n", - "Requirement already satisfied: google-resumable-media<3.0dev,>=0.6.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.7.0)\n", - "Requirement already satisfied: packaging>=20.0.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (23.1)\n", - "Requirement already satisfied: python-dateutil<3.0dev,>=2.7.2 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.8.2)\n", - "Requirement already satisfied: google-cloud-bigquery-storage<3.0.0dev,>=2.6.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.24.0)\n", - "Requirement already satisfied: grpcio<2.0dev,>=1.47.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.60.0)\n", - "Requirement already satisfied: db-dtypes<2.0.0dev,>=0.3.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.2.0)\n", - "Requirement already satisfied: scipy in /opt/conda/lib/python3.9/site-packages (from xgboost->-r /empty/requirements.txt (line 2)) (1.11.4)\n", - "Requirement already satisfied: botocore<1.31.18,>=1.31.17 in /opt/conda/lib/python3.9/site-packages (from aiobotocore<2.8,>=2.5.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.31.17)\n", - "Requirement already satisfied: wrapt<2.0.0,>=1.10.10 in /opt/conda/lib/python3.9/site-packages (from aiobotocore<2.8,>=2.5.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.16.0)\n", - "Requirement already satisfied: aioitertools<1.0.0,>=0.5.1 in /opt/conda/lib/python3.9/site-packages (from aiobotocore<2.8,>=2.5.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.11.0)\n", - "Requirement already satisfied: attrs>=17.3.0 in /opt/conda/lib/python3.9/site-packages (from aiohttp~=3.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (23.2.0)\n", - "Requirement already satisfied: multidict<7.0,>=4.5 in /opt/conda/lib/python3.9/site-packages (from aiohttp~=3.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (6.0.4)\n", - "Requirement already satisfied: yarl<2.0,>=1.0 in /opt/conda/lib/python3.9/site-packages (from aiohttp~=3.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.9.4)\n", - "Requirement already satisfied: frozenlist>=1.1.1 in /opt/conda/lib/python3.9/site-packages (from aiohttp~=3.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.4.1)\n", - "Requirement already satisfied: aiosignal>=1.1.2 in /opt/conda/lib/python3.9/site-packages (from aiohttp~=3.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.3.1)\n", - "Requirement already satisfied: async-timeout<5.0,>=4.0 in /opt/conda/lib/python3.9/site-packages (from aiohttp~=3.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.0.3)\n", - "Requirement already satisfied: idna>=2.8 in /opt/conda/lib/python3.9/site-packages (from anyio~=3.7->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.4)\n", - "Requirement already satisfied: sniffio>=1.1 in /opt/conda/lib/python3.9/site-packages (from anyio~=3.7->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.3.0)\n", - "Requirement already satisfied: exceptiongroup in /opt/conda/lib/python3.9/site-packages (from anyio~=3.7->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.2.0)\n", - "Requirement already satisfied: six>=1.11.0 in /opt/conda/lib/python3.9/site-packages (from azure-core~=1.24->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.16.0)\n", - "Requirement already satisfied: typing-extensions>=4.6.0 in /opt/conda/lib/python3.9/site-packages (from azure-core~=1.24->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.9.0)\n", - "Requirement already satisfied: cryptography>=2.5 in /opt/conda/lib/python3.9/site-packages (from azure-identity~=1.5->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (41.0.7)\n", - "Requirement already satisfied: msal<2.0.0,>=1.24.0 in /opt/conda/lib/python3.9/site-packages (from azure-identity~=1.5->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.26.0)\n", - "Requirement already satisfied: msal-extensions<2.0.0,>=0.3.0 in /opt/conda/lib/python3.9/site-packages (from azure-identity~=1.5->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.1.0)\n", - "Requirement already satisfied: azure-common~=1.1 in /opt/conda/lib/python3.9/site-packages (from azure-keyvault-secrets~=4.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.1.28)\n", - "Requirement already satisfied: isodate>=0.6.1 in /opt/conda/lib/python3.9/site-packages (from azure-keyvault-secrets~=4.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.6.1)\n", - "Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in /opt/conda/lib/python3.9/site-packages (from boto3<1.29.0,>=1.28.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.0.1)\n", - "Requirement already satisfied: s3transfer<0.7.0,>=0.6.0 in /opt/conda/lib/python3.9/site-packages (from boto3<1.29.0,>=1.28.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.6.2)\n", - "Requirement already satisfied: cloudpickle>=1.5.0 in /opt/conda/lib/python3.9/site-packages (from dask~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.2.1)\n", - "Requirement already satisfied: partd>=1.2.0 in /opt/conda/lib/python3.9/site-packages (from dask~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.4.1)\n", - "Requirement already satisfied: toolz>=0.10.0 in /opt/conda/lib/python3.9/site-packages (from dask~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.12.0)\n", - "Requirement already satisfied: importlib-metadata>=4.13.0 in /opt/conda/lib/python3.9/site-packages (from dask~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (7.0.1)\n", - "Requirement already satisfied: locket>=1.0.0 in /opt/conda/lib/python3.9/site-packages (from distributed~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.0.0)\n", - "Requirement already satisfied: msgpack>=1.0.0 in /opt/conda/lib/python3.9/site-packages (from distributed~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.0.7)\n", - "Requirement already satisfied: psutil>=5.7.2 in /opt/conda/lib/python3.9/site-packages (from distributed~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.9.7)\n", - "Requirement already satisfied: sortedcontainers>=2.0.5 in /opt/conda/lib/python3.9/site-packages (from distributed~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.4.0)\n", - "Requirement already satisfied: tblib>=1.6.0 in /opt/conda/lib/python3.9/site-packages (from distributed~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.0)\n", - "Requirement already satisfied: tornado>=6.0.4 in /opt/conda/lib/python3.9/site-packages (from distributed~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (6.4)\n", - "Requirement already satisfied: zict>=3.0.0 in /opt/conda/lib/python3.9/site-packages (from distributed~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.0)\n", - "Requirement already satisfied: gitdb<5,>=4.0.1 in /opt/conda/lib/python3.9/site-packages (from GitPython>=3.1.30,~=3.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.0.11)\n", - "Requirement already satisfied: jedi>=0.16 in /opt/conda/lib/python3.9/site-packages (from ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.19.1)\n", - "Requirement already satisfied: matplotlib-inline in /opt/conda/lib/python3.9/site-packages (from ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.1.6)\n", - "Requirement already satisfied: prompt-toolkit<3.1.0,>=3.0.41 in /opt/conda/lib/python3.9/site-packages (from ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.43)\n", - "Requirement already satisfied: pygments>=2.4.0 in /opt/conda/lib/python3.9/site-packages (from ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.17.2)\n", - "Requirement already satisfied: stack-data in /opt/conda/lib/python3.9/site-packages (from ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.6.3)\n", - "Requirement already satisfied: traitlets>=5 in /opt/conda/lib/python3.9/site-packages (from ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.14.1)\n", - "Requirement already satisfied: pexpect>4.3 in /opt/conda/lib/python3.9/site-packages (from ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.9.0)\n", - "Requirement already satisfied: MarkupSafe>=2.0 in /opt/conda/lib/python3.9/site-packages (from jinja2~=3.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.1.3)\n", - "Requirement already satisfied: absl-py<2,>=0.9 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.4.0)\n", - "Requirement already satisfied: kubernetes<26,>=8.0.0 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (25.3.0)\n", - "Requirement already satisfied: google-api-python-client<2,>=1.7.8 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.12.11)\n", - "Requirement already satisfied: requests-toolbelt<1,>=0.8.0 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.10.1)\n", - "Requirement already satisfied: kfp-server-api<2.0.0,>=1.1.2 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.8.5)\n", - "Requirement already satisfied: jsonschema<5,>=3.0.1 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.21.0)\n", - "Requirement already satisfied: strip-hints<1,>=0.1.8 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.1.10)\n", - "Requirement already satisfied: docstring-parser<1,>=0.7.3 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.15)\n", - "Requirement already satisfied: kfp-pipeline-spec<0.2.0,>=0.1.16 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.1.16)\n", - "Requirement already satisfied: fire<1,>=0.3.1 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.5.0)\n", - "Requirement already satisfied: protobuf<4,>=3.13.0 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.20.3)\n", - "Requirement already satisfied: uritemplate<4,>=3.0.1 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.1)\n", - "Requirement already satisfied: typer<1.0,>=0.3.2 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.9.0)\n", - "Requirement already satisfied: databricks-cli<1,>=0.8.7 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.18.0)\n", - "Requirement already satisfied: entrypoints<1 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.4)\n", - "Requirement already satisfied: pytz<2024 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.3.post1)\n", - "Requirement already satisfied: sqlparse<1,>=0.4.0 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.4.4)\n", - "Requirement already satisfied: alembic!=1.10.0,<2 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.13.1)\n", - "Requirement already satisfied: docker<7,>=4.0.0 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (6.1.3)\n", - "Requirement already satisfied: Flask<4 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.0)\n", - "Requirement already satisfied: querystring-parser<2 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.2.4)\n", - "Requirement already satisfied: scikit-learn<2 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.4.0)\n", - "Requirement already satisfied: markdown<4,>=3.3 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.5.2)\n", - "Requirement already satisfied: matplotlib<4 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.8.2)\n", - "Requirement already satisfied: gunicorn<22 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (21.2.0)\n", - "Requirement already satisfied: requests-oauthlib>=0.5.0 in /opt/conda/lib/python3.9/site-packages (from msrest~=0.6.21->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.3.1)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/lib/python3.9/site-packages (from msrest~=0.6.21->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.11.17)\n", - "Requirement already satisfied: nbconvert>=6.4.5 in /opt/conda/lib/python3.9/site-packages (from nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (7.14.2)\n", - "Requirement already satisfied: notebook<7.0.0,>=6.4 in /opt/conda/lib/python3.9/site-packages (from nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (6.5.6)\n", - "Requirement already satisfied: tzdata>=2022.1 in /opt/conda/lib/python3.9/site-packages (from pandas<3,>=1.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.4)\n", - "Requirement already satisfied: tenacity>=6.2.0 in /opt/conda/lib/python3.9/site-packages (from plotly<5.12.0,~=5.4->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (8.2.3)\n", - "Requirement already satisfied: charset-normalizer<4,>=2 in /opt/conda/lib/python3.9/site-packages (from requests~=2.31->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.0.4)\n", - "Requirement already satisfied: greenlet!=0.4.17 in /opt/conda/lib/python3.9/site-packages (from sqlalchemy~=1.4->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.3)\n", - "Requirement already satisfied: xxhash>=1 in /opt/conda/lib/python3.9/site-packages (from storey~=1.6.16->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.4.1)\n", - "Requirement already satisfied: nuclio-sdk>=0.5.3 in /opt/conda/lib/python3.9/site-packages (from storey~=1.6.16->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.5.9)\n", - "Requirement already satisfied: future>=0.18.2 in /opt/conda/lib/python3.9/site-packages (from v3io~=0.5.21->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.18.3)\n", - "Requirement already satisfied: ujson>=3 in /opt/conda/lib/python3.9/site-packages (from v3io~=0.5.21->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.9.0)\n", - "Requirement already satisfied: googleapis-common-protos>=1.5.3 in /opt/conda/lib/python3.9/site-packages (from v3io-frames~=0.10.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.62.0)\n", - "Requirement already satisfied: grpcio-tools!=1.34.0,<1.49,>=1.30 in /opt/conda/lib/python3.9/site-packages (from v3io-frames~=0.10.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.48.2)\n", - "Requirement already satisfied: Mako in /opt/conda/lib/python3.9/site-packages (from alembic!=1.10.0,<2->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.3.0)\n", - "Requirement already satisfied: cffi in /opt/conda/lib/python3.9/site-packages (from azure-datalake-store<0.1,>=0.0.46->adlfs==2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.16.0)\n", - "Requirement already satisfied: pyjwt>=1.7.0 in /opt/conda/lib/python3.9/site-packages (from databricks-cli<1,>=0.8.7->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.8.0)\n", - "Requirement already satisfied: oauthlib>=3.1.0 in /opt/conda/lib/python3.9/site-packages (from databricks-cli<1,>=0.8.7->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.2.2)\n", - "Requirement already satisfied: websocket-client>=0.32.0 in /opt/conda/lib/python3.9/site-packages (from docker<7,>=4.0.0->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.7.0)\n", - "Requirement already satisfied: termcolor in /opt/conda/lib/python3.9/site-packages (from fire<1,>=0.3.1->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.4.0)\n", - "Requirement already satisfied: Werkzeug>=3.0.0 in /opt/conda/lib/python3.9/site-packages (from Flask<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.1)\n", - "Requirement already satisfied: itsdangerous>=2.1.2 in /opt/conda/lib/python3.9/site-packages (from Flask<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.1.2)\n", - "Requirement already satisfied: blinker>=1.6.2 in /opt/conda/lib/python3.9/site-packages (from Flask<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.7.0)\n", - "Requirement already satisfied: smmap<6,>=3.0.1 in /opt/conda/lib/python3.9/site-packages (from gitdb<5,>=4.0.1->GitPython>=3.1.30,~=3.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.0.1)\n", - "Requirement already satisfied: httplib2<1dev,>=0.15.0 in /opt/conda/lib/python3.9/site-packages (from google-api-python-client<2,>=1.7.8->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.22.0)\n", - "Requirement already satisfied: google-auth-httplib2>=0.0.3 in /opt/conda/lib/python3.9/site-packages (from google-api-python-client<2,>=1.7.8->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.2.0)\n", - "Requirement already satisfied: cachetools<6.0,>=2.0.0 in /opt/conda/lib/python3.9/site-packages (from google-auth>=1.2->gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.3.2)\n", - "Requirement already satisfied: pyasn1-modules>=0.2.1 in /opt/conda/lib/python3.9/site-packages (from google-auth>=1.2->gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.3.0)\n", - "Requirement already satisfied: rsa<5,>=3.1.4 in /opt/conda/lib/python3.9/site-packages (from google-auth>=1.2->gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.9)\n", - "Requirement already satisfied: proto-plus<2.0.0dev,>=1.22.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery-storage<3.0.0dev,>=2.6.0->google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.23.0)\n", - "Requirement already satisfied: google-crc32c<2.0dev,>=1.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-storage->gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.5.0)\n", - "Requirement already satisfied: zipp>=0.5 in /opt/conda/lib/python3.9/site-packages (from importlib-metadata>=4.13.0->dask~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.17.0)\n", - "Requirement already satisfied: parso<0.9.0,>=0.8.3 in /opt/conda/lib/python3.9/site-packages (from jedi>=0.16->ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.8.3)\n", - "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /opt/conda/lib/python3.9/site-packages (from jsonschema<5,>=3.0.1->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.12.1)\n", - "Requirement already satisfied: referencing>=0.28.4 in /opt/conda/lib/python3.9/site-packages (from jsonschema<5,>=3.0.1->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.32.1)\n", - "Requirement already satisfied: rpds-py>=0.7.1 in /opt/conda/lib/python3.9/site-packages (from jsonschema<5,>=3.0.1->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.17.1)\n", - "Requirement already satisfied: contourpy>=1.0.1 in /opt/conda/lib/python3.9/site-packages (from matplotlib<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.2.0)\n", - "Requirement already satisfied: cycler>=0.10 in /opt/conda/lib/python3.9/site-packages (from matplotlib<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.12.1)\n", - "Requirement already satisfied: fonttools>=4.22.0 in /opt/conda/lib/python3.9/site-packages (from matplotlib<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.47.2)\n", - "Requirement already satisfied: kiwisolver>=1.3.1 in /opt/conda/lib/python3.9/site-packages (from matplotlib<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.4.5)\n", - "Requirement already satisfied: pillow>=8 in /opt/conda/lib/python3.9/site-packages (from matplotlib<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (10.2.0)\n", - "Requirement already satisfied: pyparsing>=2.3.1 in /opt/conda/lib/python3.9/site-packages (from matplotlib<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.1.1)\n", - "Requirement already satisfied: importlib-resources>=3.2.0 in /opt/conda/lib/python3.9/site-packages (from matplotlib<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (6.1.1)\n", - "Requirement already satisfied: portalocker<3,>=1.0 in /opt/conda/lib/python3.9/site-packages (from msal-extensions<2.0.0,>=0.3.0->azure-identity~=1.5->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.8.2)\n", - "Requirement already satisfied: beautifulsoup4 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.12.3)\n", - "Requirement already satisfied: bleach!=5.0.0 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (6.1.0)\n", - "Requirement already satisfied: defusedxml in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.7.1)\n", - "Requirement already satisfied: jupyter-core>=4.7 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.7.1)\n", - "Requirement already satisfied: jupyterlab-pygments in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.3.0)\n", - "Requirement already satisfied: mistune<4,>=2.0.3 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.2)\n", - "Requirement already satisfied: nbclient>=0.5.0 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.9.0)\n", - "Requirement already satisfied: nbformat>=5.7 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.9.2)\n", - "Requirement already satisfied: pandocfilters>=1.4.1 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.5.0)\n", - "Requirement already satisfied: tinycss2 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.2.1)\n", - "Requirement already satisfied: pyzmq<25,>=17 in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (24.0.1)\n", - "Requirement already satisfied: argon2-cffi in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (23.1.0)\n", - "Requirement already satisfied: jupyter-client<8,>=5.3.4 in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (7.4.9)\n", - "Requirement already satisfied: ipython-genutils in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.2.0)\n", - "Requirement already satisfied: ipykernel in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (6.29.0)\n", - "Requirement already satisfied: Send2Trash>=1.8.0 in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.8.2)\n", - "Requirement already satisfied: terminado>=0.8.3 in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.18.0)\n", - "Requirement already satisfied: prometheus-client in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.19.0)\n", - "Requirement already satisfied: nbclassic>=0.4.7 in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.0.0)\n", - "Requirement already satisfied: ptyprocess>=0.5 in /opt/conda/lib/python3.9/site-packages (from pexpect>4.3->ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.7.0)\n", - "Requirement already satisfied: wcwidth in /opt/conda/lib/python3.9/site-packages (from prompt-toolkit<3.1.0,>=3.0.41->ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.2.13)\n", - "Requirement already satisfied: joblib>=1.2.0 in /opt/conda/lib/python3.9/site-packages (from scikit-learn<2->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.3.2)\n", - "Requirement already satisfied: threadpoolctl>=2.0.0 in /opt/conda/lib/python3.9/site-packages (from scikit-learn<2->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.2.0)\n", - "Requirement already satisfied: wheel in /opt/conda/lib/python3.9/site-packages (from strip-hints<1,>=0.1.8->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.41.2)\n", - "Requirement already satisfied: executing>=1.2.0 in /opt/conda/lib/python3.9/site-packages (from stack-data->ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.0.1)\n", - "Requirement already satisfied: asttokens>=2.1.0 in /opt/conda/lib/python3.9/site-packages (from stack-data->ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.4.1)\n", - "Requirement already satisfied: pure-eval in /opt/conda/lib/python3.9/site-packages (from stack-data->ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.2.2)\n", - "Requirement already satisfied: webencodings in /opt/conda/lib/python3.9/site-packages (from bleach!=5.0.0->nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.5.1)\n", - "Requirement already satisfied: pycparser in /opt/conda/lib/python3.9/site-packages (from cffi->azure-datalake-store<0.1,>=0.0.46->adlfs==2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.21)\n", - "Requirement already satisfied: grpcio-status<2.0.dev0,>=1.33.2 in /opt/conda/lib/python3.9/site-packages (from google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0dev,>=1.31.5->google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.48.2)\n", - "Requirement already satisfied: platformdirs>=2.5 in /opt/conda/lib/python3.9/site-packages (from jupyter-core>=4.7->nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.10.0)\n", - "Requirement already satisfied: jupyter-server>=1.8 in /opt/conda/lib/python3.9/site-packages (from nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.12.5)\n", - "Requirement already satisfied: notebook-shim>=0.2.3 in /opt/conda/lib/python3.9/site-packages (from nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.2.3)\n", - "Requirement already satisfied: fastjsonschema in /opt/conda/lib/python3.9/site-packages (from nbformat>=5.7->nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.19.1)\n", - "Requirement already satisfied: pyasn1<0.6.0,>=0.4.6 in /opt/conda/lib/python3.9/site-packages (from pyasn1-modules>=0.2.1->google-auth>=1.2->gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.5.1)\n", - "Requirement already satisfied: argon2-cffi-bindings in /opt/conda/lib/python3.9/site-packages (from argon2-cffi->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (21.2.0)\n", - "Requirement already satisfied: soupsieve>1.2 in /opt/conda/lib/python3.9/site-packages (from beautifulsoup4->nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.5)\n", - "Requirement already satisfied: comm>=0.1.1 in /opt/conda/lib/python3.9/site-packages (from ipykernel->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.2.1)\n", - "Requirement already satisfied: debugpy>=1.6.5 in /opt/conda/lib/python3.9/site-packages (from ipykernel->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.8.0)\n", - "Requirement already satisfied: jupyter-events>=0.9.0 in /opt/conda/lib/python3.9/site-packages (from jupyter-server>=1.8->nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.9.0)\n", - "Requirement already satisfied: jupyter-server-terminals in /opt/conda/lib/python3.9/site-packages (from jupyter-server>=1.8->nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.5.1)\n", - "Requirement already satisfied: overrides in /opt/conda/lib/python3.9/site-packages (from jupyter-server>=1.8->nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (7.4.0)\n", - "Requirement already satisfied: python-json-logger>=2.0.4 in /opt/conda/lib/python3.9/site-packages (from jupyter-events>=0.9.0->jupyter-server>=1.8->nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.0.7)\n", - "Requirement already satisfied: rfc3339-validator in /opt/conda/lib/python3.9/site-packages (from jupyter-events>=0.9.0->jupyter-server>=1.8->nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.1.4)\n", - "Requirement already satisfied: rfc3986-validator>=0.1.1 in /opt/conda/lib/python3.9/site-packages (from jupyter-events>=0.9.0->jupyter-server>=1.8->nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.1.1)\n", - "Requirement already satisfied: fqdn in /opt/conda/lib/python3.9/site-packages (from jsonschema<5,>=3.0.1->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.5.1)\n", - "Requirement already satisfied: isoduration in /opt/conda/lib/python3.9/site-packages (from jsonschema<5,>=3.0.1->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (20.11.0)\n", - "Requirement already satisfied: jsonpointer>1.13 in /opt/conda/lib/python3.9/site-packages (from jsonschema<5,>=3.0.1->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.1)\n", - "Requirement already satisfied: uri-template in /opt/conda/lib/python3.9/site-packages (from jsonschema<5,>=3.0.1->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.3.0)\n", - "Requirement already satisfied: webcolors>=1.11 in /opt/conda/lib/python3.9/site-packages (from jsonschema<5,>=3.0.1->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.13)\n", - "Requirement already satisfied: arrow>=0.15.0 in /opt/conda/lib/python3.9/site-packages (from isoduration->jsonschema<5,>=3.0.1->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.3.0)\n", - "Requirement already satisfied: types-python-dateutil>=2.8.10 in /opt/conda/lib/python3.9/site-packages (from arrow>=0.15.0->isoduration->jsonschema<5,>=3.0.1->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.8.19.20240106)\n", - "Downloading xgboost-2.0.3-py3-none-manylinux2014_x86_64.whl (297.1 MB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 297.1/297.1 MB 262.5 MB/s eta 0:00:00\n", - "Installing collected packages: xgboost\n", - "Successfully installed xgboost-2.0.3\n", - "WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\n", - "\u001b[36mINFO\u001b[0m[0084] Taking snapshot of full filesystem... \n", - "\u001b[36mINFO\u001b[0m[0099] Pushing image to docker-registry.default-tenant.app.cust-cs-il-353.iguazio-cd2.com/mlrun/func-sagemaker-admin-evaluate:latest \n", - "\u001b[36mINFO\u001b[0m[0102] Pushed docker-registry.default-tenant.app.cust-cs-il-353.iguazio-cd2.com/mlrun/func-sagemaker-admin-evaluate@sha256:b0e68f50a3b63c9245c90a78078eeffa1cd0d955ac8084e1c9aafa4aba18b5c5 \n" - ] - }, - { - "data": { - "text/plain": [ - "BuildStatus(ready=True, outputs={'image': '.mlrun/func-sagemaker-admin-evaluate:latest'})" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "project.build_function(\"evaluate\")" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "73cd9279-f871-4561-8f12-5f4930c7032f", - "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Overwriting src/workflow.py\n" + "> 2024-01-25 15:31:36,885 [info] Project loaded successfully: {'project_name': 'sagemaker'}\n" ] } ], "source": [ - "%%writefile src/workflow.py\n", - "import mlrun\n", - "from kfp import dsl\n", - "from mlrun import get_or_create_ctx\n", - "\n", - "\n", - "@dsl.pipeline(\n", - " name=\"Fraud Detection Pipeline\",\n", - " description=\"Detecting fraud from a transactions dataset\"\n", - ")\n", - "def kfpipeline(evaluate_path):\n", - " project = mlrun.get_current_project()\n", - "\n", - " train_function = project.get_function('train', sync=True)\n", - " train_run = project.run_function(\n", - " function=train_function,\n", - " name='train',\n", - " handler='train',\n", - " params={},\n", - " outputs=[\"model_path\"],\n", - " )\n", - "\n", - " ctx = get_or_create_ctx(\"kfp\")\n", - " ctx.logger.info(train_run.outputs)\n", - "\n", - " # evaluating the model\n", - " evaluate_function = project.get_function(\"evaluate\")\n", - "\n", - " # running\n", - " evaluate_run = project.run_function(\n", - " evaluate_function,\n", - " handler=\"evaluate\",\n", - " params={\n", - " \"model_path\": train_run.outputs['model_path'],\n", - " \"model_name\": \"xgboost-model\",\n", - " \"test_set\": evaluate_path,\n", - " \"label_column\": \"transaction_category\",\n", - " },\n", - " returns=[\"classification_report: dataset\"]\n", - " )\n", - "\n", - " # # deploying serving function\n", - " # serving_function = project.get_function(\"serving\")\n", - "\n", - " # if serving_function.spec.graph is None:\n", - " # # Set the topology and get the graph object:\n", - " # graph = serving_function.set_topology(\"flow\", engine=\"async\")\n", - "\n", - " # # Add the steps:\n", - " # graph.to(\"XGBModelServer\",\n", - " # name=\"xgboost-model\",\n", - " # model_path= train_run.outputs['model_path'])\\\n", - " # .to(handler=\"postprocess\", name=\"postprocess\").respond()\n", - " \n", - "\n", - " # # Set the desired requirements:\n", - "\n", - " # # Deploy the serving function:\n", - " # project.deploy_function(\"serving\").after(train_run)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "c920d4ea-b506-413a-881a-41e0b8adc940", - "metadata": {}, - "outputs": [], - "source": [ - "workflow_name = \"workflow\"\n", - "project.set_workflow(name=workflow_name, workflow_path=\"src/workflow.py\")" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "b4ac62b0-9970-4413-8485-29835635d19b", - "metadata": {}, - "outputs": [], - "source": [ - "s3_data = \"s3://{}/{}/test/test.csv\".format(\"sagemaker-us-east-2-934638699319\", \"payment-classification\")" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "78bddbd6-601b-4e9c-8174-5ac7855d7d84", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "#project.run(workflow_name ,watch = True ,local = True, arguments={\"evaluate_path\": s3_data})" + "project = mlrun.get_or_create_project(\n", + " name=\"sagemaker\", \n", + " user_project=True,\n", + " parameters={\n", + " # \"source\" : \"git://github.com/mlrun/demo-sagemaker#main\",\n", + " \"default_image\" : \"yonishelach/sagemaker-demo\"\n", + " }\n", + ")" ] }, { @@ -1133,7 +65,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 35, "id": "9fb9bf8f-dfc5-4b9f-8d63-d423ae326630", "metadata": { "tags": [] @@ -1142,7 +74,7 @@ { "data": { "text/html": [ - "
Pipeline running (id=703220cf-d4f6-4201-bd8c-fc2a53bf689b), click here to view the details in MLRun UI
" + "
Pipeline running (id=a678285c-f0b4-4d4a-a33d-a4ffa2e91380), click here to view the details in MLRun UI
" ], "text/plain": [ "" @@ -1157,37 +89,37 @@ "\n", "\n", - "\n", "\n", - "\n", + "\n", "\n", "kfp\n", - "\n", - "\n", + "\n", + "\n", "\n", - "fraud-detection-pipeline-6d6nl-1414903847\n", - "\n", - "train\n", + "fraud-detection-pipeline-fb26j-1027424835\n", + "\n", + "train\n", "\n", - "\n", + "\n", "\n", - "fraud-detection-pipeline-6d6nl-2098072488\n", - "\n", - "evaluate-evaluate\n", + "fraud-detection-pipeline-fb26j-2973628420\n", + "\n", + "evaluate\n", "\n", - "\n", + "\n", "\n", - "fraud-detection-pipeline-6d6nl-1414903847->fraud-detection-pipeline-6d6nl-2098072488\n", - "\n", - "\n", + "fraud-detection-pipeline-fb26j-1027424835->fraud-detection-pipeline-fb26j-2973628420\n", + "\n", + "\n", "\n", "\n", "\n" ], "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -1196,7 +128,7 @@ { "data": { "text/html": [ - "

Run Results

[info] Workflow 703220cf-d4f6-4201-bd8c-fc2a53bf689b finished, state=Succeeded


click the hyper links below to see detailed results
\n", + "

Run Results

[info] Workflow a678285c-f0b4-4d4a-a33d-a4ffa2e91380 finished, state=Succeeded


click the hyper links below to see detailed results
\n", " \n", " \n", " \n", @@ -1209,16 +141,16 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -1237,23 +169,25 @@ { "data": { "text/plain": [ - "703220cf-d4f6-4201-bd8c-fc2a53bf689b" + "a678285c-f0b4-4d4a-a33d-a4ffa2e91380" ] }, - "execution_count": 14, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "project.run(workflow_name, \n", - " watch=True,arguments={\"evaluate_path\": s3_data})" + "project.run(\n", + " name=\"sagemaker\",\n", + " watch=True,\n", + ")" ] }, { "cell_type": "code", "execution_count": null, - "id": "dc5d7d29-145f-4a66-b194-b771eac35636", + "id": "e032f348-6f75-4a2b-8383-a9f4e92dc176", "metadata": {}, "outputs": [], "source": [] @@ -1261,9 +195,9 @@ ], "metadata": { "kernelspec": { - "display_name": "smdemo", + "display_name": "mlrun-base", "language": "python", - "name": "smdemo" + "name": "conda-env-mlrun-base-py" }, "language_info": { "codemirror_mode": { @@ -1275,7 +209,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.18" + "version": "3.9.16" } }, "nbformat": 4, diff --git a/financial_payment_classification.ipynb b/financial_payment_classification.ipynb index 7dd4c5c..c9dbb07 100644 --- a/financial_payment_classification.ipynb +++ b/financial_payment_classification.ipynb @@ -89,8 +89,7 @@ "metadata": {}, "outputs": [], "source": [ - "import mlrun\n", - "mlrun.set_env_from_file(\"env.var\")" + "import mlrun" ] }, { @@ -109,24 +108,19 @@ "name": "stdout", "output_type": "stream", "text": [ - "> 2024-01-24 15:14:27,619 [info] Project loaded successfully: {'project_name': 'sagemaker'}\n" + "> 2024-01-25 14:10:06,832 [info] Project loaded successfully: {'project_name': 'sagemaker'}\n" ] } ], "source": [ - "project = mlrun.get_or_create_project(name=\"sagemaker\",\n", - " user_project=True,\n", - " context=\"./\")" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "c9a7610c-af86-4249-b9ff-af1d8574e3cb", - "metadata": {}, - "outputs": [], - "source": [ - "project.set_secrets(file_path=\"env.var\")" + "project = mlrun.get_or_create_project(\n", + " name=\"sagemaker\", \n", + " user_project=True,\n", + " parameters={\n", + " # \"source\" : \"git://github.com/mlrun/demo-sagemaker#main\",\n", + " \"default_image\" : \"yonishelach/sagemaker-demo\"\n", + " }\n", + ")" ] }, { @@ -139,7 +133,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 4, "id": "42c5d6d0", "metadata": {}, "outputs": [ @@ -148,7 +142,7 @@ "output_type": "stream", "text": [ "sagemaker.config INFO - Not applying SDK defaults from location: /etc/xdg/sagemaker/config.yaml\n", - "sagemaker.config INFO - Not applying SDK defaults from location: /home/sagemaker-user/.config/sagemaker/config.yaml\n" + "sagemaker.config INFO - Not applying SDK defaults from location: /User/.config/sagemaker/config.yaml\n" ] } ], @@ -167,7 +161,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 5, "id": "6406c0df-e745-4e3d-ad98-7d4504ff8b07", "metadata": {}, "outputs": [], @@ -177,7 +171,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "id": "b0f0ea71-1c48-4174-a0bd-e1b4c0137d25", "metadata": {}, "outputs": [], @@ -197,7 +191,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "id": "c0e4db17", "metadata": {}, "outputs": [], @@ -222,7 +216,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "id": "43946b9f", "metadata": {}, "outputs": [], @@ -262,7 +256,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "id": "5ff0d280", "metadata": {}, "outputs": [], @@ -285,7 +279,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "id": "a477abd7", "metadata": {}, "outputs": [], @@ -329,7 +323,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "id": "24f6090e", "metadata": {}, "outputs": [], @@ -346,7 +340,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "id": "79b0854f-c209-4092-ac0f-a680f35c2c74", "metadata": {}, "outputs": [], @@ -357,7 +351,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "id": "0ee06b1d-0cfb-4242-a7e7-2443a0377d99", "metadata": {}, "outputs": [ @@ -375,7 +369,7 @@ "Length: 19, dtype: string" ] }, - "execution_count": 14, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -394,7 +388,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "id": "ea2ebdd5", "metadata": {}, "outputs": [], @@ -424,7 +418,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 15, "id": "3c621044-681a-4e1a-9968-f637ed992539", "metadata": {}, "outputs": [], @@ -453,7 +447,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 16, "id": "c71af4a9-f2d8-40ca-b0bf-3ef67c5b69d9", "metadata": {}, "outputs": [ @@ -463,66 +457,66 @@ "\n", "\n", - "\n", "\n", - "\n", + "\n", "\n", "mlrun-flow\n", - "\n", + "\n", "\n", "\n", "_start\n", - "\n", - "start\n", + "\n", + "start\n", "\n", "\n", "\n", "add_grouped_features\n", - "\n", - "add_grouped_features\n", + "\n", + "add_grouped_features\n", "\n", "\n", "\n", "_start->add_grouped_features\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", "\n", "parquet/parquet\n", - "\n", - "\n", - "parquet\n", + "\n", + "\n", + "parquet\n", "\n", "\n", "\n", "add_grouped_features->parquet/parquet\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", "\n", "nosql/nosql\n", - "\n", - "\n", - "nosql\n", + "\n", + "\n", + "nosql\n", "\n", "\n", "\n", "add_grouped_features->nosql/nosql\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", "\n" ], "text/plain": [ - "" + "" ] }, - "execution_count": 17, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -552,7 +546,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 17, "id": "2085e0a9-56e1-4641-a4a6-64e2124d9c15", "metadata": {}, "outputs": [ @@ -560,7 +554,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "> 2024-01-24 14:17:16,797 [warning] Overriding type of entity 'transaction_id' from 'str' to 'int'. This may result in errors or unusable data.\n" + "> 2024-01-25 14:11:30,483 [warning] Overriding type of entity 'transaction_id' from 'str' to 'int'. This may result in errors or unusable data.\n" ] }, { @@ -933,7 +927,7 @@ "[99997 rows x 30 columns]" ] }, - "execution_count": 18, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -983,7 +977,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 18, "id": "bb4bdd8d", "metadata": {}, "outputs": [], @@ -1004,7 +998,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 19, "id": "f849a7a9", "metadata": {}, "outputs": [], @@ -1024,7 +1018,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 20, "id": "e1ca2543", "metadata": {}, "outputs": [], @@ -1050,7 +1044,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 21, "id": "a41b6a7d", "metadata": {}, "outputs": [], @@ -1068,7 +1062,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 22, "id": "e51c917a", "metadata": {}, "outputs": [], @@ -1091,7 +1085,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 23, "id": "92c1fe8c", "metadata": {}, "outputs": [], @@ -1116,7 +1110,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 24, "id": "582adc6c", "metadata": {}, "outputs": [], @@ -1144,7 +1138,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 25, "id": "c24e06fc", "metadata": { "scrolled": true @@ -1154,39 +1148,39 @@ "name": "stderr", "output_type": "stream", "text": [ - "INFO:sagemaker:Creating training-job with name: sagemaker-xgboost-2024-01-24-14-17-33-351\n" + "INFO:sagemaker:Creating training-job with name: sagemaker-xgboost-2024-01-25-14-12-01-149\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "2024-01-24 14:17:33 Starting - Starting the training job......\n", - "2024-01-24 14:18:12 Starting - Preparing the instances for training.........\n", - "2024-01-24 14:19:34 Downloading - Downloading input data...\n", - "2024-01-24 14:20:04 Downloading - Downloading the training image...\n", - "2024-01-24 14:21:00 Training - Training image download completed. Training in progress....\u001b[34m[2024-01-24 14:21:17.336 ip-10-0-122-14.us-east-2.compute.internal:7 INFO utils.py:27] RULE_JOB_STOP_SIGNAL_FILENAME: None\u001b[0m\n", - "\u001b[34m[2024-01-24:14:21:17:INFO] Imported framework sagemaker_xgboost_container.training\u001b[0m\n", - "\u001b[34m[2024-01-24:14:21:17:INFO] Failed to parse hyperparameter objective value multi:softprob to Json.\u001b[0m\n", + "2024-01-25 14:12:01 Starting - Starting the training job...\n", + "2024-01-25 14:12:18 Starting - Preparing the instances for training.........\n", + "2024-01-25 14:13:58 Downloading - Downloading input data......\n", + "2024-01-25 14:14:34 Downloading - Downloading the training image...\n", + "2024-01-25 14:15:29 Training - Training image download completed. Training in progress...\u001b[34m[2024-01-25 14:15:41.041 ip-10-2-106-129.ec2.internal:7 INFO utils.py:27] RULE_JOB_STOP_SIGNAL_FILENAME: None\u001b[0m\n", + "\u001b[34m[2024-01-25:14:15:41:INFO] Imported framework sagemaker_xgboost_container.training\u001b[0m\n", + "\u001b[34m[2024-01-25:14:15:41:INFO] Failed to parse hyperparameter objective value multi:softprob to Json.\u001b[0m\n", "\u001b[34mReturning the value itself\u001b[0m\n", - "\u001b[34m[2024-01-24:14:21:17:INFO] No GPUs detected (normal if no gpus installed)\u001b[0m\n", - "\u001b[34m[2024-01-24:14:21:17:INFO] Running XGBoost Sagemaker in algorithm mode\u001b[0m\n", - "\u001b[34m[2024-01-24:14:21:17:INFO] Determined delimiter of CSV input is ','\u001b[0m\n", - "\u001b[34m[2024-01-24:14:21:17:INFO] Determined delimiter of CSV input is ','\u001b[0m\n", - "\u001b[34m[2024-01-24:14:21:17:INFO] Determined delimiter of CSV input is ','\u001b[0m\n", - "\u001b[34m[2024-01-24:14:21:17:INFO] Determined delimiter of CSV input is ','\u001b[0m\n", - "\u001b[34m[2024-01-24:14:21:17:INFO] Single node training.\u001b[0m\n", - "\u001b[34m[2024-01-24:14:21:17:INFO] Train matrix has 69997 rows and 29 columns\u001b[0m\n", - "\u001b[34m[2024-01-24:14:21:17:INFO] Validation matrix has 20000 rows\u001b[0m\n", - "\u001b[34m[2024-01-24 14:21:17.631 ip-10-0-122-14.us-east-2.compute.internal:7 INFO json_config.py:91] Creating hook from json_config at /opt/ml/input/config/debughookconfig.json.\u001b[0m\n", - "\u001b[34m[2024-01-24 14:21:17.632 ip-10-0-122-14.us-east-2.compute.internal:7 INFO hook.py:201] tensorboard_dir has not been set for the hook. SMDebug will not be exporting tensorboard summaries.\u001b[0m\n", - "\u001b[34m[2024-01-24 14:21:17.632 ip-10-0-122-14.us-east-2.compute.internal:7 INFO profiler_config_parser.py:102] User has disabled profiler.\u001b[0m\n", - "\u001b[34m[2024-01-24 14:21:17.633 ip-10-0-122-14.us-east-2.compute.internal:7 INFO hook.py:255] Saving to /opt/ml/output/tensors\u001b[0m\n", - "\u001b[34m[2024-01-24 14:21:17.633 ip-10-0-122-14.us-east-2.compute.internal:7 INFO state_store.py:77] The checkpoint config file /opt/ml/input/config/checkpointconfig.json does not exist.\u001b[0m\n", - "\u001b[34m[2024-01-24:14:21:17:INFO] Debug hook created from config\u001b[0m\n", + "\u001b[34m[2024-01-25:14:15:41:INFO] No GPUs detected (normal if no gpus installed)\u001b[0m\n", + "\u001b[34m[2024-01-25:14:15:41:INFO] Running XGBoost Sagemaker in algorithm mode\u001b[0m\n", + "\u001b[34m[2024-01-25:14:15:41:INFO] Determined delimiter of CSV input is ','\u001b[0m\n", + "\u001b[34m[2024-01-25:14:15:41:INFO] Determined delimiter of CSV input is ','\u001b[0m\n", + "\u001b[34m[2024-01-25:14:15:41:INFO] Determined delimiter of CSV input is ','\u001b[0m\n", + "\u001b[34m[2024-01-25:14:15:41:INFO] Determined delimiter of CSV input is ','\u001b[0m\n", + "\u001b[34m[2024-01-25:14:15:41:INFO] Single node training.\u001b[0m\n", + "\u001b[34m[2024-01-25:14:15:41:INFO] Train matrix has 69997 rows and 29 columns\u001b[0m\n", + "\u001b[34m[2024-01-25:14:15:41:INFO] Validation matrix has 20000 rows\u001b[0m\n", + "\u001b[34m[2024-01-25 14:15:41.342 ip-10-2-106-129.ec2.internal:7 INFO json_config.py:91] Creating hook from json_config at /opt/ml/input/config/debughookconfig.json.\u001b[0m\n", + "\u001b[34m[2024-01-25 14:15:41.343 ip-10-2-106-129.ec2.internal:7 INFO hook.py:201] tensorboard_dir has not been set for the hook. SMDebug will not be exporting tensorboard summaries.\u001b[0m\n", + "\u001b[34m[2024-01-25 14:15:41.343 ip-10-2-106-129.ec2.internal:7 INFO profiler_config_parser.py:102] User has disabled profiler.\u001b[0m\n", + "\u001b[34m[2024-01-25 14:15:41.344 ip-10-2-106-129.ec2.internal:7 INFO hook.py:255] Saving to /opt/ml/output/tensors\u001b[0m\n", + "\u001b[34m[2024-01-25 14:15:41.344 ip-10-2-106-129.ec2.internal:7 INFO state_store.py:77] The checkpoint config file /opt/ml/input/config/checkpointconfig.json does not exist.\u001b[0m\n", + "\u001b[34m[2024-01-25:14:15:41:INFO] Debug hook created from config\u001b[0m\n", "\u001b[34m[0]#011train-merror:0.00047#011validation-merror:0.00050\u001b[0m\n", - "\u001b[34m[2024-01-24 14:21:18.744 ip-10-0-122-14.us-east-2.compute.internal:7 INFO hook.py:423] Monitoring the collections: metrics\u001b[0m\n", - "\u001b[34m[2024-01-24 14:21:18.748 ip-10-0-122-14.us-east-2.compute.internal:7 INFO hook.py:486] Hook is writing from the hook with pid: 7\u001b[0m\n", + "\u001b[34m[2024-01-25 14:15:42.380 ip-10-2-106-129.ec2.internal:7 INFO hook.py:423] Monitoring the collections: metrics\u001b[0m\n", + "\u001b[34m[2024-01-25 14:15:42.383 ip-10-2-106-129.ec2.internal:7 INFO hook.py:486] Hook is writing from the hook with pid: 7\u001b[0m\n", "\u001b[34m[1]#011train-merror:0.00023#011validation-merror:0.00040\u001b[0m\n", "\u001b[34m[2]#011train-merror:0.00001#011validation-merror:0.00015\u001b[0m\n", "\u001b[34m[3]#011train-merror:0.00001#011validation-merror:0.00015\u001b[0m\n", @@ -1276,7 +1270,8 @@ "\u001b[34m[87]#011train-merror:0.00000#011validation-merror:0.00010\u001b[0m\n", "\u001b[34m[88]#011train-merror:0.00000#011validation-merror:0.00010\u001b[0m\n", "\u001b[34m[89]#011train-merror:0.00000#011validation-merror:0.00010\u001b[0m\n", - "\u001b[34m[90]#011train-merror:0.00000#011validation-merror:0.00010\u001b[0m\n", + "\n", + "2024-01-25 14:17:00 Uploading - Uploading generated training model\u001b[34m[90]#011train-merror:0.00000#011validation-merror:0.00010\u001b[0m\n", "\u001b[34m[91]#011train-merror:0.00000#011validation-merror:0.00010\u001b[0m\n", "\u001b[34m[92]#011train-merror:0.00000#011validation-merror:0.00010\u001b[0m\n", "\u001b[34m[93]#011train-merror:0.00000#011validation-merror:0.00010\u001b[0m\n", @@ -1287,10 +1282,9 @@ "\u001b[34m[98]#011train-merror:0.00000#011validation-merror:0.00010\u001b[0m\n", "\u001b[34m[99]#011train-merror:0.00000#011validation-merror:0.00010\u001b[0m\n", "\n", - "2024-01-24 14:22:57 Uploading - Uploading generated training model\n", - "2024-01-24 14:22:57 Completed - Training job completed\n", - "Training seconds: 203\n", - "Billable seconds: 203\n" + "2024-01-25 14:17:16 Completed - Training job completed\n", + "Training seconds: 198\n", + "Billable seconds: 198\n" ] } ], @@ -1310,23 +1304,17 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 26, "id": "78444d49-4ad3-49e4-a579-19b173facb26", "metadata": {}, "outputs": [], "source": [ - "serving_function = project.set_function(\n", - " name=\"serving\",\n", - " func=\"src/serving.py\",\n", - " kind=\"serving\",\n", - " image=\"mlrun/mlrun\",\n", - " requirements=[\"xgboost\"],\n", - ")" + "serving_function = project.get_function(\"serving\")" ] }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 27, "id": "bd061d8f-82e5-4ed2-b3ed-d994fadaceaa", "metadata": {}, "outputs": [ @@ -1336,52 +1324,52 @@ "\n", "\n", - "\n", "\n", - "\n", + "\n", "\n", "mlrun-flow\n", - "\n", + "\n", "\n", "\n", "_start\n", - "\n", - "start\n", + "\n", + "start\n", "\n", "\n", "\n", "xgboost-model\n", - "\n", - "xgboost-model\n", + "\n", + "xgboost-model\n", "\n", "\n", "\n", "_start->xgboost-model\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", "\n", "postprocess\n", - "\n", - "postprocess\n", + "\n", + "postprocess\n", "\n", "\n", "\n", "xgboost-model->postprocess\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", "\n" ], "text/plain": [ - "" + "" ] }, - "execution_count": 28, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -1402,7 +1390,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 28, "id": "ceae49b8-98d1-4c00-8bde-597ee80cf6e3", "metadata": {}, "outputs": [ @@ -1410,23 +1398,23 @@ "name": "stdout", "output_type": "stream", "text": [ - "> 2024-01-24 14:23:16,612 [info] Starting remote function deploy\n", - "2024-01-24 14:23:17 (info) Deploying function\n", - "2024-01-24 14:23:17 (info) Building\n", - "2024-01-24 14:23:18 (info) Staging files and preparing base images\n", - "2024-01-24 14:23:18 (info) Building processor image\n", - "2024-01-24 14:24:23 (info) Build complete\n", - "2024-01-24 14:24:31 (info) Function deploy complete\n", - "> 2024-01-24 14:24:38,852 [info] successfully deployed function: {'internal_invocation_urls': ['nuclio-sagemaker-admin-serving.default-tenant.svc.cluster.local:8080'], 'external_invocation_urls': ['sagemaker-admin-serving-sagemaker-admin.default-tenant.app.cust-cs-il-353.iguazio-cd2.com/']}\n" + "> 2024-01-25 14:17:46,696 [info] Starting remote function deploy\n", + "2024-01-25 14:17:46 (info) Deploying function\n", + "2024-01-25 14:17:46 (info) Building\n", + "2024-01-25 14:17:47 (info) Staging files and preparing base images\n", + "2024-01-25 14:17:47 (info) Building processor image\n", + "2024-01-25 14:19:32 (info) Build complete\n", + "2024-01-25 14:19:40 (info) Function deploy complete\n", + "> 2024-01-25 14:19:48,105 [info] successfully deployed function: {'internal_invocation_urls': ['nuclio-sagemaker-yoni-serving.default-tenant.svc.cluster.local:8080'], 'external_invocation_urls': ['sagemaker-yoni-serving-sagemaker-yoni.default-tenant.app.app-lab-2-b688.iguazio-cd2.com/']}\n" ] }, { "data": { "text/plain": [ - "DeployStatus(state=ready, outputs={'endpoint': 'http://sagemaker-admin-serving-sagemaker-admin.default-tenant.app.cust-cs-il-353.iguazio-cd2.com/', 'name': 'sagemaker-admin-serving'})" + "DeployStatus(state=ready, outputs={'endpoint': 'http://sagemaker-yoni-serving-sagemaker-yoni.default-tenant.app.app-lab-2-b688.iguazio-cd2.com/', 'name': 'sagemaker-yoni-serving'})" ] }, - "execution_count": 29, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -1437,7 +1425,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 29, "id": "c858e3e9-9e43-4148-8015-6047565db456", "metadata": {}, "outputs": [], @@ -1447,7 +1435,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 30, "id": "de741da6-8ff6-4f60-bae4-3c1d11df87c4", "metadata": {}, "outputs": [ @@ -1455,7 +1443,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "> 2024-01-24 14:24:38,929 [info] invoking function: {'method': 'POST', 'path': 'http://sagemaker-admin-serving-sagemaker-admin.default-tenant.app.cust-cs-il-353.iguazio-cd2.com//predict'}\n" + "> 2024-01-25 14:19:48,167 [info] invoking function: {'method': 'POST', 'path': 'http://nuclio-sagemaker-yoni-serving.default-tenant.svc.cluster.local:8080/predict'}\n" ] } ], @@ -1475,7 +1463,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 31, "id": "2e863ea7-5804-4637-b677-390c305cabfe", "metadata": {}, "outputs": [], @@ -1493,331 +1481,12 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 32, "id": "ca4f7e49", "metadata": {}, "outputs": [], "source": [ - "evaluate_function = project.set_function(\n", - " \"src/evaluate.py\",\n", - " \"evaluate\",\n", - " handler=\"evaluate\",\n", - " image=\"mlrun/mlrun\",\n", - " requirements=[\"xgboost\"],\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "b6df4226-2e2e-40ce-9c44-28df86a348f8", - "metadata": {}, - "source": [ - "Build the function's image" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "id": "b5b37328-c8ac-4c22-aaa5-6c3e4442660a", - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "The `overwrite_build_params` parameter default will change from 'False' to 'True' in 1.8.0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "> 2024-01-24 14:26:42,427 [info] Started building image: .mlrun/func-sagemaker-admin-evaluate:latest\n", - "\u001b[36mINFO\u001b[0m[0000] Retrieving image manifest mlrun/mlrun:1.6.0-rc22 \n", - "\u001b[36mINFO\u001b[0m[0000] Retrieving image mlrun/mlrun:1.6.0-rc22 from registry index.docker.io \n", - "\u001b[36mINFO\u001b[0m[0000] Built cross stage deps: map[] \n", - "\u001b[36mINFO\u001b[0m[0000] Retrieving image manifest mlrun/mlrun:1.6.0-rc22 \n", - "\u001b[36mINFO\u001b[0m[0000] Returning cached image manifest \n", - "\u001b[36mINFO\u001b[0m[0000] Executing 0 build triggers \n", - "\u001b[36mINFO\u001b[0m[0000] Building stage 'mlrun/mlrun:1.6.0-rc22' [idx: '0', base-idx: '-1'] \n", - "\u001b[36mINFO\u001b[0m[0000] Unpacking rootfs as cmd RUN echo 'Installing /empty/requirements.txt...'; cat /empty/requirements.txt requires it. \n", - "\u001b[36mINFO\u001b[0m[0035] ARG AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \n", - "\u001b[36mINFO\u001b[0m[0035] ARG AWS_DEFAULT_REGION=$AWS_DEFAULT_REGION \n", - "\u001b[36mINFO\u001b[0m[0035] ARG AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \n", - "\u001b[36mINFO\u001b[0m[0035] ARG SAGEMAKER-ROLE=$SAGEMAKER-ROLE \n", - "\u001b[36mINFO\u001b[0m[0035] RUN echo 'Installing /empty/requirements.txt...'; cat /empty/requirements.txt \n", - "\u001b[36mINFO\u001b[0m[0035] Initializing snapshotter ... \n", - "\u001b[36mINFO\u001b[0m[0035] Taking snapshot of full filesystem... \n", - "\u001b[36mINFO\u001b[0m[0074] Cmd: /bin/sh \n", - "\u001b[36mINFO\u001b[0m[0074] Args: [-c echo 'Installing /empty/requirements.txt...'; cat /empty/requirements.txt] \n", - "\u001b[36mINFO\u001b[0m[0074] Running: [/bin/sh -c echo 'Installing /empty/requirements.txt...'; cat /empty/requirements.txt] \n", - "Installing /empty/requirements.txt...\n", - "mlrun[complete]==1.6.0-rc22\n", - "xgboost\n", - "\u001b[36mINFO\u001b[0m[0074] Taking snapshot of full filesystem... \n", - "\u001b[36mINFO\u001b[0m[0082] No files were changed, appending empty layer to config. No layer added to image. \n", - "\u001b[36mINFO\u001b[0m[0082] RUN python -m pip install -r /empty/requirements.txt \n", - "\u001b[36mINFO\u001b[0m[0082] Cmd: /bin/sh \n", - "\u001b[36mINFO\u001b[0m[0082] Args: [-c python -m pip install -r /empty/requirements.txt] \n", - "\u001b[36mINFO\u001b[0m[0082] Running: [/bin/sh -c python -m pip install -r /empty/requirements.txt] \n", - "Requirement already satisfied: mlrun[complete]==1.6.0-rc22 in /opt/conda/lib/python3.9/site-packages (from -r /empty/requirements.txt (line 1)) (1.6.0rc22)\n", - "Collecting xgboost (from -r /empty/requirements.txt (line 2))\n", - " Obtaining dependency information for xgboost from https://files.pythonhosted.org/packages/c3/eb/496aa2f5d356af4185f770bc76055307f8d1870e11016b10fd779b21769c/xgboost-2.0.3-py3-none-manylinux2014_x86_64.whl.metadata\n", - " Downloading xgboost-2.0.3-py3-none-manylinux2014_x86_64.whl.metadata (2.0 kB)\n", - "Requirement already satisfied: urllib3<1.27,>=1.26.9 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.26.18)\n", - "Requirement already satisfied: GitPython>=3.1.30,~=3.1 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.1.41)\n", - "Requirement already satisfied: aiohttp~=3.8 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.9.1)\n", - "Requirement already satisfied: aiohttp-retry~=2.8 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.8.3)\n", - "Requirement already satisfied: click~=8.1 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (8.1.7)\n", - "Requirement already satisfied: kfp~=1.8 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.8.22)\n", - "Requirement already satisfied: nest-asyncio~=1.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.5.9)\n", - "Requirement already satisfied: ipython~=8.10 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (8.18.1)\n", - "Requirement already satisfied: nuclio-jupyter~=0.9.14 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.9.14)\n", - "Requirement already satisfied: numpy<1.27.0,>=1.16.5 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.26.3)\n", - "Requirement already satisfied: pandas<3,>=1.2 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.1.4)\n", - "Requirement already satisfied: pyarrow<15,>=10.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (14.0.2)\n", - "Requirement already satisfied: pyyaml~=5.1 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.4.1)\n", - "Requirement already satisfied: requests~=2.31 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.31.0)\n", - "Requirement already satisfied: tabulate~=0.8.6 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.8.10)\n", - "Requirement already satisfied: v3io~=0.5.21 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.5.21)\n", - "Requirement already satisfied: pydantic>=1.10.8,~=1.10 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.10.13)\n", - "Requirement already satisfied: mergedeep~=1.3 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.3.4)\n", - "Requirement already satisfied: v3io-frames~=0.10.10 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.10.10)\n", - "Requirement already satisfied: semver~=3.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.2)\n", - "Requirement already satisfied: dependency-injector~=4.41 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.41.0)\n", - "Requirement already satisfied: fsspec==2023.9.2 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.9.2)\n", - "Requirement already satisfied: v3iofs~=0.1.17 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.1.18)\n", - "Requirement already satisfied: storey~=1.6.16 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.6.16)\n", - "Requirement already satisfied: inflection~=0.5.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.5.1)\n", - "Requirement already satisfied: python-dotenv~=0.17.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.17.1)\n", - "Requirement already satisfied: setuptools~=68.2 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (68.2.2)\n", - "Requirement already satisfied: deprecated~=1.2 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.2.14)\n", - "Requirement already satisfied: jinja2~=3.1 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.1.3)\n", - "Requirement already satisfied: anyio~=3.7 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.7.1)\n", - "Requirement already satisfied: orjson~=3.9 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.9.10)\n", - "Requirement already satisfied: adlfs==2023.9.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.9.0)\n", - "Requirement already satisfied: aiobotocore<2.8,>=2.5.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.5.4)\n", - "Requirement already satisfied: avro~=1.11 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.11.3)\n", - "Requirement already satisfied: azure-core~=1.24 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.29.6)\n", - "Requirement already satisfied: azure-identity~=1.5 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.15.0)\n", - "Requirement already satisfied: azure-keyvault-secrets~=4.2 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.7.0)\n", - "Requirement already satisfied: boto3<1.29.0,>=1.28.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.28.17)\n", - "Requirement already satisfied: dask~=2023.9.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.9.3)\n", - "Requirement already satisfied: databricks-sdk~=0.13.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.13.0)\n", - "Requirement already satisfied: distributed~=2023.9.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.9.3)\n", - "Requirement already satisfied: gcsfs==2023.9.2 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.9.2)\n", - "Requirement already satisfied: google-cloud-bigquery[bqstorage,pandas]==3.14.1 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.14.1)\n", - "Requirement already satisfied: graphviz~=0.20.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.20.1)\n", - "Requirement already satisfied: kafka-python~=2.0 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.0.2)\n", - "Requirement already satisfied: mlflow~=2.8 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.9.2)\n", - "Requirement already satisfied: msrest~=0.6.21 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.6.21)\n", - "Requirement already satisfied: plotly<5.12.0,~=5.4 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.11.0)\n", - "Requirement already satisfied: pyopenssl>=23 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (23.2.0)\n", - "Requirement already satisfied: redis~=4.3 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.6.0)\n", - "Requirement already satisfied: s3fs==2023.9.2 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.9.2)\n", - "Requirement already satisfied: sqlalchemy~=1.4 in /opt/conda/lib/python3.9/site-packages (from mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.4.51)\n", - "Requirement already satisfied: azure-datalake-store<0.1,>=0.0.46 in /opt/conda/lib/python3.9/site-packages (from adlfs==2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.0.53)\n", - "Requirement already satisfied: azure-storage-blob>=12.12.0 in /opt/conda/lib/python3.9/site-packages (from adlfs==2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (12.19.0)\n", - "Requirement already satisfied: decorator>4.1.2 in /opt/conda/lib/python3.9/site-packages (from gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.1.1)\n", - "Requirement already satisfied: google-auth>=1.2 in /opt/conda/lib/python3.9/site-packages (from gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.26.2)\n", - "Requirement already satisfied: google-auth-oauthlib in /opt/conda/lib/python3.9/site-packages (from gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.2.0)\n", - "Requirement already satisfied: google-cloud-storage in /opt/conda/lib/python3.9/site-packages (from gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.14.0)\n", - "Requirement already satisfied: google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0dev,>=1.31.5 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.15.0)\n", - "Requirement already satisfied: google-cloud-core<3.0.0dev,>=1.6.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.4.1)\n", - "Requirement already satisfied: google-resumable-media<3.0dev,>=0.6.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.7.0)\n", - "Requirement already satisfied: packaging>=20.0.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (23.1)\n", - "Requirement already satisfied: python-dateutil<3.0dev,>=2.7.2 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.8.2)\n", - "Requirement already satisfied: db-dtypes<2.0.0dev,>=0.3.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.2.0)\n", - "Requirement already satisfied: google-cloud-bigquery-storage<3.0.0dev,>=2.6.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.24.0)\n", - "Requirement already satisfied: grpcio<2.0dev,>=1.47.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.60.0)\n", - "Requirement already satisfied: scipy in /opt/conda/lib/python3.9/site-packages (from xgboost->-r /empty/requirements.txt (line 2)) (1.11.4)\n", - "Requirement already satisfied: botocore<1.31.18,>=1.31.17 in /opt/conda/lib/python3.9/site-packages (from aiobotocore<2.8,>=2.5.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.31.17)\n", - "Requirement already satisfied: wrapt<2.0.0,>=1.10.10 in /opt/conda/lib/python3.9/site-packages (from aiobotocore<2.8,>=2.5.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.16.0)\n", - "Requirement already satisfied: aioitertools<1.0.0,>=0.5.1 in /opt/conda/lib/python3.9/site-packages (from aiobotocore<2.8,>=2.5.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.11.0)\n", - "Requirement already satisfied: attrs>=17.3.0 in /opt/conda/lib/python3.9/site-packages (from aiohttp~=3.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (23.2.0)\n", - "Requirement already satisfied: multidict<7.0,>=4.5 in /opt/conda/lib/python3.9/site-packages (from aiohttp~=3.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (6.0.4)\n", - "Requirement already satisfied: yarl<2.0,>=1.0 in /opt/conda/lib/python3.9/site-packages (from aiohttp~=3.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.9.4)\n", - "Requirement already satisfied: frozenlist>=1.1.1 in /opt/conda/lib/python3.9/site-packages (from aiohttp~=3.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.4.1)\n", - "Requirement already satisfied: aiosignal>=1.1.2 in /opt/conda/lib/python3.9/site-packages (from aiohttp~=3.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.3.1)\n", - "Requirement already satisfied: async-timeout<5.0,>=4.0 in /opt/conda/lib/python3.9/site-packages (from aiohttp~=3.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.0.3)\n", - "Requirement already satisfied: idna>=2.8 in /opt/conda/lib/python3.9/site-packages (from anyio~=3.7->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.4)\n", - "Requirement already satisfied: sniffio>=1.1 in /opt/conda/lib/python3.9/site-packages (from anyio~=3.7->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.3.0)\n", - "Requirement already satisfied: exceptiongroup in /opt/conda/lib/python3.9/site-packages (from anyio~=3.7->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.2.0)\n", - "Requirement already satisfied: six>=1.11.0 in /opt/conda/lib/python3.9/site-packages (from azure-core~=1.24->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.16.0)\n", - "Requirement already satisfied: typing-extensions>=4.6.0 in /opt/conda/lib/python3.9/site-packages (from azure-core~=1.24->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.9.0)\n", - "Requirement already satisfied: cryptography>=2.5 in /opt/conda/lib/python3.9/site-packages (from azure-identity~=1.5->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (41.0.7)\n", - "Requirement already satisfied: msal<2.0.0,>=1.24.0 in /opt/conda/lib/python3.9/site-packages (from azure-identity~=1.5->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.26.0)\n", - "Requirement already satisfied: msal-extensions<2.0.0,>=0.3.0 in /opt/conda/lib/python3.9/site-packages (from azure-identity~=1.5->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.1.0)\n", - "Requirement already satisfied: azure-common~=1.1 in /opt/conda/lib/python3.9/site-packages (from azure-keyvault-secrets~=4.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.1.28)\n", - "Requirement already satisfied: isodate>=0.6.1 in /opt/conda/lib/python3.9/site-packages (from azure-keyvault-secrets~=4.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.6.1)\n", - "Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in /opt/conda/lib/python3.9/site-packages (from boto3<1.29.0,>=1.28.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.0.1)\n", - "Requirement already satisfied: s3transfer<0.7.0,>=0.6.0 in /opt/conda/lib/python3.9/site-packages (from boto3<1.29.0,>=1.28.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.6.2)\n", - "Requirement already satisfied: cloudpickle>=1.5.0 in /opt/conda/lib/python3.9/site-packages (from dask~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.2.1)\n", - "Requirement already satisfied: partd>=1.2.0 in /opt/conda/lib/python3.9/site-packages (from dask~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.4.1)\n", - "Requirement already satisfied: toolz>=0.10.0 in /opt/conda/lib/python3.9/site-packages (from dask~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.12.0)\n", - "Requirement already satisfied: importlib-metadata>=4.13.0 in /opt/conda/lib/python3.9/site-packages (from dask~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (7.0.1)\n", - "Requirement already satisfied: locket>=1.0.0 in /opt/conda/lib/python3.9/site-packages (from distributed~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.0.0)\n", - "Requirement already satisfied: msgpack>=1.0.0 in /opt/conda/lib/python3.9/site-packages (from distributed~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.0.7)\n", - "Requirement already satisfied: psutil>=5.7.2 in /opt/conda/lib/python3.9/site-packages (from distributed~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.9.7)\n", - "Requirement already satisfied: sortedcontainers>=2.0.5 in /opt/conda/lib/python3.9/site-packages (from distributed~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.4.0)\n", - "Requirement already satisfied: tblib>=1.6.0 in /opt/conda/lib/python3.9/site-packages (from distributed~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.0)\n", - "Requirement already satisfied: tornado>=6.0.4 in /opt/conda/lib/python3.9/site-packages (from distributed~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (6.4)\n", - "Requirement already satisfied: zict>=3.0.0 in /opt/conda/lib/python3.9/site-packages (from distributed~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.0)\n", - "Requirement already satisfied: gitdb<5,>=4.0.1 in /opt/conda/lib/python3.9/site-packages (from GitPython>=3.1.30,~=3.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.0.11)\n", - "Requirement already satisfied: jedi>=0.16 in /opt/conda/lib/python3.9/site-packages (from ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.19.1)\n", - "Requirement already satisfied: matplotlib-inline in /opt/conda/lib/python3.9/site-packages (from ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.1.6)\n", - "Requirement already satisfied: prompt-toolkit<3.1.0,>=3.0.41 in /opt/conda/lib/python3.9/site-packages (from ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.43)\n", - "Requirement already satisfied: pygments>=2.4.0 in /opt/conda/lib/python3.9/site-packages (from ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.17.2)\n", - "Requirement already satisfied: stack-data in /opt/conda/lib/python3.9/site-packages (from ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.6.3)\n", - "Requirement already satisfied: traitlets>=5 in /opt/conda/lib/python3.9/site-packages (from ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.14.1)\n", - "Requirement already satisfied: pexpect>4.3 in /opt/conda/lib/python3.9/site-packages (from ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.9.0)\n", - "Requirement already satisfied: MarkupSafe>=2.0 in /opt/conda/lib/python3.9/site-packages (from jinja2~=3.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.1.3)\n", - "Requirement already satisfied: absl-py<2,>=0.9 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.4.0)\n", - "Requirement already satisfied: kubernetes<26,>=8.0.0 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (25.3.0)\n", - "Requirement already satisfied: google-api-python-client<2,>=1.7.8 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.12.11)\n", - "Requirement already satisfied: requests-toolbelt<1,>=0.8.0 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.10.1)\n", - "Requirement already satisfied: kfp-server-api<2.0.0,>=1.1.2 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.8.5)\n", - "Requirement already satisfied: jsonschema<5,>=3.0.1 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.21.0)\n", - "Requirement already satisfied: strip-hints<1,>=0.1.8 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.1.10)\n", - "Requirement already satisfied: docstring-parser<1,>=0.7.3 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.15)\n", - "Requirement already satisfied: kfp-pipeline-spec<0.2.0,>=0.1.16 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.1.16)\n", - "Requirement already satisfied: fire<1,>=0.3.1 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.5.0)\n", - "Requirement already satisfied: protobuf<4,>=3.13.0 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.20.3)\n", - "Requirement already satisfied: uritemplate<4,>=3.0.1 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.1)\n", - "Requirement already satisfied: typer<1.0,>=0.3.2 in /opt/conda/lib/python3.9/site-packages (from kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.9.0)\n", - "Requirement already satisfied: databricks-cli<1,>=0.8.7 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.18.0)\n", - "Requirement already satisfied: entrypoints<1 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.4)\n", - "Requirement already satisfied: pytz<2024 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.3.post1)\n", - "Requirement already satisfied: sqlparse<1,>=0.4.0 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.4.4)\n", - "Requirement already satisfied: alembic!=1.10.0,<2 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.13.1)\n", - "Requirement already satisfied: docker<7,>=4.0.0 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (6.1.3)\n", - "Requirement already satisfied: Flask<4 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.0)\n", - "Requirement already satisfied: querystring-parser<2 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.2.4)\n", - "Requirement already satisfied: scikit-learn<2 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.4.0)\n", - "Requirement already satisfied: markdown<4,>=3.3 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.5.2)\n", - "Requirement already satisfied: matplotlib<4 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.8.2)\n", - "Requirement already satisfied: gunicorn<22 in /opt/conda/lib/python3.9/site-packages (from mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (21.2.0)\n", - "Requirement already satisfied: requests-oauthlib>=0.5.0 in /opt/conda/lib/python3.9/site-packages (from msrest~=0.6.21->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.3.1)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/lib/python3.9/site-packages (from msrest~=0.6.21->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.11.17)\n", - "Requirement already satisfied: nbconvert>=6.4.5 in /opt/conda/lib/python3.9/site-packages (from nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (7.14.2)\n", - "Requirement already satisfied: notebook<7.0.0,>=6.4 in /opt/conda/lib/python3.9/site-packages (from nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (6.5.6)\n", - "Requirement already satisfied: tzdata>=2022.1 in /opt/conda/lib/python3.9/site-packages (from pandas<3,>=1.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.4)\n", - "Requirement already satisfied: tenacity>=6.2.0 in /opt/conda/lib/python3.9/site-packages (from plotly<5.12.0,~=5.4->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (8.2.3)\n", - "Requirement already satisfied: charset-normalizer<4,>=2 in /opt/conda/lib/python3.9/site-packages (from requests~=2.31->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.0.4)\n", - "Requirement already satisfied: greenlet!=0.4.17 in /opt/conda/lib/python3.9/site-packages (from sqlalchemy~=1.4->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.3)\n", - "Requirement already satisfied: xxhash>=1 in /opt/conda/lib/python3.9/site-packages (from storey~=1.6.16->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.4.1)\n", - "Requirement already satisfied: nuclio-sdk>=0.5.3 in /opt/conda/lib/python3.9/site-packages (from storey~=1.6.16->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.5.9)\n", - "Requirement already satisfied: future>=0.18.2 in /opt/conda/lib/python3.9/site-packages (from v3io~=0.5.21->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.18.3)\n", - "Requirement already satisfied: ujson>=3 in /opt/conda/lib/python3.9/site-packages (from v3io~=0.5.21->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.9.0)\n", - "Requirement already satisfied: googleapis-common-protos>=1.5.3 in /opt/conda/lib/python3.9/site-packages (from v3io-frames~=0.10.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.62.0)\n", - "Requirement already satisfied: grpcio-tools!=1.34.0,<1.49,>=1.30 in /opt/conda/lib/python3.9/site-packages (from v3io-frames~=0.10.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.48.2)\n", - "Requirement already satisfied: Mako in /opt/conda/lib/python3.9/site-packages (from alembic!=1.10.0,<2->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.3.0)\n", - "Requirement already satisfied: cffi in /opt/conda/lib/python3.9/site-packages (from azure-datalake-store<0.1,>=0.0.46->adlfs==2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.16.0)\n", - "Requirement already satisfied: pyjwt>=1.7.0 in /opt/conda/lib/python3.9/site-packages (from databricks-cli<1,>=0.8.7->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.8.0)\n", - "Requirement already satisfied: oauthlib>=3.1.0 in /opt/conda/lib/python3.9/site-packages (from databricks-cli<1,>=0.8.7->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.2.2)\n", - "Requirement already satisfied: websocket-client>=0.32.0 in /opt/conda/lib/python3.9/site-packages (from docker<7,>=4.0.0->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.7.0)\n", - "Requirement already satisfied: termcolor in /opt/conda/lib/python3.9/site-packages (from fire<1,>=0.3.1->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.4.0)\n", - "Requirement already satisfied: Werkzeug>=3.0.0 in /opt/conda/lib/python3.9/site-packages (from Flask<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.1)\n", - "Requirement already satisfied: itsdangerous>=2.1.2 in /opt/conda/lib/python3.9/site-packages (from Flask<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.1.2)\n", - "Requirement already satisfied: blinker>=1.6.2 in /opt/conda/lib/python3.9/site-packages (from Flask<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.7.0)\n", - "Requirement already satisfied: smmap<6,>=3.0.1 in /opt/conda/lib/python3.9/site-packages (from gitdb<5,>=4.0.1->GitPython>=3.1.30,~=3.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.0.1)\n", - "Requirement already satisfied: httplib2<1dev,>=0.15.0 in /opt/conda/lib/python3.9/site-packages (from google-api-python-client<2,>=1.7.8->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.22.0)\n", - "Requirement already satisfied: google-auth-httplib2>=0.0.3 in /opt/conda/lib/python3.9/site-packages (from google-api-python-client<2,>=1.7.8->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.2.0)\n", - "Requirement already satisfied: cachetools<6.0,>=2.0.0 in /opt/conda/lib/python3.9/site-packages (from google-auth>=1.2->gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.3.2)\n", - "Requirement already satisfied: pyasn1-modules>=0.2.1 in /opt/conda/lib/python3.9/site-packages (from google-auth>=1.2->gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.3.0)\n", - "Requirement already satisfied: rsa<5,>=3.1.4 in /opt/conda/lib/python3.9/site-packages (from google-auth>=1.2->gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.9)\n", - "Requirement already satisfied: proto-plus<2.0.0dev,>=1.22.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-bigquery-storage<3.0.0dev,>=2.6.0->google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.23.0)\n", - "Requirement already satisfied: google-crc32c<2.0dev,>=1.0 in /opt/conda/lib/python3.9/site-packages (from google-cloud-storage->gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.5.0)\n", - "Requirement already satisfied: zipp>=0.5 in /opt/conda/lib/python3.9/site-packages (from importlib-metadata>=4.13.0->dask~=2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.17.0)\n", - "Requirement already satisfied: parso<0.9.0,>=0.8.3 in /opt/conda/lib/python3.9/site-packages (from jedi>=0.16->ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.8.3)\n", - "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /opt/conda/lib/python3.9/site-packages (from jsonschema<5,>=3.0.1->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2023.12.1)\n", - "Requirement already satisfied: referencing>=0.28.4 in /opt/conda/lib/python3.9/site-packages (from jsonschema<5,>=3.0.1->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.32.1)\n", - "Requirement already satisfied: rpds-py>=0.7.1 in /opt/conda/lib/python3.9/site-packages (from jsonschema<5,>=3.0.1->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.17.1)\n", - "Requirement already satisfied: contourpy>=1.0.1 in /opt/conda/lib/python3.9/site-packages (from matplotlib<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.2.0)\n", - "Requirement already satisfied: cycler>=0.10 in /opt/conda/lib/python3.9/site-packages (from matplotlib<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.12.1)\n", - "Requirement already satisfied: fonttools>=4.22.0 in /opt/conda/lib/python3.9/site-packages (from matplotlib<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.47.2)\n", - "Requirement already satisfied: kiwisolver>=1.3.1 in /opt/conda/lib/python3.9/site-packages (from matplotlib<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.4.5)\n", - "Requirement already satisfied: pillow>=8 in /opt/conda/lib/python3.9/site-packages (from matplotlib<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (10.2.0)\n", - "Requirement already satisfied: pyparsing>=2.3.1 in /opt/conda/lib/python3.9/site-packages (from matplotlib<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.1.1)\n", - "Requirement already satisfied: importlib-resources>=3.2.0 in /opt/conda/lib/python3.9/site-packages (from matplotlib<4->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (6.1.1)\n", - "Requirement already satisfied: portalocker<3,>=1.0 in /opt/conda/lib/python3.9/site-packages (from msal-extensions<2.0.0,>=0.3.0->azure-identity~=1.5->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.8.2)\n", - "Requirement already satisfied: beautifulsoup4 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (4.12.3)\n", - "Requirement already satisfied: bleach!=5.0.0 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (6.1.0)\n", - "Requirement already satisfied: defusedxml in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.7.1)\n", - "Requirement already satisfied: jupyter-core>=4.7 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.7.1)\n", - "Requirement already satisfied: jupyterlab-pygments in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.3.0)\n", - "Requirement already satisfied: mistune<4,>=2.0.3 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.0.2)\n", - "Requirement already satisfied: nbclient>=0.5.0 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.9.0)\n", - "Requirement already satisfied: nbformat>=5.7 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (5.9.2)\n", - "Requirement already satisfied: pandocfilters>=1.4.1 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.5.0)\n", - "Requirement already satisfied: tinycss2 in /opt/conda/lib/python3.9/site-packages (from nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.2.1)\n", - "Requirement already satisfied: pyzmq<25,>=17 in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (24.0.1)\n", - "Requirement already satisfied: argon2-cffi in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (23.1.0)\n", - "Requirement already satisfied: jupyter-client<8,>=5.3.4 in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (7.4.9)\n", - "Requirement already satisfied: ipython-genutils in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.2.0)\n", - "Requirement already satisfied: ipykernel in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (6.29.0)\n", - "Requirement already satisfied: Send2Trash>=1.8.0 in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.8.2)\n", - "Requirement already satisfied: terminado>=0.8.3 in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.18.0)\n", - "Requirement already satisfied: prometheus-client in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.19.0)\n", - "Requirement already satisfied: nbclassic>=0.4.7 in /opt/conda/lib/python3.9/site-packages (from notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.0.0)\n", - "Requirement already satisfied: ptyprocess>=0.5 in /opt/conda/lib/python3.9/site-packages (from pexpect>4.3->ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.7.0)\n", - "Requirement already satisfied: wcwidth in /opt/conda/lib/python3.9/site-packages (from prompt-toolkit<3.1.0,>=3.0.41->ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.2.13)\n", - "Requirement already satisfied: joblib>=1.2.0 in /opt/conda/lib/python3.9/site-packages (from scikit-learn<2->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.3.2)\n", - "Requirement already satisfied: threadpoolctl>=2.0.0 in /opt/conda/lib/python3.9/site-packages (from scikit-learn<2->mlflow~=2.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.2.0)\n", - "Requirement already satisfied: wheel in /opt/conda/lib/python3.9/site-packages (from strip-hints<1,>=0.1.8->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.41.2)\n", - "Requirement already satisfied: executing>=1.2.0 in /opt/conda/lib/python3.9/site-packages (from stack-data->ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.0.1)\n", - "Requirement already satisfied: asttokens>=2.1.0 in /opt/conda/lib/python3.9/site-packages (from stack-data->ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.4.1)\n", - "Requirement already satisfied: pure-eval in /opt/conda/lib/python3.9/site-packages (from stack-data->ipython~=8.10->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.2.2)\n", - "Requirement already satisfied: webencodings in /opt/conda/lib/python3.9/site-packages (from bleach!=5.0.0->nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.5.1)\n", - "Requirement already satisfied: pycparser in /opt/conda/lib/python3.9/site-packages (from cffi->azure-datalake-store<0.1,>=0.0.46->adlfs==2023.9.0->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.21)\n", - "Requirement already satisfied: grpcio-status<2.0.dev0,>=1.33.2 in /opt/conda/lib/python3.9/site-packages (from google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0dev,>=1.31.5->google-cloud-bigquery[bqstorage,pandas]==3.14.1->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.48.2)\n", - "Requirement already satisfied: platformdirs>=2.5 in /opt/conda/lib/python3.9/site-packages (from jupyter-core>=4.7->nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (3.10.0)\n", - "Requirement already satisfied: jupyter-server>=1.8 in /opt/conda/lib/python3.9/site-packages (from nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.12.5)\n", - "Requirement already satisfied: notebook-shim>=0.2.3 in /opt/conda/lib/python3.9/site-packages (from nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.2.3)\n", - "Requirement already satisfied: fastjsonschema in /opt/conda/lib/python3.9/site-packages (from nbformat>=5.7->nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.19.1)\n", - "Requirement already satisfied: pyasn1<0.6.0,>=0.4.6 in /opt/conda/lib/python3.9/site-packages (from pyasn1-modules>=0.2.1->google-auth>=1.2->gcsfs==2023.9.2->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.5.1)\n", - "Requirement already satisfied: argon2-cffi-bindings in /opt/conda/lib/python3.9/site-packages (from argon2-cffi->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (21.2.0)\n", - "Requirement already satisfied: soupsieve>1.2 in /opt/conda/lib/python3.9/site-packages (from beautifulsoup4->nbconvert>=6.4.5->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.5)\n", - "Requirement already satisfied: comm>=0.1.1 in /opt/conda/lib/python3.9/site-packages (from ipykernel->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.2.1)\n", - "Requirement already satisfied: debugpy>=1.6.5 in /opt/conda/lib/python3.9/site-packages (from ipykernel->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.8.0)\n", - "Requirement already satisfied: jupyter-events>=0.9.0 in /opt/conda/lib/python3.9/site-packages (from jupyter-server>=1.8->nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.9.0)\n", - "Requirement already satisfied: jupyter-server-terminals in /opt/conda/lib/python3.9/site-packages (from jupyter-server>=1.8->nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.5.1)\n", - "Requirement already satisfied: overrides in /opt/conda/lib/python3.9/site-packages (from jupyter-server>=1.8->nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (7.4.0)\n", - "Requirement already satisfied: python-json-logger>=2.0.4 in /opt/conda/lib/python3.9/site-packages (from jupyter-events>=0.9.0->jupyter-server>=1.8->nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.0.7)\n", - "Requirement already satisfied: rfc3339-validator in /opt/conda/lib/python3.9/site-packages (from jupyter-events>=0.9.0->jupyter-server>=1.8->nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.1.4)\n", - "Requirement already satisfied: rfc3986-validator>=0.1.1 in /opt/conda/lib/python3.9/site-packages (from jupyter-events>=0.9.0->jupyter-server>=1.8->nbclassic>=0.4.7->notebook<7.0.0,>=6.4->nuclio-jupyter~=0.9.14->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (0.1.1)\n", - "Requirement already satisfied: fqdn in /opt/conda/lib/python3.9/site-packages (from jsonschema<5,>=3.0.1->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.5.1)\n", - "Requirement already satisfied: isoduration in /opt/conda/lib/python3.9/site-packages (from jsonschema<5,>=3.0.1->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (20.11.0)\n", - "Requirement already satisfied: jsonpointer>1.13 in /opt/conda/lib/python3.9/site-packages (from jsonschema<5,>=3.0.1->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.1)\n", - "Requirement already satisfied: uri-template in /opt/conda/lib/python3.9/site-packages (from jsonschema<5,>=3.0.1->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.3.0)\n", - "Requirement already satisfied: webcolors>=1.11 in /opt/conda/lib/python3.9/site-packages (from jsonschema<5,>=3.0.1->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.13)\n", - "Requirement already satisfied: arrow>=0.15.0 in /opt/conda/lib/python3.9/site-packages (from isoduration->jsonschema<5,>=3.0.1->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (1.3.0)\n", - "Requirement already satisfied: types-python-dateutil>=2.8.10 in /opt/conda/lib/python3.9/site-packages (from arrow>=0.15.0->isoduration->jsonschema<5,>=3.0.1->kfp~=1.8->mlrun[complete]==1.6.0-rc22->-r /empty/requirements.txt (line 1)) (2.8.19.20240106)\n", - "Downloading xgboost-2.0.3-py3-none-manylinux2014_x86_64.whl (297.1 MB)\n", - " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 297.1/297.1 MB 262.2 MB/s eta 0:00:00\n", - "Installing collected packages: xgboost\n", - "Successfully installed xgboost-2.0.3\n", - "WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\n", - "\u001b[36mINFO\u001b[0m[0095] Taking snapshot of full filesystem... \n", - "\u001b[36mINFO\u001b[0m[0111] Pushing image to docker-registry.default-tenant.app.cust-cs-il-353.iguazio-cd2.com/mlrun/func-sagemaker-admin-evaluate:latest \n", - "\u001b[36mINFO\u001b[0m[0114] Pushed docker-registry.default-tenant.app.cust-cs-il-353.iguazio-cd2.com/mlrun/func-sagemaker-admin-evaluate@sha256:d2b1a488f7dbf707b5299e33e398cc53e723082bc1273d373057e0047be7b71d \n" - ] - }, - { - "data": { - "text/plain": [ - "BuildStatus(ready=True, outputs={'image': '.mlrun/func-sagemaker-admin-evaluate:latest'})" - ] - }, - "execution_count": 37, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "project.build_function(\"evaluate\")" + "evaluate_function = project.get_function(\"evaluate\")" ] }, { @@ -1830,7 +1499,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 33, "id": "b6eab7af-e967-4e22-9817-18cc4bf2db0c", "metadata": {}, "outputs": [ @@ -1838,9 +1507,9 @@ "name": "stdout", "output_type": "stream", "text": [ - "> 2024-01-24 14:28:44,898 [info] Storing function: {'name': 'evaluate-evaluate', 'uid': '5371430132ad4088b2c45be42ef724ef', 'db': 'https://mlrun-api.default-tenant.app.cust-cs-il-353.iguazio-cd2.com'}\n", - "> 2024-01-24 14:28:45,334 [info] Job is running in the background, pod: evaluate-evaluate-hqf7z\n", - "[14:28:59] WARNING: /workspace/src/common/error_msg.h:80: If you are loading a serialized model (like pickle in Python, RDS in R) or\n", + "> 2024-01-25 14:19:48,410 [info] Storing function: {'name': 'evaluate-evaluate', 'uid': 'cac9cd3c55ba40d58fbe1156d4861e79', 'db': 'http://mlrun-api:8080'}\n", + "> 2024-01-25 14:19:48,708 [info] Job is running in the background, pod: evaluate-evaluate-5rrtk\n", + "[14:19:52] WARNING: /workspace/src/common/error_msg.h:80: If you are loading a serialized model (like pickle in Python, RDS in R) or\n", "configuration generated by an older version of XGBoost, please export the model by calling\n", "`Booster.save_model` from that version first, then load it back in current version. See:\n", "\n", @@ -1848,9 +1517,9 @@ "\n", "for more details about differences between saving model and serializing.\n", "\n", - "> 2024-01-24 14:28:59,616 [info] To track results use the CLI: {'info_cmd': 'mlrun get run 5371430132ad4088b2c45be42ef724ef -p sagemaker-admin', 'logs_cmd': 'mlrun logs 5371430132ad4088b2c45be42ef724ef -p sagemaker-admin'}\n", - "> 2024-01-24 14:28:59,616 [info] Or click for UI: {'ui_url': 'https://dashboard.default-tenant.app.cust-cs-il-353.iguazio-cd2.com/mlprojects/sagemaker-admin/jobs/monitor/5371430132ad4088b2c45be42ef724ef/overview'}\n", - "> 2024-01-24 14:28:59,616 [info] Run execution finished: {'status': 'completed', 'name': 'evaluate-evaluate'}\n" + "> 2024-01-25 14:19:53,802 [info] To track results use the CLI: {'info_cmd': 'mlrun get run cac9cd3c55ba40d58fbe1156d4861e79 -p sagemaker-yoni', 'logs_cmd': 'mlrun logs cac9cd3c55ba40d58fbe1156d4861e79 -p sagemaker-yoni'}\n", + "> 2024-01-25 14:19:53,802 [info] Or click for UI: {'ui_url': 'https://dashboard.default-tenant.app.app-lab-2-b688.iguazio-cd2.com/mlprojects/sagemaker-yoni/jobs/monitor/cac9cd3c55ba40d58fbe1156d4861e79/overview'}\n", + "> 2024-01-25 14:19:53,803 [info] Run execution finished: {'status': 'completed', 'name': 'evaluate-evaluate'}\n" ] }, { @@ -2023,27 +1692,27 @@ " \n", " \n", "
\n", - " sagemaker-admin\n", - "
...2ef724ef
\n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", "
uid
Jan 24 15:05:25Jan 25 15:38:44completedevaluate-evaluate
model_path=store://artifacts/sagemaker-admin/train_model_path@703220cf-d4f6-4201-bd8c-fc2a53bf689b
model_name=xgboost-model
test_set=s3://sagemaker-us-east-2-934638699319/payment-classification/test/test.csv
label_column=transaction_category
evaluate
model_path=store://artifacts/sagemaker-yoni/train_model_path@a678285c-f0b4-4d4a-a33d-a4ffa2e91380
model_name=xgboost-model
label_column=transaction_category
Jan 24 14:58:26Jan 25 15:31:47completedtrainsagemaker-yoni0Jan 24 14:28:56Jan 25 14:19:51completedevaluate-evaluate
v3io_user=admin
kind=job
owner=admin
mlrun/client_version=1.6.0-rc22
mlrun/client_python_version=3.9.18
host=evaluate-evaluate-hqf7z
v3io_user=yoni
kind=job
owner=yoni
mlrun/client_version=1.6.0-rc21
mlrun/client_python_version=3.9.16
host=evaluate-evaluate-5rrtk
model_path=s3://sagemaker-us-east-2-934638699319/payment-classification/output/sagemaker-xgboost-2024-01-24-14-17-33-351/output/model.tar.gz
model_name=xgboost-model
test_set=s3://sagemaker-us-east-2-934638699319/payment-classification/test/test.csv
label_column=transaction_category
factorize_key={'Uncategorized': '0', 'Entertainment': '1', 'Education': '2', 'Shopping': '3', 'Personal Care': '4', 'Health and Fitness': '5', 'Food and Dining': '6', 'Gifts and Donations': '7', 'Investments': '8', 'Bills and Utilities': '9', 'Auto and Transport': '10', 'Travel': '11', 'Fees and Charges': '12', 'Business Services': '13', 'Personal Services': '14', 'Taxes': '15', 'Gambling': '16', 'Home': '17', 'Pension and insurances': '18'}
model_path=s3://sagemaker-us-east-1-934638699319/payment-classification/output/sagemaker-xgboost-2024-01-25-14-12-01-149/output/model.tar.gz
model_name=xgboost-model
test_set=s3://sagemaker-us-east-1-934638699319/payment-classification/test/test.csv
label_column=transaction_category
factorize_key={'Uncategorized': '0', 'Entertainment': '1', 'Education': '2', 'Shopping': '3', 'Personal Care': '4', 'Health and Fitness': '5', 'Food and Dining': '6', 'Gifts and Donations': '7', 'Investments': '8', 'Bills and Utilities': '9', 'Auto and Transport': '10', 'Travel': '11', 'Fees and Charges': '12', 'Business Services': '13', 'Personal Services': '14', 'Taxes': '15', 'Gambling': '16', 'Home': '17', 'Pension and insurances': '18'}
classification_report
classification_report
\n", "\n", - "
\n", + "
\n", "
\n", - " Title\n", - " ×\n", + " Title\n", + " ×\n", "
\n", - " \n", + " \n", "
\n", "
\n" ], @@ -2064,7 +1733,7 @@ { "data": { "text/html": [ - " > to track results use the .show() or .logs() methods or click here to open in UI" + " > to track results use the .show() or .logs() methods or click here to open in UI" ], "text/plain": [ "" @@ -2077,7 +1746,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "> 2024-01-24 14:29:05,564 [info] Run execution finished: {'status': 'completed', 'name': 'evaluate-evaluate'}\n" + "> 2024-01-25 14:19:59,831 [info] Run execution finished: {'status': 'completed', 'name': 'evaluate-evaluate'}\n" ] } ], @@ -2104,7 +1773,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 34, "id": "3a9c30bd-a3bf-49f1-b57e-1490f3da00f2", "metadata": {}, "outputs": [ @@ -2320,7 +1989,7 @@ "weighted avg 0.999906 0.999900 0.999901 10000.0000" ] }, - "execution_count": 40, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -2383,7 +2052,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "id": "f79b1164", "metadata": {}, "outputs": [], @@ -2442,9 +2111,9 @@ "metadata": { "instance_type": "ml.t3.medium", "kernelspec": { - "display_name": "smdemo", + "display_name": "mlrun-base", "language": "python", - "name": "smdemo" + "name": "conda-env-mlrun-base-py" }, "language_info": { "codemirror_mode": { @@ -2456,7 +2125,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.18" + "version": "3.9.16" } }, "nbformat": 4, diff --git a/project_setup.py b/project_setup.py new file mode 100644 index 0000000..b7efcad --- /dev/null +++ b/project_setup.py @@ -0,0 +1,116 @@ +# Copyright 2023 Iguazio +# +# 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 +# +# http://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. +import mlrun + + +def setup( + project: mlrun.projects.MlrunProject, +) -> mlrun.projects.MlrunProject: + """ + Creating the project for the demo. This function is expected to call automatically when calling the function + `mlrun.get_or_create_project`. + + :param project: The project to set up. + + :returns: A fully prepared project for this demo. + """ + # Set secrets: + _set_secrets(project=project) + + # Unpack parameters: + source = project.get_param(key="source") + default_image = project.get_param(key="default_image") + + # Set or build the default image: + if default_image is None and not project.spec.build.image: + print("Building default image for the demo:") + _build_image(project=project) + else: + project.set_default_image(default_image) + + # Set the project git source: + if source: + print(f"Project Source: {source}") + project.set_source(source=source, pull_at_runtime=True) + + # Set the functions: + _set_functions(project=project) + + # Set the workflows: + project.set_workflow(name="sagemaker", workflow_path="./src/workflows/workflow.py") + + # Save and return the project: + project.save() + return project + + +def _set_secrets(project: mlrun.projects.MlrunProject): + # Set the secrets: + project.set_secrets(file_path="mlrun.env") + # Set as environment variables: + mlrun.set_env_from_file("mlrun.env") + + +def _build_image(project: mlrun.projects.MlrunProject): + assert project.build_image( + base_image="mlrun/mlrun", + commands=[ + "pip install sagemaker", + "pip install xgboost", + ], + set_as_default=True, + ) + + +def _set_functions(project: mlrun.projects.MlrunProject): + # Train + _set_function( + project=project, + func="src/functions/train.py", + name="train", + kind="job", + ) + + # Evaluate + _set_function( + project=project, + func="src/functions/evaluate.py", + name="evaluate", + kind="job", + ) + + # Serving + _set_function( + project=project, + func="src/functions/serving.py", + name="serving", + kind="serving", + ) + + +def _set_function( + project: mlrun.projects.MlrunProject, + func: str, + name: str, + kind: str, +): + # Set the given function: + mlrun_function = project.set_function( + func=func, + name=name, + kind=kind, + ) + + # Save: + mlrun_function.save() diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..73628d6 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,3 @@ +[tool.isort] +profile = "black" +multi_line_output = 3 \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..b575d3b --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +sagemaker +xgboost \ No newline at end of file diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..ff1da1d --- /dev/null +++ b/setup.py @@ -0,0 +1,19 @@ +from setuptools import find_packages, setup + +project_name = "myproj" +with open("README.md", "r", encoding="utf-8") as fh: + long_description = fh.read() + +setup( + name=project_name, + packages=[project_name], + package_dir={project_name: "src"}, + version="0.1.0", + description="my desc", + author="Yaron", + author_email="author@example.com", + license="MIT", + long_description=long_description, + long_description_content_type="text/markdown", + python_requires=">=3.9", +) \ No newline at end of file diff --git a/src/evaluate.py b/src/functions/evaluate.py similarity index 81% rename from src/evaluate.py rename to src/functions/evaluate.py index 2c7dbce..34a7359 100644 --- a/src/evaluate.py +++ b/src/functions/evaluate.py @@ -1,11 +1,12 @@ +import tarfile import tempfile -import xgboost as xgb -from sklearn.metrics import classification_report -from cloudpickle import load +from typing import Union + import mlrun -import tarfile import pandas as pd - +import xgboost as xgb +from cloudpickle import load +from sklearn.metrics import classification_report FACTORIZE_KEY = { "Uncategorized": 0, @@ -33,17 +34,17 @@ def evaluate( model_path: str, model_name: str, - test_set: str, + test_set: Union[mlrun.DataItem, str], label_column: str, - factorize_key: dict = FACTORIZE_KEY, + factorize_key: dict = None, ) -> pd.DataFrame: # download model from s3: if model_path.startswith("store://"): - model_path = mlrun.get_dataitem(model_path).get().decode("utf-8") + model_path = mlrun.get_dataitem(model_path).get().decode("utf-8") model_temp_path = _download_object_from_s3(model_path, suffix=".tar.gz") # extract model file: - t = tarfile.open(model_temp_path, 'r:gz') + t = tarfile.open(model_temp_path, "r:gz") t.extractall() # load model from file: @@ -54,26 +55,31 @@ def evaluate( # convert to pandas dataframe: test_set = pd.read_csv(test_set_temp_path) - + # convert to xgboost object: test_data = xgb.DMatrix(test_set.drop(columns=[label_column], axis=1)) # get predictions: predictions = [prediction.argmax() for prediction in model.predict(test_data)] + if factorize_key is None: + factorize_key = FACTORIZE_KEY + # generate classification report: report = classification_report( y_true=test_set["transaction_category"].to_list(), y_pred=predictions, target_names=factorize_key, - output_dict=True + output_dict=True, ) report_df = pd.DataFrame.from_dict(report).transpose() return report_df -def _download_object_from_s3(object_path: str, suffix: str): +def _download_object_from_s3(object_path: Union[mlrun.DataItem, str], suffix: str): + if isinstance(object_path, mlrun.DataItem): + object_path = object_path.get().decode("utf-8") obj = mlrun.datastore.store_manager.object(url=object_path) temp_path = tempfile.NamedTemporaryFile( suffix=suffix, diff --git a/src/serving.py b/src/functions/serving.py similarity index 93% rename from src/serving.py rename to src/functions/serving.py index 7a1e6f2..eca3524 100644 --- a/src/serving.py +++ b/src/functions/serving.py @@ -1,11 +1,11 @@ -import mlrun -from cloudpickle import load -from typing import List -import xgboost as xgb import tarfile -import numpy as np - import warnings +from typing import List + +import mlrun +import numpy as np +import xgboost as xgb +from cloudpickle import load warnings.filterwarnings("ignore") @@ -13,26 +13,26 @@ class XGBModelServer(mlrun.serving.V2ModelServer): def load(self): """load and initialize the model and/or other elements""" - + # Download the model file: model_file, extra_data = self.get_model(".tar.gz") - + # Extract model file: - t = tarfile.open(model_file, 'r:gz') + t = tarfile.open(model_file, "r:gz") t.extractall() - + # Load model from file: self.model = load(open("xgboost-model", "rb")) def predict(self, body: dict) -> List: """Generate model predictions from sample.""" - + # Convert input to numpy array: data = np.asarray(body["inputs"]) - + # Transform into XGBoost object: data = xgb.DMatrix(data) - + # Perform prediction: result: np.ndarray = self.model.predict(data) return result.tolist() @@ -54,7 +54,7 @@ def postprocess(inputs: dict) -> dict: confidence = max(prediction) predictions.extend([int(pred)]) confidences.extend([float(confidence)]) - + inputs["predictions"] = predictions inputs["confidences"] = confidences return inputs diff --git a/src/train.py b/src/functions/train.py similarity index 51% rename from src/train.py rename to src/functions/train.py index 0c9e562..de6d2bb 100644 --- a/src/train.py +++ b/src/functions/train.py @@ -1,72 +1,42 @@ -import boto3 -import io -import sagemaker -import time import os -from time import sleep -from sklearn.metrics import classification_report -#from sagemaker.feature_store.feature_group import FeatureGroup - -import pandas as pd -import numpy as np - -import numpy as np -import pandas as pd +import boto3 +import mlrun import mlrun.feature_store as fs +import numpy as np +import sagemaker -def get_feature_store_data(): - features = [ - "sagemaker-admin/transactions.*", - ] - - vector = fs.FeatureVector("transactions",features=features,description="enriched transactions") - resp = fs.FeatureVector.get_offline_features(vector) - - #Preview the dataset - df = resp.to_dataframe() - - return df - -def save_data(train_data, validation_data, test_data): - train_data.to_csv("train.csv", index=False, header=False) - validation_data.to_csv("validation.csv", index=False, header=False) - test_data.to_csv("test.csv", index=False, header=False) - - -def upload_files(): - boto3.Session().resource("s3").Bucket(s3_bucket).Object( - os.path.join(bucket_prefix, "train/train.csv") - ).upload_file("train.csv") - boto3.Session().resource("s3").Bucket(s3_bucket).Object( - os.path.join(bucket_prefix, "validation/validation.csv") - ).upload_file("validation.csv") - def train(context): + # Set AWS environment variables: _set_envars(context) - data = get_feature_store_data() - sagemaker_role = context.get_secret("SAGEMAKER-ROLE") - context.logger.info(sagemaker_role) + + # Get data from feature-store: + data = _get_feature_store_data() + # Randomly sort the data then split out first 70%, second 20%, and last 10% train_data, validation_data, test_data = np.split( - data.sample(frac=1, random_state=42), [int(0.7 * len(data)), int(0.9 * len(data))] + data.sample(frac=1, random_state=42), + [int(0.7 * len(data)), int(0.9 * len(data))], ) - # save_data(train_data, validation_data, test_data) - # upload_files() + + # Save the data locally: train_data.to_csv("train.csv", index=False, header=False) validation_data.to_csv("validation.csv", index=False, header=False) test_data.to_csv("test.csv", index=False, header=True) + # Setting up a session: region = sagemaker.Session().boto_region_name sm_client = boto3.client("sagemaker") boto_session = boto3.Session(region_name=region) - sagemaker_session = sagemaker.session.Session(boto_session=boto_session, sagemaker_client=sm_client) - # role = sagemaker.get_execution_role() - role = sagemaker_role + sagemaker_session = sagemaker.session.Session( + boto_session=boto_session, sagemaker_client=sm_client + ) + role = context.get_secret("SAGEMAKER-ROLE") bucket_prefix = "payment-classification" s3_bucket = sagemaker_session.default_bucket() + # Uploading csv files to s3: boto3.Session().resource("s3").Bucket(s3_bucket).Object( os.path.join(bucket_prefix, "train/train.csv") ).upload_file("train.csv") @@ -76,22 +46,32 @@ def train(context): boto3.Session().resource("s3").Bucket(s3_bucket).Object( os.path.join(bucket_prefix, "test/test.csv") ).upload_file("test.csv") - - container = sagemaker.image_uris.retrieve(region=region, framework="xgboost", version="1.2-2") + # Retrieve container from sagemaker: + container = sagemaker.image_uris.retrieve( + region=region, framework="xgboost", version="1.2-2" + ) + + # Convert train and validation datasets into TrainingInput objects: s3_input_train = sagemaker.inputs.TrainingInput( - s3_data="s3://{}/{}/train".format(s3_bucket, bucket_prefix), content_type="csv") + s3_data="s3://{}/{}/train".format(s3_bucket, bucket_prefix), content_type="csv" + ) s3_input_validation = sagemaker.inputs.TrainingInput( - s3_data="s3://{}/{}/validation/".format(s3_bucket, bucket_prefix), content_type="csv") + s3_data="s3://{}/{}/validation/".format(s3_bucket, bucket_prefix), + content_type="csv", + ) + # Set up an xgb estimator: xgb = sagemaker.estimator.Estimator( container, role, instance_count=1, instance_type="ml.m4.xlarge", output_path="s3://{}/{}/output".format(s3_bucket, bucket_prefix), - sagemaker_session=sagemaker_session, ) + sagemaker_session=sagemaker_session, + ) + # Set up hyperparameters: xgb.set_hyperparameters( max_depth=5, eta=0.2, @@ -101,15 +81,39 @@ def train(context): objective="multi:softprob", num_class=19, verbosity=0, - num_round=100, ) + num_round=100, + ) + # Apply training: xgb.fit({"train": s3_input_train, "validation": s3_input_validation}, logs="None") + # Save the model's path: context.log_artifact("model_path", body=xgb.model_data) + # Save the test data path: + context.log_artifact("test_data", body=os.path.join(bucket_prefix, "test/test.csv")) + def _set_envars(context): - os.environ["AWS_ACCESS_KEY_ID"]= context.get_secret("AWS_ACCESS_KEY_ID") - os.environ["AWS_SECRET_ACCESS_KEY"]= context.get_secret("AWS_SECRET_ACCESS_KEY") - os.environ["AWS_DEFAULT_REGION"]= context.get_secret("AWS_DEFAULT_REGION") - os.environ["SAGEMAKER-ROLE"]= context.get_secret("SAGEMAKER-ROLE") + os.environ["AWS_ACCESS_KEY_ID"] = context.get_secret("AWS_ACCESS_KEY_ID") + os.environ["AWS_SECRET_ACCESS_KEY"] = context.get_secret("AWS_SECRET_ACCESS_KEY") + os.environ["AWS_DEFAULT_REGION"] = context.get_secret("AWS_DEFAULT_REGION") + os.environ["SAGEMAKER-ROLE"] = context.get_secret("SAGEMAKER-ROLE") + + +def _get_feature_store_data(): + project = mlrun.get_current_project() + + features = [ + f"{project.name}/transactions.*", + ] + + vector = fs.FeatureVector( + "transactions", features=features, description="enriched transactions" + ) + resp = fs.FeatureVector.get_offline_features(vector) + + # Preview the dataset + df = resp.to_dataframe() + + return df diff --git a/src/workflows/workflow.py b/src/workflows/workflow.py new file mode 100644 index 0000000..b958812 --- /dev/null +++ b/src/workflows/workflow.py @@ -0,0 +1,51 @@ +import mlrun +from kfp import dsl + + +@dsl.pipeline( + name="Fraud Detection Pipeline", + description="Detecting fraud from a transactions dataset", +) +def kfpipeline(): + project = mlrun.get_current_project() + + # Train + train_run = project.run_function( + function="train", + name="train", + handler="train", + params={}, + outputs=["model_path", "test_data"], + ) + + # Evaluate + evaluate_run = project.run_function( + function="evaluate", + name="evaluate", + handler="evaluate", + inputs={"test_set": train_run.outputs["test_data"]}, + params={ + "model_path": train_run.outputs["model_path"], + "model_name": "xgboost-model", + # "test_set": train_run.outputs['test_data'], + "label_column": "transaction_category", + }, + returns=["classification_report: dataset"], + ) + + +# serving_function = project.get_function("serving") + +# with dsl.Condition(serving_function.spec.graph is None) as build_graph: +# # if serving_function.spec.graph is None: +# # Set the topology and get the graph object: +# graph = serving_function.set_topology("flow", engine="async") + +# # Add the steps: +# graph.to("XGBModelServer", +# name="xgboost-model", +# model_path=train_run.outputs['model_path'])\ +# .to(handler="postprocess", name="postprocess").respond() + +# # Deploy the serving function: +# project.deploy_function(serving_function).after(train_run)