#camera #vision #gen-i-cam #gig-e #usb3


safe bindings for Aravis, a vision library for genicam based cameras

20 releases

Uses old Rust 2015

0.9.1 Aug 29, 2023
0.9.0 May 7, 2023
0.8.3 May 7, 2023
0.8.2 Feb 2, 2023
0.0.1 Oct 26, 2019

#85 in Video

Download history 40/week @ 2024-02-17 24/week @ 2024-02-24 19/week @ 2024-03-02 19/week @ 2024-03-09 30/week @ 2024-03-16 15/week @ 2024-03-23 288/week @ 2024-03-30 129/week @ 2024-04-06 75/week @ 2024-04-13 79/week @ 2024-04-20

572 downloads per month
Used in aravis-utils


16K SLoC


This crate contains (mostly) safe bindings to the Aravis library. The bindings are mostly auto-generated with the gir tool from the gtk-rs project.

This crate currently targets version 0.8.14 of the Aravis library.

The autogenerated API uses extension traits to implement methods for many structs. This is done by the gir tool to emulate class inheritance. Practically, this means that you should also look the CameraExt trait if you want to know what you can do with a Camera.

You can import the prelude to bring all available extension traits in scope:

use aravis::prelude::*;

Migrating from 0.6

The API was regenerated with a new version of the gir tool. As a result, the public API has changed a bit:

  • Getters no-longer have a get_ prefix, so a function that was called get_foo() is now simply called foo().
  • Methods for classes without subclasses no-longer live in *Ext traits. For example, this means that all methods for Buffer objects are now directly implemented on the Buffer struct. This mostly means you can just remove the import of traits that no longer exist.

This documentation constist mainly of original documentation of the Aravis project. The copyright and license of the Aravis project apply to those parts. The full original documentation is also available online and might help if the translation to Rust made things unclear.


~263K SLoC