What are dependency package and how to update them?

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.

  1. Clone ayon-dependencies-tool
  2. 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>
    
  3. 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