We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Python 3.6.2 doesn't work with dbt 0.17.0
### Describe the bug
Running dbt on python <= 3.6.2 results in an error that `name 'TimestampSnapshotConfig' is not defined`. 3.6.3 is unaffected.

### Steps To Reproduce
Install python 3.6.2
Install dbt
Try to use dbt

### Expected behavior
dbt should run, not crash, etc


### System information
**Which database are you using dbt with?**
Any

**The output of `dbt --version`:**
```
0.17.0
```

**The operating system you're using:**
macos, linux

**The output of `python --version`:**
`Python 3.6.2`



--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `core/setup.py`
Content:
```
1 #!/usr/bin/env python
2 import os
3 import sys
4 
5 from setuptools import setup
6 try:
7     from setuptools import find_namespace_packages
8 except ImportError:
9     # the user has a downlevel version of setuptools.
10     print('Error: dbt requires setuptools v40.1.0 or higher.')
11     print('Please upgrade setuptools with "pip install --upgrade setuptools" '
12           'and try again')
13     sys.exit(1)
14 
15 
16 def read(fname):
17     return open(os.path.join(os.path.dirname(__file__), fname)).read()
18 
19 
20 package_name = "dbt-core"
21 package_version = "0.17.1a1"
22 description = """dbt (data build tool) is a command line tool that helps \
23 analysts and engineers transform data in their warehouse more effectively"""
24 
25 
26 setup(
27     name=package_name,
28     version=package_version,
29     description=description,
30     long_description=description,
31     author="Fishtown Analytics",
32     author_email="info@fishtownanalytics.com",
33     url="https://github.com/fishtown-analytics/dbt",
34     packages=find_namespace_packages(include=['dbt', 'dbt.*']),
35     package_data={
36         'dbt': [
37             'include/index.html',
38             'include/global_project/dbt_project.yml',
39             'include/global_project/docs/*.md',
40             'include/global_project/macros/*.sql',
41             'include/global_project/macros/**/*.sql',
42             'include/global_project/macros/**/**/*.sql',
43             'py.typed',
44         ]
45     },
46     test_suite='test',
47     entry_points={
48         'console_scripts': [
49             'dbt = dbt.main:main',
50         ],
51     },
52     scripts=[
53         'scripts/dbt',
54     ],
55     install_requires=[
56         'Jinja2==2.11.2',
57         'PyYAML>=3.11',
58         'sqlparse>=0.2.3,<0.4',
59         'networkx>=2.3,<3',
60         'minimal-snowplow-tracker==0.0.2',
61         'colorama>=0.3.9,<0.5',
62         'agate>=1.6,<2',
63         'isodate>=0.6,<0.7',
64         'json-rpc>=1.12,<2',
65         'werkzeug>=0.15,<0.17',
66         'dataclasses==0.6;python_version<"3.7"',
67         'hologram==0.0.7',
68         'logbook>=1.5,<1.6',
69         'typing-extensions>=3.7.4,<3.8',
70         # the following are all to match snowflake-connector-python
71         'requests>=2.18.0,<2.23.0',
72         'idna<2.9',
73         'cffi>=1.9,<1.14',
74     ],
75     zip_safe=False,
76     classifiers=[
77         'Development Status :: 5 - Production/Stable',
78 
79         'License :: OSI Approved :: Apache Software License',
80 
81         'Operating System :: Microsoft :: Windows',
82         'Operating System :: MacOS :: MacOS X',
83         'Operating System :: POSIX :: Linux',
84 
85         'Programming Language :: Python :: 3.6',
86         'Programming Language :: Python :: 3.7',
87         'Programming Language :: Python :: 3.8',
88     ],
89     python_requires=">=3.6.2",
90 )
91
```
--- 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/core/setup.py b/core/setup.py
--- a/core/setup.py
+++ b/core/setup.py
@@ -86,5 +86,5 @@
         'Programming Language :: Python :: 3.7',
         'Programming Language :: Python :: 3.8',
     ],
