Metadata-Version: 2.4
Name: novitec-camera-api
Version: 2.0.0
Summary: Python bindings for the Novitec machine vision camera API (Windows x86-64)
Author: Novitec
Maintainer-email: Novitec Support <support@novitec.co.kr>
License-Expression: LicenseRef-Proprietary AND IJG AND BSD-3-Clause AND Zlib AND Unlicense AND LGPL-2.1-or-later AND Apache-2.0 AND curl AND MIT
Project-URL: Homepage, https://www.novitec.co.kr/
Project-URL: Documentation, https://novitec.co.kr/Novitec/Manual/API/html_python/2.0.0/Novitec_Camera_Python_API_Manual_2.0.0.html
Project-URL: Issues, https://www.novitec.co.kr/kr/service/inquiry.php
Keywords: camera,image-acquisition,industrial-camera,machine-vision,novitec
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Manufacturing
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: C++
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Multimedia :: Graphics :: Capture :: Digital Camera
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development
Classifier: Typing :: Typed
Requires-Python: <3.15,>=3.9
Description-Content-Type: text/markdown
License-File: LICENSE.txt
License-File: THIRD_PARTY_NOTICES.md
License-File: licenses/FFmpeg-BUILD-CONFIGURATION.txt
License-File: licenses/FFmpeg-LGPL-2.1.txt
License-File: licenses/OpenSSL-Apache-2.0.txt
License-File: licenses/TinyXML2-zlib.txt
License-File: licenses/curl-license.txt
License-File: licenses/delvewheel-MIT.txt
License-File: licenses/libjpeg-turbo-LICENSE.txt
License-File: licenses/libjpeg-turbo-README.ijg.txt
License-File: licenses/miniz-Unlicense.txt
License-File: licenses/pybind11-BSD-3-Clause.txt
Requires-Dist: numpy>=1.26.4; python_version == "3.9"
Requires-Dist: numpy>=2.2.4; python_version >= "3.10" and python_version < "3.14"
Requires-Dist: numpy>=2.3.5; python_version >= "3.14"
Dynamic: license-file

# Novitec Camera API

The official Python package for controlling Novitec cameras and acquiring images.

## Dependencies

- Windows 10/11 x86-64
- CPython 3.9 or later, below 3.15
- NumPy
- Wheel tags `cp39` to `cp314`, `win_amd64`
- Wheels only, no sdist is published

Loading the native library requires the latest
[Microsoft Visual C++ v14 Redistributable (x64)](https://aka.ms/vc14/vc_redist.x64.exe).
For details, please see Microsoft's
[official guidance](https://learn.microsoft.com/cpp/windows/latest-supported-vc-redist).

If `import NovitecCameraAPI` reports `WinError 126` or a missing DLL, please
install the x64 Redistributable and restart the Python process.

## Installation

```powershell
pip install novitec-camera-api
```

When installing a wheel file directly, please make sure the Python version you
are using matches the wheel tag.

```powershell
py -m pip install .\novitec_camera_api-<version>-cp312-cp312-win_amd64.whl
```

## Example

The following is a simple example that discovers connected cameras and prints
them.

The remaining examples are available in the [API manual](https://novitec.co.kr/Novitec/Manual/API/html_python/2.0.0/Novitec_Camera_Python_API_Manual_2.0.0.html).

```python
from NovitecCameraAPI import CameraInfo, DeviceManager, ErrorType

device_manager = DeviceManager()

error = device_manager.update()
if error.type != ErrorType.NVT_OK:
    raise RuntimeError(error.description)

error, camera_count = device_manager.get_number_of_cameras()
if error.type != ErrorType.NVT_OK:
    raise RuntimeError(error.description)

for index in range(camera_count):
    camera_info = CameraInfo()
    if device_manager.get_camera_info(index, camera_info).type != ErrorType.NVT_OK:
        continue

    print(index, camera_info.get_model_name(), camera_info.get_serial_number())
```

## Support

The [API manual](https://novitec.co.kr/Novitec/Manual/API/html_python/2.0.0/Novitec_Camera_Python_API_Manual_2.0.0.html) covers everything from getting started to the API
reference, along with example code and explanations.

If you have any questions or run into problems while installing or using the
package, please reach out through our
[inquiry page](https://www.novitec.co.kr/kr/service/inquiry.php).

## License

This software uses [FFmpeg](https://ffmpeg.org/), which is distributed under the
[GNU LGPL 2.1 or later](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html).
The corresponding source is included in every wheel at
`NovitecCameraAPI/third_party/ffmpeg_src/`.

For the terms of use for this package and the third-party notices, please see
`LICENSE.txt`, `THIRD_PARTY_NOTICES.md`, and the license file of each component
in `novitec_camera_api-<version>.dist-info/licenses/` of the installed package.
