We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Pip installing sunpy dev fails
With `ci-helpers` I run into this issue for both travis/linux and appveyor:

Please have a look and open a PR in `ci-helpers` with the suggested fix for the case of `SUNPY_VERSION='dev'`

```
+++++python -m pip install git+https://github.com/sunpy/sunpy.git#egg=sunpy --upgrade --no-deps
Collecting sunpy from git+https://github.com/sunpy/sunpy.git#egg=sunpy
  Cloning https://github.com/sunpy/sunpy.git to /tmp/pip-install-uowizwdl/sunpy
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  Complete output from command /home/travis/miniconda/envs/test/bin/python /home/travis/miniconda/envs/test/lib/python3.6/site-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmp6h0521mp:
  Traceback (most recent call last):
    File "/home/travis/miniconda/envs/test/lib/python3.6/site-packages/pip/_vendor/pep517/_in_process.py", line 207, in <module>
      main()
    File "/home/travis/miniconda/envs/test/lib/python3.6/site-packages/pip/_vendor/pep517/_in_process.py", line 197, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/home/travis/miniconda/envs/test/lib/python3.6/site-packages/pip/_vendor/pep517/_in_process.py", line 54, in get_requires_for_build_wheel
      return hook(config_settings)
    File "/tmp/pip-build-env-3jro2te9/overlay/lib/python3.6/site-packages/setuptools/build_meta.py", line 115, in get_requires_for_build_wheel
      return _get_build_requires(config_settings, requirements=['wheel'])
    File "/tmp/pip-build-env-3jro2te9/overlay/lib/python3.6/site-packages/setuptools/build_meta.py", line 101, in _get_build_requires
      _run_setup()
    File "/tmp/pip-build-env-3jro2te9/overlay/lib/python3.6/site-packages/setuptools/build_meta.py", line 85, in _run_setup
      exec(compile(code, __file__, 'exec'), locals())
    File "setup.py", line 46, in <module>
      import ah_bootstrap  # noqa
  ModuleNotFoundError: No module named 'ah_bootstrap'
```

