gitcode_api.resources.repositories

Classes for resource groups: branches, commits, file contents, and repositories.

class AsyncBranchesResource(client: AsyncAPIClient)

Bases: AsyncResource, AbstractBranchesResource

Asynchronous branch endpoints.

Mirrors BranchesResource (docs/rest_api/repos/branch).

Bind the resource to an asynchronous API client.

async list(*, owner: str | None = None, repo: str | None = None, sort: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None) List[Branch]

List branches in a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • sort – Optional sort field such as name or updated.

  • direction – Sort direction, usually asc or desc.

  • page – Page number.

  • per_page – Page size.

Returns:

Repository branches.

async get(*, branch: str, owner: str | None = None, repo: str | None = None) BranchDetail

Get a single branch.

Parameters:
  • branch – Branch name.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Branch details.

async create(*, branch: str, ref: str, owner: str | None = None, repo: str | None = None) Branch

Create a branch from an existing ref.

Parameters:
  • branch – New branch name.

  • ref – Starting ref such as a branch, tag, or commit SHA.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Created branch details.

async list_protected(*, owner: str | None = None, repo: str | None = None) List[ProtectedBranch]

List protected branch rules for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Protected branch rules.

class AsyncCommitsResource(client: AsyncAPIClient)

Bases: AsyncResource, AbstractCommitsResource

Asynchronous commit endpoints.

Mirrors CommitsResource (docs/rest_api/repos/commit).

Bind the resource to an asynchronous API client.

async list(*, owner: str | None = None, repo: str | None = None, sha: str | None = None, path: str | None = None, page: int | None = None, per_page: int | None = None) List[CommitSummary]

List commits in a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • sha – Optional starting SHA or ref.

  • path – Optional file path filter.

  • page – Page number.

  • per_page – Page size.

Returns:

Matching commits.

async get(*, sha: str, owner: str | None = None, repo: str | None = None) Commit

Get a single commit.

Parameters:
  • sha – Commit SHA or branch name accepted by the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Commit details.

async compare(*, base: str, head: str, owner: str | None = None, repo: str | None = None) CommitComparison

Compare two refs in a repository.

Parameters:
  • base – Base commit SHA, branch, or tag.

  • head – Head commit SHA, branch, or tag.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Commit comparison payload.

async list_comments(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[CommitComment]

List commit comments for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Commit comments.

async get_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) CommitComment

Get a single commit comment.

Parameters:
  • comment_id – Commit comment identifier.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Commit comment details.

async create_comment(*, sha: str, body: str, owner: str | None = None, repo: str | None = None, path: str | None = None, position: int | None = None) CommitComment

Create a comment on a commit.

Parameters:
  • sha – Commit SHA.

  • body – Comment body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • path – Optional file path associated with the comment.

  • position – Optional diff position.

Returns:

Created commit comment.

async update_comment(*, comment_id: int | str, body: str, owner: str | None = None, repo: str | None = None) CommitComment

Update a commit comment.

Parameters:
  • comment_id – Commit comment identifier.

  • body – Updated comment body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Updated commit comment.

async delete_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) None

Delete a commit comment.

Parameters:
  • comment_id – Commit comment identifier.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

class AsyncRepoContentsResource(client: AsyncAPIClient)

Bases: AsyncResource, AbstractRepoContentsResource

Asynchronous repository contents endpoints.

Mirrors RepoContentsResource (contents, trees, blobs, raw files; see docs/rest_api/repos).

Bind the resource to an asynchronous API client.

async get(*, path: str, owner: str | None = None, repo: str | None = None, ref: str | None = None) ContentObject

Get a file or directory entry from a repository.

Parameters:
  • path – Repository-relative file path.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • ref – Optional branch, tag, or commit SHA.

Returns:

Content metadata and payload details.

