Releases: basler/pypylon
Releases · basler/pypylon
Release list
26.6
pypylon release 26.6
Changes:
Version 26.6
- Date 2026-07-01
- Updated to pylon Software Suite 26.6.2 on all platforms, which includes
pylon C++ SDK 12.2.0 and pylon Data Processing C++ SDK 5.0.0.
- All changes try to keep backwards compatibility with previous pypylon versions,
but some breaking changes are introduced in the API that are typically not used directly
(see below).
- genicam.INodeMap and genicam.CNodeMapRef have been extended by the method Contains(node_name) that
returns true if the node map contains a parameter with the given name.
- Added the pylon C++ SDK parameter API to pypylon (classes derived from Pylon::CParameter),
providing numerous convenience methods for reading and writing, e.g., camera parameters.
- pylon parameters support the Try-Pattern or the OrDefault pattern for all their properties, e.g.,
cam.Gain.TrySetValue(0.1).
- Node maps provided by pylon objects are now wrapped in a NodeMapWrapper that provides the following features:
- If a parameter is accessed that does not exist, a PlaceholderParameter is returned instead of throwing an exception.
This allows to use the Try-Pattern or OrDefault pattern for all parameters to achieve shorter and better readable code.
Note: this is breaking change for code that expected an exception to be thrown when accessing a non-existent parameter.
- Try-Pattern or the OrDefault pattern can be used and behave as if the parameter is not readable and not writable.
- If a placeholder parameter is accessed (discouraged), a pylon.LogicalErrorException is thrown with a helpful error message
that includes the path of the parameter. All method of the Parameter base class throw AccessExceptions instead because
this is more consistent with all other available parameter types.
- If a parameter is accessed that exists in a node map,
now return typed pylon parameter types extending GenICam types instead of only GenICam types.
- pylon data processing Recipe and SmartInstantCamera also return pylon parameter types.
- Added SFNC version constants to the pylon module.
- DeviceInfo attributes are now accessible as Python properties (e.g. device_info.ModelName).
- DeviceInfo now supports dictionary-style access (e.g. device_info['ModelName']).
- InstantCamera now supports the context manager protocol: use it in a with statement to
have the camera created, opened and destroyed automatically. Additionally, all event handlers are automatically
deregistered when the camera is destroyed to prevent dangling references to the camera object.
- Recipe now supports the context manager protocol: use it in a with statement to
have the recipe created and unloaded automatically. Additionally, all event handlers are automatically
deregistered when the recipe is destroyed to prevent dangling references to the recipe object.
- InstantCameraArray now supports the context manager protocol as well.
- InstantCamera can now be used without explicitly calling TlFactory, simplifying
single-camera use cases.
- Updated numerous samples to use the new API and added new samples.
- DisplayImage now uses OpenCV to display images on Linux and macOS when installed,
making it work across all platforms.
Note: the message loop of the OpenCV window is only running when DisplayImage is called,
so the window will not be responsive until DisplayImage is called again or the message loop is run in another way,
e.g. by calling cv2.waitKey().
- Updated the image format converter to use the new parameter API.
Note: this is a breaking change for reading parameter properties from the converter,
but not for setting them.
- Extended existing pylon and pylondataprocessing unit tests and added new ones to cover the whole API.
- Added sample and test style guidelines in the context folder to unify code style
across samples and tests.
- Breaking change: Image format converter and instant camera _params classes have been
removed and replace with a consistent parameter API across all pylon classes.
- The device filter list when enumerating devices now accepts a mixture of pylon.DeviceInfo objects
and dictionaries with string keys and values, e.g.:
filter_list = [device_info, {'ModelName': 'Basler acA640-100gm'}]
found_devices = pylon.TlFactory.GetInstance().EnumerateDevices(filter_list)
- Breaking change: CreateTl() does not throw if the transport layer cannot be loaded, but instead returns None.
- Breaking change: Removed `pylondataprocessing.VariantContainer` from the public Python API.
Recipe/output container data is represented as standard Python dictionaries.
Internal SWIG type handling for `CVariantContainer` is kept for signatures and typemaps,
while `src/pylondataprocessing/VariantContainer.i` has been simplified to type-import metadata only.
- Updated the documentation using the C++ API documentation as source using doxy2swig.
- Added the ImagePersistence API to pypylon, allowing to save and load images in various formats without
converting them into a pylon image first.
- The image format converter and image persistence APIs now support pylon image, pylon data component and
grab results as input.
- Added the ToParameter function to convert a GenICam node to a pylon parameter, e.g.:
pylon.ToParameter(node)
- Added the ConfigurationHelper class that provides helper methods to apply a configuration to a camera, e.g.,
pylon.ConfigurationHelper.DisableAllTriggers(cam.NodeMap).
- Added missing methods to the image decompressor class, e.g. GetCompressionDescriptor.
- WaitObject now supports waiting for multiple objects at the same time and returns the index of the object
that was signaled, e.g.: signaled, index = container.WaitForAny(SIGNAL_WAIT_TIMEOUT_MS, True).
- Added support for python 3.14.
- Added initial Programmer's Guide for pypylon.
26.6rc1
pypylon release 26.6rc1
Changes:
Version 26.6rc1
- Date 2026-06-24
- Updated to pylon Software Suite 26.6.2 on all platforms, which includes
pylon C++ SDK 12.2.0 and pylon Data Processing C++ SDK 5.0.0.
- All changes try to keep backwards compatibility with previous pypylon versions,
but some breaking changes are introduced in the API that are typically not used directly
(see below).
- genicam.INodeMap and genicam.CNodeMapRef have been extended by the method Contains(node_name) that
returns true if the node map contains a parameter with the given name.
- Added the pylon C++ SDK parameter API to pypylon (classes derived from Pylon::CParameter),
providing numerous convenience methods for reading and writing, e.g., camera parameters.
- pylon parameters support the Try-Pattern or the OrDefault pattern for all their properties, e.g.,
cam.Gain.TrySetValue(0.1).
- Node maps provided by pylon objects are now wrapped in a NodeMapWrapper that provides the following features:
- If a parameter is accessed that does not exist, a PlaceholderParameter is returned instead of throwing an exception.
This allows to use the Try-Pattern or OrDefault pattern for all parameters to achieve shorter and better readable code.
Note: this is breaking change for code that expected an exception to be thrown when accessing a non-existent parameter.
- Try-Pattern or the OrDefault pattern can be used and behave as if the parameter is not readable and not writable.
- If a placeholder parameter is accessed (discouraged), a pylon.LogicalErrorException is thrown with a helpful error message
that includes the path of the parameter. All method of the Parameter base class throw AccessExceptions instead because
this is more consistent with all other available parameter types.
- If a parameter is accessed that exists in a node map,
now return typed pylon parameter types extending GenICam types instead of only GenICam types.
- pylon data processing Recipe and SmartInstantCamera also return pylon parameter types.
- Added SFNC version constants to the pylon module.
- DeviceInfo attributes are now accessible as Python properties (e.g. device_info.ModelName).
- DeviceInfo now supports dictionary-style access (e.g. device_info['ModelName']).
- InstantCamera now supports the context manager protocol: use it in a with statement to
have the camera created, opened and destroyed automatically. Additionally, all event handlers are automatically
deregistered when the camera is destroyed to prevent dangling references to the camera object.
- Recipe now supports the context manager protocol: use it in a with statement to
have the recipe created and unloaded automatically. Additionally, all event handlers are automatically
deregistered when the recipe is destroyed to prevent dangling references to the recipe object.
- InstantCameraArray now supports the context manager protocol as well.
- InstantCamera can now be used without explicitly calling TlFactory, simplifying
single-camera use cases.
- Updated numerous samples to use the new API and added new samples.
- DisplayImage now uses OpenCV to display images on Linux and macOS when installed,
making it work across all platforms.
Note: the message loop of the OpenCV window is only running when DisplayImage is called,
so the window will not be responsive until DisplayImage is called again or the message loop is run in another way,
e.g. by calling cv2.waitKey().
- Updated the image format converter to use the new parameter API.
Note: this is a breaking change for reading parameter properties from the converter,
but not for setting them.
- Extended existing pylon and pylondataprocessing unit tests and added new ones to cover the whole API.
- Added sample and test style guidelines in the context folder to unify code style
across samples and tests.
- Breaking change: Image format converter and instant camera _params classes have been
removed and replace with a consistent parameter API across all pylon classes.
- The device filter list when enumerating devices now accepts a mixture of pylon.DeviceInfo objects
and dictionaries with string keys and values, e.g.:
filter_list = [device_info, {'ModelName': 'Basler acA640-100gm'}]
found_devices = pylon.TlFactory.GetInstance().EnumerateDevices(filter_list)
- Breaking change: CreateTl() does not throw if the transport layer cannot be loaded, but instead returns None.
- Breaking change: Removed `pylondataprocessing.VariantContainer` from the public Python API.
Recipe/output container data is represented as standard Python dictionaries.
Internal SWIG type handling for `CVariantContainer` is kept for signatures and typemaps,
while `src/pylondataprocessing/VariantContainer.i` has been simplified to type-import metadata only.
- Updated the documentation using the C++ API documentation as source using doxy2swig.
- Added the ImagePersistence API to pypylon, allowing to save and load images in various formats without
converting them into a pylon image first.
- The image format converter and image persistence APIs now support pylon image, pylon data component and
grab results as input.
- Added the ToParameter function to convert a GenICam node to a pylon parameter, e.g.:
pylon.ToParameter(node)
- Added the ConfigurationHelper class that provides helper methods to apply a configuration to a camera, e.g.,
pylon.ConfigurationHelper.DisableAllTriggers(cam.NodeMap).
- Added missing methods to the image decompressor class, e.g. GetCompressionDescriptor.
- WaitObject now supports waiting for multiple objects at the same time and returns the index of the object
that was signaled, e.g.: signaled, index = container.WaitForAny(SIGNAL_WAIT_TIMEOUT_MS, True)
26.05.0
pypylon release 26.05.0
Changes:
Version 26.5.0
- Date 2026-05-26
- Updated to pylon Software Suite 26.5.0 on all platforms.
- Updated GitHub Actions to versions that use Node.js 24 and removed those relying on the deprecated set-output command.
26.04.1
pypylon release 26.04.1
Changes:
Version 26.4.1
- Date 2026-05-04
- Updated to pylon Software Suite 26.4.1 on all platforms
26.03.1
pypylon release 26.03.1
Changes:
Version 26.3.1
- Date 2026-03-31
- Updated to pylon Software Suite 26.3.1 on all platforms
26.02.1
pypylon release 26.02.1
Changes:
Version 26.2.1
- Date 2026-03-03
- Updated to pylon Software Suite 26.2.1 on all platforms.
26.01.0
pypylon release 26.01.0
Changes:
Version 26.1.0
- Date 2026-02-18
- Updated to pylon Software Suite 26.1.0 on all platforms.
This contains pylon C++ SDK 11.3.0, pylon Data Processing C++ SDK 4.1.1
and is based on GenICam 3.5 reference implementation.
- The version scheme has been aligned with the pylon Software Suite
and there will be monthly releases going forward.
- Deprecated GetDataComponent method. Use GetDataComponentByIndex or
with pypylon 26.01 and above the GetDataComponentByType methods of
PylonDataContainer or GrabResultData instead.
- Update reference version for all platforms.
- Fixed deployment issue to pypi and GitHub releases in GitHub actions.
- Added stride parameter in ndarray to support PaddingX
26.01.0rc3
pypylon release 26.01.0rc3
Changes:
Version 26.1.0rc3
- Date 2026-02-09
- Added stride parameter in ndarray to support PaddingX
26.01.0rc2
pypylon release 26.01.0rc2
Changes:
Version 26.1.0rc2
- Date 2026-01-26
- Fixed deployment issue to pypi and GitHub releases in GitHub actions.
4.2.0
pypylon release 4.2.0
Changes:
Version 4.2.0
- Date 2025-06-02
- Updated to pylon Software Suite 8.1.0 on all platforms.
- Added support for pylon data processing method BuildersRecipe.SaveAs
- Add support for pylon GigE Accelerator on macOS. It can be downloaded
from the Basler website or the Apple App Store.
- Update reference version for all platforms.
- Update README.md