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.3.tar.gz (532.3 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.3-cp314-cp314t-manylinux_2_28_aarch64.whl (12.9 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

gphoto2-2.6.3-cp314-cp314t-macosx_14_0_arm64.whl (6.3 MB view details)

Uploaded CPython 3.14tmacOS 14.0+ ARM64

gphoto2-2.6.3-cp314-cp314t-macosx_13_0_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.14tmacOS 13.0+ x86-64

gphoto2-2.6.3-cp314-cp314-manylinux_2_28_aarch64.whl (12.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

gphoto2-2.6.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (11.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

gphoto2-2.6.3-cp314-cp314-macosx_14_0_arm64.whl (6.3 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

gphoto2-2.6.3-cp314-cp314-macosx_13_0_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.14macOS 13.0+ x86-64

gphoto2-2.6.3-cp313-cp313-manylinux_2_28_aarch64.whl (12.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

gphoto2-2.6.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

gphoto2-2.6.3-cp313-cp313-macosx_14_0_arm64.whl (6.2 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

gphoto2-2.6.3-cp313-cp313-macosx_13_0_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

gphoto2-2.6.3-cp312-cp312-manylinux_2_28_aarch64.whl (12.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

gphoto2-2.6.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

gphoto2-2.6.3-cp312-cp312-macosx_14_0_arm64.whl (6.2 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

gphoto2-2.6.3-cp312-cp312-macosx_13_0_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

gphoto2-2.6.3-cp311-cp311-manylinux_2_28_aarch64.whl (12.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

gphoto2-2.6.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

gphoto2-2.6.3-cp311-cp311-macosx_14_0_arm64.whl (6.2 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

gphoto2-2.6.3-cp311-cp311-macosx_13_0_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

gphoto2-2.6.3-cp310-cp310-manylinux_2_28_aarch64.whl (12.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

gphoto2-2.6.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

gphoto2-2.6.3-cp310-cp310-macosx_14_0_arm64.whl (6.2 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

gphoto2-2.6.3-cp310-cp310-macosx_13_0_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

gphoto2-2.6.3-cp39-cp39-manylinux_2_28_aarch64.whl (12.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

gphoto2-2.6.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

gphoto2-2.6.3-cp39-cp39-macosx_14_0_arm64.whl (6.2 MB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

gphoto2-2.6.3-cp39-cp39-macosx_13_0_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.9macOS 13.0+ x86-64

gphoto2-2.6.3-cp38-cp38-manylinux_2_28_aarch64.whl (12.6 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ ARM64

gphoto2-2.6.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

gphoto2-2.6.3-cp38-cp38-macosx_14_0_arm64.whl (6.2 MB view details)

Uploaded CPython 3.8macOS 14.0+ ARM64

gphoto2-2.6.3-cp38-cp38-macosx_13_0_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.8macOS 13.0+ x86-64

gphoto2-2.6.3-cp37-cp37m-manylinux_2_28_aarch64.whl (12.5 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.28+ ARM64

gphoto2-2.6.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.3 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

gphoto2-2.6.3-cp37-cp37m-macosx_13_0_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.7mmacOS 13.0+ x86-64

gphoto2-2.6.3-cp36-cp36m-manylinux_2_28_aarch64.whl (12.5 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.28+ ARM64

gphoto2-2.6.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.3 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

gphoto2-2.6.3-cp36-cp36m-macosx_13_0_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.6mmacOS 13.0+ x86-64

File details

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

File metadata

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

File hashes

Hashes for gphoto2-2.6.3.tar.gz
Algorithm Hash digest
SHA256 829194ed341b01472778a00d5186412f1442de79f37c9bb1d16a0e5af6b8d24b
MD5 fec416237d23756d70944d04e8f37c70
BLAKE2b-256 c1631ba9c79d60755a2653ffb60c4a22b9cb8a64b4c2a45e99ee31c6dbfeffc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3b889a21a5c16a50af88174e7ab3c51bb4f93a50d7049a8e252cba7b4e4e33db
MD5 c7a4ad3304bf8ba55e5c9f5e4d552c3b
BLAKE2b-256 03b918ae47730b4e1428e120e63915be61d04515550781f8a6fec50a60f3d801

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 18cf679835dc78ca42ee4513c3e0fa28b32729d41a0dcce028038381b9798e81
MD5 dad07da3a812c7379fe8bdf6394358fc
BLAKE2b-256 075c09abc7af98c8eef8c9365feafbadef2f74a7c34201a8133c0c848aabdf47

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp314-cp314t-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 683601934a996face8292a693b3873ab0245c2674110a431e51e23c168b881ce
MD5 beeb826160cf4e225eb8572dc0345067
BLAKE2b-256 8a49eceddd60889efae9d814573719529355220d8d9e00fe1d1bf4cfb7fcb949

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.3-cp314-cp314t-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp314-cp314t-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 4ac7106577b66f3cd184613dc7b0858c6f52f4bae23efc7d614d82ac5794ab1f
MD5 9d7b4a78b9b8164ee98e43862d931f7d
BLAKE2b-256 17adb83dafb7897e2ae41c869866e750c6ca419ab898cc1178eb10d5ad1db55b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3f60512095c94ad2cc4008e65946b5925fa698b85f3dd04112c1d1b0ee7c3d68
MD5 76276327b4852f98426765391b26e9e0
BLAKE2b-256 e0e1331012b67a8f0db48b05c236397451cbcdc2bdcb519c11b0edcbccc524e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 119007036ce450ee4c04a7bbbda63cd25e7c0f6b3e25f4aeafd31e3d10f0e289
MD5 0b183c24530b05f0a278300bc22ca31f
BLAKE2b-256 554c569a6026244f372f07094794b028939e57ecfde12b88092f8c8577cd76e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 24d87b9be75610cff1fc99b235ffad5cfc24f1a382e02f6571c83bc16c1c939d
MD5 685ccd747fb55dfb474704a7fbef69a2
BLAKE2b-256 412a32088aa456a93073554b9696b9a0afb9eecb7dcbc4c819677b4da23174a6

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.3-cp314-cp314-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp314-cp314-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 624f0b6bca2da9434bb14a0d3388fe48abe7bfcee04060bc7ac20b5e4a2f4ace
MD5 58aab6c4a0069e29128619a534d644c5
BLAKE2b-256 7268fffdf5afb73482d5d892e447f21d8f5864c1f611cdc2dc22b84aefd39211

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3b54fec7ba3ae5dfa85fb533b216d1df17bb8ee78c49443a4868ad2ba2e7838d
MD5 6609b6824b9286b4527512085481155c
BLAKE2b-256 3345c7f6db59e8b9f4ead0079fb72a63c913e5eda06755dc73ba38fe0ecd9c26

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 35f875bc73b9aee71fd594e5b95321d0a3f65ec7673bdecb578d8481aad3b93e
MD5 24d34ad10119199a696ef09271131966
BLAKE2b-256 5c98bcef83fe0fbc0458e37e9778d22ba8411fa1e0e3313b24640b64d1a7d863

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 2bcec32d07362548c252e51686e2ee8e1d1d981643e90b4959bcc18a311df499
MD5 8c805314ed7f856b748d9924351bb704
BLAKE2b-256 10d537f93bec5c4e3dfd39ec8e1331000e15f08ba7669c3ddec08a5fb9d1d191

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.3-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 7e71cfa56a7b7edbe645570cd308dab08ed278e7292d2aeecc4337a8f4427c2e
MD5 c02e3c21a9032ba4cba1eb0371969145
BLAKE2b-256 647970ef4352f65c07f442c6946cb3f69ddab93c5fa4748ef85c390bf6f2ddbc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 985d9507794c37a2874079c30c82658ecb27d6c1f492e6a3445ee89322e1add9
MD5 bc10bccc6c70fc346802a69388579c51
BLAKE2b-256 bc709f156950f050f7576d15614e5b956e9e48248f60c8e75cef39a15dffc91b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f316d960409ef1e205882416d9d74eacf3a1cd0142c93e2d19b5850f3054104c
MD5 937ea57b3ce687229c490cb772d055b4
BLAKE2b-256 919bec78652eff6682733ee8f2f98af5be0ec22ea872f22eea073538543fb0ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1b3258489d1c0615d554930c17b84c77d735d5f69335fbe7ff79a533f0e4280f
MD5 7f6ef70893a80a4fab8af9a7b2985788
BLAKE2b-256 cd1db37e9e11e60adac4e9feeec7e57e70beea4d9fe173f099f8f1a1cc737f1e

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.3-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 6c586291e1a6a1de7c7496a6fcfea07f1a278726753c3485c3a9644df1551036
MD5 1faf8e39c6f4eba1a990d549be078982
BLAKE2b-256 56c74a7c67dbe4b9c6ab45e87e94e331614b5271c8b11656f7a48f7fe19f49ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a896542a6812d02286f98d55b55bba9baa6b57468e2d9970c85aef79a10d719e
MD5 1e21e8152bbace32da23ea34149ded0f
BLAKE2b-256 19ddfcc9c3405e95b79cfb71367ff380993cc6f748798d3e1e28094f2bf62972

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 befbbd9004402c57fb645d4b9cda729813ec506b5d5c999c25dca32db5bd4f8b
MD5 3a74a78d182707d8d6ea883702489603
BLAKE2b-256 ab68cfeb0cff872a698b20f050c9cc01122f5ee607a10206648c038312c7e3c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 db9d142e4e7f8c85fb4b74d359e837d472c9325083b003a854bf78415e7769b0
MD5 68853dd586740a76c7eeb39524802167
BLAKE2b-256 5752d213bb920219c8ea004f92d0fb5e319ddd1896e773a9cb48261b626513a0

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.3-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 97ec351c28de447f53b1bec8d8bba28e2a0cf5e9fb9d5e23eb278e4ab37d7605
MD5 7fd772e4c1de0049a01dfe5a8e11db5f
BLAKE2b-256 1972c02bc7f52ad1d2d23f2fa8eae887b2736b52e24b9267df7b405aabebe91b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5f4debbb33d93345e19ce0e74ded12a029a89ecb440c51d1852fa0a4c0ece4f8
MD5 397e4fc24687dd8644e148191b4cbb4a
BLAKE2b-256 b0f70ef2b7bfcc3eb6c73cfddf2ba43b745f4be6258a0cd639919d09d5f9c0f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 01739faeb1bf64195ef68ca9460ed0dea3e696b2c1210af4e2744ee072734876
MD5 da21cafc244d7436389f1e11132ae5ec
BLAKE2b-256 3b6d0330e730f55a35648df7aac832b8a588c46f756912a69801af1e6635a55c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 ab5f5a13bc92c6fe5bbcac6495a27f9ab189b53baa44b359bbb213cbeaed0247
MD5 73656e53310cf7c776967f2d584b08a1
BLAKE2b-256 4c7f7d79b685305954592fb4e0bf47d63f7cb4ee81ece42cf3daca6b3776a3a2

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.3-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 805de85fec01e15723791cfce5e60a6b72041a0278e574ca13b6a07a6cf1fd54
MD5 ddfe845f061c7df57151e3b0d5ca8fa2
BLAKE2b-256 436cc2fa31cc26cee8f5bbcb2682ae5889db69ecee38951036d021ee39f1f592

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d02e86d28a7b31257b8c56428577bfd70795c1170a20ba506831ac296a64e698
MD5 64de6224af40becb5f1d08944826e6cc
BLAKE2b-256 35cfda7396aab5c59adf6a2b3ed5cd7fba6308d446a383212becbe348465349f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cd4c86524fe7f2779585022d300c974a2330d367c88a76e18c81e3cb053c0242
MD5 f741614190d7da273cace688e1fef223
BLAKE2b-256 7d65b2619e6fc9d36f4a9f708511e69a497b4ec8ab081d6f84a5bd8a3a9c4749

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 594ec848dca4aa1a379f74dc949d8ebb8494c2cd2e582ae3b4f08e39246c75f0
MD5 1f503a6c9338381666de836859c87b0e
BLAKE2b-256 2cb6802853deef3cc92eec576844002f1367117690dfee6e11d596bed5798393

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.3-cp39-cp39-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 3a64628cf7094b5dcae3eb3f0d404fc12f3aab6085b1e434fac6f2098345ddf2
MD5 dff91b0b382298516d6d523ccd44aaa0
BLAKE2b-256 f3f1eafb7a333fa4a298e43be18ecc653c29b58e49ef634089849bd77bd062b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 492c3e91df6515a5a15544e1225b048ca62af7a8b18d88509db0c097d14f6cfc
MD5 67d5819e1196432ec92e9b2b731f6ded
BLAKE2b-256 55a786370c4111be822a2c04542bb79b7e185ef0c57738ce4e8739e54958316a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 09bb1a415f910850b0d4f87118bc8db9c90c6cb1f6216aee40e56e8de35fec68
MD5 03e6f9084fcb30c1d9b41108deddacd6
BLAKE2b-256 3471b09c8ad551ac4d0ccff9e3215cc08403172fd3c3bef0e4be9ef21934a360

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp38-cp38-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 aaf6c7a4d04682faede65f78cba1a7924f378ac2e47a44804e7d52345e0510cf
MD5 ecb8762b950ea8d14c8976f7fc7a78ee
BLAKE2b-256 d1196b8620563ed75b04f44237dacc99d2799f559f99bd21137295ed0c86082d

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.3-cp38-cp38-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp38-cp38-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 a336fd660f56d6ea711e05c59317095a097dc41bc5586388da175fe3f2053568
MD5 6f364d803039a610280d4b32d3eeea62
BLAKE2b-256 b0666cc6fdd9b3e955eefedbe280ab166bab991d87a7e7010fe9814ffae61e27

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp37-cp37m-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f32cd1effba5f5394ddb1d5978bdf94790ab6fab0df96e059116ff10bed253b2
MD5 be7363b64ee77c2a1372ff184cbdc05a
BLAKE2b-256 3fc0f0888f724fdd83533befc4b968f5eb7946f726c11b01f21cedb146b57f5b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e0d8d25491d025feb957c6266e89c16aaf719feae16ef51c4051d6d0f7d33f04
MD5 5d1d565e0ee66050e5b40942beeef42f
BLAKE2b-256 44328b3c061b7643547649e9fbbffaa4837a021d25e2ec131fb9338e63bd986d

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.3-cp37-cp37m-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp37-cp37m-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 99fd31369f9e134f693b716fbcbac3c1203777a0cdc7563a486a4a9b0b1fea4d
MD5 9039538474b6dd8b27983720832cbe17
BLAKE2b-256 7ea915d70382c58305ecc44a01c347387159cf7db0aeaffca6de68d2d7d1f7b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp36-cp36m-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 22084d8476a08a61ab02fc41db5c4a029e3f84be15f324ba4044a410f99a622a
MD5 874ebcf66dddd626bd5ce7a168fb3eee
BLAKE2b-256 561a561faf264195a46f568d86d5640cc40eab29a247fd982da9562832305361

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6ac054bbfe377aeeb6bedebcacc3ec06620d57347516a011fb23f8d100fd70ca
MD5 85f2afc5fd63277d035d6fb93889f79e
BLAKE2b-256 3cf0c6b79bf6c7251caa31a9de7db77c9fafb7caf5af71bcf9132ff53aaf9470

See more details on using hashes here.

File details

Details for the file gphoto2-2.6.3-cp36-cp36m-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for gphoto2-2.6.3-cp36-cp36m-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 d2f8f873339ab5dc4765ed19bcc3bb964c88f293da6bae4ecf8f204efffd315b
MD5 3e236fd0dc9d5245a1255176aeb3a01c
BLAKE2b-256 4e306ecf10d576836753b4cd8c7a08d0f810864e29424df9f776bbff1ce4877e

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