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
- Python 3.6+
- requests
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'
)
# returned Edid object, used the Default embedded registry
edid = pyedid.parse_edid(edid_hex)
edid.name # 'VS248'
edid.manufacturer # 'Ancor Communications Inc'
edid.serial # 'H7LMQS122161'
edid.year # 2017 (year of manufacture)
edid.week # 30 (week of manufacture)
edid.width # 53.0 cm
edid.height # 30.0 cm
edid.resolutions # list with resulutions (x, y, rate), ex (720, 400, 70.0)
edid... # some other EDID data
json_str = str(edid) # making JSON string object
Getting EDID from xrandr --verbose
from pyedid import get_edid_from_xrandr_verbose
from subprocess import check_output
# getting `xrandr --verbose` output
randr = check_output(['xrandr', '--verbose'])
# parsing xrandr outputs to a bytes edid's list
edids = get_edid_from_xrandr_verbose(randr)
# parsing edid
edid = pyedid.parse_edid(edids[0])
Working with registry
from pyedid import Registry, DEFAULT_REGISTRY
# making a registry object from www.uefi.org
r_web = Registry.from_web()
# dumping the default registry to csv file
DEFAULT_REGISTRY.to_csv('/path/to/csv.file')
# restoring registry from csv file
r_csv = Registry.from_csv('/path/to/csv.file')
Licensing
See LICENSE
Metadata
Release files for pyedid 1.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyedid-1.0.3.tar.gz | 37.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyedid-1.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 73.5 kB
Release files / pyedid-1.0.3.tar.gz
| Download URL | pyedid-1.0.3.tar.gz |
|---|---|
| Size | 37.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e61b8ef7b6806ec536ea971bf650e3470f6a9cdae994d6f50d2d97c3f8f1b8f4
|
|
BLAKE2b-256 checksum How to use checksums |
ee8f67ad1955ca1afcd9f16af8377efe83aee8e162c1c333d4efa9813b1eb5b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.4
|
Release files / pyedid-1.0.3-py3-none-any.whl
| Download URL | pyedid-1.0.3-py3-none-any.whl |
|---|---|
| Size | 36.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aa8bd3ce30b4813cbab0c111d4fc2dee1484d7f951b2b84002284f83481b7a3c
|
|
BLAKE2b-256 checksum How to use checksums |
f1ba0f26432b195a09de22ed8eadde1c556e25e93ece65f3e40f6cf3ccbf4224
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.4
|