We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
outdated param dependency
it seems panel 0.8 uses `CalendarDateRange` from param. This [was introduced in param 1.9.2](https://github.com/holoviz/param/releases/tag/v1.9.2), but the param dependency is still at >=1.9.0
https://github.com/holoviz/panel/blob/master/setup.py#L93

This can lead to errors like 
```
    param.CalendarDateRange: DateRangeSlider,
AttributeError: module 'param' has no attribute 'CalendarDateRange'
```
when upgrading to panel 0.8.0.
Will make a simple PR to fix this

--- 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 
3 import os
4 import shutil
5 import sys
6 import json
7 
8 from setuptools import setup, find_packages
9 from setuptools.command.develop import develop
10 from setuptools.command.install import install
11 from setuptools.command.sdist import sdist
12 
13 import pyct.build
14 
15 
16 def get_setup_version(reponame):
17     """
18     Helper to get the current version from either git describe or the
19     .version file (if available).
20     """
21     basepath = os.path.split(__file__)[0]
22     version_file_path = os.path.join(basepath, reponame, '.version')
23     try:
24         from param import version
25     except Exception:
26         version = None
27     if version is not None:
28         return version.Version.setup_version(basepath, reponame, archive_commit="$Format:%h$")
29     else:
30         print("WARNING: param>=1.6.0 unavailable. If you are installing a package, "
31               "this warning can safely be ignored. If you are creating a package or "
32               "otherwise operating in a git repository, you should install param>=1.6.0.")
33         return json.load(open(version_file_path, 'r'))['version_string']
34 
35 
36 def _build_paneljs():
37     from bokeh.ext import build
38     print("Building custom models:")
39     panel_dir = os.path.join(os.path.dirname(__file__), "panel")
40     build(panel_dir)
41 
42 
43 class CustomDevelopCommand(develop):
44     """Custom installation for development mode."""
45 
46     def run(self):
47         _build_paneljs()
48         develop.run(self)
49 
50 
51 class CustomInstallCommand(install):
52     """Custom installation for install mode."""
53 
54     def run(self):
55         _build_paneljs()
56         install.run(self)
57 
58 
59 class CustomSdistCommand(sdist):
60     """Custom installation for sdist mode."""
61 
62     def run(self):
63         _build_paneljs()
64         sdist.run(self)
65 
66 
67 _COMMANDS = {
68     'develop': CustomDevelopCommand,
69     'install': CustomInstallCommand,
70     'sdist':   CustomSdistCommand,
71 }
72 
73 try:
74     from wheel.bdist_wheel import bdist_wheel
75 
76     class CustomBdistWheelCommand(bdist_wheel):
77         """Custom bdist_wheel command to force cancelling qiskit-terra wheel
78         creation."""
79 
80         def run(self):
81             """Do nothing so the command intentionally fails."""
82             _build_paneljs()
83             bdist_wheel.run(self)
84 
85     _COMMANDS['bdist_wheel'] = CustomBdistWheelCommand
86 except Exception:
87     pass
88 
89 ########## dependencies ##########
90 
91 install_requires = [
92     'bokeh >=1.4.0,<2.0',
93     'param >=1.9.0',
94     'pyviz_comms >=0.7.3',
95     'markdown',
96     'tqdm',
97     'pyct >=0.4.4'
98 ]
99 
100 _recommended = [
101     'notebook >=5.4',
102     'holoviews >=1.12.0',
103     'matplotlib',
104     'pillow',
105     'plotly'
106 ]
107 
108 extras_require = {
109     'tests': [
110         'flake8',
111         'parameterized',
112         'pytest',
113         'scipy',
114         'nbsmoke >=0.2.0',
115         'pytest-cov',
116         'codecov',
117         # For examples
118         'hvplot',
119         'plotly',
120         'altair',
121         'streamz',
122         'vega_datasets',
123         'vtk',
124         'scikit-learn',
125         'datashader',
126         'jupyter_bokeh',
127         'django',
128         'pyvista',
129     ],
130     'recommended': _recommended,
131     'doc': _recommended + [
132         'nbsite >=0.6.1',
133         'sphinx_holoviz_theme',
134         'selenium',
135         'phantomjs',
136         'lxml',
137     ]
138 }
139 
140 extras_require['all'] = sorted(set(sum(extras_require.values(), [])))
141 
142 # Superset of what's in pyproject.toml (includes non-python
143 # dependencies).  Also, pyproject.toml isn't supported by all tools
144 # anyway (e.g. older versions of pip, or conda - which also supports
145 # non-python dependencies). Note that setup_requires isn't used
146 # because it doesn't work well with pip.
147 extras_require['build'] = [
148     'param >=1.9.0',
149     'pyct >=0.4.4',
150     'setuptools >=30.3.0',
151     'bokeh >=1.4.0',
152     'pyviz_comms >=0.6.0',
153     # non-python dependency
154     'nodejs >=9.11.1',
155 ]
156 
157 setup_args = dict(
158     name='panel',
159     version=get_setup_version("panel"),
160     description='A high level app and dashboarding solution for Python.',
161     long_description=open('README.md').read() if os.path.isfile('README.md') else 'Consult README.md',
162     long_description_content_type="text/markdown",
163     author="HoloViz",
164     author_email="developers@holoviz.org",
165     maintainer="HoloViz",
166     maintainer_email="developers@holoviz.org",
167     platforms=['Windows', 'Mac OS X', 'Linux'],
168     license='BSD',
169     url='http://panel.holoviz.org',
170     cmdclass=_COMMANDS,
171     packages=find_packages(),
172     include_package_data=True,
173     classifiers=[
174         "License :: OSI Approved :: BSD License",
175         "Development Status :: 5 - Production/Stable",
176         "Programming Language :: Python :: 2.7",
177         "Programming Language :: Python :: 3",
178         "Programming Language :: Python :: 3.6",
179         "Programming Language :: Python :: 3.7",
180         "Operating System :: OS Independent",
181         "Intended Audience :: Developers",
182         "Intended Audience :: Science/Research",
183         "Intended Audience :: Financial and Insurance Industry",
184         "Intended Audience :: Healthcare Industry",
185         "Intended Audience :: Information Technology",
186         "Intended Audience :: Legal Industry",
187         "Intended Audience :: Other Audience",
188         "Intended Audience :: Science/Research",
189         "Natural Language :: English",
190         "Topic :: Scientific/Engineering",
191         "Topic :: Scientific/Engineering :: Visualization",
192         "Topic :: Scientific/Engineering :: Information Analysis",
193         "Topic :: Office/Business",
194         "Topic :: Office/Business :: Financial",
195         "Topic :: Software Development :: Libraries"],
196     python_requires=">=2.7",
197     entry_points={
198         'console_scripts': [
199             'panel = panel.cli:main'
200         ]},
201     install_requires=install_requires,
202     extras_require=extras_require,
203     tests_require=extras_require['tests']
204 )
205 
206 if __name__ == "__main__":
207     example_path = os.path.join(os.path.dirname(os.path.abspath(__file__)),
208                                 'panel', 'examples')
209 
210     if 'develop' not in sys.argv and 'egg_info' not in sys.argv:
211         pyct.build.examples(example_path, __file__, force=True)
212 
213     setup(**setup_args)
214 
215     if os.path.isdir(example_path):
216         shutil.rmtree(example_path)
217
```
--- 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
@@ -142,7 +142,7 @@
 # non-python dependencies). Note that setup_requires isn't used
 # because it doesn't work well with pip.
 extras_require['build'] = [
-    'param >=1.9.0',
+    'param >=1.9.2',
     'pyct >=0.4.4',
     'setuptools >=30.3.0',
     'bokeh >=1.4.0',

{"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -142,7 +142,7 @@\n # non-python dependencies). Note that setup_requires isn't used\n # because it doesn't work well with pip.\n extras_require['build'] = [\n-    'param >=1.9.0',\n+    'param >=1.9.2',\n     'pyct >=0.4.4',\n     'setuptools >=30.3.0',\n     'bokeh >=1.4.0',\n", "issue": "outdated param dependency\nit seems panel 0.8 uses `CalendarDateRange` from param. This [was introduced in param 1.9.2](https://github.com/holoviz/param/releases/tag/v1.9.2), but the param dependency is still at >=1.9.0\r\nhttps://github.com/holoviz/panel/blob/master/setup.py#L93\r\n\r\nThis can lead to errors like \r\n```\r\n    param.CalendarDateRange: DateRangeSlider,\r\nAttributeError: module 'param' has no attribute 'CalendarDateRange'\r\n```\r\nwhen upgrading to panel 0.8.0.\r\nWill make a simple PR to fix this\n", "before_files": [{"content": "#!/usr/bin/env python\n\nimport os\nimport shutil\nimport sys\nimport json\n\nfrom setuptools import setup, find_packages\nfrom setuptools.command.develop import develop\nfrom setuptools.command.install import install\nfrom setuptools.command.sdist import sdist\n\nimport pyct.build\n\n\ndef get_setup_version(reponame):\n    \"\"\"\n    Helper to get the current version from either git describe or the\n    .version file (if available).\n    \"\"\"\n    basepath = os.path.split(__file__)[0]\n    version_file_path = os.path.join(basepath, reponame, '.version')\n    try:\n        from param import version\n    except Exception:\n        version = None\n    if version is not None:\n        return version.Version.setup_version(basepath, reponame, archive_commit=\"$Format:%h$\")\n    else:\n        print(\"WARNING: param>=1.6.0 unavailable. If you are installing a package, \"\n              \"this warning can safely be ignored. If you are creating a package or \"\n              \"otherwise operating in a git repository, you should install param>=1.6.0.\")\n        return json.load(open(version_file_path, 'r'))['version_string']\n\n\ndef _build_paneljs():\n    from bokeh.ext import build\n    print(\"Building custom models:\")\n    panel_dir = os.path.join(os.path.dirname(__file__), \"panel\")\n    build(panel_dir)\n\n\nclass CustomDevelopCommand(develop):\n    \"\"\"Custom installation for development mode.\"\"\"\n\n    def run(self):\n        _build_paneljs()\n        develop.run(self)\n\n\nclass CustomInstallCommand(install):\n    \"\"\"Custom installation for install mode.\"\"\"\n\n    def run(self):\n        _build_paneljs()\n        install.run(self)\n\n\nclass CustomSdistCommand(sdist):\n    \"\"\"Custom installation for sdist mode.\"\"\"\n\n    def run(self):\n        _build_paneljs()\n        sdist.run(self)\n\n\n_COMMANDS = {\n    'develop': CustomDevelopCommand,\n    'install': CustomInstallCommand,\n    'sdist':   CustomSdistCommand,\n}\n\ntry:\n    from wheel.bdist_wheel import bdist_wheel\n\n    class CustomBdistWheelCommand(bdist_wheel):\n        \"\"\"Custom bdist_wheel command to force cancelling qiskit-terra wheel\n        creation.\"\"\"\n\n        def run(self):\n            \"\"\"Do nothing so the command intentionally fails.\"\"\"\n            _build_paneljs()\n            bdist_wheel.run(self)\n\n    _COMMANDS['bdist_wheel'] = CustomBdistWheelCommand\nexcept Exception:\n    pass\n\n########## dependencies ##########\n\ninstall_requires = [\n    'bokeh >=1.4.0,<2.0',\n    'param >=1.9.0',\n    'pyviz_comms >=0.7.3',\n    'markdown',\n    'tqdm',\n    'pyct >=0.4.4'\n]\n\n_recommended = [\n    'notebook >=5.4',\n    'holoviews >=1.12.0',\n    'matplotlib',\n    'pillow',\n    'plotly'\n]\n\nextras_require = {\n    'tests': [\n        'flake8',\n        'parameterized',\n        'pytest',\n        'scipy',\n        'nbsmoke >=0.2.0',\n        'pytest-cov',\n        'codecov',\n        # For examples\n        'hvplot',\n        'plotly',\n        'altair',\n        'streamz',\n        'vega_datasets',\n        'vtk',\n        'scikit-learn',\n        'datashader',\n        'jupyter_bokeh',\n        'django',\n        'pyvista',\n    ],\n    'recommended': _recommended,\n    'doc': _recommended + [\n        'nbsite >=0.6.1',\n        'sphinx_holoviz_theme',\n        'selenium',\n        'phantomjs',\n        'lxml',\n    ]\n}\n\nextras_require['all'] = sorted(set(sum(extras_require.values(), [])))\n\n# Superset of what's in pyproject.toml (includes non-python\n# dependencies).  Also, pyproject.toml isn't supported by all tools\n# anyway (e.g. older versions of pip, or conda - which also supports\n# non-python dependencies). Note that setup_requires isn't used\n# because it doesn't work well with pip.\nextras_require['build'] = [\n    'param >=1.9.0',\n    'pyct >=0.4.4',\n    'setuptools >=30.3.0',\n    'bokeh >=1.4.0',\n    'pyviz_comms >=0.6.0',\n    # non-python dependency\n    'nodejs >=9.11.1',\n]\n\nsetup_args = dict(\n    name='panel',\n    version=get_setup_version(\"panel\"),\n    description='A high level app and dashboarding solution for Python.',\n    long_description=open('README.md').read() if os.path.isfile('README.md') else 'Consult README.md',\n    long_description_content_type=\"text/markdown\",\n    author=\"HoloViz\",\n    author_email=\"developers@holoviz.org\",\n    maintainer=\"HoloViz\",\n    maintainer_email=\"developers@holoviz.org\",\n    platforms=['Windows', 'Mac OS X', 'Linux'],\n    license='BSD',\n    url='http://panel.holoviz.org',\n    cmdclass=_COMMANDS,\n    packages=find_packages(),\n    include_package_data=True,\n    classifiers=[\n        \"License :: OSI Approved :: BSD License\",\n        \"Development Status :: 5 - Production/Stable\",\n        \"Programming Language :: Python :: 2.7\",\n        \"Programming Language :: Python :: 3\",\n        \"Programming Language :: Python :: 3.6\",\n        \"Programming Language :: Python :: 3.7\",\n        \"Operating System :: OS Independent\",\n        \"Intended Audience :: Developers\",\n        \"Intended Audience :: Science/Research\",\n        \"Intended Audience :: Financial and Insurance Industry\",\n        \"Intended Audience :: Healthcare Industry\",\n        \"Intended Audience :: Information Technology\",\n        \"Intended Audience :: Legal Industry\",\n        \"Intended Audience :: Other Audience\",\n        \"Intended Audience :: Science/Research\",\n        \"Natural Language :: English\",\n        \"Topic :: Scientific/Engineering\",\n        \"Topic :: Scientific/Engineering :: Visualization\",\n        \"Topic :: Scientific/Engineering :: Information Analysis\",\n        \"Topic :: Office/Business\",\n        \"Topic :: Office/Business :: Financial\",\n        \"Topic :: Software Development :: Libraries\"],\n    python_requires=\">=2.7\",\n    entry_points={\n        'console_scripts': [\n            'panel = panel.cli:main'\n        ]},\n    install_requires=install_requires,\n    extras_require=extras_require,\n    tests_require=extras_require['tests']\n)\n\nif __name__ == \"__main__\":\n    example_path = os.path.join(os.path.dirname(os.path.abspath(__file__)),\n                                'panel', 'examples')\n\n    if 'develop' not in sys.argv and 'egg_info' not in sys.argv:\n        pyct.build.examples(example_path, __file__, force=True)\n\n    setup(**setup_args)\n\n    if os.path.isdir(example_path):\n        shutil.rmtree(example_path)\n", "path": "setup.py"}], "after_files": [{"content": "#!/usr/bin/env python\n\nimport os\nimport shutil\nimport sys\nimport json\n\nfrom setuptools import setup, find_packages\nfrom setuptools.command.develop import develop\nfrom setuptools.command.install import install\nfrom setuptools.command.sdist import sdist\n\nimport pyct.build\n\n\ndef get_setup_version(reponame):\n    \"\"\"\n    Helper to get the current version from either git describe or the\n    .version file (if available).\n    \"\"\"\n    basepath = os.path.split(__file__)[0]\n    version_file_path = os.path.join(basepath, reponame, '.version')\n    try:\n        from param import version\n    except:\n        version = None\n    if version is not None:\n        return version.Version.setup_version(basepath, reponame, archive_commit=\"$Format:%h$\")\n    else:\n        print(\"WARNING: param>=1.6.0 unavailable. If you are installing a package, this warning can safely be ignored. If you are creating a package or otherwise operating in a git repository, you should install param>=1.6.0.\")\n        return json.load(open(version_file_path, 'r'))['version_string']\n\n\ndef _build_paneljs():\n    from bokeh.ext import build\n    print(\"Building custom models:\")\n    panel_dir = os.path.join(os.path.dirname(__file__), \"panel\")\n    build(panel_dir)\n\n\nclass CustomDevelopCommand(develop):\n    \"\"\"Custom installation for development mode.\"\"\"\n\n    def run(self):\n        _build_paneljs()\n        develop.run(self)\n\n\nclass CustomInstallCommand(install):\n    \"\"\"Custom installation for install mode.\"\"\"\n\n    def run(self):\n        _build_paneljs()\n        install.run(self)\n\n\nclass CustomSdistCommand(sdist):\n    \"\"\"Custom installation for sdist mode.\"\"\"\n\n    def run(self):\n        _build_paneljs()\n        sdist.run(self)\n\n\n_COMMANDS = {\n    'develop': CustomDevelopCommand,\n    'install': CustomInstallCommand,\n    'sdist':   CustomSdistCommand,\n}\n\ntry:\n    from wheel.bdist_wheel import bdist_wheel\n\n    class CustomBdistWheelCommand(bdist_wheel):\n        \"\"\"Custom bdist_wheel command to force cancelling qiskit-terra wheel\n        creation.\"\"\"\n\n        def run(self):\n            \"\"\"Do nothing so the command intentionally fails.\"\"\"\n            _build_paneljs()\n            bdist_wheel.run(self)\n\n    _COMMANDS['bdist_wheel'] = CustomBdistWheelCommand\nexcept:\n    pass\n\n########## dependencies ##########\n\ninstall_requires = [\n    'bokeh >=1.4.0',\n    'param >=1.9.0',\n    'pyviz_comms >=0.7.2',\n    'markdown',\n    'pyct >=0.4.4'\n]\n\n_recommended = [\n    'notebook >=5.4',\n    'holoviews >=1.12.0',\n    'matplotlib',\n    'pillow',\n    'plotly'\n]\n\nextras_require = {\n    'tests': [\n        'flake8',\n        'parameterized',\n        'pytest',\n        'scipy',\n        'nbsmoke >=0.2.0',\n        'pytest-cov',\n        'codecov',\n        # For examples\n        'hvplot',\n        'plotly',\n        'altair',\n        'streamz',\n        'vega_datasets',\n        'vtk',\n        'scikit-learn',\n        'datashader',\n        'jupyter_bokeh',\n        'nodejs'\n    ],\n    'recommended': _recommended,\n    'doc': _recommended + [\n        'nbsite >=0.6.1',\n        'sphinx_holoviz_theme',\n        'selenium',\n        'phantomjs',\n        'lxml',\n        'pyvista'\n    ]\n}\n\nextras_require['all'] = sorted(set(sum(extras_require.values(), [])))\n\n# Superset of what's in pyproject.toml (includes non-python\n# dependencies).  Also, pyproject.toml isn't supported by all tools\n# anyway (e.g. older versions of pip, or conda - which also supports\n# non-python dependencies). Note that setup_requires isn't used\n# because it doesn't work well with pip.\nextras_require['build'] = [\n    'param >=1.9.2',\n    'pyct >=0.4.4',\n    'setuptools >=30.3.0',\n    'bokeh >=1.4.0',\n    'pyviz_comms >=0.6.0',\n    # non-python dependency\n    'nodejs >=9.11.1',\n]\n\nsetup_args = dict(\n    name='panel',\n    version=get_setup_version(\"panel\"),\n    description='A high level dashboarding library for python visualization libraries.',\n    long_description=open('README.md').read() if os.path.isfile('README.md') else 'Consult README.md',\n    long_description_content_type=\"text/markdown\",\n    author=\"PyViz developers\",\n    author_email=\"developers@pyviz.org\",\n    maintainer=\"PyViz\",\n    maintainer_email=\"developers@pyviz.org\",\n    platforms=['Windows', 'Mac OS X', 'Linux'],\n    license='BSD',\n    url='http://pyviz.org',\n    cmdclass=_COMMANDS,\n    packages=find_packages(),\n    include_package_data=True,\n    classifiers=[\n        \"License :: OSI Approved :: BSD License\",\n        \"Development Status :: 5 - Production/Stable\",\n        \"Programming Language :: Python :: 2.7\",\n        \"Programming Language :: Python :: 3\",\n        \"Programming Language :: Python :: 3.6\",\n        \"Programming Language :: Python :: 3.7\",\n        \"Operating System :: OS Independent\",\n        \"Intended Audience :: Developers\",\n        \"Intended Audience :: Science/Research\",\n        \"Intended Audience :: Financial and Insurance Industry\",\n        \"Intended Audience :: Healthcare Industry\",\n        \"Intended Audience :: Information Technology\",\n        \"Intended Audience :: Legal Industry\",\n        \"Intended Audience :: Other Audience\",\n        \"Intended Audience :: Science/Research\",\n        \"Natural Language :: English\",\n        \"Topic :: Scientific/Engineering\",\n        \"Topic :: Scientific/Engineering :: Visualization\",\n        \"Topic :: Scientific/Engineering :: Information Analysis\",\n        \"Topic :: Office/Business\",\n        \"Topic :: Office/Business :: Financial\",\n        \"Topic :: Software Development :: Libraries\"],\n    python_requires=\">=2.7\",\n    entry_points={\n        'console_scripts': [\n            'panel = panel.cli:main'\n        ]},\n    install_requires=install_requires,\n    extras_require=extras_require,\n    tests_require=extras_require['tests']\n)\n\nif __name__ == \"__main__\":\n    example_path = os.path.join(os.path.dirname(os.path.abspath(__file__)),\n                                'panel', 'examples')\n\n    if 'develop' not in sys.argv and 'egg_info' not in sys.argv:\n        pyct.build.examples(example_path, __file__, force=True)\n\n    setup(**setup_args)\n\n    if os.path.isdir(example_path):\n        shutil.rmtree(example_path)\n", "path": "setup.py"}]}