Skip to content

Releases: basler/pypylon

26.6

Choose a tag to compare

@github-actions github-actions released this 02 Jul 13:37
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

Choose a tag to compare

@github-actions github-actions released this 25 Jun 13:00
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

Choose a tag to compare

@github-actions github-actions released this 26 May 15:24
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

Choose a tag to compare

@github-actions github-actions released this 04 May 13:05
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

Choose a tag to compare

@github-actions github-actions released this 31 Mar 17:09
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

Choose a tag to compare

@github-actions github-actions released this 04 Mar 14:13
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

Choose a tag to compare

@github-actions github-actions released this 18 Feb 10:02
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

Choose a tag to compare

@github-actions github-actions released this 09 Feb 18:01
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

Choose a tag to compare

@github-actions github-actions released this 26 Jan 20:52
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

Choose a tag to compare

@github-actions github-actions released this 02 Jun 11:24
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