We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Missing dataclasses
Following the tom_base install instructions, I pip installed the requirements.txt and then tried 
> ./manage.py migrate

which ended with the following error:
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
  File "/Users/rstreet/software/tom_base/tom_alerts/urls.py", line 3, in <module>
    from tom_alerts.views import BrokerQueryCreateView, BrokerQueryListView, BrokerQueryUpdateView, RunQueryView
  File "/Users/rstreet/software/tom_base/tom_alerts/views.py", line 3, in <module>
    from tom_alerts.alerts import get_service_class, get_service_classes
  File "/Users/rstreet/software/tom_base/tom_alerts/alerts.py", line 5, in <module>
    from dataclasses import dataclass
ModuleNotFoundError: No module named 'dataclasses'


--- 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 from os import path
3 
4 here = path.abspath(path.dirname(__file__))
5 with open(path.join(here, 'README.md'), encoding='utf-8') as f:
6     long_description = f.read()
7 
8 setup(
9     name='tomtoolkit',
10     version='1.1.0',
11     description='The TOM Toolkit and base modules',
12     long_description=long_description,
13     long_description_content_type='text/markdown',
14     url='https://tomtoolkit.github.io',
15     author='TOM Toolkit Project',
16     author_email='ariba@lco.global',
17     classifiers=[
18         'Development Status :: 3 - Alpha',
19         'Intended Audience :: Science/Research',
20         'License :: OSI Approved :: BSD License',
21         'Operating System :: OS Independent',
22         'Programming Language :: Python :: 3',
23         'Programming Language :: Python :: 3.7',
24         'Topic :: Scientific/Engineering :: Astronomy',
25         'Topic :: Scientific/Engineering :: Physics'
26     ],
27     keywords=['tomtoolkit', 'astronomy', 'astrophysics', 'cosmology', 'science', 'fits', 'observatory'],
28     packages=find_packages(),
29     install_requires=[
30         'django',
31         'django-bootstrap4',
32         'django-extensions',
33         'django-filter',
34         'django-contrib-comments',
35         'django-gravatar2',
36         'django-crispy-forms',
37         'django-guardian',
38         'numpy',
39         'python-dateutil',
40         'requests',
41         'astroquery',
42         'astropy',
43         'astroplan',
44         'plotly',
45         'matplotlib',
46         'pillow',
47         'fits2image',
48         'specutils',
49     ],
50     extras_require={
51         'test': ['factory_boy']
52     },
53     include_package_data=True,
54 )
55
```
--- 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
@@ -46,6 +46,7 @@
         'pillow',
         'fits2image',
         'specutils',
+        "dataclasses; python_version < '3.7'",
     ],
     extras_require={
         'test': ['factory_boy']

{"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -46,6 +46,7 @@\n         'pillow',\n         'fits2image',\n         'specutils',\n+        \"dataclasses; python_version < '3.7'\",\n     ],\n     extras_require={\n         'test': ['factory_boy']\n", "issue": "Missing dataclasses\nFollowing the tom_base install instructions, I pip installed the requirements.txt and then tried \r\n> ./manage.py migrate\r\n\r\nwhich ended with the following error:\r\n  File \"<frozen importlib._bootstrap_external>\", line 678, in exec_module\r\n  File \"<frozen importlib._bootstrap>\", line 205, in _call_with_frames_removed\r\n  File \"/Users/rstreet/software/tom_base/tom_alerts/urls.py\", line 3, in <module>\r\n    from tom_alerts.views import BrokerQueryCreateView, BrokerQueryListView, BrokerQueryUpdateView, RunQueryView\r\n  File \"/Users/rstreet/software/tom_base/tom_alerts/views.py\", line 3, in <module>\r\n    from tom_alerts.alerts import get_service_class, get_service_classes\r\n  File \"/Users/rstreet/software/tom_base/tom_alerts/alerts.py\", line 5, in <module>\r\n    from dataclasses import dataclass\r\nModuleNotFoundError: No module named 'dataclasses'\r\n\n", "before_files": [{"content": "from setuptools import setup, find_packages\nfrom os import path\n\nhere = path.abspath(path.dirname(__file__))\nwith open(path.join(here, 'README.md'), encoding='utf-8') as f:\n    long_description = f.read()\n\nsetup(\n    name='tomtoolkit',\n    version='1.1.0',\n    description='The TOM Toolkit and base modules',\n    long_description=long_description,\n    long_description_content_type='text/markdown',\n    url='https://tomtoolkit.github.io',\n    author='TOM Toolkit Project',\n    author_email='ariba@lco.global',\n    classifiers=[\n        'Development Status :: 3 - Alpha',\n        'Intended Audience :: Science/Research',\n        'License :: OSI Approved :: BSD License',\n        'Operating System :: OS Independent',\n        'Programming Language :: Python :: 3',\n        'Programming Language :: Python :: 3.7',\n        'Topic :: Scientific/Engineering :: Astronomy',\n        'Topic :: Scientific/Engineering :: Physics'\n    ],\n    keywords=['tomtoolkit', 'astronomy', 'astrophysics', 'cosmology', 'science', 'fits', 'observatory'],\n    packages=find_packages(),\n    install_requires=[\n        'django',\n        'django-bootstrap4',\n        'django-extensions',\n        'django-filter',\n        'django-contrib-comments',\n        'django-gravatar2',\n        'django-crispy-forms',\n        'django-guardian',\n        'numpy',\n        'python-dateutil',\n        'requests',\n        'astroquery',\n        'astropy',\n        'astroplan',\n        'plotly',\n        'matplotlib',\n        'pillow',\n        'fits2image',\n        'specutils',\n    ],\n    extras_require={\n        'test': ['factory_boy']\n    },\n    include_package_data=True,\n)\n", "path": "setup.py"}], "after_files": [{"content": "from setuptools import setup, find_packages\nfrom os import path\n\nhere = path.abspath(path.dirname(__file__))\nwith open(path.join(here, 'README.md'), encoding='utf-8') as f:\n    long_description = f.read()\n\nsetup(\n    name='tomtoolkit',\n    version='1.1.0',\n    description='The TOM Toolkit and base modules',\n    long_description=long_description,\n    long_description_content_type='text/markdown',\n    url='https://tomtoolkit.github.io',\n    author='TOM Toolkit Project',\n    author_email='ariba@lco.global',\n    classifiers=[\n        'Development Status :: 3 - Alpha',\n        'Intended Audience :: Science/Research',\n        'License :: OSI Approved :: BSD License',\n        'Operating System :: OS Independent',\n        'Programming Language :: Python :: 3',\n        'Programming Language :: Python :: 3.7',\n        'Topic :: Scientific/Engineering :: Astronomy',\n        'Topic :: Scientific/Engineering :: Physics'\n    ],\n    keywords=['tomtoolkit', 'astronomy', 'astrophysics', 'cosmology', 'science', 'fits', 'observatory'],\n    packages=find_packages(),\n    install_requires=[\n        'django',\n        'django-bootstrap4',\n        'django-extensions',\n        'django-filter',\n        'django-contrib-comments',\n        'django-gravatar2',\n        'django-crispy-forms',\n        'django-guardian',\n        'numpy',\n        'python-dateutil',\n        'requests',\n        'astroquery',\n        'astropy',\n        'astroplan',\n        'plotly',\n        'matplotlib',\n        'pillow',\n        'fits2image',\n        'specutils',\n        \"dataclasses; python_version < '3.7'\",\n    ],\n    extras_require={\n        'test': ['factory_boy']\n    },\n    include_package_data=True,\n)\n", "path": "setup.py"}]}