Методы получения размера репозитория GitHub с использованием API GitHub

Чтобы получить размер репозитория GitHub с помощью API GitHub, вы можете использовать следующие методы:

  1. Метод: использование API репозитория
    Пример кода:

    import requests
    def get_repository_size(owner, repo):
       url = f"https://api.github.com/repos/{owner}/{repo}"
       response = requests.get(url)
       if response.status_code == 200:
           repository_data = response.json()
           size = repository_data["size"]
           return size
       else:
           return None
    # Example usage
    owner = "github"
    repo = "gitignore"
    size = get_repository_size(owner, repo)
    if size:
       print(f"The repository '{owner}/{repo}' size is {size} KB.")
    else:
       print(f"Failed to retrieve repository size for '{owner}/{repo}'.")
  2. Метод: использование GraphQL API
    Пример кода:

    import requests
    import json
    def get_repository_size(owner, repo):
       url = 'https://api.github.com/graphql'
       headers = {'Authorization': 'Bearer YOUR_ACCESS_TOKEN'}
       query = f"""
       {{
           repository(owner: "{owner}", name: "{repo}") {{
               diskUsage
           }}
       }}
       """
       response = requests.post(url, headers=headers, json={'query': query})
       if response.status_code == 200:
           repository_data = response.json()
           size = repository_data['data']['repository']['diskUsage']
           return size
       else:
           return None
    # Example usage
    owner = "github"
    repo = "gitignore"
    size = get_repository_size(owner, repo)
    if size:
       print(f"The repository '{owner}/{repo}' size is {size} KB.")
    else:
       print(f"Failed to retrieve repository size for '{owner}/{repo}'.")