We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
[BUG] Development dependencies are included in install_requires
**Describe the bug**
Installing this library also installs all libraries used for local development (list below). This makes it impossible to use different versions of these tools in development. It also requires installing all of these tools in production for the bot to function, which unnecessarily bloats the installation size by over 80MB (on windows)

**Reproducing steps**
Install the library as directed in the documentation, `pip install discord-py-interactions`

**What's normally expected**
The library itself and only code necessary for running the bot is downloaded and installed.

**What actually happened**
Development tools for this project are also installed. 

If pip is used, other local tools are overwritten with the specific versions used in this project. If poetry is used, the tools are either downgraded to the version pinned in this library, or an error is generated when there is a version conflict. Either way devs using this library cannot use their own tooling. 

Output from pip:
```
Successfully installed Jinja2-3.0.3 MarkupSafe-2.0.1 Pygments-2.10.0 Sphinx-4.1.2 alabaster-0.7.12 babel-2.9.1 backports.entry-points-selectable-1.1.1 black-21.11b1 certifi-2021.10.8 cfgv-3.3.1 charset-normalizer-2.0.9 click-8.0.3 colorama-0.4.4 discord-py-interactions-4.0.1 distlib-0.3.4 docutils-0.17.1 filelock-3.4.0 identify-2.4.0 imagesize-1.3.0 isort-5.9.3 nodeenv-1.6.0 orjson-3.6.3 packaging-21.3 pathspec-0.9.0 platformdirs-2.4.0 pre-commit-2.16.0 pyparsing-3.0.6 regex-2021.11.10 requests-2.26.0 six-1.16.0 snowballstemmer-2.2.0 sphinx-hoverxref-1.0.0 sphinxcontrib-applehelp-1.0.2 sphinxcontrib-devhelp-1.0.2 sphinxcontrib-htmlhelp-2.0.0 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-qthelp-1.0.3 sphinxcontrib-serializinghtml-1.1.5 tomli-1.2.3 urllib3-1.26.7 virtualenv-20.10.0
```

