PyGithub / PyGithub/PyGithub

Support for Python 3.11

Open
#2,377 5 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
7.8k
Forks
1.9k
Avg merge
17m
Merged PRs (30d)
2

Description

Importing the github module gives an error; the error comes from deprecated -> wrapt, which uses inspect.formatargspec, which was deprecated since Python 3.5 and removed in Python 3.11.

    import github
env/lib64/python3.11/site-packages/github/__init__.py:56: in <module>
    from github.MainClass import Github, GithubIntegration
env/lib64/python3.11/site-packages/github/MainClass.py:59: in <module>
    import github.Event
env/lib64/python3.11/site-packages/github/Event.py:32: in <module>
    import github.NamedUser
env/lib64/python3.11/site-packages/github/NamedUser.py:44: in <module>
    import github.Organization
env/lib64/python3.11/site-packages/github/Organization.py:50: in <module>
    import github.Repository
env/lib64/python3.11/site-packages/github/Repository.py:93: in <module>
    from deprecated import deprecated
env/lib64/python3.11/site-packages/deprecated/__init__.py:15: in <module>
    from deprecated.classic import deprecated
env/lib64/python3.11/site-packages/deprecated/classic.py:15: in <module>
    import wrapt
env/lib64/python3.11/site-packages/wrapt/__init__.py:10: in <module>
    from .decorators import (adapter_factory, AdapterFactory, decorator,
env/lib64/python3.11/site-packages/wrapt/decorators.py:34: in <module>
    from inspect import ismethod, isclass, formatargspec
E   ImportError: cannot import name 'formatargspec' from 'inspect' (/usr/lib64/python3.11/inspect.py)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the reported import failure with Python 3.11 and inspect the dependency chain through deprecated, wrapt, and inspect.formatargspec shown in the traceback. Done means importing github succeeds on Python 3.11 without the reported ImportError; the payload does not identify a repository file or test to run.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.