pyEDID
Getting started
This is a python library to parse extended display identification data (EDID).
This project based on pyedid
EDID data format
The EDID data frame format is described in detail on the Wikipedia page.
Requirements
Setup
pip3 install pyedid
Features
- Parsing EDID data from hex or bytes
- Embedded PNP ID registry with dump/restore to CSV file
- Updatable PNP ID registry from www.uefi.org
Docs
ToDO
Quickstart
Parsing some hex EDID data with the default registry
import pyedid
edid_hex = (
'00ffffffffffff000469982401010101'
'1e1b01031e351e78ea9265a655559f28'
'0d5054bfef00714f818081409500a940'
'b300d1c00101023a801871382d40582c'
'4500132b2100001e000000fd00324c1e'
'5311000a202020202020000000fc0056'
'533234380a20202020202020000000ff'
'0048374c4d51533132323136310a0000'
)
edid = pyedid.parse_edid(edid_hex)
edid.name
edid.manufacturer
edid.serial
edid.year
edid.week
edid.width
edid.height
edid.resolutions
edid...
json_str = str(edid)
Getting EDID from xrandr --verbose
from pyedid import get_edid_from_xrandr_verbose
from subprocess import check_output
randr = check_output(['xrandr', '--verbose'])
edids = get_edid_from_xrandr_verbose(randr)
edid = pyedid.parse_edid(edids[0])
Working with registry
from pyedid import Registry, DEFAULT_REGISTRY
r_web = Registry.from_web()
DEFAULT_REGISTRY.to_csv('/path/to/csv.file')
r_csv = Registry.from_csv('/path/to/csv.file')
Licensing
See LICENSE