Skip to main content

Python interface to libgphoto2

Project description

python-gphoto2 is a comprehensive Python interface (or binding) to libgphoto2. It is built using SWIG to automatically generate the interface code. This gives direct access to nearly all the libgphoto2 functions, but sometimes in a rather un-Pythonic manner.

Other Python bindings to libgphoto2 are available: piggyphoto uses ctypes (included in standard Python installations) to interface to the library. The gphoto2 source tree includes some Python bindings which also use ctypes. gphoto2-cffi uses cffi.

Installation

Since python-gphoto2 version 2.3.1 “binary wheels” are provided for many Linux and MacOS computers. These include a recent version of the libgphoto2 libraries, and pre-built Python interface modules, which makes installation quick and easy. Use pip’s --only-binary option to install one of these wheels:

$ pip3 install gphoto2 --user --only-binary :all:

If this fails it is most likely because none of the available wheels is compatible with your computer. In this case you must install some dependencies before installing python-gphoto2. See INSTALL.rst for more details.

Raspberry Pi

Binary wheels for the Raspberry Pi are available from piwheels. You need to install some system packages to use these:

$ sudo apt install libexif12 libgphoto2-6 libgphoto2-port12 libltdl7
$ pip3 install gphoto2 --user --only-binary :all:

Using python-gphoto2

The Python interface to libgphoto2 should allow you to do anything you could do in a C program. However, there are still bits missing and functions that cannot be called from Python. Let me know if you run into any problems.

The following paragraphs show how the Python interfaces differ from C. See the example programs for typical usage of the Python gphoto2 API.

“C” interface

These functions are as similar as possible to their libgphoto2 equivalents. Most of them return an error code which you must check.

Using SWIG to generate the Python interfaces automatically means that every function in libgphoto2 should be available to Python. You can show the documentation of a function with the pydoc command (or python -m pydoc if you installed gphoto2 with pip inside a virtual environment):

$ pydoc3 gphoto2.gp_camera_folder_list_files
Help on built-in function gp_camera_folder_list_files in gphoto2:

gphoto2.gp_camera_folder_list_files = gp_camera_folder_list_files(...)
    gp_camera_folder_list_files(camera, folder, context) -> int

    Parameters
    ----------
    camera: gphoto2.Camera
    folder: str
    context: gphoto2.Context (default=None)


    Lists the files in supplied `folder`.

    Parameters
    ----------
    * `camera` :
        a Camera
    * `folder` :
        a folder
    * `list` :
        a CameraList
    * `context` :
        a GPContext

    Returns
    -------
    a gphoto2 error code

    See also gphoto2.Camera.folder_list_files

The first part of this text is the function signature and parameter list generated by SWIG. (Note that context is optional - it’s only needed if you need the callback functions that can be associated with a context.) The rest of the text is copied from the “doxygen” format documentation in the C source code. (The online API documentation shows how it is intended to look.) Note that this includes a list parameter that is not in the function signature. In C this is an “output” parameter, a concept that doesn’t really exist in Python. The Python version of gp_camera_folder_list_files returns a sequence containing the integer error code and the list value.

Most of the libgphoto2 functions that use pointer parameters to return values in the C API have been adapted like this in the Python API. (Unfortunately I’ve not found a way to persuade SWIG to include this extra return value in the documentation. You should use pydoc to check the actual parameters expected by the Python function.)

For example, the C code:

#include "gphoto2.h"
int error;
Camera *camera;
error = gp_camera_new(&camera);
...
error = gp_camera_unref(camera);

has this Python equivalent:

import gphoto2 as gp
error, camera = gp.gp_camera_new()
...

Note that the gp_camera_unref() call is not needed. It is called automatically when the Python camera object is deleted.

Here is a complete example program (without any error checking):

import gphoto2 as gp
error, camera = gp.gp_camera_new()
error = gp.gp_camera_init(camera)
error, text = gp.gp_camera_get_summary(camera)
print('Summary')
print('=======')
print(text.text)
error = gp.gp_camera_exit(camera)

