Use Github with Llamaindex Python

A platform for version control and collaboration, allowing you to work together on projects from anywhere.
🔗 Connect and Use Github
1. 🔑 Connect your Github account
2. ✅ Select an action
3. 🚀 Go live with the agent
What do you want to do?
Actions
meta
security-advisories
apps
classroom
codes-of-conduct
emojis
dependabot
secret-scanning
activity
gists
gitignore
issues
licenses
markdown
orgs
actions
oidc
code-scanning
codespaces
copilot
packages
interactions
migrations
projects
repos
billing
teams
reactions
rate-limit
checks
dependency-graph
git
pulls
search
users
Main

API actions for Github for AI assitants/agents

Language
JS
PYTHON
Framework

Users

Delete Social Accounts For The Authenticated User

Deletes one or more social accounts from the authenticated user's profile. OAuth app tokens and personal access tokens (classic) need the `user` scope to use this endpoint.
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_DELETE_SOCIAL_ACCOUNTS_FOR_THE_AUTHENTICATED_USER])

List Ssh Signing Keys For The Authenticated User

Lists the SSH signing keys for the authenticated user's GitHub account. OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint.
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_SSH_SIGNING_KEYS_FOR_THE_AUTHENTICATED_USER])

Create A Ssh Signing Key For The Authenticated User

Creates an SSH signing key for the authenticated user's GitHub account. OAuth app tokens and personal access tokens (classic) need the `write:ssh_signing_key` scope to use this endpoint.
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CREATE_A_SSH_SIGNING_KEY_FOR_THE_AUTHENTICATED_USER])

Get An Ssh Signing Key For The Authenticated User

Gets extended details for an SSH signing key. OAuth app tokens and personal access tokens (classic) need the `read:ssh_signing_key` scope to use this endpoint.
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_AN_SSH_SIGNING_KEY_FOR_THE_AUTHENTICATED_USER])

Delete An Ssh Signing Key For The Authenticated User

Deletes an SSH signing key from the authenticated user's GitHub account. OAuth app tokens and personal access tokens (classic) need the `admin:ssh_signing_key` scope to use this endpoint.
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_DELETE_AN_SSH_SIGNING_KEY_FOR_THE_AUTHENTICATED_USER])

List Users

The text describes a feature listing GitHub users by signup order, including individuals and organizations, with pagination managed via the `since` parameter and the Link header for navigating
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_USERS])

Get A User

GitHub discloses publicly set user email information and offers an Emails API for email visibility control. This access necessitates GitHub authentication.
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_A_USER])

Users Get By Username

GitHub discloses publicly set user email information and offers an Emails API for email visibility control. This access necessitates GitHub authentication.<<DEPRECATED use get_a_user>>
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_USERS_GET_BY_USERNAME])

List Followers Of A User

Lists the people following the specified user.
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_FOLLOWERS_OF_A_USER])

List The People A User Follows

Lists the people who the specified user follows.
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_THE_PEOPLE_A_USER_FOLLOWS])

Check If A User Follows Another User

Endpoint checks if a user follows another on GitHub. Pass 'username' & 'target_user' in path. Response: 204 if follows, 404 if not. Supports GitHub Apps. [API Docs](https://docs.github.com/res
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CHECK_IF_A_USER_FOLLOWS_ANOTHER_USER])

List Gpg Keys For A User

Lists the GPG keys for a user. This information is accessible by anyone.
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_GPG_KEYS_FOR_A_USER])

Get Contextual Information For A User

This hovercard feature provides detailed info about someone's involvement in pull requests, issues, repositories, and organizations, using `subject_type` and `subject_id` for context. OAuth to
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_CONTEXTUAL_INFORMATION_FOR_A_USER])

Users Get Context For User

This hovercard feature provides detailed info about someone's involvement in pull requests, issues, repositories, and organizations, using `subject_type` and `subject_id` for context. OAuth to
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_USERS_GET_CONTEXT_FOR_USER])

List Public Keys For A User

Lists the _verified_ public SSH keys for a user. This is accessible by anyone.
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_PUBLIC_KEYS_FOR_A_USER])

List Social Accounts For A User

