Library to parse extended display identification data (EDID)
Project description
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
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
pyedid-1.0.1.tar.gz
(36.8 kB
view details)
Built Distribution
pyedid-1.0.1-py3-none-any.whl
(36.2 kB
view details)
File details
Details for the file pyedid-1.0.1.tar.gz
.
File metadata
- Download URL: pyedid-1.0.1.tar.gz
- Upload date:
- Size: 36.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8051a33ed3df4d3b85cf301086b387bd8a9e9be1b93974d4ba7d7b5aeef97f9e |
|
MD5 | 9e00cd762ff7877b6c692fdbfa27732e |
|
BLAKE2b-256 | ee38a0315eb175985d9dc245582939c960778a2653d4f6e4ffe01f2acf81af12 |
File details
Details for the file pyedid-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: pyedid-1.0.1-py3-none-any.whl
- Upload date:
- Size: 36.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c82c7f8462069b941efdb530a82109378403e2540170b7344f8fe1315cb5252a |
|
MD5 | 900e034a833075e63920d5c6523dc540 |
|
BLAKE2b-256 | 318455b13462f7bb15da51700eb697baacbc2644207a2f1c8009a8a0bbdd6fe4 |