Skip to content

VmbPy <= 1.2.0 Frame Acquisition does not work with Python 3.14 #56

@NiklasKroeger-AlliedVision

Description

Affected Versions

VmbPy <= 1.2.0 but only when using Python >= 3.14.

Hot to fix

There are two options for fixing the issue

Different Python Version

The issue is only relevant when using Python >= 3.14. Using an older version like 3.13 will allow Frame Acquisition with no issues

VmbPy beta release

A beta version tagged as 1.2.1_beta1 is available that fixes the issue. A pre-release has been created and is available on the Releases page. Please be advised that this beta has not gone through our usual release testing and is therefore not fully validated. The beta disclaimer in the README applies.

This beta release will be succeeded by an official release of VmbPy which will go through our usual release testing. It is advised to update to this fully tested and validated version once it is released. This issue will be kept up to date with informations regarding that release.

Details

Due to changes in Python 3.14 in how type hints are resolved, the forward declarations of our callback function signature can no longer be properly resolved at runtime. The internal decorator intended to add some type safety to VmbPy prevents any calls using this decorator in VmbPy version 1.2.0.

When a VmbPy function is called that causes the issue to be triggerd, the user will experience a raised NameError with an error message indicating: name 'Camera' is not defined. The implemented fix works around this issue by passing additional namespace information to the call of Python internal function get_type_hints.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions