{"id":13586292,"url":"https://github.com/MikeGawi/ePiframe","last_synced_at":"2025-04-07T15:31:37.946Z","repository":{"id":42552193,"uuid":"315437055","full_name":"MikeGawi/ePiframe","owner":"MikeGawi","description":"ePiframe is an e-Paper (or HDMI, Composite display) Raspberry Pi Photo Frame with Google Photos and more","archived":false,"fork":false,"pushed_at":"2024-03-29T19:20:22.000Z","size":12718,"stargazers_count":56,"open_issues_count":1,"forks_count":10,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-03-29T20:29:10.549Z","etag":null,"topics":["digital-frame","e-paper","epiframe","google-photos","google-photos-api","photo-frame","raspberry-pi"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MikeGawi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-11-23T20:48:23.000Z","updated_at":"2024-03-29T20:29:11.675Z","dependencies_parsed_at":"2023-02-16T23:00:40.075Z","dependency_job_id":"52dc590e-6fb9-42d9-b9c9-c6805f074b68","html_url":"https://github.com/MikeGawi/ePiframe","commit_stats":null,"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MikeGawi%2FePiframe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MikeGawi%2FePiframe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MikeGawi%2FePiframe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MikeGawi%2FePiframe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MikeGawi","download_url":"https://codeload.github.com/MikeGawi/ePiframe/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247679478,"owners_count":20978058,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["digital-frame","e-paper","epiframe","google-photos","google-photos-api","photo-frame","raspberry-pi"],"created_at":"2024-08-01T15:05:27.366Z","updated_at":"2025-04-07T15:31:34.700Z","avatar_url":"https://github.com/MikeGawi.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# ePiframe \n\u003cimg align=\"right\" src=\"https://github.com/MikeGawi/ePiframe/blob/master/docs/assets/logo.png\"\u003e\n\n\u003cimg src=\"https://github.com/MikeGawi/ePiframe/blob/master/docs/assets/badge.svg\"\u003e \u003cimg src=\"https://github.com/MikeGawi/ePiframe/blob/master/docs/assets/cc_badge.svg\"\u003e \u003cimg src=\"https://github.com/MikeGawi/ePiframe/blob/master/docs/assets/black_badge.svg\"\u003e\n\nPython 3 e-Paper (or any other HDMI/Composite display) Raspberry Pi Photo Frame with Google Photos and/or local storage (and more), weather information, Telegram Bot, Web User Interface, API and plugins.\n\n## Main features\n\n* Pull photos (supports all formats including RAW, videos are ignored) from one or more albums in Google Photos (shared between users who can modify the content) and/or from local folder and automatically prepares them for attached display (automatic conversion to black-and-white or multicolor e-Paper with 6 different presets, color inversion, limited palette, etc. and various background colors)\n* Non-HDMI e-Paper Waveshare/Pimoroni (black-and-white or multicolor) and SPI or any other HDMI, Composite displays supported\n* With e-Paper display photo is shown even if power (or network) is down as e-Paper takes power only during refresh and doesn't have backlight - so no blank frames\n* Works with Desktop or CLI (console) OS versions and even for Raspberry Pi Zero W (wireless) and offline Raspberry Pi Zero (when using local source) + Raspberry Pi OS Lite\n* Autonomic device, once configured can be left headless with system service supervising whole process that is auto recovering and auto starting by itself\n* Simple activation for Google Photos access from ePiframe device (with guide) or any other device with Python\n* No additional storage for Google Photos source or 3rd party software is required as only one and current photo is downloaded and processed per frame update\n* When using local source it is possible to sync photos from almost all cloud/image hosting providers using 3rd party software\n* Updating after time interval with option to change time per photo (by *hot word* in photo description)\n* Configurable off hours (and HDMI display power control) per different days\n* Photo filtering (by creation date, number of images), showing randomly, descendingly or ascendingly\n* For vertical or horizontal frame position\n* Can be controlled from Telegram Bot, embedded WebUI or API and can display weather information\n* Can improve displayed photos on the fly (with powerful [ImageMagick](https://imagemagick.org/) on board), i.e. normalization, contrast and brightness settings, gamma correction, etc.\n* Extensible, customizable and open for 3rd party add-ons with [ePiframe plugins](#plugins)\n\n\u003cp align=\"center\"\u003e\n\t\u003cimg src =\"https://github.com/MikeGawi/ePiframe/blob/master/docs/assets/frame.gif\"\u003e\n\u003c/p\u003e\n\n### Newest features 🎉\n\n* **Local source** - (optional) use local folder as the photo source [#16](https://github.com/MikeGawi/ePiframe/issues/16)\n* **HDMI screens support** - ePiframe with HDMI/Composite display [#33](https://github.com/MikeGawi/ePiframe/issues/33)\n* **ePiframe Plugins** - (optional) install (or create yourself) custom [plugins](#plugins) to enhance ePiframe functions [#54](https://github.com/MikeGawi/ePiframe/issues/54)\n* **Pimoroni and multicolor displays** - support for Pimoroni Inky displays and all Waveshare (multicolor too) displays [#73](https://github.com/MikeGawi/ePiframe/issues/73)\n\n## Hardware required\n\n\u003ca href=\"http://www.raspberrypi.org\"\u003e\u003cimg width=\"100\" align=\"right\" src=\"https://github.com/MikeGawi/ePiframe/blob/master/docs/assets/RPi-Logo.png\"\u003e\u003c/a\u003e\n\n* A Raspberry Pi with standard GPIO 40 pins (for e-Paper HAT). Models Zero (offline - when using local source), Zero W and Zero WH supported\n* [microSD card for Raspberry Pi OS](https://www.raspberrypi.com/documentation/computers/getting-started.html#sd-cards), 4GB minimum\n* [e-Paper Waveshare SPI display](https://www.waveshare.com/product/raspberry-pi/displays/e-paper.htm), [e-ink Pimoroni Inky display](https://shop.pimoroni.com/search?q=inky\u0026product_type=Raspberry%20Pi%20Addon) or any other HDMI, Composite display\n* Raspberry Pi power supply (for e-Paper display 5V/3A is preferred as it is usually powered from RasPi HAT)\n* Photo frame\n\n### Frame\n\nYou can use any photo frame for your ePiframe and cut the back to make place for the display connector and glue Raspberry Pi onto it. Also, a good passe-partout piece should frame your display and cover all unwanted elements. \n\nOr you can 3D print a nice standing frame back with case for your Raspberry Pi and even passe-partout and assemble it with bought photo frame like I did here:\n\n\u003cdiv align=\"center\"\u003e\n\n|\u003cimg src=\"https://github.com/MikeGawi/ePiframe/blob/master/docs/assets/frame1.jpg\" width=\"500\"/\u003e| \n|:--:| \n|*Printed back (black) of 13x18cm (5\"x7\") frame for 7.5\" screen with passe-partout (white)*|\n\n\u003c/div\u003e\n\n[Thing files](https://www.thingiverse.com/thing:4727060)\n\nePiframe is a very nice handmade gift idea: create an album that whole family can edit, decorate frame (e.g. [decoupage](https://en.wikipedia.org/wiki/Decoupage)) or print it, print family signatures or baby drawings on the back, put some wishes picture on the e-Paper display before handing it and many more. \n\n## Installation\n\nInstallation, configuration and API documentation can be found \u003cfont size=\"+2\"\u003e\u003cb\u003e[HERE](https://github.com/MikeGawi/ePiframe/blob/master/INSTALL.md)\u003c/b\u003e\u003c/font\u003e\n\n### Plugins\n\nePiframe supports custom plugins that can be created by anyone and can enhance *ALL* ePiframe functions (or even more). Check [ePiframe_plugin](https://github.com/MikeGawi/ePiframe_plugin) for more information, documentation, examples, tutorial and available plugins list.\n\n## Resources\n\t\nThis project uses:\n\n[Google Photos API](https://developers.google.com/photos/library/guides/overview) :white_small_square: [Official Waveshare e-Paper libraries](https://github.com/waveshare/e-Paper) :white_small_square: [Pandas Dataframe](https://pandas.pydata.org/) :white_small_square: [ImageMagick](https://imagemagick.org/) :white_small_square: [OpenWeather API](https://openweathermap.org/api) :white_small_square: [pyTelegramBotAPI](https://github.com/eternnoir/pyTelegramBotAPI) :white_small_square: [Flask](https://flask.palletsprojects.com/) :white_small_square: [WTForms](https://wtforms.readthedocs.io/) :white_small_square: [FlaskWTF](https://flask-wtf.readthedocs.io/) :white_small_square: [Flask-Login](https://flask-login.readthedocs.io/) :white_small_square: [Bootstrap](https://getbootstrap.com/) :white_small_square: [bootstrap-dark-5](https://vinorodrigues.github.io/bootstrap-dark-5/) :white_small_square: [jQuery](https://jquery.com/) :white_small_square: [Dropzone.js](https://www.dropzone.dev/js/) :white_small_square: [SQLite](https://www.sqlite.org) :white_small_square: [RRDtool](https://oss.oetiker.ch/rrdtool/) :white_small_square: [javascriptRRD](http://javascriptrrd.sourceforge.net/) :white_small_square: [Flot](http://www.flotcharts.org/) :white_small_square: [FBI framebuffer imageviewer](https://github.com/kraxel/fbida) :white_small_square: [Sortable](https://github.com/SortableJS/Sortable)  :white_small_square: [Official Pimoroni e-Paper libraries](https://github.com/pimoroni/inky)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMikeGawi%2FePiframe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMikeGawi%2FePiframe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMikeGawi%2FePiframe/lists"}