prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  allow PyJWT 2+
  other libraries are moving to PyJWT2+ as requirement, is it possible to update pygithub as well? currently we can't use for example pygithub together with django-social-core
  
  
  </issue>
  <code>
  [start of setup.py]
  1 #!/usr/bin/env python
  2 
  3 ############################ Copyrights and license ############################
  4 #                                                                              #
  5 # Copyright 2012 Vincent Jacques <vincent@vincent-jacques.net>                 #
  6 # Copyright 2012 Zearin <zearin@gonk.net>                                      #
  7 # Copyright 2013 Vincent Jacques <vincent@vincent-jacques.net>                 #
  8 # Copyright 2014 Tomas Radej <tradej@redhat.com>                               #
  9 # Copyright 2014 Vincent Jacques <vincent@vincent-jacques.net>                 #
  10 # Copyright 2015 Jimmy Zelinskie <jimmyzelinskie@gmail.com>                    #
  11 # Copyright 2016 Felix Yan <felixonmars@archlinux.org>                         #
  12 # Copyright 2016 Jakub Wilk <jwilk@jwilk.net>                                  #
  13 # Copyright 2016 Jannis Gebauer <ja.geb@me.com>                                #
  14 # Copyright 2016 Peter Buckley <dx-pbuckley@users.noreply.github.com>          #
  15 # Copyright 2017 Hugo <hugovk@users.noreply.github.com>                        #
  16 # Copyright 2017 Jannis Gebauer <ja.geb@me.com>                                #
  17 # Copyright 2017 Jannis Gebauer <jayfk@users.noreply.github.com>               #
  18 # Copyright 2017 Nhomar Hernandez <nhomar@vauxoo.com>                          #
  19 # Copyright 2017 Paul Ortman <paul.ortman@gmail.com>                           #
  20 # Copyright 2018 Jason White <jasonaw0@gmail.com>                              #
  21 # Copyright 2018 Mike Miller <github@mikeage.net>                              #
  22 # Copyright 2018 Wan Liuyang <tsfdye@gmail.com>                                #
  23 # Copyright 2018 sfdye <tsfdye@gmail.com>                                      #
  24 #                                                                              #
  25 # This file is part of PyGithub.                                               #
  26 # http://pygithub.readthedocs.io/                                              #
  27 #                                                                              #
  28 # PyGithub is free software: you can redistribute it and/or modify it under    #
  29 # the terms of the GNU Lesser General Public License as published by the Free  #
  30 # Software Foundation, either version 3 of the License, or (at your option)    #
  31 # any later version.                                                           #
  32 #                                                                              #
  33 # PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY  #
  34 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS    #
  35 # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more #
  36 # details.                                                                     #
  37 #                                                                              #
  38 # You should have received a copy of the GNU Lesser General Public License     #
  39 # along with PyGithub. If not, see <http://www.gnu.org/licenses/>.             #
  40 #                                                                              #
  41 ################################################################################
  42 
  43 import textwrap
  44 
  45 import setuptools
  46 
  47 version = "1.54.1"
  48 
  49 
  50 if __name__ == "__main__":
  51     setuptools.setup(
  52         name="PyGithub",
  53         version=version,
  54         description="Use the full Github API v3",
  55         author="Vincent Jacques",
  56         author_email="vincent@vincent-jacques.net",
  57         url="https://github.com/pygithub/pygithub",
  58         project_urls={
  59             "Documentation": "http://pygithub.readthedocs.io/en/latest/",
  60             "Source": "https://github.com/pygithub/pygithub",
  61             "Tracker": "https://github.com/pygithub/pygithub/issues",
  62         },
  63         long_description=textwrap.dedent(
  64             """\
  65             (Very short) Tutorial
  66             =====================
  67 
  68             First create a Github instance::
  69 
  70                 from github import Github
  71 
  72                 # using username and password
  73                 g = Github("user", "password")
  74 
  75                 # or using an access token
  76                 g = Github("access_token")
  77 
  78             Then play with your Github objects::
  79 
  80                 for repo in g.get_user().get_repos():
  81                     print(repo.name)
  82                     repo.edit(has_wiki=False)
  83 
  84             Reference documentation
  85             =======================
  86 
  87             See http://pygithub.readthedocs.io/en/latest/"""
  88         ),
  89         packages=["github"],
  90         package_data={"github": ["py.typed", "*.pyi"]},
  91         classifiers=[
  92             "Development Status :: 5 - Production/Stable",
  93             "Environment :: Web Environment",
  94             "Intended Audience :: Developers",
  95             "License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)",
  96             "Operating System :: OS Independent",
  97             "Programming Language :: Python",
  98             "Programming Language :: Python :: 3",
  99             "Programming Language :: Python :: 3.6",
  100             "Programming Language :: Python :: 3.7",
  101             "Programming Language :: Python :: 3.8",
  102             "Programming Language :: Python :: 3.9",
  103             "Topic :: Software Development",
  104         ],
  105         python_requires=">=3.6",
  106         install_requires=[
  107             "deprecated",
  108             "pyjwt<2.0",
  109             "pynacl>=1.4.0",
  110             "requests>=2.14.0",
  111         ],
  112         extras_require={"integrations": ["cryptography"]},
  113         tests_require=["cryptography", "httpretty>=1.0.3"],
  114     )
  115
  [end of setup.py]
  </code>
  
  I need you to solve this issue by generating a single patch file that I can apply directly to this repository using git apply. Please respond with a single patch file in the following format.
  <patch>
  diff --git a/file.py b/file.py
  --- a/file.py
  +++ b/file.py
  @@ -1,27 +1,35 @@
   def euclidean(a, b):
  -    while b:
  -        a, b = b, a % b
  -    return a
  +    if b == 0:
  +        return a
  +    return euclidean(b, a % b)
   
   
   def bresenham(x0, y0, x1, y1):
       points = []
       dx = abs(x1 - x0)
       dy = abs(y1 - y0)
  -    sx = 1 if x0 < x1 else -1
  -    sy = 1 if y0 < y1 else -1
  -    err = dx - dy
  +    x, y = x0, y0
  +    sx = -1 if x0 > x1 else 1
  +    sy = -1 if y0 > y1 else 1
   
  -    while True:
  -        points.append((x0, y0))
  -        if x0 == x1 and y0 == y1:
  -            break
  -        e2 = 2 * err
  -        if e2 > -dy:
  -            err -= dy
  -            x0 += sx
  -        if e2 < dx:
  -            err += dx
  -            y0 += sy
  +    if dx > dy:
  +        err = dx / 2.0
  +        while x != x1:
  +            points.append((x, y))
  +            err -= dy
  +            if err < 0:
  +                y += sy
  +                err += dx
  +            x += sx
  +    else:
  +        err = dy / 2.0
  +        while y != y1:
  +            points.append((x, y))
  +            err -= dx
  +            if err < 0:
  +                x += sx
  +                err += dy
  +            y += sy
  +
  +    points.append((x, y))
       return points
  
  </patch>