“Object oriented” interface

This is the preferred way to use libgphoto2 from Python. Most of the libgphoto2 functions have been added as methods of the appropriate GPhoto2 object. This allows GPhoto2 to be used in a more “Pythonic” style. For example, gp.gp_camera_init(camera) can be replaced by camera.init(). These methods also include error checking. If an error occurs they raise a Python GPhoto2Error exception.

The example program can be re-written as follows:

import gphoto2 as gp
camera = gp.Camera()
camera.init()
text = camera.get_summary()
print('Summary')
print('=======')
print(str(text))
camera.exit()

No additional error checking is required.

Error checking

Most of the libgphoto2 functions return an integer to indicate success or failure. The Python interface includes a check_result() function to check these values and raise a GPhoto2Error exception if an error occurs.

This function also removes the error code from lists such as that returned by gp_camera_new() in the example. Using this function the earlier example becomes:

import gphoto2 as gp
camera = gp.check_result(gp.gp_camera_new())
gp.check_result(gp.gp_camera_init(camera))
text = gp.check_result(gp.gp_camera_get_summary(camera))
print('Summary')
print('=======')
print(text.text)
gp.check_result(gp.gp_camera_exit(camera))

There may be some circumstances where you don’t want an exception to be raised when some errors occur. You can “fine tune” the behaviour of the check_result() function by adjusting the error_severity variable:

import gphoto2 as gp
gp.error_severity[gp.GP_ERROR] = logging.WARNING
...

In this case a warning message will be logged (using Python’s standard logging module) but no exception will be raised when a GP_ERROR error occurs. However, this is a “blanket” approach that treats all GP_ERROR errors the same. It is better to test for particular error conditions after particular operations, as described below.

The GPhoto2Error exception object has two attributes that may be useful in an exception handler. GPhoto2Error.code stores the integer error generated by the library function and GPhoto2Error.string stores the corresponding error message.

For example, to wait for a user to connect a camera you could do something like this:

import gphoto2 as gp
...
print('Please connect and switch on your camera')
while True:
    try:
        camera.init()
    except gp.GPhoto2Error as ex:
        if ex.code == gp.GP_ERROR_MODEL_NOT_FOUND:
            # no camera, try again in 2 seconds
            time.sleep(2)
            continue
        # some other error we can't handle here
        raise
    # operation completed successfully so exit loop
    break
# continue with rest of program
...

When just calling a single function like this, it’s probably easier to test the error value directly instead of using Python exceptions:

import gphoto2 as gp
...
print('Please connect and switch on your camera')
while True:
    error = gp.gp_camera_init(camera)
    if error >= gp.GP_OK:
        # operation completed successfully so exit loop
        break
    if error != gp.GP_ERROR_MODEL_NOT_FOUND:
        # some other error we can't handle here
        raise gp.GPhoto2Error(error)
    # no camera, try again in 2 seconds
    time.sleep(2)
# continue with rest of program
...

Logging

The libgphoto2 library includes functions (such as gp_log()) to output messages from its various functions. These messages are mostly used for debugging purposes, and it can be helpful to see them when using libgphoto2 from Python. The Python interface includes a use_python_logging() function to connect libgphoto2 logging to the standard Python logging system. If you want to see the messages you should call use_python_logging() near the start of your program, as shown in the examples. In normal use you probably don’t want to see these messages (libgphoto2 is rather verbose) so this could be controlled by a “verbose” or “debug” option in your application.

The libgphoto2 logging messages have four possible severity levels, each of which is mapped to a suitable Python logging severity. You can override this mapping by passing your own to use_python_logging():

import logging
import gphoto2 as gp
...
callback_obj = gp.check_result(gp.use_python_logging(mapping={
    gp.GP_LOG_ERROR   : logging.INFO,
    gp.GP_LOG_DEBUG   : logging.DEBUG,
    gp.GP_LOG_VERBOSE : logging.DEBUG - 3,
    gp.GP_LOG_DATA    : logging.DEBUG - 6}))