async create(*, path: str, content: str, message: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult

Create a file in a repository.

Parameters:
  • path – Repository-relative file path.

  • content – File content, typically base64-encoded for this API.

  • message – Commit message.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • branch – Optional target branch.

  • author_name – Optional commit author name.

  • author_email – Optional commit author email.

Returns:

Commit result payload.

async update(*, path: str, content: str, message: str, sha: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult

Update a file in a repository.

Parameters:
  • path – Repository-relative file path.

  • content – Updated file content, typically base64-encoded.

  • message – Commit message.

  • sha – Current blob SHA required by the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • branch – Optional target branch.

  • author_name – Optional commit author name.

  • author_email – Optional commit author email.

Returns:

Commit result payload.

async delete(*, path: str, message: str, sha: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult

Delete a file from a repository.

Parameters:
  • path – Repository-relative file path.

  • message – Commit message.

  • sha – Current blob SHA required by the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • branch – Optional target branch.

  • author_name – Optional commit author name.

  • author_email – Optional commit author email.

Returns:

Commit result payload.

async list_paths(*, owner: str | None = None, repo: str | None = None, ref_name: str | None = None, file_name: str | None = None) List[str]

List repository paths known to GitCode.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • ref_name – Optional ref name to inspect.

  • file_name – Optional filename filter.

Returns:

Matching repository paths.

async get_tree(*, sha: str, owner: str | None = None, repo: str | None = None, recursive: int | None = None, page: int | None = None, per_page: int | None = None) Tree

Get a Git tree object.

Parameters:
  • sha – Tree SHA.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • recursive – Pass 1 to fetch the tree recursively (query parameter per Repository API).

  • page – Page number for large trees.

  • per_page – Page size for large trees.

Returns:

Tree metadata and entries.

async get_blob(*, sha: str, owner: str | None = None, repo: str | None = None) Blob

Get a Git blob object by SHA.

Parameters:
  • sha – Blob SHA.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Blob metadata and content.

async get_raw(*, path: str, owner: str | None = None, repo: str | None = None, ref: str | None = None) bytes

Download raw file bytes from a repository.

Parameters:
  • path – Repository-relative file path.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • ref – Optional branch, tag, or commit SHA.

Returns:

Raw file bytes.

class AsyncReposResource(client: AsyncAPIClient)

Bases: AsyncResource, AbstractReposResource

Asynchronous repository endpoints.

Mirrors ReposResource; see that class for parameters and JSON fields (Repository API in docs/rest_api/repos).

Bind the resource to an asynchronous API client.

async get(*, owner: str | None = None, repo: str | None = None) Repository

Get a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Repository metadata.

async list_user(*, visibility: str | None = None, affiliation: str | None = None, type: str | None = None, sort: str | None = None, direction: str | None = None, q: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]

List repositories visible to the authenticated user.

Parameters:
  • visibility – Visibility filter such as public, private, or all.

  • affiliation – Ownership filter accepted by the REST API.

  • type – Repository type filter.

  • sort – Sort field such as created or full_name.

  • direction – Sort direction.

  • q – Optional keyword filter.

  • page – Page number.

  • per_page – Page size.

Returns:

Matching repositories.

async list_for_owner(*, owner: str, type: str | None = None, sort: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]

List public repositories for a user or owner path.

Parameters:
  • owner – Repository owner path or username.

  • type – Repository type filter.

  • sort – Sort field.

  • direction – Sort direction.

  • page – Page number.

  • per_page – Page size.

Returns:

Matching repositories.

async create_personal(*, name: str, description: str | None = None, path: str | None = None, private: bool | None = None, auto_init: bool | None = None, has_issues: bool | None = None, has_wiki: bool | None = None, default_branch: str | None = None, gitignore_template: str | None = None, license_template: str | None = None) Repository

Create a repository for the authenticated user.

Parameters:
  • name – Repository name.

  • description – Repository description.

  • path – Optional repository path.

  • private – Whether the repository should be private.

  • auto_init – Whether to initialize the repository with a README.

  • has_issues – Whether issues are enabled.

  • has_wiki – Whether wiki support is enabled.

  • default_branch – Default branch name when initializing.

  • gitignore_template – Optional gitignore template.

  • license_template – Optional license template.

Returns:

Created repository metadata.

async create_for_org(*, org: str, name: str, description: str | None = None, homepage: str | None = None, path: str | None = None, private: bool | None = None, public: int | None = None, auto_init: bool | None = None, has_issues: bool | None = None, has_wiki: bool | None = None, can_comment: bool | None = None, default_branch: str | None = None, gitignore_template: str | None = None, license_template: str | None = None) Repository

Create a repository under an organization.

Parameters:
  • org – Organization path or login.

  • name – Repository name.

  • description – Repository description.

  • homepage – Repository homepage URL.

  • path – Optional repository path.

  • private – Whether the repository should be private.

  • public – Visibility mode used by the GitCode API.

  • auto_init – Whether to initialize the repository with a README.

  • has_issues – Whether issues are enabled.

  • has_wiki – Whether wiki support is enabled.

  • can_comment – Whether comments are enabled.

  • default_branch – Default branch name when initializing.

  • gitignore_template – Optional gitignore template.

  • license_template – Optional license template.

Returns:

Created repository metadata.

async update(*, owner: str | None = None, repo: str | None = None, **changes) Repository

Update repository metadata.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • changes – Repository fields accepted by the update endpoint.

Returns:

Updated repository metadata.

async delete(*, owner: str | None = None, repo: str | None = None) None

Delete a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

async fork(*, owner: str | None = None, repo: str | None = None, namespace: str | None = None, path: str | None = None, name: str | None = None) Repository

Fork a repository.

Parameters:
  • owner – Source repository owner path.

  • repo – Source repository name.

  • namespace – Optional destination namespace.

  • path – Optional destination repository path.

  • name – Optional destination repository name.

Returns:

Forked repository metadata.

async list_forks(*, owner: str | None = None, repo: str | None = None, sort: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]

List forks of a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • sort – Optional sort field.

  • page – Page number.

  • per_page – Page size.

Returns:

Fork repositories.

async list_contributors(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[Contributor]

List repository contributors.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Contributors for the repository.

async list_languages(*, owner: str | None = None, repo: str | None = None) Dict[str, int]

List language statistics for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Mapping of language names to byte counts.

async list_stargazers(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[UserSummary]

List users who starred a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Users who starred the repository.

async list_subscribers(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[UserSummary]

List users watching a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Subscribers for the repository.

async update_module_settings(*, owner: str | None = None, repo: str | None = None, **settings) ApiStatusResponse

Update repository module settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • settings – Module settings accepted by the GitCode API.

Returns:

API response payload.

async update_reviewer_settings(*, owner: str | None = None, repo: str | None = None, **settings) RepositoryReviewerSettingsUpdate

Update repository reviewer settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • settings – Reviewer settings accepted by the GitCode API.

Returns:

API response payload.

async set_org_repo_status(*, org: str, repo: str, status: int, password: str, **kwargs) ApiStatusResponse

Update organization repository status metadata.

Parameters:
  • org – Organization path.

  • repo – Repository path.

  • status – State, 0: open, 2: archived.

  • password – User password for verification.

  • kwargs – Additional arguments forwarded directly in request.

Returns:

API response payload.

async transfer_to_org(*, org: str, repo: str, transfer_to: str, password: str, **kwargs) ApiStatusResponse

Transfer a repository to an organization.

Parameters:
  • org – Source organization path.

  • repo – Repository path.

  • transfer_to – Target namespace.

  • password – User password for verification.

  • kwargs – Additional arguments forwarded directly in request.

Returns:

API response payload.

async get_transition(*, owner: str | None = None, repo: str | None = None) RepositoryPermissionMode

Get repository transition settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Transition configuration.

async update_transition(*, owner: str | None = None, repo: str | None = None, mode: int | None = None, **kwargs) ApiStatusResponse

Update repository transition settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • mode – Permission management mode: 1 (inheritance) or 2 (independent).

  • kwargs – Additional arguments forwarded directly in request.

Returns:

API response payload.

async update_push_config(*, owner: str | None = None, repo: str | None = None, reject_not_signed_by_gpg: bool | None = None, commit_message_regex: str | None = None, max_file_size: int | None = None, skip_rule_for_owner: bool | None = None, deny_force_push: bool | None = None, **kwargs) RepositoryPushConfig

Update repository push configuration.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • reject_not_signed_by_gpg – Only allow commits with verified GPG signatures.

  • commit_message_regex – Commit message validation regex.

  • max_file_size – Commit file size limit in MB.

  • skip_rule_for_owner – Whether project administrators skip push rules.

  • deny_force_push – Prohibit force push (including for administrators).

  • kwargs – Additional arguments forwarded directly in request.

Returns:

Updated push configuration.

async get_push_config(*, owner: str | None = None, repo: str | None = None) RepositoryPushConfig

Get repository push configuration.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Push configuration payload.

async upload_image(*, owner: str | None = None, repo: str | None = None, body: str | None = None, file_name: str | None = None, **kwargs) RepositoryUploadResult

Upload an image asset for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • body – File content in base64 format (limit: 20 MB).

  • file_name – File name.

  • kwargs – Additional arguments forwarded directly in request.

Returns:

Uploaded image metadata.

async upload_file(*, owner: str | None = None, repo: str | None = None, file: str | None = None, **kwargs) RepositoryUploadResult

Upload a file asset for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • file – File content in base64 format (limit: 20 MB).

  • kwargs – Additional arguments forwarded directly in request.

Returns:

Uploaded file metadata.

async update_repo_settings(*, owner: str | None = None, repo: str | None = None, disable_fork: bool | None = None, forbidden_developer_create_branch: bool | None = None, forbidden_developer_create_tag: bool | None = None, forbidden_committer_create_branch: bool | None = None, forbidden_developer_create_branch_user_ids: str | None = None, branch_name_regex: str | None = None, tag_name_regex: str | None = None, generate_pre_merge_ref: bool | None = None, rebase_disable_trigger_webhook: bool | None = None, open_gpg_verified: bool | None = None, include_lfs_objects: bool | None = None, **kwargs) RepositorySettings

Update repository settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • disable_fork – Disable forking.

  • forbidden_developer_create_branch – Forbid developers from creating branches.

  • forbidden_developer_create_tag – Forbid developers from creating tags.

  • forbidden_committer_create_branch – Forbid committers from creating branches.

  • forbidden_developer_create_branch_user_ids – User IDs forbidden from creating branches.

  • branch_name_regex – Branch name validation regex.

  • tag_name_regex – Tag name validation regex.

  • generate_pre_merge_ref – Generate pre-merge ref.

  • rebase_disable_trigger_webhook – Disable webhook trigger on rebase.

  • open_gpg_verified – Enable GPG verification.

  • include_lfs_objects – Include LFS objects in ZIP download.

  • kwargs – Additional arguments forwarded directly in request.

Returns:

Updated repository settings.

async get_repo_settings(*, owner: str | None = None, repo: str | None = None) RepositorySettings

Get repository settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Repository settings payload.

async get_pull_request_settings(*, owner: str | None = None, repo: str | None = None) PullRequestSettings

Get pull request settings for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Pull request settings payload.

async update_pull_request_settings(*, owner: str | None = None, repo: str | None = None, approval_required_reviewers_enable: bool | None = None, approval_required_reviewers: int | None = None, only_allow_merge_if_all_discussions_are_resolved: bool | None = None, only_allow_merge_if_pipeline_succeeds: bool | None = None, disable_merge_by_self: bool | None = None, can_force_merge: bool | None = None, add_notes_after_merged: bool | None = None, mark_auto_merged_mr_as_closed: bool | None = None, can_reopen: bool | None = None, delete_source_branch_when_merged: bool | None = None, disable_squash_merge: bool | None = None, auto_squash_merge: bool | None = None, merge_method: str | None = None, squash_merge_with_no_merge_commit: bool | None = None, merged_commit_author: str | None = None, approval_required_approvers: int | None = None, approval_approver_ids: str | None = None, approval_tester_ids: str | None = None, approval_required_testers: int | None = None, is_check_cla: bool | None = None, is_allow_lite_merge_request: bool | None = None, lite_merge_request_prefix_title: str | None = None, close_issue_when_mr_merged: bool | None = None, **kwargs) PullRequestSettings

Update pull request settings for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • approval_required_reviewers_enable – Enable required reviewers approval.

  • approval_required_reviewers – Minimum number of required reviewers (1-5, or 0 to disable).

  • only_allow_merge_if_all_discussions_are_resolved – Require all discussions resolved before merge.

  • only_allow_merge_if_pipeline_succeeds – Only allow merge when pipeline succeeds.

  • disable_merge_by_self – Forbid merging self-created pull requests.

  • can_force_merge – Allow administrators to force merge.

  • add_notes_after_merged – Allow code review comments after merge.

  • mark_auto_merged_mr_as_closed – Mark auto-merged MRs as closed.

  • can_reopen – Allow reopening closed pull requests.

  • delete_source_branch_when_merged – Delete source branch when merged.

  • disable_squash_merge – Disable squash merge.

  • auto_squash_merge – Default enable squash merge for new pull requests.

  • merge_method – Merge method (merge, rebase_merge, or ff).

  • squash_merge_with_no_merge_commit – Squash merge without producing a merge commit.

  • merged_commit_author – Merge commit author (merged_by or created_by).

  • approval_required_approvers – Number of required approvers.

  • approval_approver_ids – Project reviewer user IDs, comma-separated.

  • approval_tester_ids – Project tester user IDs, comma-separated.

  • approval_required_testers – Minimum number of testers that must pass.

  • is_check_cla – Whether to verify CLA.

  • is_allow_lite_merge_request – Enable lightweight pull requests.

  • lite_merge_request_prefix_title – Title prefix for lightweight pull requests.

  • close_issue_when_mr_merged – Default check “close linked issues on merge”.

  • kwargs – Additional arguments forwarded directly in request.

Returns:

Updated pull request settings.

async set_member_role(*, username: str, owner: str | None = None, repo: str | None = None, permission: str | None = None) RepoMember

Set a repository member role.

Parameters:
  • username – Member username or login.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • permission – Permission or role name accepted by the API.

Returns:

API response payload.

async transfer(*, owner: str, repo: str, new_owner: str, **kwargs) RepositoryTransferResult

Transfer a repository to another owner or namespace.

Parameters:
  • owner – Repository owner path.

  • repo – Repository name.

  • new_owner – Target namespace to transfer the repository to.

  • kwargs – Additional arguments forwarded directly in request.

Returns:

Transfer result.

async list_customized_roles(*, owner: str | None = None, repo: str | None = None) List[RepositoryCustomizedRole]

List customized roles for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Customized role definitions.

async get_download_statistics(*, owner: str | None = None, repo: str | None = None, start_date: str | None = None, end_date: str | None = None, direction: str | None = None, **kwargs) RepositoryDownloadStatistics

Get download statistics for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • start_date – Start date filter (e.g. 2024-01-06).

  • end_date – End date filter (e.g. 2024-12-06).

  • direction – Sort direction: asc or desc. Default: desc.

  • kwargs – Additional arguments forwarded directly in request.

Returns:

Download statistics payload.

async get_contributor_statistics(*, owner: str | None = None, repo: str | None = None) List[ContributorStatistics]

Get code contribution statistics for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Contributor statistics payload.

async list_events(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[APIObject]

List repository events.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Repository event payloads.

class BranchesResource(client: SyncAPIClient)

Bases: SyncResource, AbstractBranchesResource

Synchronous branch endpoints.

Bind the resource to a synchronous API client.

list(*, owner: str | None = None, repo: str | None = None, sort: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None) List[Branch]

List branches in a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • sort – Optional sort field such as name or updated.

  • direction – Sort direction, usually asc or desc.

  • page – Page number.

  • per_page – Page size.

Returns:

Repository branches.

get(*, branch: str, owner: str | None = None, repo: str | None = None) BranchDetail

Get a single branch.

Parameters:
  • branch – Branch name.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Branch details.

create(*, branch: str, ref: str, owner: str | None = None, repo: str | None = None) Branch

Create a branch from an existing ref.

Parameters:
  • branch – New branch name.

  • ref – Starting ref such as a branch, tag, or commit SHA.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Created branch details.

list_protected(*, owner: str | None = None, repo: str | None = None) List[ProtectedBranch]

List protected branch rules for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Protected branch rules.

class CommitsResource(client: SyncAPIClient)

Bases: SyncResource, AbstractCommitsResource

Synchronous commit endpoints.

Bind the resource to a synchronous API client.

list(*, owner: str | None = None, repo: str | None = None, sha: str | None = None, path: str | None = None, page: int | None = None, per_page: int | None = None) List[CommitSummary]

List commits in a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • sha – Optional starting SHA or ref.

  • path – Optional file path filter.

  • page – Page number.

  • per_page – Page size.

Returns:

Matching commits.

get(*, sha: str, owner: str | None = None, repo: str | None = None) Commit

Get a single commit.

Parameters:
  • sha – Commit SHA or branch name accepted by the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Commit details.

compare(*, base: str, head: str, owner: str | None = None, repo: str | None = None) CommitComparison

Compare two refs in a repository.

Parameters:
  • base – Base commit SHA, branch, or tag.

  • head – Head commit SHA, branch, or tag.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Commit comparison payload.

list_comments(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[CommitComment]

List commit comments for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Commit comments.

get_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) CommitComment

Get a single commit comment.

Parameters:
  • comment_id – Commit comment identifier.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Commit comment details.

create_comment(*, sha: str, body: str, owner: str | None = None, repo: str | None = None, path: str | None = None, position: int | None = None) CommitComment

Create a comment on a commit.

Parameters:
  • sha – Commit SHA.

  • body – Comment body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • path – Optional file path associated with the comment.

  • position – Optional diff position.

Returns:

Created commit comment.

update_comment(*, comment_id: int | str, body: str, owner: str | None = None, repo: str | None = None) CommitComment

Update a commit comment.

Parameters:
  • comment_id – Commit comment identifier.

  • body – Updated comment body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Updated commit comment.

delete_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) None

Delete a commit comment.

Parameters:
  • comment_id – Commit comment identifier.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

class RepoContentsResource(client: SyncAPIClient)

Bases: SyncResource, AbstractRepoContentsResource

Synchronous repository contents endpoints.

Bind the resource to a synchronous API client.

get(*, path: str, owner: str | None = None, repo: str | None = None, ref: str | None = None) ContentObject

Get a file or directory entry from a repository.

Parameters:
  • path – Repository-relative file path.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • ref – Optional branch, tag, or commit SHA.

Returns:

Content metadata and payload details.

create(*, path: str, content: str, message: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult

Create a file in a repository.

Parameters:
  • path – Repository-relative file path.

  • content – File content, typically base64-encoded for this API.

  • message – Commit message.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • branch – Optional target branch.

  • author_name – Optional commit author name.

  • author_email – Optional commit author email.

Returns:

Commit result payload.

update(*, path: str, content: str, message: str, sha: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult

Update a file in a repository.

Parameters:
  • path – Repository-relative file path.

  • content – Updated file content, typically base64-encoded.

  • message – Commit message.

  • sha – Current blob SHA required by the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • branch – Optional target branch.

  • author_name – Optional commit author name.

  • author_email – Optional commit author email.

Returns:

Commit result payload.

delete(*, path: str, message: str, sha: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult

Delete a file from a repository.

Parameters:
  • path – Repository-relative file path.

  • message – Commit message.

  • sha – Current blob SHA required by the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • branch – Optional target branch.

  • author_name – Optional commit author name.

  • author_email – Optional commit author email.

Returns:

Commit result payload.

list_paths(*, owner: str | None = None, repo: str | None = None, ref_name: str | None = None, file_name: str | None = None) List[str]

List repository paths known to GitCode.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • ref_name – Optional ref name to inspect.

  • file_name – Optional filename filter.

Returns:

Matching repository paths.

get_tree(*, sha: str, owner: str | None = None, repo: str | None = None, recursive: int | None = None, page: int | None = None, per_page: int | None = None) Tree

Get a Git tree object.

Parameters:
  • sha – Tree SHA.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • recursive – Pass 1 to fetch the tree recursively (query parameter per Repository API).

  • page – Page number for large trees.

  • per_page – Page size for large trees.

Returns:

Tree metadata and entries.

get_blob(*, sha: str, owner: str | None = None, repo: str | None = None) Blob

Get a Git blob object by SHA.

Parameters:
  • sha – Blob SHA.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Blob metadata and content.

get_raw(*, path: str, owner: str | None = None, repo: str | None = None, ref: str | None = None) bytes

Download raw file bytes from a repository.

Parameters:
  • path – Repository-relative file path.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • ref – Optional branch, tag, or commit SHA.

Returns:

Raw file bytes.

class ReposResource(client: SyncAPIClient)

Bases: SyncResource, AbstractReposResource

Synchronous repository endpoints.

Bind the resource to a synchronous API client.

get(*, owner: str | None = None, repo: str | None = None) Repository

Get a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Repository metadata.

list_user(*, visibility: str | None = None, affiliation: str | None = None, type: str | None = None, sort: str | None = None, direction: str | None = None, q: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]

List repositories visible to the authenticated user.

Parameters:
  • visibility – Visibility filter such as public, private, or all.

  • affiliation – Ownership filter accepted by the REST API.

  • type – Repository type filter.

  • sort – Sort field such as created or full_name.

  • direction – Sort direction.

  • q – Optional keyword filter.

  • page – Page number.

  • per_page – Page size.

Returns:

Matching repositories.

list_for_owner(*, owner: str, type: str | None = None, sort: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]

List public repositories for a user or owner path.

Parameters:
  • owner – Repository owner path or username.

  • type – Repository type filter.

  • sort – Sort field.

  • direction – Sort direction.

  • page – Page number.

  • per_page – Page size.

Returns:

Matching repositories.

create_personal(*, name: str, description: str | None = None, path: str | None = None, private: bool | None = None, auto_init: bool | None = None, has_issues: bool | None = None, has_wiki: bool | None = None, default_branch: str | None = None, gitignore_template: str | None = None, license_template: str | None = None) Repository

Create a repository for the authenticated user.

Parameters:
  • name – Repository name.

  • description – Repository description.

  • path – Optional repository path.

  • private – Whether the repository should be private.

  • auto_init – Whether to initialize the repository with a README.

  • has_issues – Whether issues are enabled.

  • has_wiki – Whether wiki support is enabled.

  • default_branch – Default branch name when initializing.

  • gitignore_template – Optional gitignore template.

  • license_template – Optional license template.

Returns:

Created repository metadata.

create_for_org(*, org: str, name: str, description: str | None = None, homepage: str | None = None, path: str | None = None, private: bool | None = None, public: int | None = None, auto_init: bool | None = None, has_issues: bool | None = None, has_wiki: bool | None = None, can_comment: bool | None = None, default_branch: str | None = None, gitignore_template: str | None = None, license_template: str | None = None) Repository

Create a repository under an organization.

Parameters:
  • org – Organization path or login.

  • name – Repository name.

  • description – Repository description.

  • homepage – Repository homepage URL.

  • path – Optional repository path.

  • private – Whether the repository should be private.

  • public – Visibility mode used by the GitCode API.

  • auto_init – Whether to initialize the repository with a README.

  • has_issues – Whether issues are enabled.

  • has_wiki – Whether wiki support is enabled.

  • can_comment – Whether comments are enabled.

  • default_branch – Default branch name when initializing.

  • gitignore_template – Optional gitignore template.

  • license_template – Optional license template.

Returns:

Created repository metadata.

update(*, owner: str | None = None, repo: str | None = None, **changes) Repository

Update repository metadata.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • changes – Repository fields accepted by the update endpoint.

Returns:

Updated repository metadata.

delete(*, owner: str | None = None, repo: str | None = None) None

Delete a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

fork(*, owner: str | None = None, repo: str | None = None, namespace: str | None = None, path: str | None = None, name: str | None = None) Repository

Fork a repository.

Parameters:
  • owner – Source repository owner path.

  • repo – Source repository name.

  • namespace – Optional destination namespace.

  • path – Optional destination repository path.

  • name – Optional destination repository name.

Returns:

Forked repository metadata.

list_forks(*, owner: str | None = None, repo: str | None = None, sort: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]

List forks of a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • sort – Optional sort field.

  • page – Page number.

  • per_page – Page size.

Returns:

Fork repositories.

list_contributors(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[Contributor]

List repository contributors.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Contributors for the repository.

list_languages(*, owner: str | None = None, repo: str | None = None) Dict[str, int]

List language statistics for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Mapping of language names to byte counts.

list_stargazers(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[UserSummary]

List users who starred a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Users who starred the repository.

list_subscribers(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[UserSummary]

List users watching a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Subscribers for the repository.

update_module_settings(*, owner: str | None = None, repo: str | None = None, **settings) ApiStatusResponse

Update repository module settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • settings – Module settings accepted by the GitCode API.

Returns:

API response payload.

update_reviewer_settings(*, owner: str | None = None, repo: str | None = None, **settings) RepositoryReviewerSettingsUpdate

Update repository reviewer settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • settings – Reviewer settings accepted by the GitCode API.

Returns:

API response payload.

set_org_repo_status(*, org: str, repo: str, status: int, password: str, **kwargs) ApiStatusResponse

Update organization repository status metadata.

Parameters:
  • org – Organization path.

  • repo – Repository path.

  • status – State, 0: open, 2: archived.

  • password – User password for verification.

  • kwargs – Additional arguments forwarded directly in request.

Returns:

API response payload.

transfer_to_org(*, org: str, repo: str, transfer_to: str, password: str, **kwargs) ApiStatusResponse

Transfer a repository to an organization.

Parameters:
  • org – Source organization path.

  • repo – Repository path.

  • transfer_to – Target namespace.

  • password – User password for verification.

  • kwargs – Additional arguments forwarded directly in request.

Returns:

API response payload.

get_transition(*, owner: str | None = None, repo: str | None = None) RepositoryPermissionMode

Get repository transition settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Transition configuration.

update_transition(*, owner: str | None = None, repo: str | None = None, mode: int | None = None, **kwargs) ApiStatusResponse

Update repository transition settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • mode – Permission management mode: 1 (inheritance) or 2 (independent).

  • kwargs – Additional arguments forwarded directly in request.

Returns:

API response payload.

update_push_config(*, owner: str | None = None, repo: str | None = None, reject_not_signed_by_gpg: bool | None = None, commit_message_regex: str | None = None, max_file_size: int | None = None, skip_rule_for_owner: bool | None = None, deny_force_push: bool | None = None, **kwargs) RepositoryPushConfig

Update repository push configuration.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • reject_not_signed_by_gpg – Only allow commits with verified GPG signatures.

  • commit_message_regex – Commit message validation regex.

  • max_file_size – Commit file size limit in MB.

  • skip_rule_for_owner – Whether project administrators skip push rules.

  • deny_force_push – Prohibit force push (including for administrators).

  • kwargs – Additional arguments forwarded directly in request.

Returns:

Updated push configuration.

get_push_config(*, owner: str | None = None, repo: str | None = None) RepositoryPushConfig

Get repository push configuration.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Push configuration payload.

upload_image(*, owner: str | None = None, repo: str | None = None, body: str | None = None, file_name: str | None = None, **kwargs) RepositoryUploadResult

Upload an image asset for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • body – File content in base64 format (limit: 20 MB).

  • file_name – File name.

  • kwargs – Additional arguments forwarded directly in request.

Returns:

Uploaded image metadata.

upload_file(*, owner: str | None = None, repo: str | None = None, file: str | None = None, **kwargs) RepositoryUploadResult

Upload a file asset for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • file – File content in base64 format (limit: 20 MB).

  • kwargs – Additional arguments forwarded directly in request.

Returns:

Uploaded file metadata.

update_repo_settings(*, owner: str | None = None, repo: str | None = None, disable_fork: bool | None = None, forbidden_developer_create_branch: bool | None = None, forbidden_developer_create_tag: bool | None = None, forbidden_committer_create_branch: bool | None = None, forbidden_developer_create_branch_user_ids: str | None = None, branch_name_regex: str | None = None, tag_name_regex: str | None = None, generate_pre_merge_ref: bool | None = None, rebase_disable_trigger_webhook: bool | None = None, open_gpg_verified: bool | None = None, include_lfs_objects: bool | None = None, **kwargs) RepositorySettings

Update repository settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • disable_fork – Disable forking.

  • forbidden_developer_create_branch – Forbid developers from creating branches.

  • forbidden_developer_create_tag – Forbid developers from creating tags.

  • forbidden_committer_create_branch – Forbid committers from creating branches.

  • forbidden_developer_create_branch_user_ids – User IDs forbidden from creating branches.

  • branch_name_regex – Branch name validation regex.

  • tag_name_regex – Tag name validation regex.

  • generate_pre_merge_ref – Generate pre-merge ref.

  • rebase_disable_trigger_webhook – Disable webhook trigger on rebase.

  • open_gpg_verified – Enable GPG verification.

  • include_lfs_objects – Include LFS objects in ZIP download.

  • kwargs – Additional arguments forwarded directly in request.

Returns:

Updated repository settings.

get_repo_settings(*, owner: str | None = None, repo: str | None = None) RepositorySettings

Get repository settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Repository settings payload.

get_pull_request_settings(*, owner: str | None = None, repo: str | None = None) PullRequestSettings

Get pull request settings for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Pull request settings payload.

update_pull_request_settings(*, owner: str | None = None, repo: str | None = None, approval_required_reviewers_enable: bool | None = None, approval_required_reviewers: int | None = None, only_allow_merge_if_all_discussions_are_resolved: bool | None = None, only_allow_merge_if_pipeline_succeeds: bool | None = None, disable_merge_by_self: bool | None = None, can_force_merge: bool | None = None, add_notes_after_merged: bool | None = None, mark_auto_merged_mr_as_closed: bool | None = None, can_reopen: bool | None = None, delete_source_branch_when_merged: bool | None = None, disable_squash_merge: bool | None = None, auto_squash_merge: bool | None = None, merge_method: str | None = None, squash_merge_with_no_merge_commit: bool | None = None, merged_commit_author: str | None = None, approval_required_approvers: int | None = None, approval_approver_ids: str | None = None, approval_tester_ids: str | None = None, approval_required_testers: int | None = None, is_check_cla: bool | None = None, is_allow_lite_merge_request: bool | None = None, lite_merge_request_prefix_title: str | None = None, close_issue_when_mr_merged: bool | None = None, **kwargs) PullRequestSettings

Update pull request settings for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • approval_required_reviewers_enable – Enable required reviewers approval.

  • approval_required_reviewers – Minimum number of required reviewers (1-5, or 0 to disable).

  • only_allow_merge_if_all_discussions_are_resolved – Require all discussions resolved before merge.

  • only_allow_merge_if_pipeline_succeeds – Only allow merge when pipeline succeeds.

  • disable_merge_by_self – Forbid merging self-created pull requests.

  • can_force_merge – Allow administrators to force merge.

  • add_notes_after_merged – Allow code review comments after merge.

  • mark_auto_merged_mr_as_closed – Mark auto-merged MRs as closed.

  • can_reopen – Allow reopening closed pull requests.

  • delete_source_branch_when_merged – Delete source branch when merged.

  • disable_squash_merge – Disable squash merge.

  • auto_squash_merge – Default enable squash merge for new pull requests.

  • merge_method – Merge method (merge, rebase_merge, or ff).

  • squash_merge_with_no_merge_commit – Squash merge without producing a merge commit.

  • merged_commit_author – Merge commit author (merged_by or created_by).

  • approval_required_approvers – Number of required approvers.

  • approval_approver_ids – Project reviewer user IDs, comma-separated.

  • approval_tester_ids – Project tester user IDs, comma-separated.

  • approval_required_testers – Minimum number of testers that must pass.

  • is_check_cla – Whether to verify CLA.

  • is_allow_lite_merge_request – Enable lightweight pull requests.

  • lite_merge_request_prefix_title – Title prefix for lightweight pull requests.

  • close_issue_when_mr_merged – Default check “close linked issues on merge”.

  • kwargs – Additional arguments forwarded directly in request.

Returns:

Updated pull request settings.

set_member_role(*, username: str, owner: str | None = None, repo: str | None = None, permission: str | None = None) RepoMember

Set a repository member role.

Parameters:
  • username – Member username or login.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • permission – Permission or role name accepted by the API.

Returns:

API response payload.

transfer(*, owner: str, repo: str, new_owner: str, **kwargs) RepositoryTransferResult

Transfer a repository to another owner or namespace.

Parameters:
  • owner – Repository owner path.

  • repo – Repository name.

  • new_owner – Target namespace to transfer the repository to.

  • kwargs – Additional arguments forwarded directly in request.

Returns:

Transfer result.

list_customized_roles(*, owner: str | None = None, repo: str | None = None) List[RepositoryCustomizedRole]

List customized roles for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Customized role definitions.

get_download_statistics(*, owner: str | None = None, repo: str | None = None, start_date: str | None = None, end_date: str | None = None, direction: str | None = None, **kwargs) RepositoryDownloadStatistics

Get download statistics for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • start_date – Start date filter (e.g. 2024-01-06).

  • end_date – End date filter (e.g. 2024-12-06).

  • direction – Sort direction: asc or desc. Default: desc.

  • kwargs – Additional arguments forwarded directly in request.

Returns:

Download statistics payload.

get_contributor_statistics(*, owner: str | None = None, repo: str | None = None) List[ContributorStatistics]

Get code contribution statistics for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Contributor statistics payload.

list_events(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[APIObject]

List repository events.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Repository event payloads.