--- 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 #!/usr/bin/env python
2 # This file is based havily on the astropy version here:
3 # https://github.com/astropy/package-template/blob/master/setup.py
4 # Which is licensed under the astropy license, see licenses/ASTROPY.rst.
5 
6 ################################################################################
7 ###### YOU SHOULD NOT HAVE TO EDIT THIS FILE, YOU SHOULD EDIT setup.cfg. #######
8 ################################################################################
9 # Note: This file needs to be Python 2 / <3.6 compatible, so that the nice
10 # "SunPy only supports Python 3.6+" error prints without syntax errors etc.
11 
12 import os
13 import sys
14 import glob
15 import builtins  # noqa
16 import itertools
17 
18 try:
19     from configparser import ConfigParser
20 except ImportError:
21     from ConfigParser import ConfigParser
22 
23 # Get some values from the setup.cfg
24 conf = ConfigParser()
25 conf.read(['setup.cfg'])
26 metadata = dict(conf.items('metadata'))
27 
28 PACKAGENAME = metadata.get('package_name', 'sunpy')
29 DESCRIPTION = metadata.get('description', 'SunPy: Python for Solar Physics')
30 AUTHOR = metadata.get('author', 'The SunPy Community')
31 AUTHOR_EMAIL = metadata.get('author_email', '')
32 LICENSE = metadata.get('license', 'unknown')
33 URL = metadata.get('url', 'https://sunpy.org')
34 __minimum_python_version__ = metadata.get("minimum_python_version", "3.6")
35 
36 # Enforce Python version check - this is the same check as in __init__.py but
37 # this one has to happen before importing ah_bootstrap.
38 if sys.version_info < tuple((int(val) for val in __minimum_python_version__.split('.'))):
39     sys.stderr.write("ERROR: SunPy requires Python {} or later\n".format(__minimum_python_version__))
40     sys.exit(1)
41 
42 with open(os.path.join(os.path.abspath(os.path.dirname(__file__)), 'README.rst'), encoding='utf-8') as f:
43     LONG_DESCRIPTION = f.read()
44 
45 # Import ah_bootstrap after the python version validation
46 import ah_bootstrap  # noqa
47 from setuptools import setup  # noqa
48 from astropy_helpers.git_helpers import get_git_devstr  # noqa
49 from astropy_helpers.setup_helpers import get_package_info  # noqa
50 from astropy_helpers.setup_helpers import get_debug_option, register_commands
51 from astropy_helpers.version_helpers import generate_version_py  # noqa
52 
53 builtins._SUNPY_SETUP_ = True
54 
55 
56 # -- Read the Docs Setup  -----------------------------------------------------
57 
58 on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
59 
60 if on_rtd:
61     os.environ['HOME'] = '/home/docs/'
62     os.environ['SUNPY_CONFIGDIR'] = '/home/docs/'
63 
64 # Store the package name in a built-in variable so it's easy
65 # to get from other parts of the setup infrastructure
66 # This is used by get_pkg_data in astropy amongst other things
67 builtins._ASTROPY_PACKAGE_NAME_ = PACKAGENAME
68 
69 # VERSION should be PEP440 compatible (http://www.python.org/dev/peps/pep-0440)
70 VERSION = metadata.get('version', '0.0.dev0')
71 
72 # Indicates if this version is a release version
73 RELEASE = 'dev' not in VERSION
74 
75 if not RELEASE:
76     VERSION += get_git_devstr(False)
77 
78 # Populate the dict of setup command overrides; this should be done before
79 # invoking any other functionality from distutils since it can potentially
80 # modify distutils' behaviour.
81 cmdclassd = register_commands(PACKAGENAME, VERSION, RELEASE)
82 
83 try:
84     from sunpy.tests.setup_command import SunPyTest
85     # Overwrite the Astropy Testing framework
86     cmdclassd['test'] = type('SunPyTest', (SunPyTest,),
87                              {'package_name': 'sunpy'})
88 
89 except Exception:
90     # Catch everything, if it doesn't work, we still want SunPy to install.
91     pass
92 
93 # Freeze build information in version.py
94 generate_version_py(PACKAGENAME, VERSION, RELEASE,
95                     get_debug_option(PACKAGENAME))
96 
97 # Treat everything in scripts except README* as a script to be installed
98 scripts = [fname for fname in glob.glob(os.path.join('scripts', '*'))
99            if not os.path.basename(fname).startswith('README')]
100 
101 
102 # Get configuration information from all of the various subpackages.
103 # See the docstring for setup_helpers.update_package_files for more
104 # details.
105 package_info = get_package_info()
106 
107 # Add the project-global data
108 package_info['package_data'].setdefault(PACKAGENAME, [])
109 package_info['package_data'][PACKAGENAME].append('data/*')
110 
111 # Define entry points for command-line scripts
112 entry_points = {'console_scripts': []}
113 
114 if conf.has_section('entry_points'):
115     entry_point_list = conf.items('entry_points')
116     for entry_point in entry_point_list:
117         entry_points['console_scripts'].append('{0} = {1}'.format(
118             entry_point[0], entry_point[1]))
119 
120 # Include all .c files, recursively, including those generated by
121 # Cython, since we can not do this in MANIFEST.in with a "dynamic"
122 # directory name.
123 c_files = []
124 for root, dirs, files in os.walk(PACKAGENAME):
125     for filename in files:
126         if filename.endswith('.c'):
127             c_files.append(
128                 os.path.join(
129                     os.path.relpath(root, PACKAGENAME), filename))
130 package_info['package_data'][PACKAGENAME].extend(c_files)
131 
132 
133 extra_tags = [m.strip() for m in metadata.get("extra_requires", "").split(',')]
134 if extra_tags:
135     extras_require = {tag: [m.strip() for m in metadata["{tag}_requires".format(tag=tag)].split(',')]
136                       for tag in extra_tags}
137     extras_require['all'] = list(itertools.chain.from_iterable(extras_require.values()))
138 else:
139     extras_require = None
140 
141 # Entry points
142 entry_points['asdf_extensions'] = [
143     'sunpy = sunpy.io.special.asdf.extension:SunpyExtension',
144 ]
145 
146 setup(name=PACKAGENAME,
147       version=VERSION,
148       description=DESCRIPTION,
149       scripts=scripts,
150       setup_requires=[s.strip() for s in metadata.get("setup_requires", "").split(',')],
151       install_requires=[s.strip() for s in metadata['install_requires'].split(',')],
152       extras_require=extras_require,
153       tests_require=extras_require.get("all", ""),
154       author=AUTHOR,
155       author_email=AUTHOR_EMAIL,
156       license=LICENSE,
157       url=URL,
158       project_urls={'Funding': 'https://www.flipcause.com/widget/widget_home/MTgxMTU=',
159                     'Source': 'https://github.com/sunpy/sunpy/',
160                     'Tracker': 'https://github.com/sunpy/sunpy/issues'
161                     },
162       long_description=LONG_DESCRIPTION,
163       long_description_content_type='text/x-rst',
164       cmdclass=cmdclassd,
165       zip_safe=False,
166       entry_points=entry_points,
167       python_requires='>={}'.format(__minimum_python_version__),
168       include_package_data=True,
169       **package_info
170       )
171
```
--- 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()

```

diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -15,6 +15,9 @@
 import builtins  # noqa
 import itertools
 
+# Fix for https://github.com/pypa/pip/issues/6163
+sys.path.insert(0, os.path.dirname(__file__))
+
 try:
     from configparser import ConfigParser
 except ImportError:

{"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -15,6 +15,9 @@\n import builtins  # noqa\n import itertools\n \n+# Fix for https://github.com/pypa/pip/issues/6163\n+sys.path.insert(0, os.path.dirname(__file__))\n+\n try:\n     from configparser import ConfigParser\n except ImportError:\n", "issue": "Pip installing sunpy dev fails\nWith `ci-helpers` I run into this issue for both travis/linux and appveyor:\r\n\r\nPlease have a look and open a PR in `ci-helpers` with the suggested fix for the case of `SUNPY_VERSION='dev'`\r\n\r\n```\r\n+++++python -m pip install git+https://github.com/sunpy/sunpy.git#egg=sunpy --upgrade --no-deps\r\nCollecting sunpy from git+https://github.com/sunpy/sunpy.git#egg=sunpy\r\n  Cloning https://github.com/sunpy/sunpy.git to /tmp/pip-install-uowizwdl/sunpy\r\n  Installing build dependencies ... done\r\n  Getting requirements to build wheel ... error\r\n  Complete output from command /home/travis/miniconda/envs/test/bin/python /home/travis/miniconda/envs/test/lib/python3.6/site-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmp6h0521mp:\r\n  Traceback (most recent call last):\r\n    File \"/home/travis/miniconda/envs/test/lib/python3.6/site-packages/pip/_vendor/pep517/_in_process.py\", line 207, in <module>\r\n      main()\r\n    File \"/home/travis/miniconda/envs/test/lib/python3.6/site-packages/pip/_vendor/pep517/_in_process.py\", line 197, in main\r\n      json_out['return_val'] = hook(**hook_input['kwargs'])\r\n    File \"/home/travis/miniconda/envs/test/lib/python3.6/site-packages/pip/_vendor/pep517/_in_process.py\", line 54, in get_requires_for_build_wheel\r\n      return hook(config_settings)\r\n    File \"/tmp/pip-build-env-3jro2te9/overlay/lib/python3.6/site-packages/setuptools/build_meta.py\", line 115, in get_requires_for_build_wheel\r\n      return _get_build_requires(config_settings, requirements=['wheel'])\r\n    File \"/tmp/pip-build-env-3jro2te9/overlay/lib/python3.6/site-packages/setuptools/build_meta.py\", line 101, in _get_build_requires\r\n      _run_setup()\r\n    File \"/tmp/pip-build-env-3jro2te9/overlay/lib/python3.6/site-packages/setuptools/build_meta.py\", line 85, in _run_setup\r\n      exec(compile(code, __file__, 'exec'), locals())\r\n    File \"setup.py\", line 46, in <module>\r\n      import ah_bootstrap  # noqa\r\n  ModuleNotFoundError: No module named 'ah_bootstrap'\r\n```\n", "before_files": [{"content": "#!/usr/bin/env python\n# This file is based havily on the astropy version here:\n# https://github.com/astropy/package-template/blob/master/setup.py\n# Which is licensed under the astropy license, see licenses/ASTROPY.rst.\n\n################################################################################\n###### YOU SHOULD NOT HAVE TO EDIT THIS FILE, YOU SHOULD EDIT setup.cfg. #######\n################################################################################\n# Note: This file needs to be Python 2 / <3.6 compatible, so that the nice\n# \"SunPy only supports Python 3.6+\" error prints without syntax errors etc.\n\nimport os\nimport sys\nimport glob\nimport builtins  # noqa\nimport itertools\n\ntry:\n    from configparser import ConfigParser\nexcept ImportError:\n    from ConfigParser import ConfigParser\n\n# Get some values from the setup.cfg\nconf = ConfigParser()\nconf.read(['setup.cfg'])\nmetadata = dict(conf.items('metadata'))\n\nPACKAGENAME = metadata.get('package_name', 'sunpy')\nDESCRIPTION = metadata.get('description', 'SunPy: Python for Solar Physics')\nAUTHOR = metadata.get('author', 'The SunPy Community')\nAUTHOR_EMAIL = metadata.get('author_email', '')\nLICENSE = metadata.get('license', 'unknown')\nURL = metadata.get('url', 'https://sunpy.org')\n__minimum_python_version__ = metadata.get(\"minimum_python_version\", \"3.6\")\n\n# Enforce Python version check - this is the same check as in __init__.py but\n# this one has to happen before importing ah_bootstrap.\nif sys.version_info < tuple((int(val) for val in __minimum_python_version__.split('.'))):\n    sys.stderr.write(\"ERROR: SunPy requires Python {} or later\\n\".format(__minimum_python_version__))\n    sys.exit(1)\n\nwith open(os.path.join(os.path.abspath(os.path.dirname(__file__)), 'README.rst'), encoding='utf-8') as f:\n    LONG_DESCRIPTION = f.read()\n\n# Import ah_bootstrap after the python version validation\nimport ah_bootstrap  # noqa\nfrom setuptools import setup  # noqa\nfrom astropy_helpers.git_helpers import get_git_devstr  # noqa\nfrom astropy_helpers.setup_helpers import get_package_info  # noqa\nfrom astropy_helpers.setup_helpers import get_debug_option, register_commands\nfrom astropy_helpers.version_helpers import generate_version_py  # noqa\n\nbuiltins._SUNPY_SETUP_ = True\n\n\n# -- Read the Docs Setup  -----------------------------------------------------\n\non_rtd = os.environ.get('READTHEDOCS', None) == 'True'\n\nif on_rtd:\n    os.environ['HOME'] = '/home/docs/'\n    os.environ['SUNPY_CONFIGDIR'] = '/home/docs/'\n\n# Store the package name in a built-in variable so it's easy\n# to get from other parts of the setup infrastructure\n# This is used by get_pkg_data in astropy amongst other things\nbuiltins._ASTROPY_PACKAGE_NAME_ = PACKAGENAME\n\n# VERSION should be PEP440 compatible (http://www.python.org/dev/peps/pep-0440)\nVERSION = metadata.get('version', '0.0.dev0')\n\n# Indicates if this version is a release version\nRELEASE = 'dev' not in VERSION\n\nif not RELEASE:\n    VERSION += get_git_devstr(False)\n\n# Populate the dict of setup command overrides; this should be done before\n# invoking any other functionality from distutils since it can potentially\n# modify distutils' behaviour.\ncmdclassd = register_commands(PACKAGENAME, VERSION, RELEASE)\n\ntry:\n    from sunpy.tests.setup_command import SunPyTest\n    # Overwrite the Astropy Testing framework\n    cmdclassd['test'] = type('SunPyTest', (SunPyTest,),\n                             {'package_name': 'sunpy'})\n\nexcept Exception:\n    # Catch everything, if it doesn't work, we still want SunPy to install.\n    pass\n\n# Freeze build information in version.py\ngenerate_version_py(PACKAGENAME, VERSION, RELEASE,\n                    get_debug_option(PACKAGENAME))\n\n# Treat everything in scripts except README* as a script to be installed\nscripts = [fname for fname in glob.glob(os.path.join('scripts', '*'))\n           if not os.path.basename(fname).startswith('README')]\n\n\n# Get configuration information from all of the various subpackages.\n# See the docstring for setup_helpers.update_package_files for more\n# details.\npackage_info = get_package_info()\n\n# Add the project-global data\npackage_info['package_data'].setdefault(PACKAGENAME, [])\npackage_info['package_data'][PACKAGENAME].append('data/*')\n\n# Define entry points for command-line scripts\nentry_points = {'console_scripts': []}\n\nif conf.has_section('entry_points'):\n    entry_point_list = conf.items('entry_points')\n    for entry_point in entry_point_list:\n        entry_points['console_scripts'].append('{0} = {1}'.format(\n            entry_point[0], entry_point[1]))\n\n# Include all .c files, recursively, including those generated by\n# Cython, since we can not do this in MANIFEST.in with a \"dynamic\"\n# directory name.\nc_files = []\nfor root, dirs, files in os.walk(PACKAGENAME):\n    for filename in files:\n        if filename.endswith('.c'):\n            c_files.append(\n                os.path.join(\n                    os.path.relpath(root, PACKAGENAME), filename))\npackage_info['package_data'][PACKAGENAME].extend(c_files)\n\n\nextra_tags = [m.strip() for m in metadata.get(\"extra_requires\", \"\").split(',')]\nif extra_tags:\n    extras_require = {tag: [m.strip() for m in metadata[\"{tag}_requires\".format(tag=tag)].split(',')]\n                      for tag in extra_tags}\n    extras_require['all'] = list(itertools.chain.from_iterable(extras_require.values()))\nelse:\n    extras_require = None\n\n# Entry points\nentry_points['asdf_extensions'] = [\n    'sunpy = sunpy.io.special.asdf.extension:SunpyExtension',\n]\n\nsetup(name=PACKAGENAME,\n      version=VERSION,\n      description=DESCRIPTION,\n      scripts=scripts,\n      setup_requires=[s.strip() for s in metadata.get(\"setup_requires\", \"\").split(',')],\n      install_requires=[s.strip() for s in metadata['install_requires'].split(',')],\n      extras_require=extras_require,\n      tests_require=extras_require.get(\"all\", \"\"),\n      author=AUTHOR,\n      author_email=AUTHOR_EMAIL,\n      license=LICENSE,\n      url=URL,\n      project_urls={'Funding': 'https://www.flipcause.com/widget/widget_home/MTgxMTU=',\n                    'Source': 'https://github.com/sunpy/sunpy/',\n                    'Tracker': 'https://github.com/sunpy/sunpy/issues'\n                    },\n      long_description=LONG_DESCRIPTION,\n      long_description_content_type='text/x-rst',\n      cmdclass=cmdclassd,\n      zip_safe=False,\n      entry_points=entry_points,\n      python_requires='>={}'.format(__minimum_python_version__),\n      include_package_data=True,\n      **package_info\n      )\n", "path": "setup.py"}], "after_files": [{"content": "#!/usr/bin/env python\n# This file is based havily on the astropy version here:\n# https://github.com/astropy/package-template/blob/master/setup.py\n# Which is licensed under the astropy license, see licenses/ASTROPY.rst.\n\n################################################################################\n###### YOU SHOULD NOT HAVE TO EDIT THIS FILE, YOU SHOULD EDIT setup.cfg. #######\n################################################################################\n# Note: This file needs to be Python 2 / <3.6 compatible, so that the nice\n# \"SunPy only supports Python 3.6+\" error prints without syntax errors etc.\n\nimport os\nimport sys\nimport glob\nimport builtins  # noqa\nimport itertools\n\n# Fix for https://github.com/pypa/pip/issues/6163\nsys.path.insert(0, os.path.dirname(__file__))\n\ntry:\n    from configparser import ConfigParser\nexcept ImportError:\n    from ConfigParser import ConfigParser\n\n# Get some values from the setup.cfg\nconf = ConfigParser()\nconf.read(['setup.cfg'])\nmetadata = dict(conf.items('metadata'))\n\nPACKAGENAME = metadata.get('package_name', 'sunpy')\nDESCRIPTION = metadata.get('description', 'SunPy: Python for Solar Physics')\nAUTHOR = metadata.get('author', 'The SunPy Community')\nAUTHOR_EMAIL = metadata.get('author_email', '')\nLICENSE = metadata.get('license', 'unknown')\nURL = metadata.get('url', 'https://sunpy.org')\n__minimum_python_version__ = metadata.get(\"minimum_python_version\", \"3.6\")\n\n# Enforce Python version check - this is the same check as in __init__.py but\n# this one has to happen before importing ah_bootstrap.\nif sys.version_info < tuple((int(val) for val in __minimum_python_version__.split('.'))):\n    sys.stderr.write(\"ERROR: SunPy requires Python {} or later\\n\".format(__minimum_python_version__))\n    sys.exit(1)\n\nwith open(os.path.join(os.path.abspath(os.path.dirname(__file__)), 'README.rst'), encoding='utf-8') as f:\n    LONG_DESCRIPTION = f.read()\n\n# Import ah_bootstrap after the python version validation\nimport ah_bootstrap  # noqa\nfrom setuptools import setup  # noqa\nfrom astropy_helpers.git_helpers import get_git_devstr  # noqa\nfrom astropy_helpers.setup_helpers import get_package_info  # noqa\nfrom astropy_helpers.setup_helpers import get_debug_option, register_commands\nfrom astropy_helpers.version_helpers import generate_version_py  # noqa\n\nbuiltins._SUNPY_SETUP_ = True\n\n\n# -- Read the Docs Setup  -----------------------------------------------------\n\non_rtd = os.environ.get('READTHEDOCS', None) == 'True'\n\nif on_rtd:\n    os.environ['HOME'] = '/home/docs/'\n    os.environ['SUNPY_CONFIGDIR'] = '/home/docs/'\n\n# Store the package name in a built-in variable so it's easy\n# to get from other parts of the setup infrastructure\n# This is used by get_pkg_data in astropy amongst other things\nbuiltins._ASTROPY_PACKAGE_NAME_ = PACKAGENAME\n\n# VERSION should be PEP440 compatible (http://www.python.org/dev/peps/pep-0440)\nVERSION = metadata.get('version', '0.0.dev0')\n\n# Indicates if this version is a release version\nRELEASE = 'dev' not in VERSION\n\nif not RELEASE:\n    VERSION += get_git_devstr(False)\n\n# Populate the dict of setup command overrides; this should be done before\n# invoking any other functionality from distutils since it can potentially\n# modify distutils' behaviour.\ncmdclassd = register_commands(PACKAGENAME, VERSION, RELEASE)\n\ntry:\n    from sunpy.tests.setup_command import SunPyTest\n    # Overwrite the Astropy Testing framework\n    cmdclassd['test'] = type('SunPyTest', (SunPyTest,),\n                             {'package_name': 'sunpy'})\n\nexcept Exception:\n    # Catch everything, if it doesn't work, we still want SunPy to install.\n    pass\n\n# Freeze build information in version.py\ngenerate_version_py(PACKAGENAME, VERSION, RELEASE,\n                    get_debug_option(PACKAGENAME))\n\n# Treat everything in scripts except README* as a script to be installed\nscripts = [fname for fname in glob.glob(os.path.join('scripts', '*'))\n           if not os.path.basename(fname).startswith('README')]\n\n\n# Get configuration information from all of the various subpackages.\n# See the docstring for setup_helpers.update_package_files for more\n# details.\npackage_info = get_package_info()\n\n# Add the project-global data\npackage_info['package_data'].setdefault(PACKAGENAME, [])\npackage_info['package_data'][PACKAGENAME].append('data/*')\n\n# Define entry points for command-line scripts\nentry_points = {'console_scripts': []}\n\nif conf.has_section('entry_points'):\n    entry_point_list = conf.items('entry_points')\n    for entry_point in entry_point_list:\n        entry_points['console_scripts'].append('{0} = {1}'.format(\n            entry_point[0], entry_point[1]))\n\n# Include all .c files, recursively, including those generated by\n# Cython, since we can not do this in MANIFEST.in with a \"dynamic\"\n# directory name.\nc_files = []\nfor root, dirs, files in os.walk(PACKAGENAME):\n    for filename in files:\n        if filename.endswith('.c'):\n            c_files.append(\n                os.path.join(\n                    os.path.relpath(root, PACKAGENAME), filename))\npackage_info['package_data'][PACKAGENAME].extend(c_files)\n\n\nextra_tags = [m.strip() for m in metadata.get(\"extra_requires\", \"\").split(',')]\nif extra_tags:\n    extras_require = {tag: [m.strip() for m in metadata[\"{tag}_requires\".format(tag=tag)].split(',')]\n                      for tag in extra_tags}\n    extras_require['all'] = list(itertools.chain.from_iterable(extras_require.values()))\nelse:\n    extras_require = None\n\n# Entry points\nentry_points['asdf_extensions'] = [\n    'sunpy = sunpy.io.special.asdf.extension:SunpyExtension',\n]\n\nsetup(name=PACKAGENAME,\n      version=VERSION,\n      description=DESCRIPTION,\n      scripts=scripts,\n      setup_requires=[s.strip() for s in metadata.get(\"setup_requires\", \"\").split(',')],\n      install_requires=[s.strip() for s in metadata['install_requires'].split(',')],\n      extras_require=extras_require,\n      tests_require=extras_require.get(\"all\", \"\"),\n      author=AUTHOR,\n      author_email=AUTHOR_EMAIL,\n      license=LICENSE,\n      url=URL,\n      project_urls={'Funding': 'https://www.flipcause.com/widget/widget_home/MTgxMTU=',\n                    'Source': 'https://github.com/sunpy/sunpy/',\n                    'Tracker': 'https://github.com/sunpy/sunpy/issues'\n                    },\n      long_description=LONG_DESCRIPTION,\n      long_description_content_type='text/x-rst',\n      cmdclass=cmdclassd,\n      zip_safe=False,\n      entry_points=entry_points,\n      python_requires='>={}'.format(__minimum_python_version__),\n      include_package_data=True,\n      **package_info\n      )\n", "path": "setup.py"}]}