Lists social media accounts for a user. This endpoint is accessible by anyone.
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_SOCIAL_ACCOUNTS_FOR_A_USER])

Users List Social Accounts For User

Lists social media accounts for a user. This endpoint is accessible by anyone.<<DEPRECATED use list_social_accounts_for_a_user>>
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_USERS_LIST_SOCIAL_ACCOUNTS_FOR_USER])

List Ssh Signing Keys For A User

Lists the SSH signing keys for a user. This operation is accessible by anyone.
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_SSH_SIGNING_KEYS_FOR_A_USER])

Activity

List Repositories Starred By The Authenticated User

This endpoint lists starred repositories of the authenticated user and supports media type `application/vnd.github.star+json` to include star creation timestamps. More on media types at GitHub
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_REPOSITORIES_STARRED_BY_THE_AUTHENTICATED_USER])

Activity List Repo S Starred By Authenticated User

This endpoint lists starred repositories of the authenticated user and supports media type `application/vnd.github.star+json` to include star creation timestamps. More on media types at GitHub
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_ACTIVITY_LIST_REPO_S_STARRED_BY_AUTHENTICATED_USER])

Check If A Repository Is Starred By The Authenticated User

Whether the authenticated user has starred the repository.
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CHECK_IF_A_REPOSITORY_IS_STARRED_BY_THE_AUTHENTICATED_USER])

Star A Repository For The Authenticated User

Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_STAR_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER])

Activity Star Repo For Authenticated User

Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_ACTIVITY_STAR_REPO_FOR_AUTHENTICATED_USER])

Unstar A Repository For The Authenticated User

Unstar a repository that the authenticated user has previously starred.
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_UNSTAR_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER])

List Repositories Watched By The Authenticated User

Lists repositories the authenticated user is watching.
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_REPOSITORIES_WATCHED_BY_THE_AUTHENTICATED_USER])

List Events For The Authenticated User

If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events.
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_EVENTS_FOR_THE_AUTHENTICATED_USER])

List Organization Events For The Authenticated User

This is the user's organization dashboard. You must be authenticated as the user to view this.
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_ORGANIZATION_EVENTS_FOR_THE_AUTHENTICATED_USER])

List Public Events For A User

This endpoint lists a GitHub user's public events, accepting `username` and optional `per_page` and `page` parameters for pagination. It shows activities such as watched repos and pushed commi
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_PUBLIC_EVENTS_FOR_A_USER])

List Events Received By The Authenticated User

These are events that you've received by watching repositories and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public e
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_EVENTS_RECEIVED_BY_THE_AUTHENTICATED_USER])

List Public Events Received By A User

This endpoint displays a GitHub user's public events, including event type and repository, with pagination and event type filtering. It integrates with GitHub apps and requires a `username`. V
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_PUBLIC_EVENTS_RECEIVED_BY_A_USER])

List Repositories Starred By A User

This endpoint lists repositories a user has starred and supports media types like `application/vnd.github.star+json`, which includes the star's creation timestamp. For more, visit GitHub's doc
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_REPOSITORIES_STARRED_BY_A_USER])

List Repositories Watched By A User

Lists repositories a user is watching.
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_REPOSITORIES_WATCHED_BY_A_USER])

Teams

List Teams For The Authenticated User

This endpoint lists all teams across organizations for the authenticated user, requiring `user`, `repo`, or `read:org` scope. For fine-grained tokens, it shows teams from the token owner's org
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_TEAMS_FOR_THE_AUTHENTICATED_USER])

Packages

Find Conflicting Packages For Docker Migration

This endpoint lists user-specific packages with migration conflicts accessible to the requester, requiring `read:packages` scope via OAuth or classic tokens.
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_FIND_CONFLICTING_PACKAGES_FOR_DOCKER_MIGRATION])

List Packages For A User

This endpoint lists packages in a user's namespace accessible to the requester, requiring `read:packages` scope, and `repo` scope for certain GitHub Packages registries. It directs to a doc fo
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_PACKAGES_FOR_A_USER])

Get A Package For A User

To access a user's public package metadata, OAuth and classic tokens need `read:packages` scope; `repo` scope is also required for repository-scoped GitHub Packages. Refer to GitHub documentat
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_A_PACKAGE_FOR_A_USER])

