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()

```

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"]
+        }
     )

{"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"}]}