From 21db614225309f491194adce55b13e9ff5103d29 Mon Sep 17 00:00:00 2001 From: Humair Khan Date: Fri, 31 Jan 2025 08:31:01 -0500 Subject: [PATCH] add requirements-build note that this requires additional documentation and ci to build out, but because kfp-pipeline-spec only includes wheel files and not src, internal build systems are having issues buildling this file out. A more maintainable long term solution will be needed, one solution is to separate the kfp-pipeline-spec into a separate requirements-wheels.txt file Or simply have the maintainers update the package to also include source files. we also include a requirements-build.txt file for providing support for cachito builds, and work around lack of sdist in the kfp-pipeline-spec package. Signed-off-by: Humair Khan --- README.md | 12 ++++++ requirements-build.txt | 94 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100644 requirements-build.txt diff --git a/README.md b/README.md index eea9b7d..74fbd70 100644 --- a/README.md +++ b/README.md @@ -216,3 +216,15 @@ When updating python package dependencies in `pyproject.toml`, regenerate [requi ``` uv pip compile pyproject.toml --generate-hashes > requirements.txt ``` + +To regenerate `[requirements-build.txt](requirements-build.txt)` is currently a manual step. +For this you need [pybuild-deps](https://pybuild-deps.readthedocs.io/en/latest/usage.html#pybuild-deps-compile) installed. + +Remove `kfp-pipeline-spec` from `requirement.txt`. And run: + +```bash +pybuild-deps compile requirements.txt +``` + +> Note that, we do this because `kfp-pipeline-spec` only includes wheels and not the sources, this breaks +> `pybuild-deps`, in the future we will need to a workaround (or get the package to include sdist) to automate this. diff --git a/requirements-build.txt b/requirements-build.txt new file mode 100644 index 0000000..e045c0a --- /dev/null +++ b/requirements-build.txt @@ -0,0 +1,94 @@ +# +# This file is autogenerated by pip-compile with Python 3.12 +# by the following command: +# +# pybuild-deps compile requirements.txt +# +calver==2022.6.26 + # via trove-classifiers +cython==3.0.11 + # via pyyaml +flit-core==3.10.1 + # via + # click + # idna + # jinja2 + # packaging + # pathspec + # wheel +hatch-vcs==0.4.0 + # via + # filelock + # platformdirs + # virtualenv +hatchling==1.27.0 + # via + # filelock + # hatch-vcs + # platformdirs + # virtualenv +maturin==1.8.1 + # via ruff +mypy==1.14.0 + # via charset-normalizer +mypy-extensions==1.0.0 + # via mypy +packaging==24.2 + # via setuptools-scm +pathspec==0.12.1 + # via hatchling +pluggy==1.5.0 + # via hatchling +poetry-core==2.0.1 + # via + # docstring-parser + # rsa +semantic-version==2.10.0 + # via setuptools-rust +setuptools-rust==1.10.2 + # via maturin +setuptools-scm==8.1.0 + # via + # charset-normalizer + # hatch-vcs + # nodeenv + # pluggy + # setuptools-rust + # setuptools-scm +setuptools-scm==7.1.0 + # via python-dateutil +trove-classifiers==2025.1.15.22 + # via hatchling +types-psutil==6.1.0.20241221 + # via mypy +types-setuptools==75.8.0.20250110 + # via mypy +typing-extensions==4.12.2 + # via + # mypy + # setuptools-scm +wheel==0.45.1 + # via + # cachetools + # distlib + # google-crc32c + # maturin + # python-dateutil + # pyyaml + # tabulate + +# The following packages are considered to be unsafe in a requirements file: +setuptools==75.8.0 + # via + # cachetools + # charset-normalizer + # distlib + # google-api-core + # google-crc32c + # markupsafe + # maturin + # proto-plus + # pyasn1 + # pyasn1-modules + # pyyaml + # setuptools-scm