golden_diff: diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -105,7 +105,7 @@
           python_requires=">=3.6",
           install_requires=[
               "deprecated",
  -            "pyjwt<2.0",
  +            "pyjwt>=2.0",
               "pynacl>=1.4.0",
               "requests>=2.14.0",
           ],
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -105,7 +105,7 @@\n         python_requires=\">=3.6\",\n         install_requires=[\n             \"deprecated\",\n-            \"pyjwt<2.0\",\n+            \"pyjwt>=2.0\",\n             \"pynacl>=1.4.0\",\n             \"requests>=2.14.0\",\n         ],\n", "issue": "allow PyJWT 2+\nother libraries are moving to PyJWT2+ as requirement, is it possible to update pygithub as well? currently we can't use for example pygithub together with django-social-core\r\n\n", "before_files": [{"content": "#!/usr/bin/env python\n\n############################ Copyrights and license ############################\n#                                                                              #\n# Copyright 2012 Vincent Jacques <vincent@vincent-jacques.net>                 #\n# Copyright 2012 Zearin <zearin@gonk.net>                                      #\n# Copyright 2013 Vincent Jacques <vincent@vincent-jacques.net>                 #\n# Copyright 2014 Tomas Radej <tradej@redhat.com>                               #\n# Copyright 2014 Vincent Jacques <vincent@vincent-jacques.net>                 #\n# Copyright 2015 Jimmy Zelinskie <jimmyzelinskie@gmail.com>                    #\n# Copyright 2016 Felix Yan <felixonmars@archlinux.org>                         #\n# Copyright 2016 Jakub Wilk <jwilk@jwilk.net>                                  #\n# Copyright 2016 Jannis Gebauer <ja.geb@me.com>                                #\n# Copyright 2016 Peter Buckley <dx-pbuckley@users.noreply.github.com>          #\n# Copyright 2017 Hugo <hugovk@users.noreply.github.com>                        #\n# Copyright 2017 Jannis Gebauer <ja.geb@me.com>                                #\n# Copyright 2017 Jannis Gebauer <jayfk@users.noreply.github.com>               #\n# Copyright 2017 Nhomar Hernandez <nhomar@vauxoo.com>                          #\n# Copyright 2017 Paul Ortman <paul.ortman@gmail.com>                           #\n# Copyright 2018 Jason White <jasonaw0@gmail.com>                              #\n# Copyright 2018 Mike Miller <github@mikeage.net>                              #\n# Copyright 2018 Wan Liuyang <tsfdye@gmail.com>                                #\n# Copyright 2018 sfdye <tsfdye@gmail.com>                                      #\n#                                                                              #\n# This file is part of PyGithub.                                               #\n# http://pygithub.readthedocs.io/                                              #\n#                                                                              #\n# PyGithub is free software: you can redistribute it and/or modify it under    #\n# the terms of the GNU Lesser General Public License as published by the Free  #\n# Software Foundation, either version 3 of the License, or (at your option)    #\n# any later version.                                                           #\n#                                                                              #\n# PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY  #\n# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS    #\n# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more #\n# details.                                                                     #\n#                                                                              #\n# You should have received a copy of the GNU Lesser General Public License     #\n# along with PyGithub. If not, see <http://www.gnu.org/licenses/>.             #\n#                                                                              #\n################################################################################\n\nimport textwrap\n\nimport setuptools\n\nversion = \"1.54.1\"\n\n\nif __name__ == \"__main__\":\n    setuptools.setup(\n        name=\"PyGithub\",\n        version=version,\n        description=\"Use the full Github API v3\",\n        author=\"Vincent Jacques\",\n        author_email=\"vincent@vincent-jacques.net\",\n        url=\"https://github.com/pygithub/pygithub\",\n        project_urls={\n            \"Documentation\": \"http://pygithub.readthedocs.io/en/latest/\",\n            \"Source\": \"https://github.com/pygithub/pygithub\",\n            \"Tracker\": \"https://github.com/pygithub/pygithub/issues\",\n        },\n        long_description=textwrap.dedent(\n            \"\"\"\\\n            (Very short) Tutorial\n            =====================\n\n            First create a Github instance::\n\n                from github import Github\n\n                # using username and password\n                g = Github(\"user\", \"password\")\n\n                # or using an access token\n                g = Github(\"access_token\")\n\n            Then play with your Github objects::\n\n                for repo in g.get_user().get_repos():\n                    print(repo.name)\n                    repo.edit(has_wiki=False)\n\n            Reference documentation\n            =======================\n\n            See http://pygithub.readthedocs.io/en/latest/\"\"\"\n        ),\n        packages=[\"github\"],\n        package_data={\"github\": [\"py.typed\", \"*.pyi\"]},\n        classifiers=[\n            \"Development Status :: 5 - Production/Stable\",\n            \"Environment :: Web Environment\",\n            \"Intended Audience :: Developers\",\n            \"License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)\",\n            \"Operating System :: OS Independent\",\n            \"Programming Language :: Python\",\n            \"Programming Language :: Python :: 3\",\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            \"Topic :: Software Development\",\n        ],\n        python_requires=\">=3.6\",\n        install_requires=[\n            \"deprecated\",\n            \"pyjwt<2.0\",\n            \"pynacl>=1.4.0\",\n            \"requests>=2.14.0\",\n        ],\n        extras_require={\"integrations\": [\"cryptography\"]},\n        tests_require=[\"cryptography\", \"httpretty>=1.0.3\"],\n    )\n", "path": "setup.py"}]}