Skip to content

Commit

Permalink
add requirements-build
Browse files Browse the repository at this point in the history
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 <HumairAK@users.noreply.github.com>
  • Loading branch information
HumairAK committed Jan 31, 2025
1 parent c5c2fcb commit 21db614
Show file tree
Hide file tree
Showing 2 changed files with 106 additions and 0 deletions.
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
94 changes: 94 additions & 0 deletions requirements-build.txt
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 21db614

Please sign in to comment.