Source code for qutip.about

"""
Command line output of information on QuTiP and dependencies.
"""
__all__ = ['about']

import sys
import os
import importlib
import platform
import numpy
import scipy
import inspect
import qutip
from qutip.settings import _blas_info, settings


[docs] def about(): """ About box for QuTiP. Gives version numbers for QuTiP, NumPy, SciPy, Cython, and MatPlotLib and information about installed QuTiP family packages. """ print("") print("QuTiP: Quantum Toolbox in Python") print("================================") print("Copyright (c) QuTiP team 2011 and later.") print( "Current admin team: Alexander Pitchford, " "Nathan Shammah, Shahnawaz Ahmed, Neill Lambert, Eric Giguère, " "Boxi Li, Simon Cross, Asier Galicia, Paul Menczel, " "and Patrick Hopf." ) print( "Board members: Daniel Burgarth, Robert Johansson, Anton F. Kockum, " "Franco Nori and Will Zeng." ) print("Original developers: R. J. Johansson & P. D. Nation.") print("Previous lead developers: Chris Granade & A. Grimsmo.") print("Currently developed through wide collaboration. " "See https://github.com/qutip for details.") print("") print("QuTiP Version: %s" % qutip.__version__) print("Numpy Version: %s" % numpy.__version__) print("Scipy Version: %s" % scipy.__version__) try: import Cython cython_ver = Cython.__version__ except ImportError: cython_ver = 'None' print("Cython Version: %s" % cython_ver) try: import matplotlib matplotlib_ver = matplotlib.__version__ except ImportError: matplotlib_ver = 'None' print("Matplotlib Version: %s" % matplotlib_ver) print("Python Version: %d.%d.%d" % sys.version_info[0:3]) print("Number of CPUs: %s" % settings.num_cpus) print("BLAS Info: %s" % _blas_info()) # print("OPENMP Installed: %s" % str(qutip.settings.has_openmp)) print("INTEL MKL Ext: %s" % settings.mkl_lib_location) print("Platform Info: %s (%s)" % (platform.system(), platform.machine())) qutip_install_path = os.path.dirname(inspect.getsourcefile(qutip)) print("Installation path: %s" % qutip_install_path) print() # family packages print("Installed QuTiP family packages") print("-------------------------------") print() entrypoints = importlib.metadata.entry_points(group="qutip.family") if not entrypoints: print("No QuTiP family packages installed.") for ep in entrypoints: family_mod = ep.load() try: pkg, version = family_mod.version() except Exception as exc: pkg, version = ep.name, [str(exc)] print("%s: %s" % (pkg, version)) print() # citation longbar = "=" * 80 cite_msg = "For your convenience a bibtex reference can be easily" cite_msg += " generated using `qutip.cite()`" print(longbar) print("Please cite QuTiP in your publication.") print(longbar) print(cite_msg)
if __name__ == "__main__": about()