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=b'1.1', snapshot_str=b'unknown')
    libftdi library path  : /usr/local/lib/libftdi1.dylib
    libusb version        : libusb_version(major=1, minor=0, micro=19, nano=10903, rc=b'', describe=b'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 Ben Bass <benbass@codedstructure.net>
"""


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("{:22}: {}".format(key, value))