Source code for pylablib.core.version

"""
Current version and function that defines compatibility with previous version.
To be changed in future packages.
"""
from future.utils import viewitems

import sys
from .utils import module as module_utils #@UnresolvedImport


full_version=(0,2,0)
[docs]def is_compatible(v, package=None, module=None): return full_version>=v
### Additional packages routines ### _required_packages_names=["future","rpyc", # generic required packages "numpy","scipy","matplotlib","numba","pandas", # standard scientific packages "pyusb","python-usbtmc","pywinusb","pyserial","pyvisa","pyft232","websocket-client", # general device communication: # USB (generic USB, requires libusb library), USB-MTC (VISA-like package for Linux), pywinusb(USB HID talking), Serial port, VISA wrapper "nidaqmx" # special device communication: NIDAQmx, ZurichInstrument (2 different versions) ] # non-standard packages required_packages=dict([ (name,module_utils.get_package_version(name)) for name in _required_packages_names ]) _python_version_full=sys.version_info python_version="{}.{}.{}".format(*_python_version_full)
[docs]def write_version(f): f.write("Python version: "+python_version+"\n\n") f.write("Non-standard packages:\n") for p_name,p_version in viewitems(required_packages): if p_version is not None: f.write(" {0:20s} {1}\n".format(p_name,p_version)) f.write("\nCore library version: {}.{}.{}\n".format(*full_version))