awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
PyGithub avatar

PyGithub/PyGithub

0
View on GitHub↗
7,735 stars·1,881 forks·Python·LGPL-3.0·17 viewspygithub.readthedocs.io↗

PyGithub

PyGithub is a Python library that serves as an object-oriented wrapper for the GitHub REST API. It functions as a specialized client that translates API endpoints into a hierarchy of Python classes, allowing for the programmatic management of GitHub repositories, user profiles, and organizations.

The library manages the serialization of requests and responses, converting JSON data into structured object attributes. It utilizes lazy-loading for property retrieval and employs generators to handle pagination when iterating over large remote datasets.

This toolkit enables the automation of GitHub resources, including repository configurations, user management, and organization memberships. It is designed to integrate these programmatic capabilities into DevOps workflows and automation pipelines.

Features

  • GitHub API Integrations - Provides a comprehensive Python library for interacting with the GitHub REST API to automate resource management.
  • Python API Clients - Offers a native Python client that provides object-oriented access to the GitHub REST API endpoints.
  • DevOps Automation Tools - Provides a programmatic interface for integrating GitHub resource management into DevOps automation pipelines.
  • Object-Oriented API Wrappers - Translates raw JSON API responses into a hierarchy of strongly typed Python classes.
  • Automatic API Pagination Engines - Implements a transparent engine that automatically fetches subsequent pages of API responses until all results are collected.
  • Bulk Configuration Tools - Enables bulk updates to settings and configurations across multiple GitHub repositories using Python scripts.
  • Resource Mappings - Maps remote GitHub API endpoints to local Python objects representing entities and their properties.
  • REST API Clients - Implements a client that handles request serialization, pagination, and JSON parsing for the GitHub web service.
  • CI/CD Workflows - Facilitates the integration of API calls into CI/CD pipelines to automate actions based on repository events.
  • Object Property Deferred Loading - Defers the loading of individual object properties until they are first accessed to minimize initial memory usage.
  • User Group Management - Programmatically manages organization memberships and user group assignments through the API.
  • Request and Response Transformers - Serializes Python method calls into HTTP requests and deserializes JSON responses back into structured object attributes.
  • Git and GitHub Libraries - Python library for GitHub API access.

Star history

Star history chart for pygithub/pygithubStar history chart for pygithub/pygithub

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does pygithub/pygithub do?

PyGithub is a Python library that serves as an object-oriented wrapper for the GitHub REST API. It functions as a specialized client that translates API endpoints into a hierarchy of Python classes, allowing for the programmatic management of GitHub repositories, user profiles, and organizations.

What are the main features of pygithub/pygithub?

The main features of pygithub/pygithub are: GitHub API Integrations, Python API Clients, DevOps Automation Tools, Object-Oriented API Wrappers, Automatic API Pagination Engines, Bulk Configuration Tools, Resource Mappings, REST API Clients.

What are some open-source alternatives to pygithub/pygithub?

Open-source alternatives to pygithub/pygithub include: github-tools/github — Octokit is a JavaScript API client and REST API wrapper designed for executing authenticated requests to GitHub from… octokit/octokit.js — Octokit.js is a GitHub API SDK used to interact with GitHub via REST and GraphQL interfaces. It serves as a client for… actions/github-script — github-script is a GitHub Actions JavaScript runner that executes asynchronous scripts to interact with the GitHub… octokit/octokit.rb — Octokit.rb is a Ruby client library and REST API wrapper used to programmatically interact with GitHub. It provides a… inventree/inventree — InvenTree is an open-source inventory management platform built on Django, designed for tracking parts, stock levels,… praw-dev/praw — PRAW is a Python wrapper for the Reddit API, functioning as a REST API client and social media data crawler. It…

Open-source alternatives to PyGithub

Similar open-source projects, ranked by how many features they share with PyGithub.
  • github-tools/githubgithub-tools avatar

    github-tools/github

    3,728View on GitHub↗

    Octokit is a JavaScript API client and REST API wrapper designed for executing authenticated requests to GitHub from browser-based environments. It serves as a programmatic interface for managing repositories, issues, pull requests, and user profiles. The library provides a high-level wrapper that organizes API functionality into resource-specific namespaces. It implements an asynchronous promise interface and includes mechanisms for pagination-aware data fetching and rate-limit tracking to prevent service interruptions. The tool covers a broad range of administrative capabilities, including

    JavaScript
    View on GitHub↗3,728
  • octokit/octokit.jsoctokit avatar

    octokit/octokit.js

    7,795View on GitHub↗

    Octokit.js is a GitHub API SDK used to interact with GitHub via REST and GraphQL interfaces. It serves as a client for executing typed queries and mutations, managing authenticated REST requests, and handling signed webhooks across Node.js, Deno, and browser environments. The library features a plugin-based request pipeline and an adapter-based HTTP client, allowing the interception of requests and responses across different runtimes. It employs strategy-based authentication to separate credential management from request logic, supporting static tokens, OAuth flows, and GitHub App installatio

    TypeScriptgithubhacktoberfestjavascript
    View on GitHub↗7,795
  • actions/github-scriptactions avatar

    actions/github-script

    4,975View on GitHub↗

    github-script is a GitHub Actions JavaScript runner that executes asynchronous scripts to interact with the GitHub API. It serves as a JavaScript workflow scripting runtime and API client, providing a pre-configured authenticated client for automating tasks within GitHub Actions pipelines. The project enables the implementation of custom workflow logic that exceeds standard YAML syntax, including the ability to perform REST API calls and execute GraphQL queries for complex data extraction. It supports the management of multiple authenticated clients to facilitate cross-organization repository

    TypeScript
    View on GitHub↗4,975
  • octokit/octokit.rboctokit avatar

    octokit/octokit.rb

    3,945View on GitHub↗

    Octokit.rb is a Ruby client library and REST API wrapper used to programmatically interact with GitHub. It provides a structured interface for automating workflows, managing repositories, and transforming raw HTTP responses into Ruby objects. The library differentiates itself through hypermedia-driven navigation, which uses URI templates and link relations to discover resources dynamically. It also implements automated result pagination to combine paginated responses into single arrays and uses fingerprint-based caching to reduce redundant network requests. The tool covers a broad range of c

    Rubygithubgithub-apihacktoberfest
    View on GitHub↗3,945
  • See all 30 alternatives to PyGithub→