Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

Use old Canon cameras with Python.

Project description

canon-remote is a USB library for Canon digital cameras in Python with pyusb. It originally started as a Python port of gphoto2’s Canon library for a PowerShot G3. Only the subset necessary for this model was ported, but it should be usable with other models from that era (not without hacking) and will almost surely not work on much newer cameras, not without serious hacking. The project was created because gphoto2 lacks support for certain remote capture features, namely locking the autofocus and setting the autofocus mode to macro.

The latest project documentation can be found at the project homepage. Or you can build it from source.

The source is hosted at bitbucket.

You can contact me at


canon-remote is licensed under GPLv3.


Canon is a registered trademark of Canon Inc. This project is an unofficial implementation of their closed USB camera protocol. I am not affiliated with Canon Inc. No information or code from them was used for this work. The protocol was reverse-engineered by the guys behind gphoto2, thanks guys!


Use this at your own risk. I haven’t damaged my camera with it yet, but it’s not impossible.

Release history Release notifications

This version
History Node


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
canon-remote-0.0.1.tar.gz (20.1 kB) Copy SHA256 hash SHA256 Source None Feb 25, 2012

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page