0

I want get stats "additions" and "deletions" GitHub rep. I try:

#!pip install PyGithub
from github import Github
g = Github("token")
repo = g.get_repo("bitcoin/bitcoin")
active = repo.get_stats_commit_activity()
print(active)

Output:

<github.StatsCommitActivity.StatsCommitActivity object at 0x0000018EBF2674F0>
<github.StatsCommitActivity.StatsCommitActivity object at 0x0000018EC09D6910>

What is my next step?

P.S: Also I found classgithub.CommitStats.CommitStats but I no have idea how work with it.

altblog
  • 15
  • 1
  • 4

1 Answers1

0

I suppose this is your next step:

https://docs.github.com/en/rest/reference/metrics#get-all-contributor-commit-activity

in pygithub: https://pygithub.readthedocs.io/en/latest/github_objects/Repository.html?highlight=get_stats_contributors#github.Repository.Repository.get_stats_contributors

get_stats_contributors method with this kinds of return:

hope this kinds of return val can help you:

[
  {
    "author": {
      "login": "octocat",
      "id": 1,
      "node_id": "MDQ6VXNlcjE=",
      "avatar_url": "https://github.com/images/error/octocat_happy.gif",
      "gravatar_id": "",
      "url": "https://api.github.com/users/octocat",
      "html_url": "https://github.com/octocat",
      "followers_url": "https://api.github.com/users/octocat/followers",
      "following_url": "https://api.github.com/users/octocat/following{/other_user}",
      "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
      "organizations_url": "https://api.github.com/users/octocat/orgs",
      "repos_url": "https://api.github.com/users/octocat/repos",
      "events_url": "https://api.github.com/users/octocat/events{/privacy}",
      "received_events_url": "https://api.github.com/users/octocat/received_events",
      "type": "User",
      "site_admin": false
    },
    "total": 135,
    "weeks": [
      {

or, there are some other method via git logs commandline, such as:

 git log --pretty=format:"%an" --shortstat --no-merges --author=$1 \
  | sed '/^$/d'\
  | awk -F' ' '{s1+=$4;s2+=$6}END{printf "additions: %s; deletions: %s\n",s1,s2}'

hope these info can help you

Han.Oliver
  • 525
  • 5
  • 8