Skip to main content

Fetch data from GitHub

Project description

pygethub

Build codecov License: MIT Python 3.10

pygethub is a Python package for fetching paginated resources such as commits, users, repositories and organizations from the GitHub API. It provides automatic rate-limit handling and pagination for GitHub resources.

Features

  • Get a list of commits for a specific repository.
  • Get a list of branches for a specific repository.
  • List GitHub users and organizations.
  • List repositories for a specific organization or user.
  • Get a list of contributors for a specific repository.
  • Check the rate limit for the authenticated user.
  • Start and resume pagination of global resources.

Installation

To install pygethub, you can use pip:

pip install pygethub

Usage

Here is an example of how you can use pygethub:

from pygethub import list_commits, GitHubPaginator, list_users

# List commits for a specific repository
commits = list_commits('owner', 'repo', 'your-github-token')
print(commits)

# Use pagination to list users
paginator = GitHubPaginator('your-github-token')

# List users from the beginning, include other request parameters as keyword arguments
users = paginator.get_paginator(list_users)
for user in users:
    print(user)

# If you want to resume the listing from a certain user ID, use the `since` parameter
users = paginator.get_paginator(list_users, since=500)
for user in users:
    print(user)

# Similarly, you can use the `since` parameter with list_organizations to resume listing from a certain organization ID

Development

To install pygethub, along with the tools you need to develop and run tests, run the following in your virtual environment:

pip install -e .[dev,test]

Contributing

Contributions are welcome! Please read our Contributing Guide on how to contribute to pygethub.

License

pygethub is licensed under the terms of the MIT license. See the LICENSE file for the full license text.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pygethub-0.1.2.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

pygethub-0.1.2-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file pygethub-0.1.2.tar.gz.

File metadata

  • Download URL: pygethub-0.1.2.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for pygethub-0.1.2.tar.gz
Algorithm Hash digest
SHA256 c9cd4d6ac0ee0d558c45e184dbddf37541f5c9c3113bc021afa39496806d21e3
MD5 2aca262b9d087a937d073ad4925a71aa
BLAKE2b-256 104758532f8cc01d11205c4637773e1c4a2bc2f98e3f2611ef4627d2e55bf057

See more details on using hashes here.

File details

Details for the file pygethub-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: pygethub-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for pygethub-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 edc84bcd6d1a9158faff41abd5e9a063c693bac4fc261fd844a8a8c61da84e1a
MD5 33059ed8cc88d999f38c8981459deb1b
BLAKE2b-256 d7660917fd4fbeb515934a70daebf17b4f0948a4ec79b1019d61994348bde9dc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page