From ea1fe963155bb1b703a237e9310ce78e0af236a6 Mon Sep 17 00:00:00 2001 From: Satrajit Ghosh Date: Thu, 12 Sep 2019 14:19:01 -0400 Subject: [PATCH 1/3] enh: add telemetry to nipype --- nipype/__init__.py | 16 ++++++++++++++++ nipype/info.py | 3 ++- nipype/utils/config.py | 1 + requirements.txt | 1 + 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/nipype/__init__.py b/nipype/__init__.py index 172617e887..eb5a2f123e 100644 --- a/nipype/__init__.py +++ b/nipype/__init__.py @@ -22,7 +22,9 @@ config = NipypeConfig() logging = Logging(config) +logger = logging.getLogger('nipype.utils') +INIT_MSG = "Running {packname} version {version} latest {latest}".format class NipypeTester(object): def __call__(self, doctests=True, parallel=False): @@ -56,3 +58,17 @@ def get_info(): from .pipeline import Node, MapNode, JoinNode, Workflow from .interfaces import (DataGrabber, DataSink, SelectFiles, IdentityInterface, Rename, Function, Select, Merge) + + +if config.getboolean('execution', 'check_version'): + import etelemetry + + latest = {"version": 'Unknown'} + try: + latest = etelemetry.get_project("nipy/heudiconv") + except Exception as e: + logger.warning("Could not check for version updates: ", e) + finally: + logger.info(INIT_MSG(packname='nipype', + version=__version__, + latest=latest["version"])) diff --git a/nipype/info.py b/nipype/info.py index 83ce1ca43d..72b34a177f 100644 --- a/nipype/info.py +++ b/nipype/info.py @@ -164,7 +164,8 @@ def get_nipype_gitversion(): 'scipy>=%s,<%s ; python_version <= "3.4"' % (SCIPY_MIN_VERSION, SCIPY_MAX_VERSION_34), 'simplejson>=%s' % SIMPLEJSON_MIN_VERSION, 'traits>=%s,!=5.0' % TRAITS_MIN_VERSION, - 'filelock>=3.0.0' + 'filelock>=3.0.0', + 'etelemetry', ] # neurdflib has to come after prov diff --git a/nipype/utils/config.py b/nipype/utils/config.py index d6d6d0879d..219215e0c8 100644 --- a/nipype/utils/config.py +++ b/nipype/utils/config.py @@ -68,6 +68,7 @@ parameterize_dirs = true poll_sleep_duration = 2 xvfb_max_wait = 10 +check_version = true [monitoring] enabled = false diff --git a/requirements.txt b/requirements.txt index 44226da48b..14b7e78ecc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -17,3 +17,4 @@ scipy>=0.14 simplejson>=3.8.0 traits>=4.6 filelock>= 3.0.0 +etelemetry \ No newline at end of file From ceedfed9e7972d5a8f15ea7e76f6d59dca46743c Mon Sep 17 00:00:00 2001 From: Satrajit Ghosh Date: Thu, 12 Sep 2019 14:30:26 -0400 Subject: [PATCH 2/3] Apply suggestions from code review Co-Authored-By: Chris Markiewicz --- nipype/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nipype/__init__.py b/nipype/__init__.py index eb5a2f123e..35641f3d70 100644 --- a/nipype/__init__.py +++ b/nipype/__init__.py @@ -24,7 +24,7 @@ logging = Logging(config) logger = logging.getLogger('nipype.utils') -INIT_MSG = "Running {packname} version {version} latest {latest}".format +INIT_MSG = "Running {packname} version {version} (latest: {latest})".format class NipypeTester(object): def __call__(self, doctests=True, parallel=False): @@ -65,7 +65,7 @@ def get_info(): latest = {"version": 'Unknown'} try: - latest = etelemetry.get_project("nipy/heudiconv") + latest = etelemetry.get_project("nipy/nipype") except Exception as e: logger.warning("Could not check for version updates: ", e) finally: From 7e7568e1e4ec84b8bab52db1118adf07520f228a Mon Sep 17 00:00:00 2001 From: Satrajit Ghosh Date: Thu, 12 Sep 2019 16:22:38 -0400 Subject: [PATCH 3/3] Update nipype/__init__.py Co-Authored-By: Oscar Esteban --- nipype/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nipype/__init__.py b/nipype/__init__.py index 35641f3d70..8d135bf061 100644 --- a/nipype/__init__.py +++ b/nipype/__init__.py @@ -67,7 +67,7 @@ def get_info(): try: latest = etelemetry.get_project("nipy/nipype") except Exception as e: - logger.warning("Could not check for version updates: ", e) + logger.warning("Could not check for version updates: \n%s", e) finally: logger.info(INIT_MSG(packname='nipype', version=__version__,