Skip to main content

Photobooth

Photobooth application purely written in Python. Controlling a dslr camera and capturing photo.

PyPI - Licence Current version on PyPI PyPI - Python Version

Installation on RaspberryPi

Installing the Photobooth package

$ sudo apt-get -y update && sudo apt-get -y upgrade && sudo apt-get -y autoremove
$ sudo apt-get -y install python3-pip python3-pyqt5 libgphoto2-dev
$ sudo pip install photobooth[dslr,rpi]

Start the photobooth with

$ photobooth -c <path/to/photobooth_config.ini>-d <path/to/dslr_config.ini>

Installing the window manager, if using Raspbian Lite

  1. Install Packages

    $ sudo apt-get install -y --no-install-recommends xserver-xorg x11-xserver-utils xinit openbox
    
    $ sudo apt-get install -y unclutter
    

    The package unclutter is optional. It will prevent showing the mouse curser.

  2. Change the .xinitrc file by adding the following line

    exec openbox-session
    
  3. Create the autostart file unter ~/.config/openbox/autostart

    setxkbmap -option terminate:ctrl_alt_bksp
    
    xset s noblank
    xset s off
    xset -dpms
    
    unclutter -idle 0.5 -root &
    
    photobooth -c <path/to/photobooth_config.ini> -d <path/to/dslr_config.ini>
    

    Remarks:

    • If you like to show the mouse curser remove unclutter -idle 0.5 -root &
    • If you like to use the default configuration remove the options -c and -d.
  4. Start the photobooth with

    $ startx
    
  5. If you like to autostart the photobooth add the following line to ~/.bash_profile and enable auto-login via raspi-config

    startx
    

Configuration

The photobooth can be configured via a configuration file.

; Configuration of the application
[widget]

; Title of the application window
title = Photobooth

; Path to the background image
background_image = ./oak.jpg


; Configuration of the gallery screen
[widget.gallery]

; Label for the right button
right_button = Photo

; Position of the images [<x-position>, <y-position>, <angle>]
; - x- and y-position are in percent relative to the center of the page
; - angle is the degree of image rotation
positions = [[0.0, 0.0, 2], [-0.8, -0.6, -6], [0.7, -0.65, 10], [0.4, 0.8, -4], [-0.5, 0.8, 8], [-0.9, 0.6, -6], [0.05, -0.9, 4], [0.95, 0.95, 2], [0.85, -0.05, -4], [-0.95, -0.95, -4], [-0.1, -0.05, 12], [0.9, -0.95, -10], [0.0, 0.95, 2], [-0.65, 0.95, 4], [0.25, 0.05, 4], [-0.5, -0.5, -10]]


; Configuration of the liveview screen
[widget.liveview]

; Label for the left button
left_button = Back

; Label for the right button
right_button = Photo


; Configuration of the capture screen
[widget.capture]

; Countdown text comma separated
countdown = 3,2,Smile!
; Color of the message
countdown_color = "#333333"

; Messages after image is captured. Placeholder {number} is replaced with the photo number.
file_number_message = "This photo has the number: {number}"
; Color of the message
file_number_message_color = "#333333"


; Configuration of the preview screen
[widget.preview]

; Label for the left button
left_button = Delete

; Label for the right button
right_button = Next

; Time the preview is show in milliseconds
timeout = 5000


; Configuration of the hardware buttons
[hardwarebutton]

; GPIO Pin of the left button
left_button = 23

; GPIO Pin of the right button
right_button = 24

; Configuration of the camera
[camera]

; Image naming pattern to use for extraction as regex expression
file_number_pattern = P\d{2}_(\d{4}).JPG

; Time delay of the camera shutter from signal to actual capturing the photo (used to correct the countdown)
shutter_delay = 800

Warranty

No guaranty or coverage of any kind to damages what so ever.

Metadata

Release files for photobooth 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for photobooth 0.0.1
File Size Uploaded Provenance Actions
photobooth-0.0.1.tar.gz 2.9 MB With provenance Details for photobooth-0.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for photobooth 0.0.1
File Interpreter ABI Platform Actions
photobooth-0.0.1-py3-none-any.whl Python 3 none any Details for photobooth-0.0.1-py3-none-any.whl

Total release size: 5.8 MB

Release files / photobooth-0.0.1.tar.gz

Download URL photobooth-0.0.1.tar.gz
Size 2.9 MB
Tags Source
SHA-256 checksum
How to use checksums
00918fb094a2b003cc425319f0fa5b1bd8ee8d5feba3b3cf5d7202eca78dcf3b
BLAKE2b-256 checksum
How to use checksums
873a15ed54472d2bd5942975af88c86647637a2fef6f3833099f923768fb57d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 29, 2025.

Transparency log

Release files / photobooth-0.0.1-py3-none-any.whl

Download URL photobooth-0.0.1-py3-none-any.whl
Size 2.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
1c1e10d4a8792f24a05f5f6633837bb4368114dc91ab92ae5fa3d0d22966bea8
BLAKE2b-256 checksum
How to use checksums
d470008a0af00d3b824f4c5d16951c70fef8c64a91797713113415a883448a60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 29, 2025.

Transparency log

Security for photobooth 0.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for photobooth-0.0.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 29, 2025.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page