exceptionfactory opened a new pull request, #9771: URL: https://github.com/apache/nifi/pull/9771
# Summary [NIFI-14323](https://issues.apache.org/jira/browse/NIFI-14323) Adds optional support for using [Astral uv](https://docs.astral.sh/uv/) to install dependencies for Python Processors. Astral uv is a modern, Apache 2-licensed, Python package manager with a [pip interface](https://docs.astral.sh/uv/pip/) that offers much better performance for loading Python dependencies. The changes to the Python `ExtensionManager` use the `uv version` command status to determine whether `uv` is installed. `ExtensionManager` prefers Astral uv when available and falls back to current Python pip behavior when uv is not found. This approach provides compatibility with existing installations, and supports opting in to Astral uv by installing it and making it available to the operating system user that runs NiFi. Updates to the NiFi Docker image include [installing uv](https://docs.astral.sh/uv/getting-started/installation/) using the standard method as part of the build, and removing the `python3-pip` package from the build. Updates to the `system-tests` workflow add the [setup-uv](https://github.com/astral-sh/setup-uv) action to make it available for Python-based tests. Current tests include installing Python Processors with dependencies, so the system test workflow verifies working behavior with Astral uv. # Tracking Please complete the following tracking steps prior to pull request creation. ### Issue Tracking - [X] [Apache NiFi Jira](https://issues.apache.org/jira/browse/NIFI) issue created ### Pull Request Tracking - [X] Pull Request title starts with Apache NiFi Jira issue number, such as `NIFI-00000` - [X] Pull Request commit message starts with Apache NiFi Jira issue number, as such `NIFI-00000` ### Pull Request Formatting - [X] Pull Request based on current revision of the `main` branch - [X] Pull Request refers to a feature branch with one commit containing changes # Verification Please indicate the verification steps performed prior to pull request creation. ### Build - [X] Build completed using `mvn clean install -P contrib-check` - [X] JDK 21 ### Licensing - [ ] New dependencies are compatible with the [Apache License 2.0](https://apache.org/licenses/LICENSE-2.0) according to the [License Policy](https://www.apache.org/legal/resolved.html) - [ ] New dependencies are documented in applicable `LICENSE` and `NOTICE` files ### Documentation - [ ] Documentation formatting appears as expected in rendered files -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
