{"id":19513190,"url":"https://github.com/tsbarnes/epdtext","last_synced_at":"2025-08-22T12:14:19.385Z","repository":{"id":147198113,"uuid":"401158290","full_name":"tsbarnes/epdtext","owner":"tsbarnes","description":"A simple display manager app for the WaveShare 2.7in e-Paper Display","archived":false,"fork":false,"pushed_at":"2022-06-19T20:31:39.000Z","size":3880,"stargazers_count":20,"open_issues_count":0,"forks_count":6,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-06-28T17:07:36.012Z","etag":null,"topics":["affirmations","archlinuxarm","calendar","e-paper","epaper","epaper-hat","epd","epd2in7b","fortune-cookies","python","python3","raspberry-pi","raspberrypi","raspbian","system-information","tasks","waveshare"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tsbarnes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"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,"publiccode":null,"codemeta":null},"funding":{"github":"tsbarnes","liberapay":"tsbarnes"}},"created_at":"2021-08-29T22:53:32.000Z","updated_at":"2024-04-10T19:59:53.000Z","dependencies_parsed_at":"2023-04-21T16:17:10.918Z","dependency_job_id":null,"html_url":"https://github.com/tsbarnes/epdtext","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/tsbarnes/epdtext","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsbarnes%2Fepdtext","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsbarnes%2Fepdtext/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsbarnes%2Fepdtext/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsbarnes%2Fepdtext/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tsbarnes","download_url":"https://codeload.github.com/tsbarnes/epdtext/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsbarnes%2Fepdtext/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271636033,"owners_count":24794144,"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","status":"online","status_checked_at":"2025-08-22T02:00:08.480Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["affirmations","archlinuxarm","calendar","e-paper","epaper","epaper-hat","epd","epd2in7b","fortune-cookies","python","python3","raspberry-pi","raspberrypi","raspbian","system-information","tasks","waveshare"],"created_at":"2024-11-10T23:29:04.125Z","updated_at":"2025-08-22T12:14:19.356Z","avatar_url":"https://github.com/tsbarnes.png","language":"Python","readme":"# epdtext\n\nA simple display manager app for the [WaveShare 2.7in e-Paper HAT](https://www.waveshare.com/2.7inch-e-paper-hat.htm)\n\n![Picture](/screenshots/picture.jpg)\n\n## Screens\n\nThe app provides a number of screens that can be displayed on the e-paper HAT, and allows switching between them with the builtin buttons.\n\nThe included screens are:\n\n* `dashboard` - a dashboard widget showing the current weather, next calendar event, and next task\n\n![Screenshot](/screenshots/dashboard.png)\n\n* `uptime` - a system info viewer\n\n![Screenshot](/screenshots/system.png)\n\n* `affirmations` - display positive affirmations (or whatever kind you want, really)\n\n![Screenshot](/screenshots/affirmations.png)\n\n* `fortune` - shows a random fortune from the fortune database (requires the `fortune-mod` package)\n  * Install `fortune-mod` with this command: `sudo apt install fortune-mod`\n\n![Screenshot](/screenshots/fortune.png)\n* `calendar` and `tasks` - shows a list of upcoming events or todos from your calendars (see `local_settings.py.example`)\n\n![Screenshot](/screenshots/calendar.png)\n![Screenshot](/screenshots/tasks.png)\n\n* `weather` - shows the current weather\n\n## Making your own\n\nThe framework is extensible, so you can write your own screens as well, each screen is a Python module providing a `Screen` class that inherits from `AbstractScreen`.\n\nFor more information on how to create your own screens, check the wiki.\n\n## Message queue\n\nThere's also a message queue interface to control the screen from other apps. (example command line client available in `cli.py`)\n\n## Setup on Raspberry Pi OS\n\n* First, enable the SPI inferface on the Pi if you haven't already.\n* Then, install the Python requirements\n\n```shell\nsudo apt install python3-pip python3-pil python3-numpy python3-gpiozero\n```\n\n* Then install the drivers for Python\n\n```shell\ngit clone https://github.com/waveshare/e-Paper ~/e-Paper\ncd ~/e-Paper/RaspberryPi_JetsonNano/python\npython3 setup.py install\n```\n\n* Check out the code if you haven't already:\n\n```shell\ngit clone https://github.com/tsbarnes/epdtext.git ~/epdtext\n```\n\n* Install the remaining Python dependencies\n```shell\ncd ~/epdtext\nsudo pip3 install -r requirements.txt\n```\n\n* Then (optionally) create local_settings.py and add your settings overrides there.\n  * You can copy `local_settings.py.example` to `local_settings.py` and edit it to configure `epdtext`\n  * **NOTE**: if you're using a different Waveshare screen, you can use the `DRIVER` setting to configure it\n  * See the wiki for more configuration help\n\n* Also optional is installing the systemd unit.\n\n```shell\ncp ~/epdtext/epdtext.service /etc/systemd/system\nsudo systemctl enable epdtext\n```\n\n## Setup on Arch Linux ARM\n\n* First, enable the SPI inferface on the Pi if you haven't already.\n* Then, install the Python requirements\n\n```shell\nsudo pacman -S python-pip python-pillow python-numpy python-gpiozero\n```\n\n* Then install the drivers for Python\n\n```shell\ngit clone https://github.com/waveshare/e-Paper ~/e-Paper\ncd ~/e-Paper/RaspberryPi_JetsonNano/python\npython3 setup.py install\n```\n\n* Check out the code if you haven't already:\n\n```shell\ngit clone https://github.com/tsbarnes/epdtext.git ~/epdtext\n```\n\n* Install the remaining Python dependencies\n```shell\ncd ~/epdtext\nsudo pip install -r requirements.txt\n```\n\n* Then (optionally) create local_settings.py and add your settings overrides there.\n  * You can copy `local_settings.py.example` to `local_settings.py` and edit it to configure `epdtext`\n  * **NOTE**: if you're using a different Waveshare screen, you can use the `DRIVER` setting to configure it\n  * If you don't set the `LOGO` setting, it defaults to the Arch logo on Arch Linux ARM\n  * See the wiki for more configuration help\n\n* Also optional is installing the systemd unit.\n\n```shell\ncp ~/epdtext/epdtext.service /etc/systemd/system\n```\n\nYou'll need to edit the `/etc/systemd/system/epdtext.service` file and change `/home/pi` to `/home/alarm`\n(or the home directory of the user you checked it out as) and change the User line to root.\n\nAlso of note, on Arch Linux ARM, epdtext must be run as root.\n\n## Usage\n\nTo start up the app without `systemd`, run this command:\n```shell\ncd ~/epdtext\npython3 app.py\n```\n\nTo start the app with ´systemd´, run this:\n```shell\nsudo systemctl start epdtext\n```\n\nTo reload using the CLI client:\n```shell\ncd ~/epdtext\n./cli.py reload\n```\n\nTo switch to the uptime screen with the CLI:\n```shell\ncd ~/epdtext\n./cli.py screen uptime\n```\n\n## epdtext-web\n\nThere's now a web frontend to epdtext! Check out [epdtext-web](https://github.com/tsbarnes/epdtext-web)\n","funding_links":["https://github.com/sponsors/tsbarnes","https://liberapay.com/tsbarnes"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftsbarnes%2Fepdtext","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftsbarnes%2Fepdtext","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftsbarnes%2Fepdtext/lists"}