Skip to content

Commit 9c85f7f

Browse files
Merged PR 29616: Preparation for pypylon 4.1.0 release
Switched to pylon 8.0.1 release version Add support for multi version wheels on all platforms with python 3.9 as minimum Merged PylonImage AttachUserBuffer feature and made it limited api compilant
2 parents 8b157d9 + 717b7c0 commit 9c85f7f

File tree

14 files changed

+273
-79
lines changed

14 files changed

+273
-79
lines changed

.github/workflows/build_config.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
22
"linux-x86_64": {
3-
"pylon_sdks": ["7.5.0.15658"]
3+
"pylon_sdks": ["8.0.1.16188"]
44
},
55
"linux-aarch64": {
6-
"pylon_sdks": ["7.5.0.15658"]
6+
"pylon_sdks": ["8.0.1.16188"]
77
},
88
"windows": {
9-
"pylon_sdks": ["7.5.0.15658"]
9+
"pylon_sdks": ["8.0.1.16188"]
1010
},
1111
"macos": {
1212
"pylon_sdks": ["7.3.1.0011"]

.github/workflows/main.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ jobs:
9494
strategy:
9595
fail-fast: false
9696
matrix:
97-
a: [cp39, cp3_10, cp3_11, cp3_12]
97+
a: [cp39]
9898
p: [manylinux_2_31_x86_64, manylinux_2_31_aarch64]
9999

100100
env:
@@ -158,7 +158,7 @@ jobs:
158158
- name: Install Python
159159
uses: actions/setup-python@v5
160160
with:
161-
python-version: "3.9 - 3.12"
161+
python-version: "3.9"
162162

163163
- uses: actions/download-artifact@v4
164164
with:
@@ -172,11 +172,11 @@ jobs:
172172
run: |
173173
cd pylon-installer
174174
ren Basler-pylon-*.exe Basler-pylon.exe
175-
$process = Start-Process Basler-pylon.exe -Wait -ArgumentList '/quiet /install=GigE_Runtime;USB_Runtime;Camera_Link_Runtime;GenTL_Consumer_Support;CamEmu_Support;SDKs;DataProcessing_SDK;DataProcessing_vTools' -PassThru
175+
$process = Start-Process Basler-pylon.exe -Wait -ArgumentList '/quiet /install=GigE_Runtime;USB_Runtime;Camera_Link_Runtime;GenTL_Consumer_Support;CamEmu_Support;SDKs;DataProcessing_SDK;DataProcessing_vTools;DataProcessing_AI;DataProcessing_CREATOR' -PassThru
176176
Write-Host "Process finished with return code:" $process.ExitCode
177177
178178
- name: Build wheels
179-
uses: pypa/cibuildwheel@v2.19
179+
uses: pypa/cibuildwheel@v2.21.3
180180

181181
- uses: actions/upload-artifact@v4
182182
with:
@@ -210,7 +210,7 @@ jobs:
210210
- name: Install Python
211211
uses: actions/setup-python@v5
212212
with:
213-
python-version: "3.9 - 3.12"
213+
python-version: "3.9"
214214

215215
- uses: actions/download-artifact@v4
216216
with:
@@ -226,7 +226,7 @@ jobs:
226226
hdiutil detach /Volumes/pylon\ *\ Camera\ Software\ Suite
227227
228228
- name: Build wheels
229-
uses: pypa/cibuildwheel@v2.19
229+
uses: pypa/cibuildwheel@v2.21.3
230230
env:
231231
PYLON_FRAMEWORK_ARM64: /Library/Frameworks
232232
PYLON_FRAMEWORK_X86_64: /Library/Frameworks

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,12 +113,12 @@ Please note that the pylon Camera Software Suite may support different operating
113113
For latest information on pylon refer to: https://www.baslerweb.com/en/software/pylon/
114114
In addition, check the release notes of your pylon installation.
115115
For instance:
116-
* pylon Camera Software Suite 7.5.0 supports Windows 10/11 64 bit, Linux x86_64 and Linux aarch64 with glibc version >= 2.31 or newer.
116+
* pylon Camera Software Suite 8.0.1 supports Windows 10/11 64 bit, Linux x86_64 and Linux aarch64 with glibc version >= 2.31 or newer.
117117
* pylon vTools are supported on pylon 7.0.0 and newer.
118118
* pylon vTools are supported on pypylon 3.0 and newer only on Windows 10/11 64 bit, Linux x86_64 and Linux aarch64.
119119
* For pylon vTools that require a license refer to: https://www.baslerweb.com/en/software/pylon-vtools/
120120
* CXP-12: To use CXP with pypylon >= 4.0.0 you need to install the CXP GenTL producer and drivers using the pylon Camera Software Suite setup.
121-
* For accessing Basler 3D cameras, e.g. Basler blaze, installation of pylon Camera Software Suite 7.5.0
121+
* For accessing Basler 3D cameras, e.g. Basler blaze, installation of pylon Camera Software Suite 8.0.1
122122
and the latest pylon Supplementary Package for blaze is required.
123123

124124
## Binary Installation
@@ -152,7 +152,7 @@ You need a few more things to compile pypylon:
152152
* An installation of pylon SDK for your platform
153153
* A compiler for your system (Visual Studio on Windows, gcc on linux, xCode commandline tools on macOS)
154154
* Python development files (e.g. `sudo apt install python-dev` on linux)
155-
* [swig](http://www.swig.org) >= 4.0
155+
* [swig](http://www.swig.org) >= 4.2
156156
* For all 64bit platforms you can install the tool via `pip install swig`
157157

158158
To build pypylon from source:

changelog.txt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,16 @@
1+
Version 4.x.x
2+
- Date xxxx-xx-xx
3+
- Updated to pylon Camera Software Suite 8.0.1 on linux and windows.
4+
This contains pylon C++ SDK 9.0.3 and pylon Data Processing C++ SDK 3.0.1.
5+
- We now use python 3.9 limited api to provide multi abi version wheels of pypylon.
6+
- Removed PylonImage.AttachUserBuffer
7+
- Added PylonImage.AttachMemoryView
8+
- Added PylonImage.AttachArray
9+
110
Version 4.0.0
211
- Date 2024-07-08
312
- Updated to pylon Camera Software Suite 7.5 on linux and windows.
4-
This contains pylon SDK 8.0.0 and pylon Data Processing SDK 2.0.0.
13+
This contains pylon C++ SDK 8.0.0 and pylon Data Processing C++ SDK 2.0.0.
514
- Removed pylon CXP GenTL Producer files from windows wheel packages.
615
The CXP-12 support is automatically available when the
716
pylon Camera Software Suite 7.5 with CXP is installed.

pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[build-system]
2-
requires = ["setuptools>=42", "swig>=4.2", "wheel"]
2+
requires = ["setuptools>=42,<72", "swig>=4.2", "wheel"]
33
build-backend = "setuptools.build_meta"
44

55
[tool.cibuildwheel]
@@ -9,7 +9,7 @@ test-requires = "pytest numpy"
99

1010
[tool.cibuildwheel.windows]
1111
archs = "AMD64"
12-
build = "*-win_*"
12+
build = "cp39-win_*"
1313
before-all = 'echo "Building: %CIBW_BUILD%"'
1414
test-command = [
1515
'''
@@ -19,7 +19,7 @@ test-command = [
1919

2020
[tool.cibuildwheel.macos]
2121
archs = "x86_64 arm64"
22-
build = "*-macosx_*"
22+
build = "cp39-macosx_*"
2323
before-all = 'echo "Building: $CIBW_BUILD"'
2424
repair-wheel-command = ""
2525
test-command = [

scripts/build/Dockerfile.debian

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
ARG QEMU_TARGET_ARCH
21
ARG DOCKER_BASE_IMAGE
32

43
#the following lines are used to get a qemu binary only with docker tools
54
FROM multiarch/qemu-user-static:4.2.0-6 as qemu
65

76
FROM $DOCKER_BASE_IMAGE
87
ARG CMD_WRAPPER
8+
ARG QEMU_TARGET_ARCH
99
COPY --from=qemu /usr/bin/* /usr/bin/
1010

1111
# Quick fix for the now archived debian jessie. Security updates are also no longer provided for arm64.
@@ -20,21 +20,20 @@ RUN if cat /etc/debian_version | grep -q "8\." ; then \
2020
# auditwheel is limited to 5.1.2 because since 5.2.1 it requires patchelf >= 0.14 which is not available on our debian base images
2121
RUN pip install wheel 'auditwheel<=5.1.2'
2222

23-
# build a new swig
24-
RUN mkdir /build && \
25-
cd /build && \
26-
wget http://prdownloads.sourceforge.net/swig/swig-4.0.1.tar.gz && \
27-
tar -xzf swig-4.0.1.tar.gz && cd swig-4.0.1 && \
28-
./configure --with-python3 && make -j2 && make install && \
29-
rm -rf /build
23+
# install swig from pypi
24+
RUN pip install swig>=4.2
25+
# install setuptools
26+
RUN pip install "setuptools<72" --upgrade
3027

3128
# numpy is required for the pypylon unittests
3229
# currently disabled because the numpy install exceeds the current travis max duration
3330
# RUN pip install numpy
3431

3532
# one genicam unittest requires a french locale
3633
# patchelf, unzip are needed for auditwheel
37-
RUN apt-get update && apt-get install -y locales patchelf unzip\
34+
# symlink for libicuuc.so.66 needed for pylon
35+
RUN apt-get update && apt-get install -y locales patchelf unzip libicu67\
36+
&& ln -s /usr/lib/$QEMU_TARGET_ARCH-linux-gnu/libicuuc.so.67 /usr/lib/$QEMU_TARGET_ARCH-linux-gnu/libicuuc.so.66\
3837
&& rm -rf /var/lib/apt/lists/* \
3938
&& sed -i 's/^# *\(fr_FR.UTF-8\)/\1/' /etc/locale.gen \
4039
&& locale-gen

scripts/build/Dockerfile.manylinux

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,11 @@ FROM $DOCKER_BASE_IMAGE
88
COPY --from=qemu /usr/bin/* /usr/bin/
99

1010

11-
#build a new swig
12-
RUN mkdir /build && \
13-
cd /build && \
14-
curl -sSfL -O http://prdownloads.sourceforge.net/swig/swig-4.0.1.tar.gz && \
15-
tar -xzf swig-4.0.1.tar.gz && cd swig-4.0.1 && \
16-
./configure --with-python3 && make -j2 && make install && \
17-
rm -rf /build
11+
# install pip from pypi
12+
RUN pip install swig>=4.2
13+
14+
# install setuptools
15+
RUN pip install "setuptools<72" --upgrade
1816

1917
# one genicam unittest requires a french locale
2018
RUN yum -y reinstall glibc-common
@@ -24,4 +22,4 @@ RUN mkdir /pylon_installer
2422
RUN mkdir /worker_home && chmod go+rwx /worker_home
2523
ENV HOME=/worker_home
2624

27-
RUN uname -a
25+
RUN uname -a

scripts/build/build-arch.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,10 @@ if [ $BUILD_DISTRO = "debian" ]; then
6262
cp39) BASE_IMAGE32="python:3.9.16-buster"; BASE_IMAGE64="python:3.9.16-bullseye" ;;
6363
cp3_10) BASE_IMAGE32="python:3.10.11-buster"; BASE_IMAGE64="python:3.10.11-bullseye" ;;
6464
cp3_11) BASE_IMAGE32="python:3.11.3-buster"; BASE_IMAGE64="python:3.11.3-bullseye" ;;
65-
cp3_12) BASE_IMAGE64="python:3.12.4-bullseye" ;;
65+
cp3_12) BASE_IMAGE64="python:3.12.4-bullseye" ;;
66+
cp3_13) BASE_IMAGE64="python:3.13.0-bullseye" ;;
6667
*)
67-
echo "Unsupported abi '$ABI_TAG'. Supported tags: cp36m, cp37m, cp38, cp39, cp3_10, cp3_11, cp3_12"
68+
echo "Unsupported abi '$ABI_TAG'. Supported tags: cp36m, cp37m, cp38, cp39, cp3_10, cp3_11, cp3_12, cp3_13"
6869
exit 1
6970
esac
7071
else

0 commit comments

Comments
 (0)