Skip to main content

Modernized Waveshare e-Paper library using python-periphery and uv

Project description

E-Paper Display Library

A modernized version of the Waveshare e-Paper library that uses python-periphery for hardware interface and uv for package management.

What's Different

  • Uses python-periphery instead of direct GPIO/SPI access
  • Uses uv for fast Python package management
  • Updated to modern Python practices
  • Better error handling and logging
  • Simplified project structure
  • Lazy imports to avoid GPIO initialization on development machines

Quick Start

  1. Install dependencies:
uv sync
  1. Run the simple demo:
python start.py

Project Structure

waveshare_epaper/
├── src/waveshare_epd/     # E-paper display modules
├── start.py               # Demo script
├── pyproject.toml         # Project configuration
├── README.md              # This file

Usage

Import specific display modules as needed:

from waveshare_epd.epd4in2_V2 import EPD

# Initialize display
epd = EPD()
epd.init()
epd.Clear()

# Create and display image
from PIL import Image, ImageDraw
image = Image.new('1', (epd.width, epd.height), 255)
draw = ImageDraw.Draw(image)
draw.text((10, 10), 'Hello World!', fill=0)
epd.display(epd.getbuffer(image))

Supported Displays

Works with various e-paper displays: 1.54", 2.13", 2.7", 2.9", 4.2", 5.83", and 7.5" models.

Demo Features

The demo script showcases:

  • Text and graphics rendering
  • 4-gray mode display
  • Partial update animations
  • System information display

Requirements

  • Python 3.8+
  • uv package manager
  • python-periphery
  • PIL (Pillow)
  • Raspberry Pi or Jetson Nano (for hardware)

License

Based on the original Waveshare e-Paper library. See the original repository for licensing details.

Project details


Download files

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

Source Distribution

eink_wave-0.1.0.tar.gz (57.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eink_wave-0.1.0-py3-none-any.whl (170.8 kB view details)

Uploaded Python 3

File details

Details for the file eink_wave-0.1.0.tar.gz.

File metadata

  • Download URL: eink_wave-0.1.0.tar.gz
  • Upload date:
  • Size: 57.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.8

File hashes

Hashes for eink_wave-0.1.0.tar.gz
Algorithm Hash digest
SHA256 abc1f5a7d1e11b4c14648637beb12c5de72411e6bd3c6daa1549bd278a1cc4ad
MD5 fac4d7b3f63728c8939bfecee40a3797
BLAKE2b-256 62578953e03451af7fac901ed2073ebdcdd61835148ba7f0af8c56b33d9c3ad4

See more details on using hashes here.

File details

Details for the file eink_wave-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: eink_wave-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 170.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.8

File hashes

Hashes for eink_wave-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c877c2e3c6f3ededf09cf2f0b0184d6098c7651cc130973fc8c0e373e92af058
MD5 7f7602c4a55b59313ac2ac1f1b19af50
BLAKE2b-256 7cc7c93f3562235fcd1acc81f70fa7f575a9bd6056c6bc46e4fabfde87014c25

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page