harvesters
Image Acquisition Library for GenICam-based Machine Vision System
Decision gist · record as of 2026-08-14
Yes. Harvester is actively maintained, has low install friction, carries no known vulnerabilities, and uses a permissive license. Install it if you need to acquire images from GenICam-compliant cameras—it abstracts away transport-layer complexity and integrates naturally with numpy and standard Python image processing tools. Skip it only if your cameras use proprietary (non-GenICam) APIs or if you need a GUI (use Harvester GUI for that instead).AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a GenTL Producer (.cti file) for your camera hardware; without it, the library cannot communicate with devices.
- Low install friction with only two runtime dependencies (genicam and numpy).
- The package is actively maintained with a recent commit in 2026 and has been in production use since 2018.
License · maintenance · safety
Apache Software License V2.0 (permissive) — Licensed under Apache License 2.0 (permissive), allowing free use, modification, and distribution for personal, internal, or commercial purposes without restriction.
last release 2024-05-16 (820 days) · last repo commit 2026-04-01 · 610 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 97,323 downloads/mo, #13,157 on PyPI
Alternatives
Verify before relying
from harvesters.core import Harvester
import numpy as np
h = Harvester()
h.add_file('/path/to/GenTL/Producer.cti')
h.update()
ia = h.create(0)
ia.start()
with ia.fetch() as buffer:
data = buffer.payload.components[0].data
ia.stop()- Whether the package supports Python versions beyond what the fact sheet specifies (requires_python is unspecified).
- Performance characteristics when managing many GenTL Producers or high-frequency image streams.
- Compatibility with specific camera vendors or transport layer types beyond the GenICam standard.
What it is and what it does
Harvester is a Python image acquisition library designed to work with GenICam-compliant cameras and GenTL Producers—standardized interfaces that abstract away transport-layer details (USB, GigE, etc.). It lets you load multiple GenTL Producers in a single script, discover available devices, and manipulate camera settings through GenICam feature nodes without worrying about the underlying protocol. The library delivers acquired images as buffers containing numpy-compatible data, making it straightforward to feed images into downstream processing pipelines.
The core workflow involves instantiating a Harvester object, loading one or more GenTL Producer libraries (.cti files), discovering connected devices, creating an ImageAcquirer for a specific device, configuring camera parameters (resolution, pixel format, etc.) through the remote device's node map, and then fetching image buffers in a loop. Buffers expose image components as numpy arrays, so you can immediately reshape and analyze them without additional conversion steps.
Use it for
- Integrate multiple industrial cameras over different transports (USB, GigE, CoaXPress) into a single Python application without transport-specific code.
- Build machine vision inspection systems that configure camera parameters dynamically and stream images to OpenCV or scikit-image for real-time processing.
- Prototype computer vision workflows in Jupyter notebooks where you can acquire images, visualize them with Matplotlib, and iterate on processing logic.
- Develop headless image acquisition daemons that capture frames from GenICam devices and write them to disk or a message queue for downstream analysis.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Harvester is actively maintained, has low install friction, carries no known vulnerabilities, and uses a permissive license. Install it if you need to acquire images from GenICam-compliant cameras—it abstracts away transport-layer complexity and integrates naturally with numpy and standard Python image processing tools. Skip it only if your cameras use proprietary (non-GenICam) APIs or if you need a GUI (use Harvester GUI for that instead).
Install
harvesters on PyPI
Before you install
Low install friction with only two runtime dependencies (genicam and numpy). The package is actively maintained with a recent commit in 2026 and has been in production use since 2018.
Requires a GenTL Producer (.cti file) for your camera hardware; without it, the library cannot communicate with devices.
License in practice
Licensed under Apache License 2.0 (permissive), allowing free use, modification, and distribution for personal, internal, or commercial purposes without restriction.
Quickstart
from harvesters.core import Harvester
import numpy as np
h = Harvester()
h.add_file('/path/to/GenTL/Producer.cti')
h.update()
ia = h.create(0)
ia.start()
with ia.fetch() as buffer:
data = buffer.payload.components[0].data
ia.stop()
Verify before relying
- Whether the package supports Python versions beyond what the fact sheet specifies (requires_python is unspecified).
- Performance characteristics when managing many GenTL Producers or high-frequency image streams.
- Compatibility with specific camera vendors or transport layer types beyond the GenICam standard.
Package facts
| License | Apache Software License V2.0 permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesgenicamnumpy |
| Maintenance | Actively maintained 820 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 97,323 / month, #13,157 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: EducationIntended Audience :: Science/ResearchLicense :: OSI Approved :: Apache Software LicenseOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIX |
Evidence: harvesters-1.4.3-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “genicam image acquisition”
- harvestersHarvester simplifies image acquisition from GenICam-compliant cameras…
- pypylonpypylon is the official Python binding for Basler pylon C++ APIs,…
- genicamProvides Python bindings to GenICam, enabling control of…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also genicam · pypylon · pygrabber · Acquisition · deepsearch-glm · pytapo · acquire · gravity · easyocr · vit-pytorch