Python dependencies
Pitivi has only two Python runtime dependencies: librosa and matplotlib, but
in the development sandbox we install quite a few Python tools useful for
development.
Each Python package has its own python3-*.json file in
build/flatpak,
generated with build/flatpak/update_deps.py.
The script uses a custom flatpak-pip-generator
which downloads the compiled Python packages.
The original flatpak-pip-generator downloads only source packages, for extra
security. But some packages are very complex, such as hotdoc (dev docs website
generator) and matplotlib (used to draw keyframes lines on the clips). These
need additional build dependencies which have to be installed beforehand.
TL/DR: As of Jan 2021 it's much easier to install the compiled packages instead of the source packages. When upstream makes it easier to use source packages we should switch back.
Updating the Python deps
Run the commands from the root of the checkout. update_deps.py updates only
the architecture of the host on which it is run. Repeat the process on each
supported architecture. Alternatively, ask somebody else to do it and create a
separate commit.
$ . bin/pitivi-env
(ptv-flatpak) $ build/flatpak/update_deps.py
Updating your local sandbox
After the json files have been successfully updated, try out the build by updating your local development environment:
$ . bin/pitivi-env
(ptv-flatpak) $ ptvenv --update
(ptv-flatpak) $ pitivi
If errors happen, you can inspect the SDK by launching bash in a sandbox, for
example:
$ flatpak run --user --command=python3 org.gnome.Sdk//50 --version
Python 3.13.x
The results of the search are