Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 4 additions & 17 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -212,15 +212,9 @@ release: yarn-install build-ui build-server ## Build wheel file for release
elyra-image-env: ## Creates a conda env consisting of the dependencies used in images
conda env remove -y -n $(ELYRA_IMAGE_ENV)
conda create -y -n $(ELYRA_IMAGE_ENV) python=$(PYTHON_VERSION) --channel conda-forge
if [ "$(PYTHON_VERSION)" == "3.7" ]; then \
$(CONDA_ACTIVATE) $(ELYRA_IMAGE_ENV) && \
$(PYTHON_PIP) install -r etc/generic/requirements-elyra-py37.txt && \
conda deactivate; \
else \
$(CONDA_ACTIVATE) $(ELYRA_IMAGE_ENV) && \
$(PYTHON_PIP) install -r etc/generic/requirements-elyra.txt && \
conda deactivate; \
fi
$(CONDA_ACTIVATE) $(ELYRA_IMAGE_ENV) && \
$(PYTHON_PIP) install -r etc/generic/requirements-elyra.txt && \
conda deactivate;

## Test targets

Expand Down Expand Up @@ -361,14 +355,7 @@ validate-runtime-image: # Validate that runtime image meets minimum criteria
IMAGE_PYTHON3_MINOR_VERSION=`docker run --rm $$image $$cmd --version | cut -d' ' -f2 | cut -d'.' -f2` ; \
if [[ $$IMAGE_PYTHON3_MINOR_VERSION -lt 8 ]]; then \
echo "WARNING: Container image $$image requires Python 3.8 or greater for latest generic component dependency installation" ; \
echo "=> Checking notebook execution..." ; \
docker run -v $$(pwd)/etc/generic:/opt/elyra/ --rm $$image /bin/bash -c "python3 -m pip install -r /opt/elyra/requirements-elyra-py37.txt && \
curl https://raw.githubusercontent.com/nteract/papermill/main/papermill/tests/notebooks/simple_execute.ipynb --output simple_execute.ipynb && \
python3 -m papermill simple_execute.ipynb output.ipynb > /dev/null" ; \
if [ $$? -ne 0 ]; then \
echo "ERROR: Container image $$image does not meet Python requirements criteria in requirements-elyra-py37.txt" ; \
fail=1; \
fi; \
fail=1; \
elif [[ $$IMAGE_PYTHON3_MINOR_VERSION -ge 8 ]]; then \
echo "=> Checking notebook execution..." ; \
docker run -v $$(pwd)/etc/generic:/opt/elyra/ --rm $$image /bin/bash -c "python3 -m pip install -r /opt/elyra/requirements-elyra.txt && \
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ For detailed information refer to the [installation documentation](https://elyra

