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-peripheryinstead of direct GPIO/SPI access - Uses
uvfor 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
- Install dependencies:
uv sync
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
abc1f5a7d1e11b4c14648637beb12c5de72411e6bd3c6daa1549bd278a1cc4ad
|
|
| MD5 |
fac4d7b3f63728c8939bfecee40a3797
|
|
| BLAKE2b-256 |
62578953e03451af7fac901ed2073ebdcdd61835148ba7f0af8c56b33d9c3ad4
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c877c2e3c6f3ededf09cf2f0b0184d6098c7651cc130973fc8c0e373e92af058
|
|
| MD5 |
7f7602c4a55b59313ac2ac1f1b19af50
|
|
| BLAKE2b-256 |
7cc7c93f3562235fcd1acc81f70fa7f575a9bd6056c6bc46e4fabfde87014c25
|