Delete A Package For A User

Deleting a package requires admin rights. Public packages with >5,000 downloads need GitHub support. OAuth/personal tokens must have `read:packages`, `delete:packages`, and `repo` scope for so
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_DELETE_A_PACKAGE_FOR_A_USER])

Restore A Package For A User

A deleted GitHub Package can be restored within 30 days, provided the namespace/version are unchanged and admin rights with specific permissions are available. OAuth/personal tokens need `read
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_RESTORE_A_PACKAGE_FOR_A_USER])

List Package Versions For A Package Owned By A User

This endpoint lists a user's public package versions, needing `read:packages` scope. For registry-specific packages, `repo` scope is also required. Refer to GitHub's Packages permissions for m
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_PACKAGE_VERSIONS_FOR_A_PACKAGE_OWNED_BY_A_USER])

Get A Package Version For A User

Fetch a specific public package version with an OAuth or classic token having `read:packages` scope. If `package_type` is in a registry needing repository-scoped permissions, `repo` scope is n
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_A_PACKAGE_VERSION_FOR_A_USER])

Delete Package Version For A User

Users can delete a package version unless it's public with over 5,000 downloads. Admin permissions are required for certain registry types, with `read:packages` and `delete:packages` scopes ne
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_DELETE_PACKAGE_VERSION_FOR_A_USER])

Restore Package Version For A User

Users can restore a deleted package within 30 days if the namespace/version is available and not reused. Admin permissions might be needed, and specific OAuth or personal access tokens are req
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_RESTORE_PACKAGE_VERSION_FOR_A_USER])

Gists

List Gists For A User

Lists public gists for the specified user:
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_GISTS_FOR_A_USER])

Orgs

List Organizations For A User

This method lists only public organization memberships for a specified user. To access both public and private memberships for an authenticated user, use the List organizations API.
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_ORGANIZATIONS_FOR_A_USER])

Projects

List User Projects

Lists projects for a user.
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_USER_PROJECTS])

Repos

List Repositories For A User

Lists public repositories for the specified user.
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_REPOSITORIES_FOR_A_USER])

Repo S List For User

Lists public repositories for the specified user.<<DEPRECATED use list_repositories_for_a_user>>
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_REPO_S_LIST_FOR_USER])

Billing

Get Github Actions Billing For A User

The summary details GitHub Actions' used minutes, covering both free and paid, applicable only in private repos for GitHub-hosted runners, including re-runs and OS multipliers, rounded up by m
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_GITHUB_ACTIONS_BILLING_FOR_A_USER])

Get Github Packages Billing For A User

The text provides information on tracking free and paid GitHub Packages storage in GB, noting paid storage is for private repos. It links to billing management and mentions OAuth tokens need t
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_GITHUB_PACKAGES_BILLING_FOR_A_USER])

Get Shared Storage Billing For A User

The text provides guidance on estimating costs for GitHub Actions and Packages for private repositories, emphasizing the need to consult billing documentation and the requirement for `user` sc
from composio_llamaindex import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_SHARED_STORAGE_BILLING_FOR_A_USER])

Frequently asked questions

What is Composio.dev?

Composio.dev is a cutting-edge framework for building AI applications, designed to make the process of developing AI solutions super easy and fun! It's a collection of powerful tools and libraries that simplify the process of creating AI applications, allowing you to focus on the creative aspects of your project without getting bogged down by the technical details.

How does Composio.dev support Github?

Composio.dev seamlessly integrates with Github, making it a breeze to leverage its capabilities within the Composio.dev platform. You can use Github to call functions on various platforms like Google, GitHub, and others, allowing you to incorporate different services into your AI applications with ease. It also supports user login via OAuth2 and can work with other popular frameworks such as LangChain and CrewAI, giving you the flexibility to build truly innovative AI solutions.

What models can I use with Github and llamaindex_python?

When using Github and llamaindex_python, you have access to a wide range of state-of-the-art language models, including GPT-4o (OpenAI), GPT-3.5 (OpenAI), GPT-4 (OpenAI), Claude (Anthropic), PaLM (Google), LLaMA and LLaMA 2 (Meta), Gemini, and many others. This flexibility allows you to choose the model that best suits your specific use case, whether you're building a chatbot, a content creation tool, or any other AI-powered application. You can experiment with different models and find the one that delivers the best performance for your project.

How can I integrate Github with llamaindex_python?

Integrating Github with llamaindex_python is super easy with Composio.dev! You can use the Composio.dev API to call functions from both Github and llamaindex_python, allowing you to tap into their capabilities with just a few lines of code. The SDK is available in Python, JavaScript, and TypeScript, so you can work with the language you're most comfortable with and integrate these powerful tools into your projects seamlessly.

What is the pricing for Github and llamaindex_python?

Both Github and llamaindex_python are completely free to use, with a generous free tier that allows up to 1000 requests per month. This makes them accessible for developers and organizations of all sizes, whether you're a student working on a personal project or a startup building the next big thing. You can get started with these powerful tools without worrying about breaking the bank.

What kind of authentication is supported for Github and llamaindex_python?

Github and llamaindex_python support OAuth2 authentication, ensuring secure and authorized access to their functionalities. You can use the Composio.dev API to handle authentication and call functions from both Github and llamaindex_python seamlessly. The SDK is available in Python, JavaScript, and TypeScript for your convenience, making it easy to integrate authentication into your projects and keep your users' data safe and secure.

Can I add Github to my project?

Absolutely! You can easily incorporate Github into your project by utilizing the Composio.dev API. This API allows you to call functions from both Github and llamaindex_python, enabling you to leverage their capabilities within your application. The SDK is available in Python, JavaScript, and TypeScript to facilitate integration, so you can work with the language you're most comfortable with and add these powerful tools to your project with ease.

What is the accuracy of Github and llamaindex_python?

Github and llamaindex_python are designed to provide highly accurate and reliable results, ensuring that your AI applications perform at their best. The integration with Composio.dev ensures precise function calls, enabling you to build robust and powerful AI applications with confidence. The comprehensive framework and the ability to leverage state-of-the-art models ensure reliable and accurate outcomes for your AI development needs, whether you're working on a chatbot, a content creation tool, or any other AI-powered project.

What are some common use cases for Github and llamaindex_python?

Github and llamaindex_python can be used for a wide range of AI applications, making them versatile tools for developers and creators alike. Some common use cases include natural language processing, text generation, question answering, sentiment analysis, and more. They're particularly useful for building chatbots, virtual assistants, content creation tools, and other AI-powered applications that can help you automate tasks, engage with users, and create compelling content. Whether you're working on a personal project or building a product for your startup, these tools can help you bring your ideas to life.

How does Github handle data privacy and security?

Data privacy and security are crucial considerations when working with AI systems, and Github takes these issues seriously. It follows industry best practices and adheres to strict data protection regulations, ensuring that your data is kept safe and secure. Github provides robust security measures, such as encryption and access controls, to ensure the confidentiality and integrity of your data. You can rest assured that your sensitive information is protected when using Github for your AI development needs.

Can I customize Github and llamaindex_python for my specific needs?

Absolutely! Github and llamaindex_python are highly customizable and extensible, allowing you to tailor their functionality, models, and configurations to meet your specific requirements. Whether you're building a chatbot, a content creation tool, or any other AI-powered application, you can customize these tools to fit your unique needs. Additionally, Composio.dev provides a flexible platform for integrating and orchestrating various AI tools and services, enabling you to create custom AI solutions that are tailored to your project.

What kind of support and documentation is available for Github and llamaindex_python?

Github and llamaindex_python have comprehensive documentation and a supportive community, making it easy for you to get started and find answers to your questions. Composio.dev also provides extensive resources, including tutorials, guides, and a dedicated support team to assist you throughout your AI development journey. Whether you're a beginner or an experienced developer, you'll have access to the resources you need to make the most of these powerful tools.
+ Integrate seamlessly with your agentic frameworks
Composio Works with All Shapes and SizesComposio Works with All Shapes and SizesComposio Works with All Shapes and SizesComposio Works with All Shapes and SizesComposio Works with All Shapes and Sizes
Building for AI across continents🧪