[ https://issues.apache.org/jira/browse/FLINK-38231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ASF GitHub Bot updated FLINK-38231: ----------------------------------- Labels: pull-request-available (was: ) > Standardise use of uv for PyFlink building/testing/tooling > ----------------------------------------------------------- > > Key: FLINK-38231 > URL: https://issues.apache.org/jira/browse/FLINK-38231 > Project: Flink > Issue Type: Technical Debt > Components: API / Python, Test Infrastructure > Reporter: Mika Naylor > Assignee: Mika Naylor > Priority: Major > Labels: pull-request-available > > With FLINK-37775 and FLINK-36900 we have started to use {{uv}} for managing > Python testing environments and installing linting tools, as well as defining > test/lint/typecheck dependencies in {{{}pyproject.toml{}}}. > However, the CI/CD scripts and developer documentation is in a bit of an > inbetween state. We use uv for creating Python virtual environments for tool > installation, but uv supports these natively with `uv run` disregarding the > need for a custom made virtual environment. Similarly, the use of specific > virtual environments for Python versions for Tox can be sidestepped with > tox-uv. Their use for building the python wheels can also be ignored if we > use uv to build them, using `uv build --python <x>` and letting uv itself > manage the environments for us. > Throughout the CI/CD scripts, we also build the python projects via `python > setup.py sdist bdist_wheel`, which is already deprecated. We should instead > use `uv build` for this since we involve uv in the CI/CD process anyway. > Similarly, we can use uv to build & install the apache-flink packages in > testing environments via `uv pip install .`, using uv's tooling to link the > apache-flink-libraries dependency when developing locally. > This should help us not only simplify and reduce the amount of CI/CD scripts > we have to maintain, but also bring the tooling we use (and recommend > developers use) into more modern standards. -- This message was sent by Atlassian Jira (v8.20.10#820010)