Summary
When a Python-based UiPath process is invoked on the serverless runtime, dependencies are resolved and installed at cold-start time by reaching out to a remote package index (PyPI or a private repository such as Artifactory). This raises a question around whether there is a supported pattern for bundling dependencies directly into the .nupkg at build time, so that the serverless runtime can satisfy all dependencies from the package itself with no outbound network calls required at execution time.
Motivation
Resolving and installing packages at cold-start time creates several compounding problems in enterprise environments:
- Internal repository load - organisations proxying PyPI through Artifactory (or similar tools) place it in the critical path of every cold start. Burst scale-out events generate concurrent download requests that private repositories are not provisioned to absorb.
- Runtime reliability - both Artifactory and PyPI become hard runtime dependencies. An outage or slowdown in either becomes an automation outage, entirely unrelated to process logic.
- Cold-start latency - resolving and installing packages over the network at startup adds latency that could be avoided if dependencies were already present in the package.
What's Been Explored
It seems like this could theoretically be achieved by:
- Pre-downloading wheels into a
wheels/ directory before packing
- Including
.whl files in the .nupkg via uipath.json packOptions
- Configuring
uv via pyproject.toml to use --no-index --find-links ./wheels/ at install time
However, it's unclear whether there is a supported or recommended way to configure uv for offline installs that doesn't interfere with local development or uv workspace setups, and whether any documented pattern exists for this use case.
Request
If there is no supported path today, first-class support in the SDK and/or uipath pack for this use case would be valuable - for example:
uipath pack --bundle-dependencies
This would own the complexity of downloading platform-targeted wheels, including them in the package, and configuring the runtime install step correctly — rather than leaving each enterprise user to implement and maintain this themselves.
Summary
When a Python-based UiPath process is invoked on the serverless runtime, dependencies are resolved and installed at cold-start time by reaching out to a remote package index (PyPI or a private repository such as Artifactory). This raises a question around whether there is a supported pattern for bundling dependencies directly into the
.nupkgat build time, so that the serverless runtime can satisfy all dependencies from the package itself with no outbound network calls required at execution time.Motivation
Resolving and installing packages at cold-start time creates several compounding problems in enterprise environments:
What's Been Explored
It seems like this could theoretically be achieved by:
wheels/directory before packing.whlfiles in the.nupkgviauipath.jsonpackOptionsuvviapyproject.tomlto use--no-index --find-links ./wheels/at install timeHowever, it's unclear whether there is a supported or recommended way to configure
uvfor offline installs that doesn't interfere with local development oruvworkspace setups, and whether any documented pattern exists for this use case.Request
If there is no supported path today, first-class support in the SDK and/or
uipath packfor this use case would be valuable - for example:This would own the complexity of downloading platform-targeted wheels, including them in the package, and configuring the runtime install step correctly — rather than leaving each enterprise user to implement and maintain this themselves.