From 5a9b1e974e5024404e896a75c8515e206ea7d06b Mon Sep 17 00:00:00 2001 From: Olivier Bilodeau Date: Tue, 12 May 2026 00:20:40 -0400 Subject: [PATCH 1/7] Now binary packages available for PyAV: need a build environment Co-Authored-By: James Hodgkinson --- Dockerfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 701f803e7..a254ab783 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,11 @@ ARG DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install -y --no-install-recommends \ python3 python3-pip python3-venv \ # Required to build RLE module - build-essential python3-dev + build-essential python3-dev pkg-config \ + libavformat-dev libavcodec-dev libavdevice-dev libavfilter-dev \ + libswscale-dev libavutil-dev \ + # minimize image size + && rm -rf /var/lib/apt/lists/* RUN python3 -m venv /opt/venv # Make sure we use the virtualenv: From fd3087badbe2be7f3e13ffb6d7528af73191e99c Mon Sep 17 00:00:00 2001 From: Olivier Bilodeau Date: Tue, 12 May 2026 00:22:31 -0400 Subject: [PATCH 2/7] New dependency constraint required because of old Pythons --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index c0be36e81..1c05cb18e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -41,6 +41,7 @@ dependencies = [ 'appdirs>=1,<2', 'cryptography>=3.3.2,<42', 'namesgenerator>=0.3,<1', + 'numpy>=1,<2', 'progressbar2>=3.20,<5', 'pyasn1>=0,<1', 'pycryptodome>=3.5,<4', From e18c450b6698709854bc8636cfffbe852afedfed Mon Sep 17 00:00:00 2001 From: Olivier Bilodeau Date: Tue, 12 May 2026 00:22:57 -0400 Subject: [PATCH 3/7] pre-release dependency updates done --- requirements-slim.txt | 39 ++++++++++++++++++---------------- requirements.txt | 49 ++++++++++++++++++++++--------------------- 2 files changed, 46 insertions(+), 42 deletions(-) diff --git a/requirements-slim.txt b/requirements-slim.txt index 28486bef5..f88d968ae 100644 --- a/requirements-slim.txt +++ b/requirements-slim.txt @@ -1,24 +1,27 @@ appdirs==1.4.4 -attrs==23.2.0 -Automat==22.10.0 -cffi==1.16.0 +attrs==26.1.0 +Automat==25.4.16 +cffi==2.0.0 constantly==23.10.4 cryptography==41.0.7 hyperlink==21.0.0 -idna==3.6 -incremental==22.10.0 +idna==3.14 +Incremental==24.11.0 namesgenerator==0.3 -progressbar2==4.3.2 -pyasn1==0.5.1 -pyasn1-modules==0.3.0 -pycparser==2.21 -pycryptodome==3.20.0 +packaging==26.2 +progressbar2==4.5.0 +py-notifier==0.5.0 +pyasn1==0.6.3 +pyasn1_modules==0.4.2 +pycparser==3.0 +pycryptodome==3.23.0 pyOpenSSL==23.3.0 -pytz==2023.3.post1 -rsa==4.9 -scapy==2.5.0 -service-identity==24.1.0 -six==1.16.0 -Twisted==23.10.0 -typing_extensions==4.9.0 -zope.interface==6.1 +pytz==2026.2 +qimage2ndarray==1.10.0 +rsa==4.9.1 +scapy==2.7.0 +service-identity==24.2.0 +Twisted==26.4.0 +typing_extensions==4.15.0 +wheel==0.47.0 +zope.interface==8.4 diff --git a/requirements.txt b/requirements.txt index 089630989..c11316d99 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,33 +1,34 @@ appdirs==1.4.4 -attrs==23.2.0 -Automat==22.10.0 +attrs==26.1.0 +Automat==25.4.16 av==11.0.0 -cffi==1.16.0 +cffi==2.0.0 constantly==23.10.4 cryptography==41.0.7 hyperlink==21.0.0 -idna==3.6 -incremental==22.10.0 +idna==3.14 +Incremental==24.11.0 namesgenerator==0.3 -numpy==1.26.3 -progressbar2==4.3.2 +numpy==1.26.4 +packaging==26.2 +progressbar2==4.5.0 py-notifier==0.5.0 -pyasn1==0.5.1 -pyasn1-modules==0.3.0 -pycparser==2.21 -pycryptodome==3.20.0 +pyasn1==0.6.3 +pyasn1_modules==0.4.2 +pycparser==3.0 +pycryptodome==3.23.0 pyOpenSSL==23.3.0 -PySide6==6.6.1 -PySide6-Addons==6.6.1 -PySide6-Essentials==6.6.1 -python-utils==3.8.1 -pytz==2023.3.post1 +PySide6==6.11.0 +PySide6_Addons==6.11.0 +PySide6_Essentials==6.11.0 +python-utils==3.9.1 +pytz==2026.2 qimage2ndarray==1.10.0 -rsa==4.9 -scapy==2.5.0 -service-identity==24.1.0 -shiboken6==6.6.1 -six==1.16.0 -Twisted==23.10.0 -typing_extensions==4.9.0 -zope.interface==6.1 +rsa==4.9.1 +scapy==2.7.0 +service-identity==24.2.0 +shiboken6==6.11.0 +Twisted==26.4.0 +typing_extensions==4.15.0 +wheel==0.47.0 +zope.interface==8.4 From 65dac4e98645da240da2a178ea47a43403b862e4 Mon Sep 17 00:00:00 2001 From: Olivier Bilodeau Date: Tue, 12 May 2026 00:28:25 -0400 Subject: [PATCH 4/7] Added PyAV build deps on CI --- .github/workflows/ci.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 68fb490f5..13bc9ec1f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -57,9 +57,12 @@ jobs: - name: Install PyRDP dependencies run: | sudo apt-get update && sudo apt-get install -y --no-install-recommends \ - build-essential python3-dev \ + build-essential python3-dev pkg-config \ libegl1 libxcb-cursor0 libxkbcommon-x11-0 libxcb-icccm4 libxcb-keysyms1 \ - libavcodec58 libavdevice58 + libavcodec58 libavdevice58 \ + libavformat-dev libavcodec-dev libavdevice-dev libavfilter-dev \ + libswscale-dev libavutil-dev + - name: Install PyRDP working-directory: . run: pip install -U -e .[full] From 15fbb4760e512ccbff9b39bb58f3a200d1409c78 Mon Sep 17 00:00:00 2001 From: Olivier Bilodeau Date: Tue, 12 May 2026 00:45:22 -0400 Subject: [PATCH 5/7] Bump minimum Python: 3.7 no longer works with PyAV 10 --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 13bc9ec1f..6e6437a04 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,7 +36,7 @@ jobs: matrix: os: [ubuntu-22.04, ubuntu-20.04] # Lets try to keep testing an LTS python and latest python - python-version: ['3.7', '3.12', '3.13'] + python-version: ['3.8', '3.12', '3.13'] runs-on: ${{ matrix.os }} name: Ubuntu ${{ matrix.os }} with Python ${{ matrix.python-version }} @@ -109,7 +109,7 @@ jobs: strategy: matrix: # Lets try to keep testing an LTS python and latest python - python-version: ['3.7', '3.12', '3.13'] + python-version: ['3.8', '3.12', '3.13'] name: Windows with Python ${{ matrix.python-version }} steps: From 91f055254c818112cff12ff8befe486f3a83b3b2 Mon Sep 17 00:00:00 2001 From: Olivier Bilodeau Date: Tue, 12 May 2026 01:02:01 -0400 Subject: [PATCH 6/7] PyAV 14 doesn't build in CI --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 1c05cb18e..b0005905e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -56,7 +56,7 @@ dependencies = [ [project.optional-dependencies] full = [ 'wheel>=0.34.2', - 'av>=8,<15', + 'av>=8,<14', 'PySide6>=6.3,<7', 'qimage2ndarray>=1.6,<2', 'py-notifier>=0.5.0', From 388ee7926d45f31f19e127c2e4b3db8bb6c83c62 Mon Sep 17 00:00:00 2001 From: Olivier Bilodeau Date: Tue, 12 May 2026 01:24:56 -0400 Subject: [PATCH 7/7] Numpy on Python 3.13 on Windows doesn't build, attempting to fix --- pyproject.toml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index b0005905e..4265112e6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -41,7 +41,9 @@ dependencies = [ 'appdirs>=1,<2', 'cryptography>=3.3.2,<42', 'namesgenerator>=0.3,<1', - 'numpy>=1,<2', + # working around Windows build bugs #512 + 'numpy>=1,<2; python_version < "3.13"', + "numpy>=1.26.4; python_version >= '3.13'", 'progressbar2>=3.20,<5', 'pyasn1>=0,<1', 'pycryptodome>=3.5,<4',