pipdeptree shows that only `aiohttp`, and `orjson` are necessary for this package to function, the rest of them should be removed and instead placed in an extra dependency (e.g. `pip install discord-interactions[dev]`):
```
discord-py-interactions==4.0.1
  - aiohttp [required: ==3.7.4.post0, installed: 3.7.4.post0]
    - async-timeout [required: >=3.0,<4.0, installed: 3.0.1]
    - attrs [required: >=17.3.0, installed: 21.2.0]
    - chardet [required: >=2.0,<5.0, installed: 4.0.0]
    - multidict [required: >=4.5,<7.0, installed: 5.2.0]
    - typing-extensions [required: >=3.6.5, installed: 3.10.0.2]
    - yarl [required: >=1.0,<2.0, installed: 1.6.3]
      - idna [required: >=2.0, installed: 3.2]
      - multidict [required: >=4.0, installed: 5.2.0]
  - black [required: ==21.11b1, installed: 21.11b1]
    - click [required: >=7.1.2, installed: 8.0.3]
      - colorama [required: Any, installed: 0.4.4]
    - mypy-extensions [required: >=0.4.3, installed: 0.4.3]
    - pathspec [required: >=0.9.0,<1, installed: 0.9.0]
    - platformdirs [required: >=2, installed: 2.4.0]
    - regex [required: >=2021.4.4, installed: 2021.11.10]
    - tomli [required: >=0.2.6,<2.0.0, installed: 1.2.3]
    - typing-extensions [required: >=3.10.0.0, installed: 3.10.0.2]
    - typing-extensions [required: !=3.10.0.1, installed: 3.10.0.2]
  - colorama [required: ==0.4.4, installed: 0.4.4]
  - flake8 [required: ==3.9.2, installed: 3.9.2]
    - mccabe [required: >=0.6.0,<0.7.0, installed: 0.6.1]
    - pycodestyle [required: >=2.7.0,<2.8.0, installed: 2.7.0]
    - pyflakes [required: >=2.3.0,<2.4.0, installed: 2.3.1]
  - isort [required: ==5.9.3, installed: 5.9.3]
  - orjson [required: ==3.6.3, installed: 3.6.3]
  - pre-commit [required: ==2.16.0, installed: 2.16.0]
    - cfgv [required: >=2.0.0, installed: 3.3.1]
    - identify [required: >=1.0.0, installed: 2.4.0]
    - nodeenv [required: >=0.11.1, installed: 1.6.0]
    - pyyaml [required: >=5.1, installed: 5.4.1]
    - toml [required: Any, installed: 0.10.2]
    - virtualenv [required: >=20.0.8, installed: 20.10.0]
      - backports.entry-points-selectable [required: >=1.0.4, installed: 1.1.1]
      - distlib [required: >=0.3.1,<1, installed: 0.3.4]
      - filelock [required: >=3.2,<4, installed: 3.4.0]
      - platformdirs [required: >=2,<3, installed: 2.4.0]
      - six [required: >=1.9.0,<2, installed: 1.16.0]
  - Sphinx [required: ==4.1.2, installed: 4.1.2]
    - alabaster [required: >=0.7,<0.8, installed: 0.7.12]
    - babel [required: >=1.3, installed: 2.9.1]
      - pytz [required: >=2015.7, installed: 2021.3]
    - colorama [required: >=0.3.5, installed: 0.4.4]
    - docutils [required: >=0.14,<0.18, installed: 0.17.1]
    - imagesize [required: Any, installed: 1.3.0]
    - Jinja2 [required: >=2.3, installed: 3.0.3]
      - MarkupSafe [required: >=2.0, installed: 2.0.1]
    - packaging [required: Any, installed: 21.3]
      - pyparsing [required: >=2.0.2,!=3.0.5, installed: 3.0.6]
    - Pygments [required: >=2.0, installed: 2.10.0]
    - requests [required: >=2.5.0, installed: 2.26.0]
      - certifi [required: >=2017.4.17, installed: 2021.10.8]
      - charset-normalizer [required: ~=2.0.0, installed: 2.0.9]
      - idna [required: >=2.5,<4, installed: 3.2]
      - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.7]
    - setuptools [required: Any, installed: 58.3.0]
    - snowballstemmer [required: >=1.1, installed: 2.2.0]
    - sphinxcontrib-applehelp [required: Any, installed: 1.0.2]
    - sphinxcontrib-devhelp [required: Any, installed: 1.0.2]
    - sphinxcontrib-htmlhelp [required: >=2.0.0, installed: 2.0.0]
    - sphinxcontrib-jsmath [required: Any, installed: 1.0.1]
    - sphinxcontrib-qthelp [required: Any, installed: 1.0.3]
    - sphinxcontrib-serializinghtml [required: >=1.1.5, installed: 1.1.5]
  - sphinx-hoverxref [required: ==1.0.0, installed: 1.0.0]
```

**Versions**
- [ ] I am using discord.py versions 1.7 and below with my code.
    - [ ] I am using 2.0 or higher, or a modified fork.
- [ ] I am using dis-snek with my code.
- [x] I am not using any of the listed above and am using the library code alone.