...

If you prefer to use your own logging system you can define a logging callback function in Python. The function must take 3 or 4 parameters: level, domain, string and an optional data. The data parameter allows you to pass some user data to your callback function (e.g. to log which thread an error occurred in): The callback function is installed with gp_log_add_func:

import gphoto2 as gp
...
def callback(level, domain, string, data=None):
    print('Callback: level =', level, ', domain =', domain, ', string =', string, 'data =', data)
...
callback_obj1 = gp.check_result(gp.gp_log_add_func(gp.GP_LOG_VERBOSE, callback))
callback_obj2 = gp.check_result(gp.gp_log_add_func(gp.GP_LOG_VERBOSE, callback, 123))
...

Deprecated functions

Some functions are intended for use by camera drivers and should not have been included in the Python interface. They will be removed in a future release. During testing you should run your software with Python’s -Wd flag to show the warnings issued if you use any of the deprecated functions. Please contact me if you have reason to believe a deprecated function should not be removed.

What to do if you have a problem

If you find a problem in the Python gphoto2 interface (e.g. a segfault, a missing function, or a function without a usable return value) then please report it on the GitHub “issues” page (https://github.com/jim-easterbrook/python-gphoto2/issues) or email jim@jim-easterbrook.me.uk.

If your problem is more general, e.g. difficulty with capturing multiple images, then try doing what you want to do with the gphoto2 command line program. If the problem persists then it might be worth asking on the gphoto-user mailing list. Another reader of the mailing list may have the same camera model and already know what to do.

Notes on some gphoto2 functions

gp_camera_capture_preview / gp_camera_file_get

Before python-gphoto2 version 2.5.0 these functions (and their corresponding “object oriented” methods) always allocated and returned a new CameraFile object. Now you can pass in a previously allocated CameraFile for them to use, but this is deprecated. In this case it is not returned by the function.

If you need to use a Context value with these functions without passing in a CameraFile, then pass None in place of the CameraFile object. In a future release the CameraFile parameter will be removed.

gp_log_add_func / use_python_logging

Since python-gphoto2 version 2.0.0 these functions return a sequence containing an error code and an object storing details of the callback. The callback is automatically uninstalled when this object is deleted.

In earlier versions of python-gphoto2 these functions return an integer id that must be passed to gp_log_remove_func to uninstall the callback.

gp_context_set_idle_func / gp_context_set_progress_funcs / etc.

These functions are only usable since python-gphoto2 version 1.9.0. They return a Python object which your program must store until the callback(s) are no longer required. Deleting the returned object cancels the callback(s), so there is no need to do this yourself. See the context_with_callbacks.py example for a convenient way to do this.

gp_file_get_data_and_size / CameraFile.get_data_and_size

Since python-gphoto2 version 2.4.0 these functions return a Python memoryview object. Prior to that they returned a FileData object that supports the buffer protocol so its data can be made accessible to Python by using a memoryview object. This allows the data to be used without copying. See the copy-data.py example for typical usage.

Note that if the CameraFile object is deleted, or another function (such as gp_file_set_data_and_size or gp_file_open) changes the CameraFile’s data, then this object will be invalidated and you will probably get a segmentation fault.

gp_file_set_data_and_size / CameraFile.set_data_and_size

Since python-gphoto2 version 2.1.0 these functions accept any bytes-like object. In earlier versions of python-gphoto2 these functions required a string and its length, and didn’t work correctly anyway.

gp_camera_file_read / Camera.file_read

The buf parameter can be any Python object that exposes a writeable buffer interface. This allows you to read a file directly into a Python object without additional copying. See the copy-chunks.py example which uses memoryview to expose a bytearray.

gp_camera_wait_for_event / Camera.wait_for_event

These functions return both the event type and the event data. The data you get depends on the type. GP_EVENT_FILE_ADDED and GP_EVENT_FOLDER_ADDED events return a CameraFilePath, others return None or a text string.

Licence

python-gphoto2 - Python interface to libgphoto2
Copyright (C) 2014-23 Jim Easterbrook jim@jim-easterbrook.me.uk

python-gphoto2 is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

python-gphoto2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with python-gphoto2. If not, see <https://www.gnu.org/licenses/>.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gphoto2-2.6.4.tar.gz (578.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

gphoto2-2.6.4-cp314-cp314t-manylinux_2_28_aarch64.whl (13.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

gphoto2-2.6.4-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (11.8 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

gphoto2-2.6.4-cp314-cp314t-macosx_15_0_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.14tmacOS 15.0+ x86-64

gphoto2-2.6.4-cp314-cp314t-macosx_14_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.14tmacOS 14.0+ ARM64

gphoto2-2.6.4-cp314-cp314-manylinux_2_28_aarch64.whl (12.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

gphoto2-2.6.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (11.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

gphoto2-2.6.4-cp314-cp314-macosx_15_0_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.14macOS 15.0+ x86-64

gphoto2-2.6.4-cp314-cp314-macosx_14_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

gphoto2-2.6.4-cp313-cp313-manylinux_2_28_aarch64.whl (12.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

gphoto2-2.6.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (11.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

gphoto2-2.6.4-cp313-cp313-macosx_15_0_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.13macOS 15.0+ x86-64

gphoto2-2.6.4-cp313-cp313-macosx_14_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

gphoto2-2.6.4-cp312-cp312-manylinux_2_28_aarch64.whl (12.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

gphoto2-2.6.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (11.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

gphoto2-2.6.4-cp312-cp312-macosx_15_0_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.12macOS 15.0+ x86-64

gphoto2-2.6.4-cp312-cp312-macosx_14_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

gphoto2-2.6.4-cp311-cp311-manylinux_2_28_aarch64.whl (12.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

gphoto2-2.6.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (11.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

gphoto2-2.6.4-cp311-cp311-macosx_15_0_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.11macOS 15.0+ x86-64

gphoto2-2.6.4-cp311-cp311-macosx_14_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

gphoto2-2.6.4-cp310-cp310-manylinux_2_28_aarch64.whl (12.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

gphoto2-2.6.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (11.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

gphoto2-2.6.4-cp310-cp310-macosx_15_0_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.10macOS 15.0+ x86-64

gphoto2-2.6.4-cp310-cp310-macosx_14_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

gphoto2-2.6.4-cp39-cp39-manylinux_2_28_aarch64.whl (12.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

gphoto2-2.6.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (11.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

gphoto2-2.6.4-cp39-cp39-macosx_15_0_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.9macOS 15.0+ x86-64

gphoto2-2.6.4-cp39-cp39-macosx_14_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

gphoto2-2.6.4-cp38-cp38-manylinux_2_28_aarch64.whl (12.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ ARM64

gphoto2-2.6.4-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (11.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

gphoto2-2.6.4-cp38-cp38-macosx_15_0_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.8macOS 15.0+ x86-64

gphoto2-2.6.4-cp38-cp38-macosx_14_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.8macOS 14.0+ ARM64

gphoto2-2.6.4-cp37-cp37m-manylinux_2_28_aarch64.whl (12.8 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.28+ ARM64

gphoto2-2.6.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.6 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

gphoto2-2.6.4-cp36-cp36m-manylinux_2_28_aarch64.whl (12.8 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.28+ ARM64

gphoto2-2.6.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.6 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

File details

Details for the file gphoto2-2.6.4.tar.gz.

File metadata

  • Download URL: gphoto2-2.6.4.tar.gz
  • Upload date:
  • Size: 578.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.15

File hashes

Hashes for gphoto2-2.6.4.tar.gz
Algorithm Hash digest
SHA256 78b83a9462aec01bb15cb8b05202c6652a711827a0b794c60d39272c7d604cf7
MD5 c83c5236d6fec6e71a95d55c811068de
BLAKE2b-256 6653da9007f2902e56be9afa6606df781c85243f9f5f189c1916c2237b953360

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp314-cp314t-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5e511d23cf786530f05dfe84bc95de5ef22b09743a3ad38524e5cc84506580ff
MD5 710d6ac7e358ca419b20776ca6432af0
BLAKE2b-256 005482d4431e80dc79591bcbad0d7e5cd6abd019bd2d4f9db48be0b9f4742b1e

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 394727ecf476726ca7106e47d68d57439e7c74df8816fed0a56259951e95492f
MD5 3d467bb108153bebe5b353f298c5bb4c
BLAKE2b-256 3273ea89e6f0e1f505e6758848157811724d81cd9aa2ed88d60e0c07c790ff64

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp314-cp314t-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp314-cp314t-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 eddbd0867f74c8348ade3c49ce314f2765503126d19b63d2b1dff02d36dff9e5
MD5 1c3c4c7ebab4c9ba7ef6d7b15cbe9f8c
BLAKE2b-256 399535c7287b19cec0385926ebd16c0e847e875d5049d03778bf161ad031b935

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp314-cp314t-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp314-cp314t-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 31f3cb97b519efecb00da5ea9c1fe0c1eff7e62c5f5c2edc1827854a0b5b8284
MD5 ebd111d12819b160323a7999f053ba3f
BLAKE2b-256 58800da76201efcdeb42dcec32f37e70be61172267ebb0f52c0f804f784a3586

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ba607e49dd74d4e427f7b813e3906dcaa06abebbc1558d7f60d048093ef305ca
MD5 3c07e30624463e751661924d205b36f5
BLAKE2b-256 962a69a27e6443ef80202cafdc9f4993ee4a0f0691747287d386f312ea496c47

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 e13f136fc8d36af5e53213b04a62e6eb5f4f9becf6cfbf30b9d401768693ddb7
MD5 97511782bfb87bb5dd2a474d9f0cd018
BLAKE2b-256 c409320f20d82df8e173d2d1084affa604d3f578e509d4e3479d160662b68b1e

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp314-cp314-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp314-cp314-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 d6ba1ea5b2665de768a8068bcc675e535216f41d0cc2ee7532f58e62986f32d0
MD5 8f2eb8d2ea6f1068767b7a27b4462848
BLAKE2b-256 816b6c65798bfea04f258a9e71249f8f8504960f3ce8306862dea25721a1b1eb

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 adec0868cbfc90aa71a1f8a6e60b9e0f575ded76b5c32c95cc5af92cf64da5a6
MD5 8ce1c605d7bd968461e6d55579d8abc2
BLAKE2b-256 52efd59bb8d76d4fc77f91abc2000aa985047a68074c6938876d767c53b90ab1

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6a03fa34a6a0c42c2803228079133591f88e107c2eac06f102ab0d32c76929f3
MD5 9a7cf513e999e96906533aac1af68fcc
BLAKE2b-256 be3b0c28237bfc8d45b8c12ff5a9a504771554c2dba627bb291af765f40b79c6

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 736eb1b64a8cc573f699bb1545381e22155f2214becb0923d28b2010f207ae16
MD5 83bb8174a1539b5342b56e8f5f75ff09
BLAKE2b-256 3194da733e303943ad93ef202518829359ceba4193ceb3363be865b4a078a63a

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp313-cp313-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp313-cp313-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 c34fd8de7f214e95f27923f4053630a4bbdf69f2b8f4ee716bd37b75a609d384
MD5 15924e6d9a8c435310795831f1aa8bd4
BLAKE2b-256 04c0f58420bd0675e902ecef91ddd044b2832049772ad4a6cc3107af2e325015

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 79c1a10f66a9536bdba546e6d2defc95b2d4373899cf7a55c73b61a5042be49e
MD5 50155f6952740973c07af76fed91523f
BLAKE2b-256 8661cb05fb1e9d9079cc5a73e89df1d60867e8ae2f16aa6f6e41e4fc79103caa

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c0e79387703cf3c55aa8fd63ba5304bcb6819f8538cdaf84866e14290a9cbd2b
MD5 07c2f1256afdbdca2e30b6a87af6bd22
BLAKE2b-256 3c65dda79a67f47c61822ce37384b1603f6cefa54dd6adde1a8fdabc07d1ebd7

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 383feb6cc6c2efcc5c675a6f4173d21899a8a263b930ed0783e5cedc7e41c56f
MD5 a25b24dd0cc9dd03b9abadbdb0f69199
BLAKE2b-256 2bae6c09c1624a77298d359d4d51cf7274d4e2592c2f2322725cf380c0c1567d

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp312-cp312-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp312-cp312-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 51e2ba0e9fe0913b6155756172ff1920890af1fb10b8ec7db6e36ba692d1bbec
MD5 93a2e1c2f1b29e6658136599fc7c4b97
BLAKE2b-256 5a762635780dd6d1afacbc398e814b4cd25ce3b529376da901dc47a3aa97327f

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 74e223c018589f5f14f3da588e9046d8583099d591d49040f9ac60266b6c26ed
MD5 9fa732d5042877b236163de67c793df3
BLAKE2b-256 a0cc47f1b92458825ad530c61884294034a4ac52379227657a6414d675a58b93

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ddaf83f4ef299c0fd604de884ddcc7d499c394c623349c40e3269a16789e76c5
MD5 58c4763ca7003674f72f3fcba46d3826
BLAKE2b-256 65f26df445520c1a4d7fd2336105e8cb8ac2a0cb4e4231f93834073b8e7a1366

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 70011e78b6069ffca7285abab5f2bc9423cd3009a1f966cb83a574c640799a29
MD5 8f4b8ed95b673c148e858245a5b6e099
BLAKE2b-256 24ae6312fef58fea07eb9d9457205e85980ef24be2b2679d928eb4c608027a99

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp311-cp311-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp311-cp311-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 91cb5a46c0067e7a7415af02c1d8ac04035922fbc2451227a3c06fb812f3b0b0
MD5 e1dddb27b5f87b63f1f560b35e30c490
BLAKE2b-256 36f03ee8367068d244e83f56d85db49359d553ef2926f60efe4a531a839fc32a

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4c23c1c4faf5699a0cd2336a71bf56770c9c05d7fbbd62dca76daf0ffe2dc950
MD5 803a21e5b21dde7582e7b21903ba8f20
BLAKE2b-256 147774d66797bdbfedb9f4e8fcecc91f3bd71031ba446aa0a9644f6cc6108d35

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 125d7bcd7f998f8040d72f9861c2e3c35b25804b26edd2dbde6f004a9ea82a5f
MD5 e18aef0e860bac760a875c74933bc9fc
BLAKE2b-256 ca4217912ea98a3c76ff69273c65b1fdd6562e87bdb70677f398885b5d220093

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 cd8a4d3d64499d8ad5a89fb7dde6ce99e25e26ee7e8a54d9eedd81337f6cd77e
MD5 a9928558c88dcb4c130a15182e6bb408
BLAKE2b-256 651e18ec49f31d9cfec8cdfbf304062943d58befebd06b6fd265fb3f201ea15d

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp310-cp310-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp310-cp310-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 36024bb5bebd967294aa398c3e57645d83f93b82cb9aa4c0eaca3968487b722d
MD5 19bbc4770b6c36acba6b967114232123
BLAKE2b-256 39492178ce864c8ebaf428c7eb743d786aa98dc71acad5d2e143d41759d83722

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 b0af934a44f334a533e73955e00286ee1eb942d6de468104e672630df800fd83
MD5 74fcba079c972c9b165a0373dfac778a
BLAKE2b-256 9f52c7b76604fc3218574219add916d81cfc1784cd8fc956b884e8be66cf4318

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7cd075ff321ccaa2fe377b854ccf9d48706a5e0c4d4befc76bd80c10b561ba11
MD5 0a41f67917ffd792f05dcacf5f9aba45
BLAKE2b-256 9c44c80d042b46bc2f867525f0fa5a091d7688a46ec9733ee33e9c751ab1ac55

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 19109595695d4d3d4866cc5f75c366e6e9519b585e7ecb1f7443e9adbeba951c
MD5 9e72e6df99ada3ec90a4d55b97cd6741
BLAKE2b-256 e75bef3f97c64d53dc2b6150efedc31b40e83b9ba9bfe5af1a61b92e1f3fda0d

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp39-cp39-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp39-cp39-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 906fa7574dbed800fa65df5f06f2ac0fc3104a634f5f11d6b27a852dac2cd6d3
MD5 3df159087456969480e52b96c9b41aeb
BLAKE2b-256 21693bcef9d4a14f81771a4888cb277e6f55ea1fd6d9982d6bd05cee82c59c15

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 0b79cd1751e7a87ef3d58b7c4521f254e8731a4aeeaf6db3ca15da2163eef9ca
MD5 1d9ae6a8d996b952117ed7567893d5d5
BLAKE2b-256 daabe02ce2a150ec6b22c5f9a6e638bf347dcb24ace6775e963f955e59eca40c

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp38-cp38-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a8da744936024f62fae50b7f7926990f5833d776dbff94ef219f6e270290f4cb
MD5 9999dabf1dfe53dc43350bb74a58d86c
BLAKE2b-256 c42d5b18d7711c0271ad7db1e45cf4eec062dec1cfc21df4b9e5d12be1dbf60e

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 fccd6f94f7b0ce88a016eabaa83ea3e240cd95d5772edb2ba2ee63714dec4f15
MD5 f331fc5e8ac2049d1da8fc374c226261
BLAKE2b-256 eeec862dd6e1f4cc777a50a5a67a10e8928d0ed1596c1800b4b208d2c94989c9

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp38-cp38-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp38-cp38-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 d7f3e08914999af53b8ff505fcbf462ba2cc6fb9b3274c07cad7ad523d9a822e
MD5 5f049051fcc99b00fe61277d4d751f6b
BLAKE2b-256 7740322453813816e8bce1a76d65f63fb4439459baecc0857f1dda52382009bb

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp38-cp38-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp38-cp38-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f25ebf9ec63cf0df2fa50315e59d0e226003015a37887dfdc119ca3590d83c21
MD5 67f03c3646cbae3d84b106235e4d348e
BLAKE2b-256 4c6c14fb34484d568ab8274888181b6be6e69bc375e84b8ab864167c32c35d25

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp37-cp37m-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp37-cp37m-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a997ce5ebc8d525cd81f661a270baba220985a0dca2bca63e4e5b1598d4ce7ef
MD5 36866f8fa56a1ab6ece415d9bfe94a3b
BLAKE2b-256 be4fb7bc7d7101003babd8f54c2fce0a93c0f20c3eab797cfccc3a323cd0717f

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1dbeb635791a7be917824ec90d71b20f7145e78f88b5d8157aa2ed4e8a5b22a0
MD5 02d63da2462e04a8c1b38ad62e339320
BLAKE2b-256 63baaca59ec40d31e1984218d574f1b7c86e9b0cce98e8c0fce610958b0ae2df

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp36-cp36m-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp36-cp36m-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 922cfc737a285987d82c1dea933e156340aafbbdf785e09834d846954573b221
MD5 73524c84a5702534832e78a2d20db203
BLAKE2b-256 ae2dfc1d7cef44e2ad601e679c987dfd71abf10184b1474b60dc3c91512735c9

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d0c8d9dd3888717d2735866ef3a386f442d4afb0fd3b165d50a4475ccf656355
MD5 f012f1381d7091d7766c661a33ee8214
BLAKE2b-256 993b124e28eae4d71282edd64684058830f159731285e545fa11e5dec3eb8bf7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page