-    python_requires=">=3.6.2",
+    python_requires=">=3.6.3",
 )

{"golden_diff": "diff --git a/core/setup.py b/core/setup.py\n--- a/core/setup.py\n+++ b/core/setup.py\n@@ -86,5 +86,5 @@\n         'Programming Language :: Python :: 3.7',\n         'Programming Language :: Python :: 3.8',\n     ],\n-    python_requires=\">=3.6.2\",\n+    python_requires=\">=3.6.3\",\n )\n", "issue": "Python 3.6.2 doesn't work with dbt 0.17.0\n### Describe the bug\r\nRunning dbt on python <= 3.6.2 results in an error that `name 'TimestampSnapshotConfig' is not defined`. 3.6.3 is unaffected.\r\n\r\n### Steps To Reproduce\r\nInstall python 3.6.2\r\nInstall dbt\r\nTry to use dbt\r\n\r\n### Expected behavior\r\ndbt should run, not crash, etc\r\n\r\n\r\n### System information\r\n**Which database are you using dbt with?**\r\nAny\r\n\r\n**The output of `dbt --version`:**\r\n```\r\n0.17.0\r\n```\r\n\r\n**The operating system you're using:**\r\nmacos, linux\r\n\r\n**The output of `python --version`:**\r\n`Python 3.6.2`\r\n\r\n\n", "before_files": [{"content": "#!/usr/bin/env python\nimport os\nimport sys\n\nfrom setuptools import setup\ntry:\n    from setuptools import find_namespace_packages\nexcept ImportError:\n    # the user has a downlevel version of setuptools.\n    print('Error: dbt requires setuptools v40.1.0 or higher.')\n    print('Please upgrade setuptools with \"pip install --upgrade setuptools\" '\n          'and try again')\n    sys.exit(1)\n\n\ndef read(fname):\n    return open(os.path.join(os.path.dirname(__file__), fname)).read()\n\n\npackage_name = \"dbt-core\"\npackage_version = \"0.17.1a1\"\ndescription = \"\"\"dbt (data build tool) is a command line tool that helps \\\nanalysts and engineers transform data in their warehouse more effectively\"\"\"\n\n\nsetup(\n    name=package_name,\n    version=package_version,\n    description=description,\n    long_description=description,\n    author=\"Fishtown Analytics\",\n    author_email=\"info@fishtownanalytics.com\",\n    url=\"https://github.com/fishtown-analytics/dbt\",\n    packages=find_namespace_packages(include=['dbt', 'dbt.*']),\n    package_data={\n        'dbt': [\n            'include/index.html',\n            'include/global_project/dbt_project.yml',\n            'include/global_project/docs/*.md',\n            'include/global_project/macros/*.sql',\n            'include/global_project/macros/**/*.sql',\n            'include/global_project/macros/**/**/*.sql',\n            'py.typed',\n        ]\n    },\n    test_suite='test',\n    entry_points={\n        'console_scripts': [\n            'dbt = dbt.main:main',\n        ],\n    },\n    scripts=[\n        'scripts/dbt',\n    ],\n    install_requires=[\n        'Jinja2==2.11.2',\n        'PyYAML>=3.11',\n        'sqlparse>=0.2.3,<0.4',\n        'networkx>=2.3,<3',\n        'minimal-snowplow-tracker==0.0.2',\n        'colorama>=0.3.9,<0.5',\n        'agate>=1.6,<2',\n        'isodate>=0.6,<0.7',\n        'json-rpc>=1.12,<2',\n        'werkzeug>=0.15,<0.17',\n        'dataclasses==0.6;python_version<\"3.7\"',\n        'hologram==0.0.7',\n        'logbook>=1.5,<1.6',\n        'typing-extensions>=3.7.4,<3.8',\n        # the following are all to match snowflake-connector-python\n        'requests>=2.18.0,<2.23.0',\n        'idna<2.9',\n        'cffi>=1.9,<1.14',\n    ],\n    zip_safe=False,\n    classifiers=[\n        'Development Status :: 5 - Production/Stable',\n\n        'License :: OSI Approved :: Apache Software License',\n\n        'Operating System :: Microsoft :: Windows',\n        'Operating System :: MacOS :: MacOS X',\n        'Operating System :: POSIX :: Linux',\n\n        'Programming Language :: Python :: 3.6',\n        'Programming Language :: Python :: 3.7',\n        'Programming Language :: Python :: 3.8',\n    ],\n    python_requires=\">=3.6.2\",\n)\n", "path": "core/setup.py"}], "after_files": [{"content": "#!/usr/bin/env python\nimport os\nimport sys\n\nfrom setuptools import setup\ntry:\n    from setuptools import find_namespace_packages\nexcept ImportError:\n    # the user has a downlevel version of setuptools.\n    print('Error: dbt requires setuptools v40.1.0 or higher.')\n    print('Please upgrade setuptools with \"pip install --upgrade setuptools\" '\n          'and try again')\n    sys.exit(1)\n\n\ndef read(fname):\n    return open(os.path.join(os.path.dirname(__file__), fname)).read()\n\n\npackage_name = \"dbt-core\"\npackage_version = \"0.17.1a1\"\ndescription = \"\"\"dbt (data build tool) is a command line tool that helps \\\nanalysts and engineers transform data in their warehouse more effectively\"\"\"\n\n\nsetup(\n    name=package_name,\n    version=package_version,\n    description=description,\n    long_description=description,\n    author=\"Fishtown Analytics\",\n    author_email=\"info@fishtownanalytics.com\",\n    url=\"https://github.com/fishtown-analytics/dbt\",\n    packages=find_namespace_packages(include=['dbt', 'dbt.*']),\n    package_data={\n        'dbt': [\n            'include/index.html',\n            'include/global_project/dbt_project.yml',\n            'include/global_project/docs/*.md',\n            'include/global_project/macros/*.sql',\n            'include/global_project/macros/**/*.sql',\n            'include/global_project/macros/**/**/*.sql',\n            'py.typed',\n        ]\n    },\n    test_suite='test',\n    entry_points={\n        'console_scripts': [\n            'dbt = dbt.main:main',\n        ],\n    },\n    scripts=[\n        'scripts/dbt',\n    ],\n    install_requires=[\n        'Jinja2==2.11.2',\n        'PyYAML>=3.11',\n        'sqlparse>=0.2.3,<0.4',\n        'networkx>=2.3,<3',\n        'minimal-snowplow-tracker==0.0.2',\n        'colorama>=0.3.9,<0.5',\n        'agate>=1.6,<2',\n        'isodate>=0.6,<0.7',\n        'json-rpc>=1.12,<2',\n        'werkzeug>=0.15,<0.17',\n        'dataclasses==0.6;python_version<\"3.7\"',\n        'hologram==0.0.7',\n        'logbook>=1.5,<1.6',\n        'typing-extensions>=3.7.4,<3.8',\n        # the following are all to match snowflake-connector-python\n        'requests>=2.18.0,<2.23.0',\n        'idna<2.9',\n        'cffi>=1.9,<1.14',\n    ],\n    zip_safe=False,\n    classifiers=[\n        'Development Status :: 5 - Production/Stable',\n\n        'License :: OSI Approved :: Apache Software License',\n\n        'Operating System :: Microsoft :: Windows',\n        'Operating System :: MacOS :: MacOS X',\n        'Operating System :: POSIX :: Linux',\n\n        'Programming Language :: Python :: 3.6',\n        'Programming Language :: Python :: 3.7',\n        'Programming Language :: Python :: 3.8',\n    ],\n    python_requires=\">=3.6.3\",\n)\n", "path": "core/setup.py"}]}