This project uses uv. Make sure to have it installed.
uv venv
source .venv/bin/activate
uv pip install requirements-parser packagingYou can regenerate pip dependencies with the script regen-pip.sh, but you will need to have krb5-config and libpq-devel installed on your system due to a wheel needing it.
./regen-pip.sh- Update both pgAdmin package URLs and SHA256 checksums in
org.pgadmin.pgadmin4.yml. Keep the server and desktop packages on the same version and Debian distribution. - Update
PGADMIN_VERSIONinregen-pip.sh, for example from9_16to9_17, then run./regen-pip.shto regeneratepython3-requirements_filtered.yaml. - Check the generated dependencies for environment-marker omissions. In particular, preserve the manually added
backports.zstdsource described below when the Flatpak runtime still uses Python 3.13. - Add the release version, upstream release date and release-notes URL to
org.pgadmin.pgadmin4.metainfo.xml. - Validate and build the update:
appstreamcli validate --no-net org.pgadmin.pgadmin4.metainfo.xml
flatpak run --command=flatpak-builder-lint org.flatpak.Builder manifest org.pgadmin.pgadmin4.yml
flatpak run org.flatpak.Builder build-dir --user --ccache --force-clean --install org.pgadmin.pgadmin4.ymlIf upstream changes bundled PostgreSQL utilities or the required runtime, update those manifest sources before regenerating dependencies.
Build flatpak:
flatpak run org.flatpak.Builder build-dir --user --ccache --force-clean --install org.pgadmin.pgadmin4.ymlThen you can run it via the command line:
flatpak run org.pgadmin.pgadmin4or just search for the installed app on your system
Important
If you get No matching distribution found for backports.zstd; python_version < "3.14" from python3-Flask-Compress while building the Flatpak, add the dependency manually. Grab the download URL and SHA256 from the backports.zstd PyPI "Download files" section and include them in your sources. This could happen with python3-google-api-python-client and its dependency cachetools.
# python3-requirements_filtered.yaml
...
- name: python3-Flask-Compress
buildsystem: simple
build-commands:
- pip3 install --verbose --exists-action=i --no-index --find-links="file://${PWD}"
--prefix=${FLATPAK_DEST} "Flask-Compress==1.*" --no-build-isolation
sources:
- type: file # add this
url: <backports.zstd-download-url-from-pypi> # add this
sha256: <backports.zstd-sha256-hash-from-pypi> # add this
...
...