Source code for pylibftdi.examples.info

"""
Report environment info relevant to pylibftdi

example usage::

    $ python3 -m pylibftdi.examples.info
    pylibftdi version     : 0.15.0
    libftdi version       : libftdi_version(major=1, minor=1, micro=0, version_str='1.1', snapshot_str='unknown')
    libftdi library path  : /usr/local/lib/libftdi1.dylib
    libusb version        : libusb_version(major=1, minor=0, micro=19, nano=10903, rc='', describe='http://libusb.info')
    libusb library path   : /usr/local/lib/libusb-1.0.dylib
    Python version        : 3.4.0
    OS platform           : Darwin-14.1.0-x86_64-i386-64bit

Copyright (c) 2015-2020 Ben Bass <benbass@codedstructure.net>
"""  # noqa: E501


import platform
from collections import OrderedDict

import pylibftdi


[docs]def ftdi_info(): """ Return (ordered) dictionary contianing pylibftdi environment info Designed for display purposes only; keys and value types may vary. """ info = OrderedDict() d = pylibftdi.Driver() info["pylibftdi version"] = pylibftdi.__VERSION__ try: info["libftdi version"] = d.libftdi_version() info["libftdi library name"] = d._load_library("libftdi")._name except pylibftdi.LibraryMissingError: info["libftdi library"] = "Missing" try: info["libusb version"] = d.libusb_version() info["libusb library name"] = d._load_library("libusb")._name except pylibftdi.LibraryMissingError: info["libusb library"] = "Missing" info["Python version"] = platform.python_version() info["OS platform"] = platform.platform() return info
if __name__ == "__main__": for key, value in ftdi_info().items(): print(f"{key:22}: {value}")