prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  loosen numpy requirements for non-extra installs
  # Description
  
  we are pretty restrictive in the numpy version range due to trying to conform to TF's valid range, but TF is only one of the backends. If just installing `pip install pyhf` we should not force users to a speciic range unless we require the APIs
  
  `numpy>=1.14.0` should be enough unless i'm missing something. @kratsg since you changed this last, any reason you see to restrict numpy further?
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `setup.py`
  Content:
  ```
  1 from setuptools import setup, find_packages
  2 setup(
  3   name = 'pyhf',
  4   version = '0.0.15',
  5   description = '(partial) pure python histfactory implementation',
  6   url = '',
  7   author = 'Lukas Heinrich',
  8   author_email = 'lukas.heinrich@cern.ch',
  9   packages = find_packages(),
  10   include_package_data = True,
  11   install_requires = [
  12     'numpy<=1.14.5,>=1.14.3',  # required by tensorflow, mxnet, and us
  13     'scipy',
  14     'click>=6.0',  # for console scripts,
  15     'tqdm',  # for readxml
  16     'six',  # for modifiers
  17     'jsonschema>=v3.0.0a2',  # for utils, alpha-release for draft 6
  18   ],
  19   extras_require = {
  20     'xmlimport': [
  21        'uproot',
  22      ],
  23     'torch': [
  24       'torch>=0.4.0'
  25     ],
  26     'mxnet':[
  27       'mxnet>=1.0.0',
  28       'requests<2.19.0,>=2.18.4',
  29       'numpy<1.15.0,>=1.8.2',
  30       'requests<2.19.0,>=2.18.4',
  31     ],
  32     'tensorflow':[
  33        'tensorflow>=1.10.0',
  34        'numpy<=1.14.5,>=1.13.3',
  35        'setuptools<=39.1.0',
  36     ],
  37     'develop': [
  38        'pyflakes',
  39        'pytest>=3.5.1',
  40        'pytest-cov>=2.5.1',
  41        'pytest-benchmark[histogram]',
  42        'pytest-console-scripts',
  43        'python-coveralls',
  44        'coverage>=4.0',  # coveralls
  45        'matplotlib',
  46        'jupyter',
  47        'uproot',
  48        'papermill',
  49        'graphviz',
  50        'sphinx',
  51        'sphinxcontrib-bibtex',
  52        'sphinxcontrib-napoleon',
  53        'sphinx_rtd_theme',
  54        'nbsphinx',
  55        'jsonpatch'
  56     ]
  57   },
  58   entry_points = {
  59       'console_scripts': ['pyhf=pyhf.commandline:pyhf']
  60   },
  61   dependency_links = [
  62   ]
  63 )
  64
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -9,8 +9,7 @@
     packages = find_packages(),
     include_package_data = True,
     install_requires = [
  -    'numpy<=1.14.5,>=1.14.3',  # required by tensorflow, mxnet, and us
  -    'scipy',
  +    'scipy',  # requires numpy, which is required by pyhf, tensorflow, and mxnet
       'click>=6.0',  # for console scripts,
       'tqdm',  # for readxml
       'six',  # for modifiers
  @@ -31,7 +30,7 @@
       ],
       'tensorflow':[
          'tensorflow>=1.10.0',
  -       'numpy<=1.14.5,>=1.13.3',
  +       'numpy<=1.14.5,>=1.14.0',  # Lower of 1.14.0 instead of 1.13.3 to ensure doctest pass
          'setuptools<=39.1.0',
       ],
       'develop': [
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -9,8 +9,7 @@\n   packages = find_packages(),\n   include_package_data = True,\n   install_requires = [\n-    'numpy<=1.14.5,>=1.14.3',  # required by tensorflow, mxnet, and us\n-    'scipy',\n+    'scipy',  # requires numpy, which is required by pyhf, tensorflow, and mxnet\n     'click>=6.0',  # for console scripts,\n     'tqdm',  # for readxml\n     'six',  # for modifiers\n@@ -31,7 +30,7 @@\n     ],\n     'tensorflow':[\n        'tensorflow>=1.10.0',\n-       'numpy<=1.14.5,>=1.13.3',\n+       'numpy<=1.14.5,>=1.14.0',  # Lower of 1.14.0 instead of 1.13.3 to ensure doctest pass\n        'setuptools<=39.1.0',\n     ],\n     'develop': [\n", "issue": "loosen numpy requirements for non-extra installs\n# Description\r\n\r\nwe are pretty restrictive in the numpy version range due to trying to conform to TF's valid range, but TF is only one of the backends. If just installing `pip install pyhf` we should not force users to a speciic range unless we require the APIs\r\n\r\n`numpy>=1.14.0` should be enough unless i'm missing something. @kratsg since you changed this last, any reason you see to restrict numpy further?\n", "before_files": [{"content": "from setuptools import setup, find_packages\nsetup(\n  name = 'pyhf',\n  version = '0.0.15',\n  description = '(partial) pure python histfactory implementation',\n  url = '',\n  author = 'Lukas Heinrich',\n  author_email = 'lukas.heinrich@cern.ch',\n  packages = find_packages(),\n  include_package_data = True,\n  install_requires = [\n    'numpy<=1.14.5,>=1.14.3',  # required by tensorflow, mxnet, and us\n    'scipy',\n    'click>=6.0',  # for console scripts,\n    'tqdm',  # for readxml\n    'six',  # for modifiers\n    'jsonschema>=v3.0.0a2',  # for utils, alpha-release for draft 6\n  ],\n  extras_require = {\n    'xmlimport': [\n       'uproot',\n     ],\n    'torch': [\n      'torch>=0.4.0'\n    ],\n    'mxnet':[\n      'mxnet>=1.0.0',\n      'requests<2.19.0,>=2.18.4',\n      'numpy<1.15.0,>=1.8.2',\n      'requests<2.19.0,>=2.18.4',\n    ],\n    'tensorflow':[\n       'tensorflow>=1.10.0',\n       'numpy<=1.14.5,>=1.13.3',\n       'setuptools<=39.1.0',\n    ],\n    'develop': [\n       'pyflakes',\n       'pytest>=3.5.1',\n       'pytest-cov>=2.5.1',\n       'pytest-benchmark[histogram]',\n       'pytest-console-scripts',\n       'python-coveralls',\n       'coverage>=4.0',  # coveralls\n       'matplotlib',\n       'jupyter',\n       'uproot',\n       'papermill',\n       'graphviz',\n       'sphinx',\n       'sphinxcontrib-bibtex',\n       'sphinxcontrib-napoleon',\n       'sphinx_rtd_theme',\n       'nbsphinx',\n       'jsonpatch'\n    ]\n  },\n  entry_points = {\n      'console_scripts': ['pyhf=pyhf.commandline:pyhf']\n  },\n  dependency_links = [\n  ]\n)\n", "path": "setup.py"}], "after_files": [{"content": "from setuptools import setup, find_packages\nsetup(\n  name = 'pyhf',\n  version = '0.0.15',\n  description = '(partial) pure python histfactory implementation',\n  url = '',\n  author = 'Lukas Heinrich',\n  author_email = 'lukas.heinrich@cern.ch',\n  packages = find_packages(),\n  include_package_data = True,\n  install_requires = [\n    'scipy',  # requires numpy, which is required by pyhf, tensorflow, and mxnet\n    'click>=6.0',  # for console scripts,\n    'tqdm',  # for readxml\n    'six',  # for modifiers\n    'jsonschema>=v3.0.0a2',  # for utils, alpha-release for draft 6\n  ],\n  extras_require = {\n    'xmlimport': [\n       'uproot',\n     ],\n    'torch': [\n      'torch>=0.4.0'\n    ],\n    'mxnet':[\n      'mxnet>=1.0.0',\n      'requests<2.19.0,>=2.18.4',\n      'numpy<1.15.0,>=1.8.2',\n      'requests<2.19.0,>=2.18.4',\n    ],\n    'tensorflow':[\n       'tensorflow>=1.10.0',\n       'numpy<=1.14.5,>=1.14.0',  # Lower of 1.14.0 instead of 1.13.3 to ensure doctest pass\n       'setuptools<=39.1.0',\n    ],\n    'develop': [\n       'pyflakes',\n       'pytest>=3.5.1',\n       'pytest-cov>=2.5.1',\n       'pytest-benchmark[histogram]',\n       'pytest-console-scripts',\n       'python-coveralls',\n       'coverage>=4.0',  # coveralls\n       'matplotlib',\n       'jupyter',\n       'uproot',\n       'papermill',\n       'graphviz',\n       'sphinx',\n       'sphinxcontrib-bibtex',\n       'sphinxcontrib-napoleon',\n       'sphinx_rtd_theme',\n       'nbsphinx',\n       'jsonpatch'\n    ]\n  },\n  entry_points = {\n      'console_scripts': ['pyhf=pyhf.commandline:pyhf']\n  },\n  dependency_links = [\n  ]\n)\n", "path": "setup.py"}]}