prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  GitHub Integration raises "NotImplementedError Algorithm not supported"
  We have working github integration code using PyGithub v1.32 that does essentially:
  
  ```python
  integration = github.GithubIntegration(settings.GITHUB_INTEGRATION_ID, settings.GITHUB_INTEGRATION_PRIVATE_PEM)
  inst_token = integration.get_access_token(installation_id).token
  ```
  After upgrading to v1.34 this code raises "NotImplementedError Algorithm not supported"
  
  I suspect it has to do with the [switch to pyjwt from python-jose](https://github.com/PyGithub/PyGithub/commit/d447eb13b9f4688a4c981ca03b1b3111fb299142)
  
  --- 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 #!/usr/bin/env python
  2 # -*- coding: utf-8 -*-
  3 
  4 # ########################## Copyrights and license ############################
  5 #                                                                              #
  6 # Copyright 2012 Vincent Jacques <vincent@vincent-jacques.net>                 #
  7 # Copyright 2012 Zearin <zearin@gonk.net>                                      #
  8 # Copyright 2013 Vincent Jacques <vincent@vincent-jacques.net>                 #
  9 #                                                                              #
  10 # This file is part of PyGithub.                                               #
  11 # http://pygithub.github.io/PyGithub/v1/index.html                             #
  12 #                                                                              #
  13 # PyGithub is free software: you can redistribute it and/or modify it under    #
  14 # the terms of the GNU Lesser General Public License as published by the Free  #
  15 # Software Foundation, either version 3 of the License, or (at your option)    #
  16 # any later version.                                                           #
  17 #                                                                              #
  18 # PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY  #
  19 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS    #
  20 # FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more #
  21 # details.                                                                     #
  22 #                                                                              #
  23 # You should have received a copy of the GNU Lesser General Public License     #
  24 # along with PyGithub. If not, see <http://www.gnu.org/licenses/>.             #
  25 #                                                                              #
  26 # ##############################################################################
  27 
  28 import setuptools
  29 import textwrap
  30 
  31 version = "1.34"
  32 
  33 
  34 if __name__ == "__main__":
  35     setuptools.setup(
  36         name="PyGithub",
  37         version=version,
  38         description="Use the full Github API v3",
  39         author="Vincent Jacques",
  40         author_email="vincent@vincent-jacques.net",
  41         url="http://pygithub.github.io/PyGithub/v1/index.html",
  42         long_description=textwrap.dedent("""\
  43             (Very short) Tutorial
  44             =====================
  45 
  46             First create a Github instance::
  47 
  48                 from github import Github
  49 
  50                 g = Github("user", "password")
  51 
  52             Then play with your Github objects::
  53 
  54                 for repo in g.get_user().get_repos():
  55                     print repo.name
  56                     repo.edit(has_wiki=False)
  57 
  58             You can also create a Github instance with an OAuth token::
  59 
  60                 g = Github(token)
  61 
  62             Or without authentication::
  63 
  64                 g = Github()
  65 
  66             Reference documentation
  67             =======================
  68 
  69             See http://pygithub.github.io/PyGithub/v1/index.html"""),
  70         packages=[
  71             "github",
  72             "github.tests",
  73         ],
  74         package_data={
  75             "github": ["tests/ReplayData/*.txt"]
  76         },
  77         classifiers=[
  78             "Development Status :: 5 - Production/Stable",
  79             "Environment :: Web Environment",
  80             "Intended Audience :: Developers",
  81             "License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)",
  82             "Operating System :: OS Independent",
  83             "Programming Language :: Python",
  84             "Programming Language :: Python :: 2",
  85             "Programming Language :: Python :: 2.5",
  86             "Programming Language :: Python :: 2.6",
  87             "Programming Language :: Python :: 2.7",
  88             "Programming Language :: Python :: 3",
  89             "Programming Language :: Python :: 3.2",
  90             "Programming Language :: Python :: 3.3",
  91             "Programming Language :: Python :: 3.4",
  92             "Programming Language :: Python :: 3.5",
  93             "Topic :: Software Development",
  94         ],
  95         test_suite="github.tests.AllTests",
  96         use_2to3=True,
  97         install_requires=[
  98             "pyjwt"
  99         ]
  100     )
  101
  ```
  --- 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()
  
  ```
  
golden_diff: diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -96,5 +96,8 @@
           use_2to3=True,
           install_requires=[
               "pyjwt"
  -        ]
  +        ],
  +        extras_require = {
  +            "integrations": ["cryptography"]
  +        }
       )
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -96,5 +96,8 @@\n         use_2to3=True,\n         install_requires=[\n             \"pyjwt\"\n-        ]\n+        ],\n+        extras_require = {\n+            \"integrations\": [\"cryptography\"]\n+        }\n     )\n", "issue": "GitHub Integration raises \"NotImplementedError Algorithm not supported\"\nWe have working github integration code using PyGithub v1.32 that does essentially:\r\n\r\n```python\r\nintegration = github.GithubIntegration(settings.GITHUB_INTEGRATION_ID, settings.GITHUB_INTEGRATION_PRIVATE_PEM)\r\ninst_token = integration.get_access_token(installation_id).token\r\n```\r\nAfter upgrading to v1.34 this code raises \"NotImplementedError Algorithm not supported\"\r\n\r\nI suspect it has to do with the [switch to pyjwt from python-jose](https://github.com/PyGithub/PyGithub/commit/d447eb13b9f4688a4c981ca03b1b3111fb299142)\n", "before_files": [{"content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\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#                                                                              #\n# This file is part of PyGithub.                                               #\n# http://pygithub.github.io/PyGithub/v1/index.html                             #\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 setuptools\nimport textwrap\n\nversion = \"1.34\"\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=\"http://pygithub.github.io/PyGithub/v1/index.html\",\n        long_description=textwrap.dedent(\"\"\"\\\n            (Very short) Tutorial\n            =====================\n\n            First create a Github instance::\n\n                from github import Github\n\n                g = Github(\"user\", \"password\")\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            You can also create a Github instance with an OAuth token::\n\n                g = Github(token)\n\n            Or without authentication::\n\n                g = Github()\n\n            Reference documentation\n            =======================\n\n            See http://pygithub.github.io/PyGithub/v1/index.html\"\"\"),\n        packages=[\n            \"github\",\n            \"github.tests\",\n        ],\n        package_data={\n            \"github\": [\"tests/ReplayData/*.txt\"]\n        },\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 :: 2\",\n            \"Programming Language :: Python :: 2.5\",\n            \"Programming Language :: Python :: 2.6\",\n            \"Programming Language :: Python :: 2.7\",\n            \"Programming Language :: Python :: 3\",\n            \"Programming Language :: Python :: 3.2\",\n            \"Programming Language :: Python :: 3.3\",\n            \"Programming Language :: Python :: 3.4\",\n            \"Programming Language :: Python :: 3.5\",\n            \"Topic :: Software Development\",\n        ],\n        test_suite=\"github.tests.AllTests\",\n        use_2to3=True,\n        install_requires=[\n            \"pyjwt\"\n        ]\n    )\n", "path": "setup.py"}], "after_files": [{"content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\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#                                                                              #\n# This file is part of PyGithub.                                               #\n# http://pygithub.github.io/PyGithub/v1/index.html                             #\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 setuptools\nimport textwrap\n\nversion = \"1.34\"\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=\"http://pygithub.github.io/PyGithub/v1/index.html\",\n        long_description=textwrap.dedent(\"\"\"\\\n            (Very short) Tutorial\n            =====================\n\n            First create a Github instance::\n\n                from github import Github\n\n                g = Github(\"user\", \"password\")\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            You can also create a Github instance with an OAuth token::\n\n                g = Github(token)\n\n            Or without authentication::\n\n                g = Github()\n\n            Reference documentation\n            =======================\n\n            See http://pygithub.github.io/PyGithub/v1/index.html\"\"\"),\n        packages=[\n            \"github\",\n            \"github.tests\",\n        ],\n        package_data={\n            \"github\": [\"tests/ReplayData/*.txt\"]\n        },\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 :: 2\",\n            \"Programming Language :: Python :: 2.5\",\n            \"Programming Language :: Python :: 2.6\",\n            \"Programming Language :: Python :: 2.7\",\n            \"Programming Language :: Python :: 3\",\n            \"Programming Language :: Python :: 3.2\",\n            \"Programming Language :: Python :: 3.3\",\n            \"Programming Language :: Python :: 3.4\",\n            \"Programming Language :: Python :: 3.5\",\n            \"Topic :: Software Development\",\n        ],\n        test_suite=\"github.tests.AllTests\",\n        use_2to3=True,\n        install_requires=[\n            \"pyjwt\"\n        ],\n        extras_require = {\n            \"integrations\": [\"cryptography\"]\n        }\n    )\n", "path": "setup.py"}]}