### Prerequisites :
* [Node.js 16+](https://nodejs.org/en/)
* [Python 3.7+](https://www.python.org/downloads/)
* [Python 3.8+](https://www.python.org/downloads/)
* [Miniconda](https://docs.conda.io/en/latest/miniconda.html) (optional)

### Install current release (for JupyterLab 3.x)
Expand Down
10 changes: 0 additions & 10 deletions create-release.py
Original file line number Diff line number Diff line change
Expand Up @@ -246,11 +246,6 @@ def update_version_to_release() -> None:
r"elyra-ai/elyra/main/elyra/airflow/bootstrapper.py",
rf"elyra-ai/elyra/v{new_version}/elyra/airflow/bootstrapper.py",
)
sed(
_source("docs/source/recipes/running-elyra-in-air-gapped-environment.md"),
r"elyra-ai/elyra/main/etc/generic/requirements-elyra-py37.txt",
rf"elyra-ai/elyra/v{new_version}/etc/generic/requirements-elyra-py37.txt",
)
sed(
_source("docs/source/recipes/running-elyra-in-air-gapped-environment.md"),
r"elyra-ai/elyra/main/etc/generic/requirements-elyra.txt",
Expand Down Expand Up @@ -368,11 +363,6 @@ def update_version_to_dev() -> None:
rf"elyra-ai/elyra/v{new_version}/elyra/airflow/bootstrapper.py",
r"elyra-ai/elyra/main/elyra/airflow/bootstrapper.py",
)
sed(
_source("docs/source/recipes/running-elyra-in-air-gapped-environment.md"),
rf"elyra-ai/elyra/v{new_version}/etc/generic/requirements-elyra-py37.txt",
r"elyra-ai/elyra/main/etc/generic/requirements-elyra-py37.txt",
)
sed(
_source("docs/source/recipes/running-elyra-in-air-gapped-environment.md"),
rf"elyra-ai/elyra/v{new_version}/etc/generic/requirements-elyra.txt",
Expand Down
2 changes: 1 addition & 1 deletion docs/source/getting_started/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ The Elyra [JupyterLab extensions](https://jupyterlab.readthedocs.io/en/stable/us
### Prerequisites

* [Node.js 16+](https://nodejs.org/en/)
* [Python 3.7](https://www.python.org/downloads/) (or later)
* [Python 3.8+](https://www.python.org/downloads/) (or later)

JupyterLab dependencies:
- Elyra >= 2.0.0 requires JupyterLab 3.x
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,17 +53,14 @@ During pipeline execution in the Kubeflow Pipelines or Apache Airflow environmen
https://raw.githubusercontent.com/elyra-ai/elyra/main/etc/kfp/pip.conf
https://raw.githubusercontent.com/elyra-ai/elyra/main/elyra/kfp/bootstrapper.py
https://raw.githubusercontent.com/elyra-ai/elyra/main/elyra/airflow/bootstrapper.py
https://raw.githubusercontent.com/elyra-ai/elyra/main/etc/generic/requirements-elyra-py37.txt
https://raw.githubusercontent.com/elyra-ai/elyra/main/etc/generic/requirements-elyra.txt
```
In air-gapped environments you must store a copy of these files in a location that is accessible via an anonymous HTTP `GET` request and configure the following environment variables _in the environment where JupyterLab is running_:
- For Kubeflow Pipelines:
- `ELYRA_PIP_CONFIG_URL` (URL of `.../etc/kfp/pip.conf`)
- `ELYRA_BOOTSTRAP_SCRIPT_URL` (URL of `.../elyra/kfp/bootstrapper.py`)
- `ELYRA_REQUIREMENTS_URL_PY37` (URL of `.../etc/generic/requirements-elyra-py37.txt`)
- `ELYRA_REQUIREMENTS_URL` (URL of `.../etc/generic/requirements-elyra.txt`)
- For Apache Airflow:
- `ELYRA_BOOTSTRAP_SCRIPT_URL` (URL of `.../elyra/airflow/bootstrapper.py`)
- `ELYRA_REQUIREMENTS_URL_PY37` (URL of `.../etc/generic/requirements-elyra-py37.txt`)
- `ELYRA_REQUIREMENTS_URL` (URL of `.../etc/generic/requirements-elyra.txt`)
- **S3-compatible cloud storage for [generic components](../user_guide/pipeline-components.html#generic-components)**: When processing pipeline nodes that are implemented using [generic components](../user_guide/pipeline-components.html#generic-components), Elyra downloads the pipeline artifacts that were uploaded when the pipeline was exported or submitted.
4 changes: 1 addition & 3 deletions elyra/airflow/bootstrapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -376,9 +376,7 @@ def package_install(cls) -> None:
@classmethod
def determine_elyra_requirements(cls) -> Any:
if sys.version_info.major == 3:
if sys.version_info.minor == 7:
return "requirements-elyra-py37.txt"
elif sys.version_info.minor in [8, 9, 10, 11]:
if sys.version_info.minor in [8, 9, 10, 11]:
return "requirements-elyra.txt"
logger.error(
f"This version of Python '{sys.version_info.major}.{sys.version_info.minor}' "
Expand Down
8 changes: 0 additions & 8 deletions elyra/airflow/operator.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,6 @@
f"elyra/{ELYRA_GITHUB_BRANCH}/etc/generic/requirements-elyra.txt",
)

ELYRA_REQUIREMENTS_URL_PY37 = os.getenv(
"ELYRA_REQUIREMENTS_URL_PY37",
f"https://raw.githubusercontent.com/{ELYRA_GITHUB_ORG}/"
f"elyra/{ELYRA_GITHUB_BRANCH}/etc/generic/requirements-elyra-py37.txt",
)


class BootscriptBuilder(object):
def __init__(
Expand Down Expand Up @@ -98,8 +92,6 @@ def container_cmd(self):
f"echo 'Downloading {ELYRA_BOOTSCRIPT_URL}' && "
f"curl {common_curl_options} -L {ELYRA_BOOTSCRIPT_URL} --output bootstrapper.py && "
f"echo 'Downloading {ELYRA_REQUIREMENTS_URL}' && "
f"echo 'Downloading {ELYRA_REQUIREMENTS_URL_PY37}' && "
f"curl {common_curl_options} -L {ELYRA_REQUIREMENTS_URL_PY37} --output requirements-elyra-py37.txt && "
f"curl {common_curl_options} -L {ELYRA_REQUIREMENTS_URL} "
f"--output requirements-elyra.txt && "
"python3 -m pip install packaging && "
Expand Down
4 changes: 1 addition & 3 deletions elyra/kfp/bootstrapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -589,9 +589,7 @@ def package_install(cls, user_volume_path) -> None:
@classmethod
def determine_elyra_requirements(cls) -> Any:
if sys.version_info.major == 3:
if sys.version_info.minor == 7:
return "requirements-elyra-py37.txt"
elif sys.version_info.minor in [8, 9, 10, 11]:
if sys.version_info.minor in [8, 9, 10, 11]:
return "requirements-elyra.txt"
logger.error(
f"This version of Python '{sys.version_info.major}.{sys.version_info.minor}' "
Expand Down
7 changes: 0 additions & 7 deletions elyra/pipeline/kfp/processor_kfp.py
Original file line number Diff line number Diff line change
Expand Up @@ -1082,11 +1082,6 @@ def _compose_container_command_args(
f"https://raw.githubusercontent.com/{elyra_github_org}/"
f"elyra/{elyra_github_branch}/etc/generic/requirements-elyra.txt",
)
elyra_requirements_url_py37 = os.getenv(
"elyra_requirements_url_py37",
f"https://raw.githubusercontent.com/{elyra_github_org}/"
f"elyra/{elyra_github_branch}/etc/generic/requirements-elyra-py37.txt",
)

if is_crio_runtime:
container_work_dir = CRIO_VOL_WORKDIR_PATH
Expand All @@ -1108,8 +1103,6 @@ def _compose_container_command_args(
f"curl {common_curl_options} -L {elyra_bootstrap_script_url} --output bootstrapper.py",
f"echo 'Downloading {elyra_requirements_url}' && "
f"curl {common_curl_options} -L {elyra_requirements_url} --output requirements-elyra.txt",
f"echo 'Downloading {elyra_requirements_url_py37}' && "
f"curl {common_curl_options} -L {elyra_requirements_url_py37} --output requirements-elyra-py37.txt",
]

if is_crio_runtime:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"app_data": {
"label": "Run notebook using papermill",
"component_parameters": {
"runtime_image": "python:3.7",
"runtime_image": "python:3.8",
"component_source": "/Users/akchin/opt/anaconda3/envs/test-package/lib/python3.8/site-packages/elyra/pipeline/resources/kfp/run_notebook_using_papermill/component.yaml",
"component_source_type": "filename",
"notebook": {
Expand Down
65 changes: 0 additions & 65 deletions etc/generic/requirements-elyra-py37.txt

This file was deleted.

1 change: 0 additions & 1 deletion etc/templates/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@
"Topic :: Software Development",
"Topic :: Software Development :: Libraries",
"Topic :: Software Development :: Libraries :: Python Modules",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
Comment thread
ptitzler marked this conversation as resolved.
Expand Down
8 changes: 3 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ maintainers = [
{name = "Elyra Maintainers"},
]
readme = "README.md"
requires-python = ">=3.7"
requires-python = ">=3.8"
dependencies = [
"autopep8>=1.5.0",
"click>=8", # elyra-ai/elyra#2579
Expand All @@ -20,7 +20,7 @@ dependencies = [
"entrypoints>=0.3",
"jinja2>=3",
"jsonschema>=3.2.0",
"jupyter_core>=4.11.0", # Do not increase floor past 4.11.1 until Python 3.7 EOL
"jupyter_core>=4.11.0",
Comment thread
akchinSTC marked this conversation as resolved.
"jupyter_client>=6.1.7",
"jupyter-events>=0.6.2",
"jupyter-packaging>=0.10",
Expand All @@ -32,7 +32,6 @@ dependencies = [
"MarkupSafe>=2.1",
"minio>=7.0.0",
"nbclient>=0.5.1",
"nbclient>=0.5.1,<=0.7.0;python_version=='3.7'", # nbclient > 0.7 requires jupyter_core >= 4.12 which doesn't exist in conda for 3.7
"nbconvert>=6.5.1",
"nbdime~=3.1", # Cap from jupyterlab-git
"nbformat>=5.1.2",
Expand Down Expand Up @@ -61,7 +60,6 @@ classifiers = [
"Topic :: Software Development",
"Topic :: Software Development :: Libraries",
"Topic :: Software Development :: Libraries :: Python Modules",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
Comment thread
ptitzler marked this conversation as resolved.
Expand Down Expand Up @@ -237,7 +235,7 @@ import-order-style = "google"
line-length = 120

# Python versions that should be supported by the produced output
target-version = ['py37', 'py38', 'py39', 'py310', 'py311']
target-version = ['py38', 'py39', 'py310', 'py311']

# Migrate configurations from pytest.ini
[tool.pytest.ini_options]
Expand Down
2 changes: 1 addition & 1 deletion readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ version: 2
sphinx:
configuration: docs/source/conf.py
python:
version: 3.7
version: 3.8
install:
- requirements: docs/requirements.txt