GPhoto2-rs
Rust bindings to libgphoto2
What about gphoto-rs?
I know about the other crate (gphoto and gphoto2-sys which was created by @dcuddeback, but it is missing a lot of features which make the crate unusable for me, most notably the ability to change camera settings and in memory file download.
The author hasn't been active since 2017 regardless of numerous pull- and feature requests, so I made a new project with a more up to date rust code and all the features from libgphoto2.
Features
- Camera
- Capture images
- Download images
- Get port information
- Get abilities (model, driver stability, permissions, ...)
- Read configuration
- Set configuration
- Interact with filesystem on camera (TODO)
- Camera events
- Usb port information (TODO)
- Context
- Autodetect camera
- Get list of available cameras
- Get camera by model and port
Gettings started
Installation
Run cargo add gphoto2 to add gphoto2 to your project or add this to your Cargo.toml:
[]
= "1"
Install libgphoto2
The libgphoto2 library must be installed on your system to use this library.
To install libgphoto2 on Debian based systems run:
On Arch systems run:
On MacOs systems with Homebrew run:
Basic Usage
This example takes a picture and saves it to disk
use Context;
use Path;
You can find more examples here
Stability
In general all all APIs should be stable, I've tested the ones my camera supported and found no bugs so far.
If you encounter an error like BAD_PARAMETERS or found a bug, please create an issue on GitHub.
License
Copyright © 2022 Maxicarlos08 maxicarlos08@gmail.com
This library uses the libgphoto2 library, which is
licensed under the LGPL version 2.1.