We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Upgrade to Cython 3 for all builds
Cython 3.0 is out now. There are a lot of changes including many changes to the defaults. I've learned quite a few gotchas from my other cython-based projects that hopefully upgrade will be easy for us since we only have a few Cython things in vispy. Just making an issue so if someone else wants to tackle it before me feel free.

--- 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 # -*- coding: utf-8 -*-
2 # Copyright (c) Vispy Development Team. All Rights Reserved.
3 # Distributed under the (new) BSD License. See LICENSE.txt for more info.
4 """Vispy setup script.
5 
6 Steps to do a new release:
7 
8 Preparations:
9   * Test on Windows, Linux, Mac
10   * Make release notes
11   * Update API documentation and other docs that need updating.
12 
13 Define the version and release:
14   * tag the tip changeset as version x.x.x; `git tag -a 'vX.Y.Z' -m "Version X.Y.Z"`
15   * push tag to github
16   * verify that azure pipelines complete
17   * verify that `.tar.gz` sdist and binary wheels are available on PyPI
18 
19 Announcing:
20   * It can be worth waiting a day for eager users to report critical bugs
21   * Announce in scipy-user, vispy mailing list, twitter (@vispyproject)
22 
23 """
24 
25 import os
26 from os import path as op
27 from distutils import log
28 from setuptools import setup, find_packages, Extension
29 
30 import numpy as np
31 from Cython.Build import cythonize
32 
33 log.set_verbosity(log.DEBUG)
34 log.info('setup.py entered')
35 log.info('$PATH=%s' % os.environ['PATH'])
36 
37 name = 'vispy'
38 description = 'Interactive visualization in Python'
39 
40 # Special commands for building jupyter notebook extension
41 here = os.path.dirname(os.path.abspath(__file__))
42 node_root = os.path.join(here, 'js')
43 is_repo = os.path.exists(os.path.join(here, '.git'))
44 
45 npm_path = os.pathsep.join([
46     os.path.join(node_root, 'node_modules', '.bin'),
47     os.environ.get('PATH', os.defpath),
48 ])
49 
50 
51 def set_builtin(name, value):
52     if isinstance(__builtins__, dict):
53         __builtins__[name] = value
54     else:
55         setattr(__builtins__, name, value)
56 
57 
58 extensions = [Extension('vispy.visuals.text._sdf_cpu',
59                         [op.join('vispy', 'visuals', 'text', '_sdf_cpu.pyx')],
60                         include_dirs=[np.get_include()]),
61               ]
62 
63 readme = open('README.rst', 'r').read()
64 setup(
65     name=name,
66     use_scm_version={
67         'write_to': 'vispy/version.py',
68         # uses setuptools_scm.version.get_local_dirty_tag (+dirty or empty string)
69         'local_scheme': 'dirty-tag',
70     },
71     author='Vispy contributors',
72     author_email='vispy@googlegroups.com',
73     license='(new) BSD',
74     url='http://vispy.org',
75     download_url='https://pypi.python.org/pypi/vispy',
76     keywords=[
77         'visualization',
78         'OpenGl',
79         'ES',
80         'medical',
81         'imaging',
82         '3D',
83         'plotting',
84         'numpy',
85         'bigdata',
86         'ipython',
87         'jupyter',
88         'widgets',
89     ],
90     description=description,
91     long_description=readme,
92     long_description_content_type='text/x-rst',
93     platforms='any',
94     provides=['vispy'],
95     python_requires='>=3.6',
96     install_requires=['numpy', 'freetype-py', 'hsluv', 'kiwisolver', 'packaging'],
97     setup_requires=['numpy', 'cython', 'setuptools_scm', 'setuptools_scm_git_archive', 'packaging'],
98     extras_require={
99         'ipython-static': ['ipython'],
100         'pyglet': ['pyglet>=1.2'],
101         'pyqt5': ['pyqt5'],
102         'pyqt6': ['pyqt6'],
103         'pyside': ['PySide'],
104         'pyside2': ['PySide2'],
105         'pyside6': ['PySide6'],
106         'sdl2': ['PySDL2'],
107         'wx': ['wxPython'],
108         'tk': ['pyopengltk'],
109         'doc': ['pydata-sphinx-theme', 'numpydoc', 'sphinxcontrib-apidoc',
110                 'sphinx-gallery', 'myst-parser', 'pillow', 'pytest',
111                 'pyopengl'],
112         'io': ['meshio', 'Pillow'],
113     },
114     packages=find_packages(exclude=['make']),
115     ext_modules=cythonize(extensions, language_level=3),
116     package_dir={'vispy': 'vispy'},
117     data_files=[],
118     include_package_data=True,
119     package_data={
120         'vispy': [op.join('io', '_data', '*'),
121                   op.join('app', 'tests', 'qt-designer.ui'),
122                   op.join('util', 'fonts', 'data', '*.ttf'),
123                   ],
124 
125         'vispy.glsl': ['*.vert', '*.frag', "*.glsl"],
126         'vispy.glsl.antialias': ['*.vert', '*.frag', "*.glsl"],
127         'vispy.glsl.arrowheads': ['*.vert', '*.frag', "*.glsl"],
128         'vispy.glsl.arrows': ['*.vert', '*.frag', "*.glsl"],
129         'vispy.glsl.collections': ['*.vert', '*.frag', "*.glsl"],
130         'vispy.glsl.colormaps': ['*.vert', '*.frag', "*.glsl"],
131         'vispy.glsl.lines': ['*.vert', '*.frag', "*.glsl"],
132         'vispy.glsl.markers': ['*.vert', '*.frag', "*.glsl"],
133         'vispy.glsl.math': ['*.vert', '*.frag', "*.glsl"],
134         'vispy.glsl.misc': ['*.vert', '*.frag', "*.glsl"],
135         'vispy.glsl.transforms': ['*.vert', '*.frag', "*.glsl"],
136 
137     },
138     zip_safe=False,
139     classifiers=[
140         'Development Status :: 3 - Alpha',
141         'Intended Audience :: Science/Research',
142         'Intended Audience :: Education',
143         'Intended Audience :: Developers',
144         'Topic :: Scientific/Engineering :: Visualization',
145         'License :: OSI Approved :: BSD License',
146         'Operating System :: MacOS :: MacOS X',
147         'Operating System :: Microsoft :: Windows',
148         'Operating System :: POSIX',
149         'Programming Language :: Python',
150         'Programming Language :: Python :: 3.6',
151         'Programming Language :: Python :: 3.7',
152         'Programming Language :: Python :: 3.8',
153         'Framework :: IPython'
154     ],
155 )
156
```
--- 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
@@ -24,15 +24,11 @@
 
 import os
 from os import path as op
-from distutils import log
-from setuptools import setup, find_packages, Extension
+from setuptools import setup, find_packages
 
 import numpy as np
 from Cython.Build import cythonize
-
-log.set_verbosity(log.DEBUG)
-log.info('setup.py entered')
-log.info('$PATH=%s' % os.environ['PATH'])
+from Cython.Distutils import Extension
 
 name = 'vispy'
 description = 'Interactive visualization in Python'
@@ -56,8 +52,11 @@
 
 
 extensions = [Extension('vispy.visuals.text._sdf_cpu',
-                        [op.join('vispy', 'visuals', 'text', '_sdf_cpu.pyx')],
-                        include_dirs=[np.get_include()]),
+                        sources=[op.join('vispy', 'visuals', 'text', '_sdf_cpu.pyx')],
+                        include_dirs=[np.get_include()],
+                        cython_directives={"language_level": "3"},
+                        define_macros=[("NPY_NO_DEPRECATED_API", "NPY_1_7_API_VERSION")],
+                        ),
               ]
 
 readme = open('README.rst', 'r').read()
@@ -70,7 +69,7 @@
     },
     author='Vispy contributors',
     author_email='vispy@googlegroups.com',
-    license='(new) BSD',
+    license='BSD-3-Clause',
     url='http://vispy.org',
     download_url='https://pypi.python.org/pypi/vispy',
     keywords=[
@@ -92,9 +91,8 @@
     long_description_content_type='text/x-rst',
     platforms='any',
     provides=['vispy'],
-    python_requires='>=3.6',
+    python_requires='>=3.8',
     install_requires=['numpy', 'freetype-py', 'hsluv', 'kiwisolver', 'packaging'],
-    setup_requires=['numpy', 'cython', 'setuptools_scm', 'setuptools_scm_git_archive', 'packaging'],
     extras_require={
         'ipython-static': ['ipython'],
         'pyglet': ['pyglet>=1.2'],
@@ -147,9 +145,10 @@
         'Operating System :: Microsoft :: Windows',
         'Operating System :: POSIX',
         'Programming Language :: Python',
-        'Programming Language :: Python :: 3.6',
-        'Programming Language :: Python :: 3.7',
         'Programming Language :: Python :: 3.8',
+        'Programming Language :: Python :: 3.9',
+        'Programming Language :: Python :: 3.10',
+        'Programming Language :: Python :: 3.11',
         'Framework :: IPython'
     ],
 )

{"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -24,15 +24,11 @@\n \n import os\n from os import path as op\n-from distutils import log\n-from setuptools import setup, find_packages, Extension\n+from setuptools import setup, find_packages\n \n import numpy as np\n from Cython.Build import cythonize\n-\n-log.set_verbosity(log.DEBUG)\n-log.info('setup.py entered')\n-log.info('$PATH=%s' % os.environ['PATH'])\n+from Cython.Distutils import Extension\n \n name = 'vispy'\n description = 'Interactive visualization in Python'\n@@ -56,8 +52,11 @@\n \n \n extensions = [Extension('vispy.visuals.text._sdf_cpu',\n-                        [op.join('vispy', 'visuals', 'text', '_sdf_cpu.pyx')],\n-                        include_dirs=[np.get_include()]),\n+                        sources=[op.join('vispy', 'visuals', 'text', '_sdf_cpu.pyx')],\n+                        include_dirs=[np.get_include()],\n+                        cython_directives={\"language_level\": \"3\"},\n+                        define_macros=[(\"NPY_NO_DEPRECATED_API\", \"NPY_1_7_API_VERSION\")],\n+                        ),\n               ]\n \n readme = open('README.rst', 'r').read()\n@@ -70,7 +69,7 @@\n     },\n     author='Vispy contributors',\n     author_email='vispy@googlegroups.com',\n-    license='(new) BSD',\n+    license='BSD-3-Clause',\n     url='http://vispy.org',\n     download_url='https://pypi.python.org/pypi/vispy',\n     keywords=[\n@@ -92,9 +91,8 @@\n     long_description_content_type='text/x-rst',\n     platforms='any',\n     provides=['vispy'],\n-    python_requires='>=3.6',\n+    python_requires='>=3.8',\n     install_requires=['numpy', 'freetype-py', 'hsluv', 'kiwisolver', 'packaging'],\n-    setup_requires=['numpy', 'cython', 'setuptools_scm', 'setuptools_scm_git_archive', 'packaging'],\n     extras_require={\n         'ipython-static': ['ipython'],\n         'pyglet': ['pyglet>=1.2'],\n@@ -147,9 +145,10 @@\n         'Operating System :: Microsoft :: Windows',\n         'Operating System :: POSIX',\n         'Programming Language :: Python',\n-        'Programming Language :: Python :: 3.6',\n-        'Programming Language :: Python :: 3.7',\n         'Programming Language :: Python :: 3.8',\n+        'Programming Language :: Python :: 3.9',\n+        'Programming Language :: Python :: 3.10',\n+        'Programming Language :: Python :: 3.11',\n         'Framework :: IPython'\n     ],\n )\n", "issue": "Upgrade to Cython 3 for all builds\nCython 3.0 is out now. There are a lot of changes including many changes to the defaults. I've learned quite a few gotchas from my other cython-based projects that hopefully upgrade will be easy for us since we only have a few Cython things in vispy. Just making an issue so if someone else wants to tackle it before me feel free.\n", "before_files": [{"content": "# -*- coding: utf-8 -*-\n# Copyright (c) Vispy Development Team. All Rights Reserved.\n# Distributed under the (new) BSD License. See LICENSE.txt for more info.\n\"\"\"Vispy setup script.\n\nSteps to do a new release:\n\nPreparations:\n  * Test on Windows, Linux, Mac\n  * Make release notes\n  * Update API documentation and other docs that need updating.\n\nDefine the version and release:\n  * tag the tip changeset as version x.x.x; `git tag -a 'vX.Y.Z' -m \"Version X.Y.Z\"`\n  * push tag to github\n  * verify that azure pipelines complete\n  * verify that `.tar.gz` sdist and binary wheels are available on PyPI\n\nAnnouncing:\n  * It can be worth waiting a day for eager users to report critical bugs\n  * Announce in scipy-user, vispy mailing list, twitter (@vispyproject)\n\n\"\"\"\n\nimport os\nfrom os import path as op\nfrom distutils import log\nfrom setuptools import setup, find_packages, Extension\n\nimport numpy as np\nfrom Cython.Build import cythonize\n\nlog.set_verbosity(log.DEBUG)\nlog.info('setup.py entered')\nlog.info('$PATH=%s' % os.environ['PATH'])\n\nname = 'vispy'\ndescription = 'Interactive visualization in Python'\n\n# Special commands for building jupyter notebook extension\nhere = os.path.dirname(os.path.abspath(__file__))\nnode_root = os.path.join(here, 'js')\nis_repo = os.path.exists(os.path.join(here, '.git'))\n\nnpm_path = os.pathsep.join([\n    os.path.join(node_root, 'node_modules', '.bin'),\n    os.environ.get('PATH', os.defpath),\n])\n\n\ndef set_builtin(name, value):\n    if isinstance(__builtins__, dict):\n        __builtins__[name] = value\n    else:\n        setattr(__builtins__, name, value)\n\n\nextensions = [Extension('vispy.visuals.text._sdf_cpu',\n                        [op.join('vispy', 'visuals', 'text', '_sdf_cpu.pyx')],\n                        include_dirs=[np.get_include()]),\n              ]\n\nreadme = open('README.rst', 'r').read()\nsetup(\n    name=name,\n    use_scm_version={\n        'write_to': 'vispy/version.py',\n        # uses setuptools_scm.version.get_local_dirty_tag (+dirty or empty string)\n        'local_scheme': 'dirty-tag',\n    },\n    author='Vispy contributors',\n    author_email='vispy@googlegroups.com',\n    license='(new) BSD',\n    url='http://vispy.org',\n    download_url='https://pypi.python.org/pypi/vispy',\n    keywords=[\n        'visualization',\n        'OpenGl',\n        'ES',\n        'medical',\n        'imaging',\n        '3D',\n        'plotting',\n        'numpy',\n        'bigdata',\n        'ipython',\n        'jupyter',\n        'widgets',\n    ],\n    description=description,\n    long_description=readme,\n    long_description_content_type='text/x-rst',\n    platforms='any',\n    provides=['vispy'],\n    python_requires='>=3.6',\n    install_requires=['numpy', 'freetype-py', 'hsluv', 'kiwisolver', 'packaging'],\n    setup_requires=['numpy', 'cython', 'setuptools_scm', 'setuptools_scm_git_archive', 'packaging'],\n    extras_require={\n        'ipython-static': ['ipython'],\n        'pyglet': ['pyglet>=1.2'],\n        'pyqt5': ['pyqt5'],\n        'pyqt6': ['pyqt6'],\n        'pyside': ['PySide'],\n        'pyside2': ['PySide2'],\n        'pyside6': ['PySide6'],\n        'sdl2': ['PySDL2'],\n        'wx': ['wxPython'],\n        'tk': ['pyopengltk'],\n        'doc': ['pydata-sphinx-theme', 'numpydoc', 'sphinxcontrib-apidoc',\n                'sphinx-gallery', 'myst-parser', 'pillow', 'pytest',\n                'pyopengl'],\n        'io': ['meshio', 'Pillow'],\n    },\n    packages=find_packages(exclude=['make']),\n    ext_modules=cythonize(extensions, language_level=3),\n    package_dir={'vispy': 'vispy'},\n    data_files=[],\n    include_package_data=True,\n    package_data={\n        'vispy': [op.join('io', '_data', '*'),\n                  op.join('app', 'tests', 'qt-designer.ui'),\n                  op.join('util', 'fonts', 'data', '*.ttf'),\n                  ],\n\n        'vispy.glsl': ['*.vert', '*.frag', \"*.glsl\"],\n        'vispy.glsl.antialias': ['*.vert', '*.frag', \"*.glsl\"],\n        'vispy.glsl.arrowheads': ['*.vert', '*.frag', \"*.glsl\"],\n        'vispy.glsl.arrows': ['*.vert', '*.frag', \"*.glsl\"],\n        'vispy.glsl.collections': ['*.vert', '*.frag', \"*.glsl\"],\n        'vispy.glsl.colormaps': ['*.vert', '*.frag', \"*.glsl\"],\n        'vispy.glsl.lines': ['*.vert', '*.frag', \"*.glsl\"],\n        'vispy.glsl.markers': ['*.vert', '*.frag', \"*.glsl\"],\n        'vispy.glsl.math': ['*.vert', '*.frag', \"*.glsl\"],\n        'vispy.glsl.misc': ['*.vert', '*.frag', \"*.glsl\"],\n        'vispy.glsl.transforms': ['*.vert', '*.frag', \"*.glsl\"],\n\n    },\n    zip_safe=False,\n    classifiers=[\n        'Development Status :: 3 - Alpha',\n        'Intended Audience :: Science/Research',\n        'Intended Audience :: Education',\n        'Intended Audience :: Developers',\n        'Topic :: Scientific/Engineering :: Visualization',\n        'License :: OSI Approved :: BSD License',\n        'Operating System :: MacOS :: MacOS X',\n        'Operating System :: Microsoft :: Windows',\n        'Operating System :: POSIX',\n        'Programming Language :: Python',\n        'Programming Language :: Python :: 3.6',\n        'Programming Language :: Python :: 3.7',\n        'Programming Language :: Python :: 3.8',\n        'Framework :: IPython'\n    ],\n)\n", "path": "setup.py"}], "after_files": [{"content": "# -*- coding: utf-8 -*-\n# Copyright (c) Vispy Development Team. All Rights Reserved.\n# Distributed under the (new) BSD License. See LICENSE.txt for more info.\n\"\"\"Vispy setup script.\n\nSteps to do a new release:\n\nPreparations:\n  * Test on Windows, Linux, Mac\n  * Make release notes\n  * Update API documentation and other docs that need updating.\n\nDefine the version and release:\n  * tag the tip changeset as version x.x.x; `git tag -a 'vX.Y.Z' -m \"Version X.Y.Z\"`\n  * push tag to github\n  * verify that azure pipelines complete\n  * verify that `.tar.gz` sdist and binary wheels are available on PyPI\n\nAnnouncing:\n  * It can be worth waiting a day for eager users to report critical bugs\n  * Announce in scipy-user, vispy mailing list, twitter (@vispyproject)\n\n\"\"\"\n\nimport os\nfrom os import path as op\nfrom setuptools import setup, find_packages\n\nimport numpy as np\nfrom Cython.Build import cythonize\nfrom Cython.Distutils import Extension\n\nname = 'vispy'\ndescription = 'Interactive visualization in Python'\n\n# Special commands for building jupyter notebook extension\nhere = os.path.dirname(os.path.abspath(__file__))\nnode_root = os.path.join(here, 'js')\nis_repo = os.path.exists(os.path.join(here, '.git'))\n\nnpm_path = os.pathsep.join([\n    os.path.join(node_root, 'node_modules', '.bin'),\n    os.environ.get('PATH', os.defpath),\n])\n\n\ndef set_builtin(name, value):\n    if isinstance(__builtins__, dict):\n        __builtins__[name] = value\n    else:\n        setattr(__builtins__, name, value)\n\n\nextensions = [Extension('vispy.visuals.text._sdf_cpu',\n                        sources=[op.join('vispy', 'visuals', 'text', '_sdf_cpu.pyx')],\n                        include_dirs=[np.get_include()],\n                        cython_directives={\"language_level\": \"3\"},\n                        define_macros=[(\"NPY_NO_DEPRECATED_API\", \"NPY_1_7_API_VERSION\")],\n                        ),\n              ]\n\nreadme = open('README.rst', 'r').read()\nsetup(\n    name=name,\n    use_scm_version={\n        'write_to': 'vispy/version.py',\n        # uses setuptools_scm.version.get_local_dirty_tag (+dirty or empty string)\n        'local_scheme': 'dirty-tag',\n    },\n    author='Vispy contributors',\n    author_email='vispy@googlegroups.com',\n    license='BSD-3-Clause',\n    url='http://vispy.org',\n    download_url='https://pypi.python.org/pypi/vispy',\n    keywords=[\n        'visualization',\n        'OpenGl',\n        'ES',\n        'medical',\n        'imaging',\n        '3D',\n        'plotting',\n        'numpy',\n        'bigdata',\n        'ipython',\n        'jupyter',\n        'widgets',\n    ],\n    description=description,\n    long_description=readme,\n    long_description_content_type='text/x-rst',\n    platforms='any',\n    provides=['vispy'],\n    python_requires='>=3.8',\n    install_requires=['numpy', 'freetype-py', 'hsluv', 'kiwisolver', 'packaging'],\n    extras_require={\n        'ipython-static': ['ipython'],\n        'pyglet': ['pyglet>=1.2'],\n        'pyqt5': ['pyqt5'],\n        'pyqt6': ['pyqt6'],\n        'pyside': ['PySide'],\n        'pyside2': ['PySide2'],\n        'pyside6': ['PySide6'],\n        'sdl2': ['PySDL2'],\n        'wx': ['wxPython'],\n        'tk': ['pyopengltk'],\n        'doc': ['pydata-sphinx-theme', 'numpydoc', 'sphinxcontrib-apidoc',\n                'sphinx-gallery', 'myst-parser', 'pillow', 'pytest',\n                'pyopengl'],\n        'io': ['meshio', 'Pillow'],\n    },\n    packages=find_packages(exclude=['make']),\n    ext_modules=cythonize(extensions, language_level=3),\n    package_dir={'vispy': 'vispy'},\n    data_files=[],\n    include_package_data=True,\n    package_data={\n        'vispy': [op.join('io', '_data', '*'),\n                  op.join('app', 'tests', 'qt-designer.ui'),\n                  op.join('util', 'fonts', 'data', '*.ttf'),\n                  ],\n\n        'vispy.glsl': ['*.vert', '*.frag', \"*.glsl\"],\n        'vispy.glsl.antialias': ['*.vert', '*.frag', \"*.glsl\"],\n        'vispy.glsl.arrowheads': ['*.vert', '*.frag', \"*.glsl\"],\n        'vispy.glsl.arrows': ['*.vert', '*.frag', \"*.glsl\"],\n        'vispy.glsl.collections': ['*.vert', '*.frag', \"*.glsl\"],\n        'vispy.glsl.colormaps': ['*.vert', '*.frag', \"*.glsl\"],\n        'vispy.glsl.lines': ['*.vert', '*.frag', \"*.glsl\"],\n        'vispy.glsl.markers': ['*.vert', '*.frag', \"*.glsl\"],\n        'vispy.glsl.math': ['*.vert', '*.frag', \"*.glsl\"],\n        'vispy.glsl.misc': ['*.vert', '*.frag', \"*.glsl\"],\n        'vispy.glsl.transforms': ['*.vert', '*.frag', \"*.glsl\"],\n\n    },\n    zip_safe=False,\n    classifiers=[\n        'Development Status :: 3 - Alpha',\n        'Intended Audience :: Science/Research',\n        'Intended Audience :: Education',\n        'Intended Audience :: Developers',\n        'Topic :: Scientific/Engineering :: Visualization',\n        'License :: OSI Approved :: BSD License',\n        'Operating System :: MacOS :: MacOS X',\n        'Operating System :: Microsoft :: Windows',\n        'Operating System :: POSIX',\n        'Programming Language :: Python',\n        'Programming Language :: Python :: 3.8',\n        'Programming Language :: Python :: 3.9',\n        'Programming Language :: Python :: 3.10',\n        'Programming Language :: Python :: 3.11',\n        'Framework :: IPython'\n    ],\n)\n", "path": "setup.py"}]}