What are dependency packages?
Dependency packages are Python modules needed by the client code of the pipeline integration addons within a bundle.
These packages are created using the ayon-dependencies-tool, which resolves the pyproject.toml
files of all client code for addons within the specified bundle.
This process results in a single dependency package for that bundle. These packages can often be reused if the dependencies remain unchanged.
Get official dependency package
When updating Pipeline to the latest Release on your server, you’ll receive an updated dependency package compatible with the official latest AYON bundle release.
Create and update a dependency package
For custom bundles, you’ll likely need to create your custom dependency package.
Here are steps to use ayon-dependencies-tool to create a dependency package, upload it to your AYON server, and automatically add the package to your bundle.
- Clone ayon-dependencies-tool
- Add your
.env
file to the ayon-dependencies-tool
directory. Required environment variables:AYON_SERVER_URL=http://localhost:5000/
AYON_API_KEY=<your-ayon-api-key>
- Run the following commands. Find more information in the repo’s README on GitHub:
cd ayon-dependencies-tool
.\start.ps1 set-env
.\start.ps1 install
.\start.ps1 create -b <your_bundle_name>
3 Likes
Hey @mustafa_jafar
I tried to install it but it’s having a issue with the python version. I also tried install this specific python version (3.9.13) but still with the same issue. Do you know how to solve it?
Resolving dependencies... (3.1s)
Runtime dependencies to install:
- Click
- OpenTimelineIO
- Pillow
- aiohttp-middlewares
- aiohttp_json_rpc
- dropbox
- google-api-python-client
- opencolorio
- pynput
- pysftp
- wsrpc_aiohttp
Current Python version (3.9.21) is not allowed by the project (3.9.13).
Please change python executable via the "env use" command.
Executing arguments was not successful: /tmp/ayon_dep-packagei72enkr1/.poetry/bin/poetry install --no-root --ansi
>>> Cleaning up processing directory /tmp/ayon_dep-packagei72enkr1
Traceback (most recent call last):
File "/usr/lib64/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib64/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/mnt/_O2_RnD/2025/pipeline/services/ayon/ayon-dependencies-tool/dependencies/__main__.py", line 9, in <module>
main()
File "/mnt/_O2_RnD/2025/pipeline/services/ayon/ayon-dependencies-tool/dependencies/cli.py", line 91, in main
main_cli()
File "/mnt/_O2_RnD/2025/pipeline/services/ayon/ayon-dependencies-tool/.venv/lib/python3.9/site-packages/click/core.py", line 1157, in __call__
return self.main(*args, **kwargs)
File "/mnt/_O2_RnD/2025/pipeline/services/ayon/ayon-dependencies-tool/.venv/lib/python3.9/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
File "/mnt/_O2_RnD/2025/pipeline/services/ayon/ayon-dependencies-tool/.venv/lib/python3.9/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/mnt/_O2_RnD/2025/pipeline/services/ayon/ayon-dependencies-tool/.venv/lib/python3.9/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/mnt/_O2_RnD/2025/pipeline/services/ayon/ayon-dependencies-tool/.venv/lib/python3.9/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
File "/mnt/_O2_RnD/2025/pipeline/services/ayon/ayon-dependencies-tool/dependencies/cli.py", line 46, in create
create_package(
File "/mnt/_O2_RnD/2025/pipeline/services/ayon/ayon-dependencies-tool/dependencies/core.py", line 1341, in create_package
return _create_package(
File "/mnt/_O2_RnD/2025/pipeline/services/ayon/ayon-dependencies-tool/dependencies/core.py", line 1280, in _create_package
) = install_poetry(
File "/mnt/_O2_RnD/2025/pipeline/services/ayon/ayon-dependencies-tool/dependencies/core.py", line 695, in install_poetry
return_code = run_subprocess(
File "/mnt/_O2_RnD/2025/pipeline/services/ayon/ayon-dependencies-tool/dependencies/utils.py", line 94, in run_subprocess
raise RuntimeError(error_msg)
As far as I know, it’s better to use pyenv
.
1 Like