Skip to content

Commit

Permalink
Add libnetcdf, libhdf5, pydap and cfgrib to xarray.show_versions() (#…
Browse files Browse the repository at this point in the history
…2555)

* Add libnetcdf, libhdf5, pydap and cfgrib to xarray.show_versions()

* More fixup

* Show full Python version string
  • Loading branch information
shoyer authored Nov 14, 2018
1 parent 575e97a commit f547ed0
Showing 1 changed file with 27 additions and 4 deletions.
31 changes: 27 additions & 4 deletions xarray/util/print_versions.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ def get_sys_info():
(sysname, nodename, release,
version, machine, processor) = platform.uname()
blob.extend([
("python", "%d.%d.%d.%s.%s" % sys.version_info[:]),
("python", sys.version),
("python-bits", struct.calcsize("P") * 8),
("OS", "%s" % (sysname)),
("OS-release", "%s" % (release)),
Expand All @@ -63,9 +63,27 @@ def get_sys_info():
return blob


def netcdf_and_hdf5_versions():
libhdf5_version = None
libnetcdf_version = None
try:
import netCDF4
libhdf5_version = netCDF4.__hdf5libversion__
libnetcdf_version = netCDF4.__netcdf4libversion__
except ImportError:
try:
import h5py
libhdf5_version = h5py.__hdf5libversion__
except ImportError:
pass
return [('libhdf5', libhdf5_version), ('libnetcdf', libnetcdf_version)]


def show_versions(as_json=False):
sys_info = get_sys_info()

sys_info.extend(netcdf_and_hdf5_versions())

deps = [
# (MODULE_NAME, f(mod) -> mod version)
("xarray", lambda mod: mod.__version__),
Expand All @@ -74,14 +92,15 @@ def show_versions(as_json=False):
("scipy", lambda mod: mod.__version__),
# xarray optionals
("netCDF4", lambda mod: mod.__version__),
# ("pydap", lambda mod: mod.version.version),
("pydap", lambda mod: mod.__version__),
("h5netcdf", lambda mod: mod.__version__),
("h5py", lambda mod: mod.__version__),
("Nio", lambda mod: mod.__version__),
("zarr", lambda mod: mod.__version__),
("cftime", lambda mod: mod.__version__),
("PseudonetCDF", lambda mod: mod.__version__),
("rasterio", lambda mod: mod.__version__),
("cfgrib", lambda mod: mod.__version__),
("iris", lambda mod: mod.__version__),
("bottleneck", lambda mod: mod.__version__),
("cyordereddict", lambda mod: mod.__version__),
Expand All @@ -107,10 +126,14 @@ def show_versions(as_json=False):
mod = sys.modules[modname]
else:
mod = importlib.import_module(modname)
ver = ver_f(mod)
deps_blob.append((modname, ver))
except Exception:
deps_blob.append((modname, None))
else:
try:
ver = ver_f(mod)
deps_blob.append((modname, ver))
except Exception:
deps_blob.append((modname, 'installed'))

if (as_json):
try:
Expand Down

0 comments on commit f547ed0

Please sign in to comment.