Skip to main content

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

Download files

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

Files for canon-remote, version 0.0.1
Filename, size File type Python version Upload date Hashes
Filename, size canon-remote-0.0.1.tar.gz (20.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

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