{"id":14982732,"url":"https://github.com/jss95/civiq6","last_synced_at":"2025-08-10T07:13:12.146Z","repository":{"id":37833710,"uuid":"500877948","full_name":"JSS95/civiq6","owner":"JSS95","description":"Python package to integrate VimbaPython with Qt6.","archived":false,"fork":false,"pushed_at":"2023-09-26T06:46:59.000Z","size":134,"stargazers_count":2,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-29T01:41:55.814Z","etag":null,"topics":["pyqt6","pyside6","python","qt6","vimba","vimba-python","vimba-sdk"],"latest_commit_sha":null,"homepage":"https://civiq6.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JSS95.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-07T14:35:23.000Z","updated_at":"2023-11-24T16:52:35.000Z","dependencies_parsed_at":"2024-09-11T16:03:06.437Z","dependency_job_id":"ec9cc182-6bf3-4fa2-9d8a-8f878bbd1123","html_url":"https://github.com/JSS95/civiq6","commit_stats":{"total_commits":142,"total_committers":2,"mean_commits":71.0,"dds":0.07746478873239437,"last_synced_commit":"0699e3fd031447f3d027a3403e8cdeba0ad735ed"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/JSS95/civiq6","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JSS95%2Fciviq6","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JSS95%2Fciviq6/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JSS95%2Fciviq6/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JSS95%2Fciviq6/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JSS95","download_url":"https://codeload.github.com/JSS95/civiq6/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JSS95%2Fciviq6/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269689795,"owners_count":24459712,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["pyqt6","pyside6","python","qt6","vimba","vimba-python","vimba-sdk"],"created_at":"2024-09-24T14:05:55.934Z","updated_at":"2025-08-10T07:13:12.117Z","avatar_url":"https://github.com/JSS95.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CIViQ6 - Camera Integration for Vimba and Qt6\n\n[![PyPI version](https://badge.fury.io/py/CIViQ6.svg)](https://badge.fury.io/py/CIViQ6)\n[![Python Version](https://img.shields.io/pypi/pyversions/civiq6)](https://pypi.org/project/civiq6/)\n[![Build Status](https://github.com/JSS95/civiq6/actions/workflows/ci.yml/badge.svg)](https://github.com/JSS95/civiq6/actions/workflows/ci.yml)\n[![Documentation Status](https://readthedocs.org/projects/civiq6/badge/?version=latest)](https://civiq6.readthedocs.io/en/latest/?badge=latest)\n[![License](https://img.shields.io/github/license/JSS95/civiq6)](https://github.com/JSS95/civiq6/blob/master/LICENSE)\n\nCIViQ6 is a Python package which integrates [VimbaPython](https://github.com/alliedvision/VimbaPython) and Qt6 multimedia scheme.\n\nIt provides:\n- Class to instantiate the Vimba instance in `QThread`\n- Camera API similar to that of QtMultimedia\n- Compatibility with `QVideoSink` and `QVideoWidget`\n\nThe following Qt bindings are supported:\n- [PySide6](https://pypi.org/project/PySide6/)\n- [PyQt6](https://pypi.org/project/PyQt6/)\n\nThis package is tested using Vimba 6.0, VimbaPython 1.2.1, and Mako U-130B camera device connected to the device with Window 11.\n\n# How to use\n\nCIViQ6 imitates QtMultimedia scheme to provide API for the Allied Vision camera device.\n\n|     CIViQ6 class    |    Qt6 counterpart   |\n| ------------------- | -------------------- |\n|     VimbaRunner     |           -          |\n|     VimbaDevices    |      QMediaDevices   |\n|  VimbaCameraDevice  |      QCameraDevice   |\n|     VimbaCamera     |        QCamera       |\n| VimbaCaptureSession | QMediaCaptureSession |\n\n## Running the Vimba instance\n\n`VimbaRunner` is a runner which wraps the VimbaPython API and starts Vimba.\n\nTo start the Vimba instance, move `VimbaRunner` to a dedicated `QThread` and run it.\nThis task must be done before any other Vimba-related operation.\n\n## Streaming the camera\n\nOnce the Vimba instance is started, user can construct `VimbaCamera` instance, set it to `VimbaCaptureSession`, and run it just as one would do with `QCamera` and `QMediaCaptureSession`.\n\nSet `QVideoWidget` or `QVideoSink` (or any other `QObject`-based preview) to the capture session to stream the camera.\n\n## Setting the camera properties\n\n`VimbaCamera` provides methods which return VimbaPython's `Feature` objects that can get and set the camera properties.\n\n## Capturing and recording\n\nUnlike Qt6, CIViQ6 does not have default classes that support image capturing and video recording from `VimbaCaptureSession`. User must define own classes that write VimbaPython's `Frame` object to file.\n\nThe documentaion provides examples for defining the image capturer and video recorder.\n\n# Examples\n\nUse cases are provided in [examples](https://github.com/JSS95/civiq6/tree/master/civiq6/examples) directory.\nThey can be found in documentation as well.\n\n# Installation\n\nBefore you install, be careful for other Qt-dependent packages installed in your environment.\nFor example, non-headless `OpenCV-Python` modifies the Qt dependency thus can make other Qt bindings unavailable.\n\nTo install CIViQ6, you first need to install [VimbaPython](https://github.com/alliedvision/VimbaPython) package which is not distributed by PyPI.\nGo to its repository and follow the instructions.\n\nAfter VimbaPython is installed, `civiq6` can be installed using `pip`.\n\n```\n$ pip install civiq6\n```\n\n# Documentation\n\nCIViQ6 is documented with [Sphinx](https://pypi.org/project/Sphinx/).\nDocumentation can be found on Read the Docs:\n\n\u003e https://civiq6.readthedocs.io/\n\nIf you want to build the document yourself, clone the source code and install with `[doc]` option.\nThis option installs the additional packages to build the document and to run the examples.\n\nGo to `doc` directory and build the document.\n\n```\n$ pip install civiq6[doc]\n$ cd doc\n$ make html\n```\n\nDocument will be generated in `build/html` directory. Open `index.html` to see the central page.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjss95%2Fciviq6","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjss95%2Fciviq6","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjss95%2Fciviq6/lists"}