--- 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 import re
2 from codecs import open
3 from os import path
4 
5 from setuptools import find_packages, setup
6 
7 PACKAGE_NAME = "interactions"
8 HERE = path.abspath(path.dirname(__file__))
9 
10 with open("README.rst", "r", encoding="UTF-8") as f:
11     README = f.read()
12 with open(path.join(HERE, PACKAGE_NAME, "base.py"), encoding="utf-8") as fp:
13     VERSION = re.search('__version__ = "([^"]+)"', fp.read()).group(1)
14 
15 extras = {
16     "lint": ["black", "flake8", "isort"],
17     "readthedocs": ["sphinx", "karma-sphinx-theme"],
18 }
19 extras["lint"] += extras["readthedocs"]
20 extras["dev"] = extras["lint"] + extras["readthedocs"]
21 
22 requirements = open("requirements.txt").read().split("\n")[:-1]
23 
24 setup(
25     name="discord-py-interactions",
26     version=VERSION,
27     author="goverfl0w",
28     author_email="james.discord.interactions@gmail.com",
29     description="Easy, simple, scalable and modular: a Python API wrapper for interactions.",
30     extras_require=extras,
31     install_requires=requirements,
32     license="MIT License",
33     long_description=README,
34     long_description_content_type="text/x-rst",
35     url="https://github.com/goverfl0w/discord-interactions",
36     packages=find_packages(),
37     python_requires=">=3.8.6",
38     classifiers=[
39         "Development Status :: 4 - Beta",
40         "Intended Audience :: Developers",
41         "License :: OSI Approved :: MIT License",
42         "Natural Language :: English",
43         "Operating System :: OS Independent",
44         "Programming Language :: Python :: 3",
45         "Programming Language :: Python :: 3.9",
46         "Topic :: Internet",
47         "Topic :: Software Development :: Libraries :: Python Modules",
48         "Topic :: Software Development :: Libraries",
49         "Topic :: Utilities",
50     ],
51 )
52
```
--- 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
@@ -12,14 +12,18 @@
 with open(path.join(HERE, PACKAGE_NAME, "base.py"), encoding="utf-8") as fp:
     VERSION = re.search('__version__ = "([^"]+)"', fp.read()).group(1)
 
+
+def read_requirements(filename):
+    with open(filename, "r", encoding="utf-8") as fp:
+        return fp.read().strip().splitlines()
+
+
 extras = {
-    "lint": ["black", "flake8", "isort"],
-    "readthedocs": ["sphinx", "karma-sphinx-theme"],
+    "lint": read_requirements("requirements-lint.txt"),
+    "readthedocs": read_requirements("requirements-docs.txt"),
 }
-extras["lint"] += extras["readthedocs"]
 extras["dev"] = extras["lint"] + extras["readthedocs"]
-
-requirements = open("requirements.txt").read().split("\n")[:-1]
+requirements = read_requirements("requirements.txt")
 
 setup(
     name="discord-py-interactions",

{"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -12,14 +12,18 @@\n with open(path.join(HERE, PACKAGE_NAME, \"base.py\"), encoding=\"utf-8\") as fp:\n     VERSION = re.search('__version__ = \"([^\"]+)\"', fp.read()).group(1)\n \n+\n+def read_requirements(filename):\n+    with open(filename, \"r\", encoding=\"utf-8\") as fp:\n+        return fp.read().strip().splitlines()\n+\n+\n extras = {\n-    \"lint\": [\"black\", \"flake8\", \"isort\"],\n-    \"readthedocs\": [\"sphinx\", \"karma-sphinx-theme\"],\n+    \"lint\": read_requirements(\"requirements-lint.txt\"),\n+    \"readthedocs\": read_requirements(\"requirements-docs.txt\"),\n }\n-extras[\"lint\"] += extras[\"readthedocs\"]\n extras[\"dev\"] = extras[\"lint\"] + extras[\"readthedocs\"]\n-\n-requirements = open(\"requirements.txt\").read().split(\"\\n\")[:-1]\n+requirements = read_requirements(\"requirements.txt\")\n \n setup(\n     name=\"discord-py-interactions\",\n", "issue": "[BUG] Development dependencies are included in install_requires\n**Describe the bug**\r\nInstalling this library also installs all libraries used for local development (list below). This makes it impossible to use different versions of these tools in development. It also requires installing all of these tools in production for the bot to function, which unnecessarily bloats the installation size by over 80MB (on windows)\r\n\r\n**Reproducing steps**\r\nInstall the library as directed in the documentation, `pip install discord-py-interactions`\r\n\r\n**What's normally expected**\r\nThe library itself and only code necessary for running the bot is downloaded and installed.\r\n\r\n**What actually happened**\r\nDevelopment tools for this project are also installed. \r\n\r\nIf pip is used, other local tools are overwritten with the specific versions used in this project. If poetry is used, the tools are either downgraded to the version pinned in this library, or an error is generated when there is a version conflict. Either way devs using this library cannot use their own tooling. \r\n\r\nOutput from pip:\r\n```\r\nSuccessfully installed Jinja2-3.0.3 MarkupSafe-2.0.1 Pygments-2.10.0 Sphinx-4.1.2 alabaster-0.7.12 babel-2.9.1 backports.entry-points-selectable-1.1.1 black-21.11b1 certifi-2021.10.8 cfgv-3.3.1 charset-normalizer-2.0.9 click-8.0.3 colorama-0.4.4 discord-py-interactions-4.0.1 distlib-0.3.4 docutils-0.17.1 filelock-3.4.0 identify-2.4.0 imagesize-1.3.0 isort-5.9.3 nodeenv-1.6.0 orjson-3.6.3 packaging-21.3 pathspec-0.9.0 platformdirs-2.4.0 pre-commit-2.16.0 pyparsing-3.0.6 regex-2021.11.10 requests-2.26.0 six-1.16.0 snowballstemmer-2.2.0 sphinx-hoverxref-1.0.0 sphinxcontrib-applehelp-1.0.2 sphinxcontrib-devhelp-1.0.2 sphinxcontrib-htmlhelp-2.0.0 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-qthelp-1.0.3 sphinxcontrib-serializinghtml-1.1.5 tomli-1.2.3 urllib3-1.26.7 virtualenv-20.10.0\r\n```\r\n\r\npipdeptree shows that only `aiohttp`, and `orjson` are necessary for this package to function, the rest of them should be removed and instead placed in an extra dependency (e.g. `pip install discord-interactions[dev]`):\r\n```\r\ndiscord-py-interactions==4.0.1\r\n  - aiohttp [required: ==3.7.4.post0, installed: 3.7.4.post0]\r\n    - async-timeout [required: >=3.0,<4.0, installed: 3.0.1]\r\n    - attrs [required: >=17.3.0, installed: 21.2.0]\r\n    - chardet [required: >=2.0,<5.0, installed: 4.0.0]\r\n    - multidict [required: >=4.5,<7.0, installed: 5.2.0]\r\n    - typing-extensions [required: >=3.6.5, installed: 3.10.0.2]\r\n    - yarl [required: >=1.0,<2.0, installed: 1.6.3]\r\n      - idna [required: >=2.0, installed: 3.2]\r\n      - multidict [required: >=4.0, installed: 5.2.0]\r\n  - black [required: ==21.11b1, installed: 21.11b1]\r\n    - click [required: >=7.1.2, installed: 8.0.3]\r\n      - colorama [required: Any, installed: 0.4.4]\r\n    - mypy-extensions [required: >=0.4.3, installed: 0.4.3]\r\n    - pathspec [required: >=0.9.0,<1, installed: 0.9.0]\r\n    - platformdirs [required: >=2, installed: 2.4.0]\r\n    - regex [required: >=2021.4.4, installed: 2021.11.10]\r\n    - tomli [required: >=0.2.6,<2.0.0, installed: 1.2.3]\r\n    - typing-extensions [required: >=3.10.0.0, installed: 3.10.0.2]\r\n    - typing-extensions [required: !=3.10.0.1, installed: 3.10.0.2]\r\n  - colorama [required: ==0.4.4, installed: 0.4.4]\r\n  - flake8 [required: ==3.9.2, installed: 3.9.2]\r\n    - mccabe [required: >=0.6.0,<0.7.0, installed: 0.6.1]\r\n    - pycodestyle [required: >=2.7.0,<2.8.0, installed: 2.7.0]\r\n    - pyflakes [required: >=2.3.0,<2.4.0, installed: 2.3.1]\r\n  - isort [required: ==5.9.3, installed: 5.9.3]\r\n  - orjson [required: ==3.6.3, installed: 3.6.3]\r\n  - pre-commit [required: ==2.16.0, installed: 2.16.0]\r\n    - cfgv [required: >=2.0.0, installed: 3.3.1]\r\n    - identify [required: >=1.0.0, installed: 2.4.0]\r\n    - nodeenv [required: >=0.11.1, installed: 1.6.0]\r\n    - pyyaml [required: >=5.1, installed: 5.4.1]\r\n    - toml [required: Any, installed: 0.10.2]\r\n    - virtualenv [required: >=20.0.8, installed: 20.10.0]\r\n      - backports.entry-points-selectable [required: >=1.0.4, installed: 1.1.1]\r\n      - distlib [required: >=0.3.1,<1, installed: 0.3.4]\r\n      - filelock [required: >=3.2,<4, installed: 3.4.0]\r\n      - platformdirs [required: >=2,<3, installed: 2.4.0]\r\n      - six [required: >=1.9.0,<2, installed: 1.16.0]\r\n  - Sphinx [required: ==4.1.2, installed: 4.1.2]\r\n    - alabaster [required: >=0.7,<0.8, installed: 0.7.12]\r\n    - babel [required: >=1.3, installed: 2.9.1]\r\n      - pytz [required: >=2015.7, installed: 2021.3]\r\n    - colorama [required: >=0.3.5, installed: 0.4.4]\r\n    - docutils [required: >=0.14,<0.18, installed: 0.17.1]\r\n    - imagesize [required: Any, installed: 1.3.0]\r\n    - Jinja2 [required: >=2.3, installed: 3.0.3]\r\n      - MarkupSafe [required: >=2.0, installed: 2.0.1]\r\n    - packaging [required: Any, installed: 21.3]\r\n      - pyparsing [required: >=2.0.2,!=3.0.5, installed: 3.0.6]\r\n    - Pygments [required: >=2.0, installed: 2.10.0]\r\n    - requests [required: >=2.5.0, installed: 2.26.0]\r\n      - certifi [required: >=2017.4.17, installed: 2021.10.8]\r\n      - charset-normalizer [required: ~=2.0.0, installed: 2.0.9]\r\n      - idna [required: >=2.5,<4, installed: 3.2]\r\n      - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.7]\r\n    - setuptools [required: Any, installed: 58.3.0]\r\n    - snowballstemmer [required: >=1.1, installed: 2.2.0]\r\n    - sphinxcontrib-applehelp [required: Any, installed: 1.0.2]\r\n    - sphinxcontrib-devhelp [required: Any, installed: 1.0.2]\r\n    - sphinxcontrib-htmlhelp [required: >=2.0.0, installed: 2.0.0]\r\n    - sphinxcontrib-jsmath [required: Any, installed: 1.0.1]\r\n    - sphinxcontrib-qthelp [required: Any, installed: 1.0.3]\r\n    - sphinxcontrib-serializinghtml [required: >=1.1.5, installed: 1.1.5]\r\n  - sphinx-hoverxref [required: ==1.0.0, installed: 1.0.0]\r\n```\r\n\r\n**Versions**\r\n- [ ] I am using discord.py versions 1.7 and below with my code.\r\n    - [ ] I am using 2.0 or higher, or a modified fork.\r\n- [ ] I am using dis-snek with my code.\r\n- [x] I am not using any of the listed above and am using the library code alone.\r\n\n", "before_files": [{"content": "import re\nfrom codecs import open\nfrom os import path\n\nfrom setuptools import find_packages, setup\n\nPACKAGE_NAME = \"interactions\"\nHERE = path.abspath(path.dirname(__file__))\n\nwith open(\"README.rst\", \"r\", encoding=\"UTF-8\") as f:\n    README = f.read()\nwith open(path.join(HERE, PACKAGE_NAME, \"base.py\"), encoding=\"utf-8\") as fp:\n    VERSION = re.search('__version__ = \"([^\"]+)\"', fp.read()).group(1)\n\nextras = {\n    \"lint\": [\"black\", \"flake8\", \"isort\"],\n    \"readthedocs\": [\"sphinx\", \"karma-sphinx-theme\"],\n}\nextras[\"lint\"] += extras[\"readthedocs\"]\nextras[\"dev\"] = extras[\"lint\"] + extras[\"readthedocs\"]\n\nrequirements = open(\"requirements.txt\").read().split(\"\\n\")[:-1]\n\nsetup(\n    name=\"discord-py-interactions\",\n    version=VERSION,\n    author=\"goverfl0w\",\n    author_email=\"james.discord.interactions@gmail.com\",\n    description=\"Easy, simple, scalable and modular: a Python API wrapper for interactions.\",\n    extras_require=extras,\n    install_requires=requirements,\n    license=\"MIT License\",\n    long_description=README,\n    long_description_content_type=\"text/x-rst\",\n    url=\"https://github.com/goverfl0w/discord-interactions\",\n    packages=find_packages(),\n    python_requires=\">=3.8.6\",\n    classifiers=[\n        \"Development Status :: 4 - Beta\",\n        \"Intended Audience :: Developers\",\n        \"License :: OSI Approved :: MIT License\",\n        \"Natural Language :: English\",\n        \"Operating System :: OS Independent\",\n        \"Programming Language :: Python :: 3\",\n        \"Programming Language :: Python :: 3.9\",\n        \"Topic :: Internet\",\n        \"Topic :: Software Development :: Libraries :: Python Modules\",\n        \"Topic :: Software Development :: Libraries\",\n        \"Topic :: Utilities\",\n    ],\n)\n", "path": "setup.py"}], "after_files": [{"content": "import re\nfrom codecs import open\nfrom os import path\n\nfrom setuptools import find_packages, setup\n\nPACKAGE_NAME = \"interactions\"\nHERE = path.abspath(path.dirname(__file__))\n\nwith open(\"README.rst\", \"r\", encoding=\"UTF-8\") as f:\n    README = f.read()\nwith open(path.join(HERE, PACKAGE_NAME, \"base.py\"), encoding=\"utf-8\") as fp:\n    VERSION = re.search('__version__ = \"([^\"]+)\"', fp.read()).group(1)\n\n\ndef read_requirements(filename):\n    with open(filename, \"r\", encoding=\"utf-8\") as fp:\n        return fp.read().strip().splitlines()\n\n\nextras = {\n    \"lint\": read_requirements(\"requirements-lint.txt\"),\n    \"readthedocs\": read_requirements(\"requirements-docs.txt\"),\n}\nextras[\"dev\"] = extras[\"lint\"] + extras[\"readthedocs\"]\nrequirements = read_requirements(\"requirements.txt\")\n\nsetup(\n    name=\"discord-py-interactions\",\n    version=VERSION,\n    author=\"goverfl0w\",\n    author_email=\"james.discord.interactions@gmail.com\",\n    description=\"Easy, simple, scalable and modular: a Python API wrapper for interactions.\",\n    extras_require=extras,\n    install_requires=requirements,\n    license=\"MIT License\",\n    long_description=README,\n    long_description_content_type=\"text/x-rst\",\n    url=\"https://github.com/goverfl0w/discord-interactions\",\n    packages=find_packages(),\n    python_requires=\">=3.8.6\",\n    classifiers=[\n        \"Development Status :: 4 - Beta\",\n        \"Intended Audience :: Developers\",\n        \"License :: OSI Approved :: MIT License\",\n        \"Natural Language :: English\",\n        \"Operating System :: OS Independent\",\n        \"Programming Language :: Python :: 3\",\n        \"Programming Language :: Python :: 3.9\",\n        \"Topic :: Internet\",\n        \"Topic :: Software Development :: Libraries :: Python Modules\",\n        \"Topic :: Software Development :: Libraries\",\n        \"Topic :: Utilities\",\n    ],\n)\n", "path": "setup.py"}]}