Summary Digital cameras and the widespread availability of smartphones has allowed us all to generate massive libraries of personal photographs. Unfortunately, now we are all left to our own devices of how to manage them. While cloud services such as iPhotos and Google Photos are convenient, they aren’t always affordable and they put your pictures under the control of large companies with their own agendas. LibrePhotos is an open source and self-hosted alternative to these services that puts you in control of your digital memories. In this episode the maintainer of LibrePhotos, Niaz Faridani-Rad, explains how he got involved with the project, the capabilities that it offers for managing your image library, and how to get your own instance set up to take back control of your pictures. Announcements Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science. When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to pythonpodcast.com/linode and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show! This episode is sponsored by Mergify. It’s an amazing tool to make you and your team way more productive with GitHub. Mergify is all about leveling up your pull requests with useful features that eliminate busy work. Automatic merges allow you define the conditions for acceptance and Mergify will take care of merging the pull request as soon as it’s ready. Automatic updates take care of merging your pull requests serially on top of each other, so there is no way to introduce a regression. With a merge queue you can merge your urgent pull request first, organize your Prs as you wish and Mergify will merge them in that order. Mergify’s backports feature will even copy the pull request into another branch once the pull request has been merged, shipping your bug fixes on multiple branches automatically. By saving time you and your team can focus on projects that matter. Mergify is coordinated with any CI and fully integrated into GitHub. They have a Startup Program that offers a 12 months credit to leverage Mergify (up to $21,000 of value). Start saving time; visit pythonpodcast.com/mergify today to sign up for a demo and get started! Or just click the link in the show notes. Your host as usual is Tobias Macey and today I’m interviewing Niaz Faridani-Rad about LibrePhotos, an open source, self-hosted application for managing your personal photo collection Interview Introductions How did you get introduced to Python? Can you describe what LibrePhotos is and the story behind it? What are the core objectives of the project? What kind of users are you focused on? What are some of the major features of LibrePhotos? There are a number of open source and commercial options for different photo oriented use cases. What are the main capabilities that influence someone’s decision to use one over the other? Many people’s baseline expectations will be around services such as Google Photos or iPhotos. What are some of the challenges that you face in trying to provide a comparable experience? One of the features that users rely on with these services is backup/disaster recovery of their photo library. What is the recommended approach for users of LibrePhotos? Can you describe how LibrePhotos is architected? How have the design and goals evolved since you first started working on it? How have recent advances in machine learning algorithms and related tooling improved the availability and quality of advanced features in LibrePhotos? How much improvement of accuracy in face/object recognition do you see as users invest in cataloging and organizing their collections? Is there a minimum quantity of images/iindividual people that are necessary to start using the ML powered features? What kinds of storage locations are supported? What are the interfaces available for extending/enhancing/integrating with LibrePhotos? What are the most interesting, innovative, or unexpected ways that you have seen LibrePhotos used? What are the most interesting, unexpected, or challenging lessons that you have learned while working on LibrePhotos? When is LibrePhotos the wrong choice? What do you have planned for the future of LibrePhotos? Keep In Touch derneuere on GitHub @der_neuere on Twitter Website LinkedIn Picks Tobias Uncharted movie Niaz Steam Deck Closing Announcements Thank you for listening! Don’t forget to check out our other show, the Data Engineering Podcast for the latest on modern data management. Visit the site to subscribe to the show, sign up for the mailing list, and read the show notes. If you’ve learned something or tried out a project from the show then tell us about it! Email hosts@podcastinit.com) with your story. To help other people find the show please leave a review on iTunes and tell your friends and co-workers Links LibrePhotos Self-hosted Sub-Reddit OwnPhotos Google Photos Google Takeout Digikam x265 HEIC Files RAW Image Format ImageMagick Panorama Photograph Lytro light field cameras rq asynchronous task library Typescript Redux Toolkit MobileNet v3 DLib ARM Processor Docker Compose LibrePhotos Comparison Page The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA